This commit is contained in:
邹宗楠
2025-08-06 14:19:15 +08:00
parent 5dfaeb5131
commit b2b0bf6376
4 changed files with 37 additions and 11 deletions

View File

@@ -491,7 +491,7 @@ func SeparateUnBind(param *lakala.SeparateUnBindReq) error {
}
// SeparateQueryAmt 可分账金额查询
func SeparateQueryAmt(merchantNo, logDate, logNo, vendorOrderId string) (*lakala.SeparateQueryAmtResp, error) {
func SeparateQueryAmt(ctx *jxcontext.Context, merchantNo, logDate, logNo, vendorOrderId string) (*lakala.SeparateQueryAmtResp, error) {
result, err := api.LaKaLaApi.SeparateQueryAmt(merchantNo, logNo, logDate)
if err != nil {
return nil, err
@@ -500,8 +500,31 @@ func SeparateQueryAmt(merchantNo, logDate, logNo, vendorOrderId string) (*lakala
separate, err := dao.GetSeparateAmtByOrderID(vendorOrderId, "", logNo)
if separate != nil {
separate.TotalAmt = result.TotalSeparateAmt
separate.ActualSeparateAmt = result.CanSeparateAmt
separate.CanAmt = result.CanSeparateAmt
dao.UpdateEntity(dao.GetDB(), separate, "TotalAmt", "ActualSeparateAmt")
} else {
order, _ := partner.CurOrderManager.LoadOrder(vendorOrderId, model.VendorIDJX)
separate = &model.LakalaSeparateAmt{
MerchantNo: merchantNo,
VendorOrderID: vendorOrderId,
StoreId: order.JxStoreID,
CmdType: lakala.SeparateType_SEPATRATE,
Status: "1",
LogNo: logNo,
LogDate: time.Now(),
SeparateNo: "",
OutSeparateNo: "",
CalType: "",
FinishDate: "",
TotalAmt: result.TotalSeparateAmt,
CanAmt: result.CanSeparateAmt,
TotalFeeAmt: "",
FinalStatus: "",
DetailData: "",
Remark: "",
}
dao.WrapAddIDCULEntity(separate, ctx.GetUserName())
err = dao.CreateEntity(dao.GetDB(), separate)
}
return result, err
@@ -526,7 +549,6 @@ func Separate(ctx *jxcontext.Context, param *lakala.OrderSeparateReq, vendorOrde
separateObj.OutSeparateNo = param.OutSeparateNo
separateObj.SeparateNo = resp.RespData.SeparateNo
separateObj.CalType = param.CalType
separateObj.TotalAmt = resp.RespData.TotalAmt
separateObj.Status = resp.RespData.Status
separateObj.Remark += `->分账`
separateObj.DetailData = string(recv)
@@ -556,18 +578,22 @@ func SeparateResultQuery(merchantNo, separateNo string) (*lakala.SeparateResultQ
return nil, err
}
recordsObj.UpdatedAt = time.Now()
recordsObj.TotalAmt = result.TotalAmt
recordsObj.ActualSeparateAmt = result.ActualSeparateAmt
recordsObj.TotalFeeAmt = result.TotalFeeAmt
recordsObj.Status = result.Status
recordsObj.SeparateNo = result.SeparateNo
recordsObj.OutSeparateNo = result.OutSeparateNo
if len(result.DetailDatas) != 0 {
detail, _ := json.Marshal(result.DetailDatas)
recordsObj.DetailData = string(detail)
}
if _, err = dao.UpdateEntity(db, recordsObj, "DetailData", "Status", "TotalFeeAmt", "UpdatedAt", "TotalAmt", "ActualSeparateAmt"); err != nil {
recv := make([]*lakala.RecvDatasParam, 0, 0)
for _, v := range result.DetailDatas {
recv = append(recv, &lakala.RecvDatasParam{
RecvNo: v.RecvNo,
SeparateValue: utils.Int64ToStr(v.Amt),
})
}
recvObj, _ := json.Marshal(recv)
recordsObj.DetailData = string(recvObj)
if _, err = dao.UpdateEntity(db, recordsObj, "DetailData", "Status", "TotalFeeAmt", "UpdatedAt", "TotalAmt", "ActualSeparateAmt", "DetailData"); err != nil {
return nil, err
}