This commit is contained in:
邹宗楠
2025-08-06 18:12:20 +08:00
parent 22813b9b29
commit a1a74f9e93
4 changed files with 41 additions and 27 deletions

View File

@@ -124,7 +124,7 @@ func GetSeparateRecordsCallback(callback *lakala.SeparateResult) error {
separateRecord.Status = callback.Status
separateRecord.FinalStatus = callback.FinalStatus
separateRecord.UpdatedAt = time.Now()
_, err = dao.UpdateEntity(db, separateRecord, "CmdType", "FinishDate", "TotalAmt", "Status1", "Status2", "Status3", "FinalStatus", "UpdatedAt")
_, err = dao.UpdateEntity(db, separateRecord, "CmdType", "FinishDate", "Status", "FinalStatus", "UpdatedAt")
return err
}

View File

@@ -12,6 +12,7 @@ import (
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
"strings"
"time"
)
@@ -552,7 +553,7 @@ func Separate(ctx *jxcontext.Context, param *lakala.OrderSeparateReq, vendorOrde
separateObj.Status = resp.RespData.Status
separateObj.Remark += `->分账`
separateObj.DetailData = string(recv)
separateObj.CmdType = lakala.SeparateOrder
separateObj.CmdType = lakala.SeparateType_SEPATRATE
t, err := time.Parse("20060102", param.LogDate)
if err != nil {
t = time.Now()
@@ -618,7 +619,7 @@ func SeparateCancel(merchantNo, separateNo string) (*lakala.SeparateCancelResp,
return nil, err
}
separateAmt.CmdType = lakala.SeparateCancel
separateAmt.CmdType = lakala.SeparateType_CANCEL
separateAmt.Status = result.RespData.Status
//separateAmt.SeparateNo = result.RespData.SeparateNo
separateAmt.Remark += "->分账撤销"
@@ -646,6 +647,19 @@ func SeparateFallBack(merchantNo, separateNo, reason string) (*lakala.SeparateFa
return nil, fmt.Errorf("数据异常[%s],未获取到分账详细", separateNo)
}
isBack := false
for _, v := range recv {
if strings.Contains(v.RecvNo, "SR") {
isBack = true
}
}
//先了解分账回退这个功能是怎么用的,多次跟咱们同步。分账回退这个接口,用的场景是订单发生退款时,
//把已经分给接收方SR开头的资金回退给商户用作资金平账的。因为退款是从商户收款账户资金里退的
//822开头的就是商家自己不需要回退
if !isBack {
return nil, nil
}
param := &lakala.SeparateFallReq{
MerchantNo: merchantNo,
OriginSeparateNo: separateNo,
@@ -668,7 +682,7 @@ func SeparateFallBack(merchantNo, separateNo, reason string) (*lakala.SeparateFa
return nil, err
}
separateAmt.CmdType = lakala.SeparateFallBack
separateAmt.CmdType = lakala.Separate_FALLBACK
separateAmt.Status = result.RespData.Status
separateAmt.Remark += "->分账退回"
dao.UpdateEntity(db, separateAmt, "CmdType", "Status", "Remark")

View File

@@ -45,6 +45,7 @@ func RefundBarCodeScannerOrderByLaKaLa(ctx *jxcontext.Context, vendorOrderId str
dao.Rollback(db, txDB)
return nil, err
}
afsOrder.SkuUserMoney = int64(refundMoney)
if err = dao.CreateEntity(db, afsOrder); err != nil {
dao.Rollback(db, txDB)

View File

@@ -1,11 +1,9 @@
package controllers
import (
"encoding/json"
"git.rosy.net.cn/baseapi/platformapi/lakala"
"git.rosy.net.cn/baseapi/utils"
lakalaServer "git.rosy.net.cn/jx-callback/business/lakala"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
"github.com/astaxie/beego/server/web"
)
@@ -1046,24 +1044,25 @@ func (c *LaKaLaController) CloseOrderByMini() {
})
}
// AggregateRefundOrder 聚合支付退款
// @Title 聚合支付退款
// @Description 聚合支付退款
// @Param token header string true "认证token"
// @Param vendorOrderID formData string true "订单ID"
// @Param skuIds formData string true "[key:value]退款商品 skuId:count,int"
// @Param Reason formData string false "退单原因"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AggregateRefundOrder [post]
func (c *LaKaLaController) AggregateRefundOrder() {
c.callAggregateRefundOrder(func(params *tLakalaAggregateRefundOrderParams) (retVal interface{}, errCode string, err error) {
skuIds := make(map[int]int, 0)
if err = json.Unmarshal([]byte(params.SkuIds), &skuIds); err != nil {
return nil, "", err
}
retVal, err = localjx.RefundBarCodeScannerOrderByLaKaLa(params.Ctx, params.VendorOrderID, skuIds, params.Reason, "aggregate")
return
})
}
//
//// AggregateRefundOrder 聚合支付退款
//// @Title 聚合支付退款
//// @Description 聚合支付退款
//// @Param token header string true "认证token"
//// @Param vendorOrderID formData string true "订单ID"
//// @Param skuIds formData string true "[key:value]退款商品 skuId:count,int"
//// @Param Reason formData string false "退单原因"
//// @Success 200 {object} controllers.CallResult
//// @Failure 200 {object} controllers.CallResult
//// @router /AggregateRefundOrder [post]
//func (c *LaKaLaController) AggregateRefundOrder() {
// c.callAggregateRefundOrder(func(params *tLakalaAggregateRefundOrderParams) (retVal interface{}, errCode string, err error) {
// skuIds := make(map[int]int, 0)
// if err = json.Unmarshal([]byte(params.SkuIds), &skuIds); err != nil {
// return nil, "", err
// }
//
// retVal, err = localjx.RefundBarCodeScannerOrderByLaKaLa(params.Ctx, params.VendorOrderID, skuIds, params.Reason, "aggregate")
// return
// })
//}