34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
package payment
|
|
|
|
import (
|
|
"git.apinb.com/bsm-sdk/core/errcode"
|
|
"git.apinb.com/bsm-sdk/core/infra"
|
|
"git.apinb.com/heqiapp/platforms/backend/api/internal/logic/common"
|
|
paylogic "git.apinb.com/heqiapp/platforms/backend/api/internal/logic/payment"
|
|
"git.apinb.com/heqiapp/platforms/backend/api/internal/models"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func ListRefund(ctx *gin.Context) { common.ListResource(ctx, &models.PaymentRefund{}) }
|
|
func GetRefund(ctx *gin.Context) { common.GetResource(ctx, &models.PaymentRefund{}) }
|
|
func review(approve bool) gin.HandlerFunc {
|
|
return func(ctx *gin.Context) {
|
|
var request struct {
|
|
Remark string `json:"remark"`
|
|
}
|
|
if ctx.ShouldBindJSON(&request) != nil {
|
|
infra.Response.Error(ctx, errcode.ErrInvalidArgument)
|
|
return
|
|
}
|
|
operator, _ := common.PlatformOperator(ctx)
|
|
if err := paylogic.ReviewRefund(ctx.Param("identity"), operator, request.Remark, approve); err != nil {
|
|
infra.Response.Error(ctx, err)
|
|
return
|
|
}
|
|
infra.Response.Success(ctx, gin.H{"reviewed": true})
|
|
}
|
|
}
|
|
|
|
var ApproveRefund = review(true)
|
|
var RejectRefund = review(false)
|