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

@@ -121,7 +121,6 @@ func GetSeparateRecordsCallback(callback *lakala.SeparateResult) error {
}
separateRecord.CmdType = callback.CmdType
separateRecord.FinishDate = callback.FinishDate
separateRecord.TotalAmt = callback.TotalAmt
separateRecord.Status = callback.Status
separateRecord.FinalStatus = callback.FinalStatus
separateRecord.UpdatedAt = time.Now()

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
}

View File

@@ -135,6 +135,7 @@ type LakalaSeparateAmt struct {
CalType string `orm:"column(cal_type);size(2)" json:"calType"` // 分账计算类型
FinishDate string `orm:"column(finish_date);size(20)" json:"finishDate"` // 完成日期 yyyyMMdd
TotalAmt string `orm:"column(total_amt);size(15)" json:"totalAmt"` // 发生总金额
CanAmt string `orm:"column(can_amt);size(15)" json:"canAmt"` // 可分金额
ActualSeparateAmt string `orm:"column(actual_separate_amt);size(15)" json:"actualSeparateAmt"` // 实分金额
TotalFeeAmt string `orm:"column(total_fee_amt);size(15)" json:"totalFeeAmt"` // 手续费金额
FinalStatus string `orm:"column(final_status);size(32)" json:"finalStatus"` // 处理状态

View File

@@ -558,7 +558,7 @@ func (c *LaKaLaController) SeparateUnBind() {
// @router /SeparateQueryAmt [get]
func (c *LaKaLaController) SeparateQueryAmt() {
c.callSeparateQueryAmt(func(params *tLakalaSeparateQueryAmtParams) (retVal interface{}, errCode string, err error) {
retVal, err = lakalaServer.SeparateQueryAmt(params.MerchantNo, params.LogDate, params.LogNo, params.VendorOrderId)
retVal, err = lakalaServer.SeparateQueryAmt(params.Ctx, params.MerchantNo, params.LogDate, params.LogNo, params.VendorOrderId)
return
})
}