- 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
}
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")
pageSize = jxutils.FormalizePageSize(pageSize)
@@ -901,7 +901,8 @@ func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID,
offset = 0
}
sql := `
SELECT SQL_CALC_FOUND_ROWS t1.*
SELECT SQL_CALC_FOUND_ROWS
t1.*
FROM afs_order t1
`
var (
@@ -912,25 +913,27 @@ func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID,
if keyword != "" {
if jxutils.GetPossibleVendorIDFromAfsOrderID(keyword) > model.VendorIDUnknown && afsOrderID == "" {
afsOrderID = keyword
keyword = ""
} else if jxutils.GetPossibleVendorIDFromVendorOrderID(keyword) > model.VendorIDUnknown && vendorOrderID == "" {
}
if jxutils.GetPossibleVendorIDFromVendorOrderID(keyword) > model.VendorIDUnknown && vendorOrderID == "" {
vendorOrderID = keyword
keyword = ""
}
}
if vendorOrderID != "" || afsOrderID != "" {
sqlWhere = "WHERE (0 = 1"
if vendorOrderID != "" {
sqlWhere = " WHERE (t1.vendor_order_id = ? OR t1.vendor_order_id2 = ?)"
sqlParams = []interface{}{
sqlWhere += " OR (t1.vendor_order_id = ? OR t1.vendor_order_id2 = ?)"
sqlParams = append(sqlParams, []interface{}{
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 {
if toTime.Sub(fromTime) > 24*time.Hour*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)) + ")"
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 += `
ORDER BY t1.afs_created_at DESC

View File

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

View File

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

View File

@@ -328,6 +328,7 @@ func (c *OrderController) ExportOrders() {
// @Param keyword query string false "查询关键字"
// @Param fromTime query string false "开始时间,如果订单号为空此项必须要求"
// @Param toTime query string false "结束时间,如果订单号为空此项必须要求"
// @Param skuIDs query string false "包含的skuID列表或的关系"
// @Param offset query int false "结果起始序号以0开始缺省为0"
// @Param pageSize query int false "结果页大小缺省为50-1表示全部"
// @Success 200 {object} controllers.CallResult
@@ -337,11 +338,11 @@ func (c *OrderController) GetAfsOrders() {
c.callGetAfsOrders(func(params *tOrderGetAfsOrdersParams) (retVal interface{}, errCode string, err error) {
timeList, err := jxutils.BatchStr2Time(params.FromTime, params.ToTime)
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,
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,
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)
}
}