修改拉卡拉卡分账

This commit is contained in:
邹宗楠
2025-08-05 16:21:26 +08:00
parent cb974f7618
commit 33c5eed1fc
7 changed files with 199 additions and 108 deletions

View File

@@ -41,7 +41,7 @@ func GetStoreInfoByMerchantID(db *DaoDB, merchantNo string, storeId int, applyId
sql := ` SELECT * FROM lakala_incoming WHERE 1=1 `
if merchantNo != "" {
sql += ` AND merchant_no = ?`
sql += ` AND merchant_no = ? OR merchant_no2 = ? `
param = append(param, merchantNo)
}
if storeId != model.NO {
@@ -84,17 +84,15 @@ func GetSeparateRecords(db *DaoDB, merchantNo, separateNo, cmsType string) (*mod
sql += ` AND merchant_no = ?`
param = append(param, merchantNo)
}
switch cmsType {
case model.CmdTypeSeparate:
sql += ` AND separate_no1 = ?`
case model.CmdTypeCancel:
sql += ` AND separate_no2 = ?`
case model.CmdTypeFallBack:
sql += ` AND separate_no3 = ?`
default:
sql += ` AND separate_no1 = ?`
if separateNo != "" {
sql += ` AND separate_no = ?`
param = append(param, separateNo)
}
param = append(param, separateNo)
if cmsType != "" {
sql += ` AND cmd_type = ?`
param = append(param, cmsType)
}
param = append(param)
if err := GetRow(db, records, sql, param...); err != nil {
return nil, err
@@ -206,8 +204,29 @@ func GetRecipientList(orgCode, receiverNo, receiverName string, offset, pageSize
return pagedInfo, nil
}
// GetSeparateAmtByOrderID 根据订单ID查询分账记录
func GetSeparateAmtByOrderID(vendorOrderID string, cmdType string, logNo string) (*model.LakalaSeparateAmt, error) {
var recipient *model.LakalaSeparateAmt
sql := ` SELECT * FROM Lakala_separate_amt WHERE vendor_order_id = ?`
param := []interface{}{vendorOrderID}
if cmdType != "" {
sql += ` AND cmd_type = ? `
param = append(param, cmdType)
}
if logNo != "" {
sql += ` AND log_no = ? `
param = append(param, logNo)
}
if err := GetRow(GetDB(), &recipient, sql, param...); err != nil {
return nil, err
}
return recipient, nil
}
// GetSeparateAmt 交易流水查询
func GetSeparateAmt(merchantNo, cmdType, status, separateNo string, separateTimeStart, separateTimeEnd time.Time, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
func GetSeparateAmt(merchantNo, cmdType, status, separateNo, vendorOrderID string, storeId int, separateTimeStart, separateTimeEnd time.Time, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
db := GetDB()
txDB, _ := Begin(db)
defer func() {
@@ -224,6 +243,14 @@ func GetSeparateAmt(merchantNo, cmdType, status, separateNo string, separateTime
sql += ` AND r.merchant_no = ? `
param = append(param, merchantNo)
}
if vendorOrderID != "" {
sql += ` AND r.vendor_order_id = ? `
param = append(param, vendorOrderID)
}
if storeId != 0 {
sql += ` AND r.store_id = ? `
param = append(param, storeId)
}
if cmdType != "" {
sql += ` AND r.cmd_type = ?`
param = append(param, cmdType)

View File

@@ -123,17 +123,15 @@ func (o *LakalaRecipient) TableIndex() [][]string {
// LakalaSeparateAmt 分账记录
type LakalaSeparateAmt struct {
ModelIDCUL
MerchantNo string `orm:"column(merchant_no);size(20)" json:"merchantNo"` // 分账发起商户
CmdType string `orm:"column(cmd_type);size(32)" json:"cmdType"` // SEPARATE分账 CANCEL分账撤销FALLBACK分账回退
SeparateNo string `orm:"column(separate_no);size(32)" json:"separateNo"` // 分账系统生成唯一流水
Status string `orm:"column(status);size(32)" json:"status1"` // 分账状态
//LogNo string `orm:"column(log_no);size(32)" json:"logNo"` // 交易流水号
//SeparateNo2 string `orm:"column(separate_no2);size(32)" json:"separateNo2"` // 分账撤销系统生成唯一流水
//Status2 string `orm:"column(status2);size(32)" json:"status2"` // 分账撤销状态
//SeparateNo3 string `orm:"column(separate_no3);size(32)" json:"separateNo3"` // 分账回退系统生成唯一流水
//Status3 string `orm:"column(status3);size(32)" json:"status3"` // 分账回退状态
OutSeparateNo string `orm:"column(out_separate_no);size(32)" json:"outSeparateNo"` // 商户分账指令流水号
MerchantNo string `orm:"column(merchant_no);size(20)" json:"merchantNo"` // 分账发起商户
VendorOrderID string `orm:"column(vendor_order_id);size(32)" json:"vendorOrderID"` // 京西订单ID
StoreId int `orm:"column(store_id);size(16)" json:"storeId"` // 门店ID
CmdType string `orm:"column(cmd_type);size(32)" json:"cmdType"` // SEPARATE分账 CANCEL分账撤销FALLBACK分账回退
Status string `orm:"column(status);size(32)" json:"status"` // 分账状态 1-未分账
LogNo string `orm:"column(log_no);size(32)" json:"logNo"` // 交易流水号(订单)
LogDate time.Time `orm:"column(log_date);type(datetime)" json:"logDate"` // 交易日期
OutSeparateNo string `orm:"column(out_separate_no);size(32)" json:"outSeparateNo"` // 商户分账指令流水号
SeparateNo string `orm:"column(separate_no);size(32)" json:"separateNo"` // 分账系统生成唯一流水
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"` // 发生总金额