修改拉卡拉卡分账
This commit is contained in:
@@ -211,5 +211,11 @@ func OrderStatusCallback(param *lakala.QueryOrderCallBackResp) error {
|
||||
dao.UpdateEntity(db, orderPay)
|
||||
}
|
||||
|
||||
separate, _ := dao.GetSeparateAmtByOrderID(order.VendorOrderID, lakala.SeparateType_SEPATRATE, "")
|
||||
if separate != nil {
|
||||
separate.LogNo = param.OrderTradeInfo.LogNo
|
||||
separate.Remark += "->收银台订单未分账"
|
||||
dao.UpdateEntity(db, separate, "LogNo", "Remark")
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -490,61 +490,51 @@ func SeparateUnBind(param *lakala.SeparateUnBindReq) error {
|
||||
}
|
||||
|
||||
// SeparateQueryAmt 可分账金额查询
|
||||
func SeparateQueryAmt(merchantNo, logDate, logNo string) (*lakala.SeparateQueryAmtResp, error) {
|
||||
func SeparateQueryAmt(merchantNo, logDate, logNo, vendorOrderId string) (*lakala.SeparateQueryAmtResp, error) {
|
||||
result, err := api.LaKaLaApi.SeparateQueryAmt(merchantNo, logNo, logDate)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
db := dao.GetDB()
|
||||
merchant, err := dao.GetStoreInfoByMerchantID(db, merchantNo, 0, "", "")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
merchant.TotalAmt = result.TotalSeparateAmt
|
||||
merchant.CanAmt = result.CanSeparateAmt
|
||||
if _, err = dao.UpdateEntity(db, merchant, "TotalAmt", "CanAmt"); err != nil {
|
||||
return nil, err
|
||||
separate, _ := dao.GetSeparateAmtByOrderID(vendorOrderId, "", logNo)
|
||||
if separate != nil {
|
||||
separate.TotalAmt = result.TotalSeparateAmt
|
||||
separate.ActualSeparateAmt = result.CanSeparateAmt
|
||||
dao.UpdateEntity(dao.GetDB(), separate, "TotalAmt", "ActualSeparateAmt")
|
||||
}
|
||||
|
||||
return result, err
|
||||
}
|
||||
|
||||
// Separate 分账
|
||||
func Separate(ctx *jxcontext.Context, param *lakala.OrderSeparateReq) (string, string, error) {
|
||||
param.LogNo = lakala.GetOrderNumber(8)
|
||||
param.LogDate = utils.Time2TimeStrByFormat(time.Now(), "20060102")
|
||||
param.OutSeparateNo = lakala.GetOrderNumber(10)
|
||||
param.NotifyUrl = lakala.CallbackLaKaLaSeparateUrl
|
||||
|
||||
status, separateNo, err := api.LaKaLaApi.Separate(param)
|
||||
func Separate(ctx *jxcontext.Context, param *lakala.OrderSeparateReq, vendorOrderId string) (*lakala.OrderSeparateResp, error) {
|
||||
separateObj, err := dao.GetSeparateAmtByOrderID(vendorOrderId, "", param.LogNo)
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
param.NotifyUrl = lakala.CallbackLaKaLaSeparateUrl
|
||||
resp, err := api.LaKaLaApi.Separate(param)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
recv, _ := json.Marshal(param.RecvDatas)
|
||||
separateData := &model.LakalaSeparateAmt{
|
||||
MerchantNo: param.MerchantNo,
|
||||
OutSeparateNo: param.OutSeparateNo, // 商户分账指令流水号
|
||||
SeparateNo: separateNo,
|
||||
CalType: param.CalType,
|
||||
FinishDate: "",
|
||||
TotalAmt: param.TotalAmt,
|
||||
Status: status,
|
||||
//LogNo: logNo,
|
||||
DetailData: string(recv),
|
||||
Remark: "分账",
|
||||
}
|
||||
separateObj.OutSeparateNo = resp.RespData.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)
|
||||
t, err := time.Parse("20060102", param.LogDate)
|
||||
if err != nil {
|
||||
t = time.Now()
|
||||
}
|
||||
separateData.LogDate = t
|
||||
dao.WrapAddIDCULEntity(separateData, ctx.GetUserName())
|
||||
separateObj.LogDate = t
|
||||
dao.UpdateEntity(dao.GetDB(), &separateObj)
|
||||
|
||||
if err = dao.CreateEntity(dao.GetDB(), separateData); err != nil {
|
||||
return "", "", err
|
||||
}
|
||||
return status, separateNo, nil
|
||||
return resp, err
|
||||
}
|
||||
|
||||
// SeparateResultQuery 分账结果查询
|
||||
@@ -594,11 +584,12 @@ func SeparateCancel(merchantNo, separateNo string) (*lakala.SeparateCancelResp,
|
||||
return nil, err
|
||||
}
|
||||
|
||||
separateAmt.CmdType = lakala.SeparateCancel
|
||||
separateAmt.Status = result.RespData.Status
|
||||
separateAmt.SeparateNo = result.RespData.SeparateNo
|
||||
separateAmt.Remark += ",分账撤销"
|
||||
//separateAmt.SeparateNo = result.RespData.SeparateNo
|
||||
separateAmt.Remark += "->分账撤销"
|
||||
|
||||
if _, err = dao.UpdateEntity(db, separateAmt, "SeparateNo2", "Status2", "Remark"); err != nil {
|
||||
if _, err = dao.UpdateEntity(db, separateAmt, "CmdType", "Status", "Remark"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -643,9 +634,10 @@ func SeparateFallBack(merchantNo, separateNo, reason string) (*lakala.SeparateFa
|
||||
return nil, err
|
||||
}
|
||||
|
||||
separateAmt.CmdType = lakala.SeparateFallBack
|
||||
separateAmt.Status = result.RespData.Status
|
||||
separateAmt.SeparateNo = result.RespData.SeparateNo
|
||||
separateAmt.Remark += ",分账退回"
|
||||
separateAmt.Remark += "->分账退回"
|
||||
dao.UpdateEntity(db, separateAmt, "CmdType", "Status", "Remark")
|
||||
|
||||
return result, nil
|
||||
}
|
||||
@@ -723,7 +715,7 @@ func CreateOrder(ctx *jxcontext.Context, vendorOrderID, merchantNo string, vendo
|
||||
orderPay := &model.OrderPay{
|
||||
PayOrderID: result.PayOrderNo,
|
||||
PayType: model.PayTypeLaKaLa,
|
||||
VendorPayType: lakala.PayWayRegister,
|
||||
VendorPayType: lakala.PayWayAPP,
|
||||
TransactionID: "",
|
||||
VendorOrderID: order.VendorOrderID,
|
||||
VendorID: order.VendorID,
|
||||
@@ -735,6 +727,29 @@ func CreateOrder(ctx *jxcontext.Context, vendorOrderID, merchantNo string, vendo
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(orderPay, ctx.GetUserName())
|
||||
err = dao.CreateEntity(dao.GetDB(), orderPay)
|
||||
|
||||
separate := &model.LakalaSeparateAmt{
|
||||
MerchantNo: merchantNo,
|
||||
VendorOrderID: order.VendorOrderID,
|
||||
StoreId: order.JxStoreID,
|
||||
CmdType: lakala.SeparateType_SEPATRATE,
|
||||
Status: "1",
|
||||
LogNo: "",
|
||||
LogDate: time.Now(),
|
||||
SeparateNo: "",
|
||||
OutSeparateNo: "",
|
||||
CalType: "",
|
||||
FinishDate: "",
|
||||
TotalAmt: "",
|
||||
ActualSeparateAmt: "",
|
||||
TotalFeeAmt: "",
|
||||
FinalStatus: "",
|
||||
DetailData: "",
|
||||
Remark: "",
|
||||
}
|
||||
dao.WrapAddIDCULEntity(separate, ctx.GetUserName())
|
||||
err = dao.CreateEntity(dao.GetDB(), separate)
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
@@ -945,7 +960,7 @@ func GetRecipientList(orgCode, receiverNo, receiverName string, offset, pageSize
|
||||
}
|
||||
|
||||
// GetSeparateAmt 分账流水查询
|
||||
func GetSeparateAmt(merchantNo, cmdType, status, separateNo, separateTimeStart, separateTimeEnd string, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
|
||||
func GetSeparateAmt(merchantNo, cmdType, status, separateNo, separateTimeStart, separateTimeEnd, vendorOrderID string, storeId int, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
|
||||
var (
|
||||
start time.Time
|
||||
end time.Time
|
||||
@@ -956,7 +971,7 @@ func GetSeparateAmt(merchantNo, cmdType, status, separateNo, separateTimeStart,
|
||||
if separateTimeEnd != "" {
|
||||
end = utils.Str2Time(separateTimeEnd)
|
||||
}
|
||||
return dao.GetSeparateAmt(merchantNo, cmdType, status, separateNo, start, end, offset, pageSize)
|
||||
return dao.GetSeparateAmt(merchantNo, cmdType, status, separateNo, vendorOrderID, storeId, start, end, offset, pageSize)
|
||||
}
|
||||
|
||||
// WithdrawalList 提现流水查询
|
||||
|
||||
Reference in New Issue
Block a user