- GetAfsOrders添加参数skuIDs

This commit is contained in:
gazebo
2019-09-25 11:16:51 +08:00
parent 15d16c41a6
commit d25b096353
4 changed files with 33 additions and 23 deletions

View File

@@ -893,7 +893,7 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID
return saleInfoList, err return saleInfoList, err
} }
func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID, vendorOrderID string, vendorIDList, appealTypeList, storeIDList, statusList []int, fromTime, toTime time.Time, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID, vendorOrderID string, vendorIDList, appealTypeList, storeIDList, statusList, skuIDs []int, fromTime, toTime time.Time, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
globals.SugarLogger.Debugf("GetAfsOrders") globals.SugarLogger.Debugf("GetAfsOrders")
pageSize = jxutils.FormalizePageSize(pageSize) pageSize = jxutils.FormalizePageSize(pageSize)
@@ -901,7 +901,8 @@ func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID,
offset = 0 offset = 0
} }
sql := ` sql := `
SELECT SQL_CALC_FOUND_ROWS t1.* SELECT SQL_CALC_FOUND_ROWS
t1.*
FROM afs_order t1 FROM afs_order t1
` `
var ( var (
@@ -912,25 +913,27 @@ func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID,
if keyword != "" { if keyword != "" {
if jxutils.GetPossibleVendorIDFromAfsOrderID(keyword) > model.VendorIDUnknown && afsOrderID == "" { if jxutils.GetPossibleVendorIDFromAfsOrderID(keyword) > model.VendorIDUnknown && afsOrderID == "" {
afsOrderID = keyword afsOrderID = keyword
keyword = "" }
} else if jxutils.GetPossibleVendorIDFromVendorOrderID(keyword) > model.VendorIDUnknown && vendorOrderID == "" { if jxutils.GetPossibleVendorIDFromVendorOrderID(keyword) > model.VendorIDUnknown && vendorOrderID == "" {
vendorOrderID = keyword vendorOrderID = keyword
keyword = ""
} }
} }
if vendorOrderID != "" || afsOrderID != "" { if vendorOrderID != "" || afsOrderID != "" {
sqlWhere = "WHERE (0 = 1"
if vendorOrderID != "" { if vendorOrderID != "" {
sqlWhere = " WHERE (t1.vendor_order_id = ? OR t1.vendor_order_id2 = ?)" sqlWhere += " OR (t1.vendor_order_id = ? OR t1.vendor_order_id2 = ?)"
sqlParams = []interface{}{ sqlParams = append(sqlParams, []interface{}{
vendorOrderID, vendorOrderID,
vendorOrderID, vendorOrderID,
} })
} else {
sqlWhere = " WHERE (t1.afs_order_id = ?)"
sqlParams = []interface{}{
afsOrderID,
}
} }
if afsOrderID != "" {
sqlWhere += " OR (t1.afs_order_id = ?)"
sqlParams = append(sqlParams, []interface{}{
afsOrderID,
})
}
sqlWhere += ")"
} else { } else {
if toTime.Sub(fromTime) > 24*time.Hour*60 { if toTime.Sub(fromTime) > 24*time.Hour*60 {
return nil, fmt.Errorf("售后单查询时间不能超过60天") return nil, fmt.Errorf("售后单查询时间不能超过60天")
@@ -967,12 +970,15 @@ func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID,
sqlWhere += " AND t1.appeal_type IN (" + dao.GenQuestionMarks(len(appealTypeList)) + ")" sqlWhere += " AND t1.appeal_type IN (" + dao.GenQuestionMarks(len(appealTypeList)) + ")"
sqlParams = append(sqlParams, appealTypeList) sqlParams = append(sqlParams, appealTypeList)
} }
if len(skuIDs) > 0 {
sqlWhere += " AND (SELECT COUNT(*) FROM order_sku_financial t11 WHERE t11.is_afs_order = 1 AND t11.afs_order_id = t1.afs_order_id AND t11.vendor_id = t1.vendor_id AND t11.jx_sku_id IN (" + dao.GenQuestionMarks(len(skuIDs)) + ")) > 0"
sqlParams = append(sqlParams, skuIDs)
}
if len(vendorIDList) > 0 {
sqlWhere += " AND t1.vendor_id IN (" + dao.GenQuestionMarks(len(vendorIDList)) + ")"
sqlParams = append(sqlParams, vendorIDList)
}
} }
if len(vendorIDList) > 0 {
sqlWhere += " AND t1.vendor_id IN (" + dao.GenQuestionMarks(len(vendorIDList)) + ")"
sqlParams = append(sqlParams, vendorIDList)
}
sql += sqlWhere sql += sqlWhere
sql += ` sql += `
ORDER BY t1.afs_created_at DESC ORDER BY t1.afs_created_at DESC

View File

@@ -162,10 +162,12 @@ func GetPossibleVendorIDFromAfsOrderID(afsOrderID string) (vendorID int) {
vendorID = model.VendorIDUnknown vendorID = model.VendorIDUnknown
if afsOrderIDInt64 := utils.Str2Int64WithDefault(afsOrderID, 0); afsOrderIDInt64 > 0 { if afsOrderIDInt64 := utils.Str2Int64WithDefault(afsOrderID, 0); afsOrderIDInt64 > 0 {
orderIDLen := len(afsOrderID) orderIDLen := len(afsOrderID)
if orderIDLen == len("22586438") { if orderIDLen == len("22586438") { // 8
vendorID = model.VendorIDJD vendorID = model.VendorIDJD
} else if orderIDLen == len("579557034") { } else if orderIDLen == len("1413138834") { // 10
vendorID = model.VendorIDEBAI vendorID = model.VendorIDEBAI
} else if orderIDLen == len("29488498752") { // 11
vendorID = model.VendorIDMTWM
} }
} }
return vendorID return vendorID

View File

@@ -166,6 +166,7 @@ func (o *OrderSkuFinancial) TableIndex() [][]string {
return [][]string{ return [][]string{
[]string{"VendorOrderID", "VendorSkuID"}, []string{"VendorOrderID", "VendorSkuID"},
[]string{"AfsOrderID", "VendorSkuID"}, []string{"AfsOrderID", "VendorSkuID"},
[]string{"AfsOrderID", "JxSkuID"},
} }
} }

View File

@@ -328,6 +328,7 @@ func (c *OrderController) ExportOrders() {
// @Param keyword query string false "查询关键字" // @Param keyword query string false "查询关键字"
// @Param fromTime query string false "开始时间,如果订单号为空此项必须要求" // @Param fromTime query string false "开始时间,如果订单号为空此项必须要求"
// @Param toTime query string false "结束时间,如果订单号为空此项必须要求" // @Param toTime query string false "结束时间,如果订单号为空此项必须要求"
// @Param skuIDs query string false "包含的skuID列表或的关系"
// @Param offset query int false "结果起始序号以0开始缺省为0" // @Param offset query int false "结果起始序号以0开始缺省为0"
// @Param pageSize query int false "结果页大小缺省为50-1表示全部" // @Param pageSize query int false "结果页大小缺省为50-1表示全部"
// @Success 200 {object} controllers.CallResult // @Success 200 {object} controllers.CallResult
@@ -337,11 +338,11 @@ func (c *OrderController) GetAfsOrders() {
c.callGetAfsOrders(func(params *tOrderGetAfsOrdersParams) (retVal interface{}, errCode string, err error) { c.callGetAfsOrders(func(params *tOrderGetAfsOrdersParams) (retVal interface{}, errCode string, err error) {
timeList, err := jxutils.BatchStr2Time(params.FromTime, params.ToTime) timeList, err := jxutils.BatchStr2Time(params.FromTime, params.ToTime)
if err == nil { if err == nil {
var vendorIDList, appealTypeList, storeIDList, statusList []int var vendorIDList, appealTypeList, storeIDList, statusList, skuIDs []int
if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDList, params.AppealTypes, &appealTypeList, if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDList, params.AppealTypes, &appealTypeList,
params.StoreIDs, &storeIDList, params.Statuss, &statusList); err == nil { params.StoreIDs, &storeIDList, params.Statuss, &statusList, params.SkuIDs, &skuIDs); err == nil {
retVal, err = orderman.FixedOrderManager.GetAfsOrders(params.Ctx, params.Keyword, params.AfsOrderID, retVal, err = orderman.FixedOrderManager.GetAfsOrders(params.Ctx, params.Keyword, params.AfsOrderID,
params.VendorOrderID, vendorIDList, appealTypeList, storeIDList, statusList, timeList[0], timeList[1], params.VendorOrderID, vendorIDList, appealTypeList, storeIDList, statusList, skuIDs, timeList[0], timeList[1],
params.Offset, params.PageSize) params.Offset, params.PageSize)
} }
} }