diff --git a/business/lakala/lakala_callback.go b/business/lakala/lakala_callback.go index de288e41a..4dd4a98ce 100644 --- a/business/lakala/lakala_callback.go +++ b/business/lakala/lakala_callback.go @@ -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 } diff --git a/business/lakala/lakala_incoming.go b/business/lakala/lakala_incoming.go index b0a3845b4..3c527e939 100644 --- a/business/lakala/lakala_incoming.go +++ b/business/lakala/lakala_incoming.go @@ -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") diff --git a/business/partner/purchase/jx/localjx/lakala_pay.go b/business/partner/purchase/jx/localjx/lakala_pay.go index 4049cf955..cc64a25f6 100644 --- a/business/partner/purchase/jx/localjx/lakala_pay.go +++ b/business/partner/purchase/jx/localjx/lakala_pay.go @@ -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) diff --git a/controllers/lakala.go b/controllers/lakala.go index 62f0352aa..f68ca37ea 100644 --- a/controllers/lakala.go +++ b/controllers/lakala.go @@ -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 +// }) +//}