尝试解决商城topskus重复问题
This commit is contained in:
@@ -2314,16 +2314,30 @@ func ReCalculateJxPriceLight(db *dao.DaoDB, ctx *jxcontext.Context, storeID int)
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetTopSkusByStoreIDs(ctx *jxcontext.Context, storeIDs []int) (storeSkuNameExt []*dao.StoreSkuNameExt, err error) {
|
func GetTopSkusByStoreIDs(ctx *jxcontext.Context, storeIDs []int) (storeSkuNameExt2 []*dao.StoreSkuNameExt, err error) {
|
||||||
|
var (
|
||||||
|
db = dao.GetDB()
|
||||||
|
skuMap = make(map[int]*dao.StoreSkuNameExt)
|
||||||
|
)
|
||||||
if len(storeIDs) == 0 {
|
if len(storeIDs) == 0 {
|
||||||
return storeSkuNameExt, err
|
return storeSkuNameExt2, err
|
||||||
}
|
}
|
||||||
db := dao.GetDB()
|
storeSkuNameExt, err := dao.GetTopSkusByStoreIDs(db, storeIDs)
|
||||||
storeSkuNameExt, err = dao.GetTopSkusByStoreIDs(db, storeIDs)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return storeSkuNameExt, err
|
for _, v := range storeSkuNameExt {
|
||||||
|
if skuMap[v.SkuID] == nil {
|
||||||
|
skuMap[v.SkuID] = v
|
||||||
|
}
|
||||||
|
if skuMap[v.SkuID] != nil && v.Count != 0 {
|
||||||
|
skuMap[v.SkuID] = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, v := range skuMap {
|
||||||
|
storeSkuNameExt2 = append(storeSkuNameExt2, v)
|
||||||
|
}
|
||||||
|
return storeSkuNameExt2, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNameAndPlaceList []*dao.SkuNameAndPlace, err error) {
|
func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNameAndPlaceList []*dao.SkuNameAndPlace, err error) {
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ type StoreSkuNameExt struct {
|
|||||||
PendingOpType int8 `json:"pendingOpType"` // 取值同 StoreOpRequest.Type
|
PendingOpType int8 `json:"pendingOpType"` // 取值同 StoreOpRequest.Type
|
||||||
PendingUnitPrice int `json:"pendingUnitPrice"` // 这个是待审核的价格申请
|
PendingUnitPrice int `json:"pendingUnitPrice"` // 这个是待审核的价格申请
|
||||||
RealMidUnitPrice int `json:"realMidUnitPrice"`
|
RealMidUnitPrice int `json:"realMidUnitPrice"`
|
||||||
|
Count int `json:"count"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetStoreSkus用
|
// GetStoreSkus用
|
||||||
@@ -967,7 +968,6 @@ func GetStoreSkusByNameIDs(db *DaoDB, storeIDs []int, nameID int) (skuList []*St
|
|||||||
|
|
||||||
func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSkuNameExt, err error) {
|
func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSkuNameExt, err error) {
|
||||||
sql := `
|
sql := `
|
||||||
SELECT DISTINCT t1.* FROM(
|
|
||||||
SELECT t1.count, t2.id sku_id, t3.*, t1.store_id, t1.store_name
|
SELECT t1.count, t2.id sku_id, t3.*, t1.store_id, t1.store_name
|
||||||
FROM(
|
FROM(
|
||||||
SELECT SUM(b.count) count,c.id,a.store_id,d.name store_name
|
SELECT SUM(b.count) count,c.id,a.store_id,d.name store_name
|
||||||
@@ -1018,7 +1018,7 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk
|
|||||||
AND a.status = ?
|
AND a.status = ?
|
||||||
AND a.deleted_at = ?
|
AND a.deleted_at = ?
|
||||||
AND (d.type = ? OR d.type = ?)
|
AND (d.type = ? OR d.type = ?)
|
||||||
ORDER BY 1 DESC) t1
|
ORDER BY 1 DESC
|
||||||
LIMIT ?
|
LIMIT ?
|
||||||
`
|
`
|
||||||
sqlParams = append(sqlParams, model.StoreSkuBindStatusNormal, utils.DefaultTimeValue, model.ActSkuDirectDown, model.ActSkuSecKill, 30)
|
sqlParams = append(sqlParams, model.StoreSkuBindStatusNormal, utils.DefaultTimeValue, model.ActSkuDirectDown, model.ActSkuSecKill, 30)
|
||||||
|
|||||||
Reference in New Issue
Block a user