aa
This commit is contained in:
@@ -89,6 +89,7 @@ type StoreSkuBindInfo struct {
|
|||||||
SubStoreID int `json:"subStoreID,omitempty"`
|
SubStoreID int `json:"subStoreID,omitempty"`
|
||||||
StatusSaleBegin int16 `json:"statusSaleBegin" validate:"max=2359,min=1,ltfield=StatusSaleEnd"` //商品可售时间范围
|
StatusSaleBegin int16 `json:"statusSaleBegin" validate:"max=2359,min=1,ltfield=StatusSaleEnd"` //商品可售时间范围
|
||||||
StatusSaleEnd int16 `json:"statusSaleEnd" validate:"max=2359,min=1"`
|
StatusSaleEnd int16 `json:"statusSaleEnd" validate:"max=2359,min=1"`
|
||||||
|
UPC string `json:"upc"`
|
||||||
Skus []*StoreSkuBindSkuInfo `json:"skus,omitempty"`
|
Skus []*StoreSkuBindSkuInfo `json:"skus,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1065,11 +1066,19 @@ func uniqueStoreIDs(storeIDs []int) []int {
|
|||||||
|
|
||||||
func uniqueStoreNameBind(skuBindInfos []*StoreSkuBindInfo) (outSkuBindInfos []*StoreSkuBindInfo) {
|
func uniqueStoreNameBind(skuBindInfos []*StoreSkuBindInfo) (outSkuBindInfos []*StoreSkuBindInfo) {
|
||||||
nameIDMap := make(map[int]int)
|
nameIDMap := make(map[int]int)
|
||||||
|
upcMap := make(map[string]int)
|
||||||
for _, v := range skuBindInfos {
|
for _, v := range skuBindInfos {
|
||||||
|
if v.NameID != 0 {
|
||||||
if nameIDMap[v.NameID] != 1 {
|
if nameIDMap[v.NameID] != 1 {
|
||||||
outSkuBindInfos = append(outSkuBindInfos, v)
|
outSkuBindInfos = append(outSkuBindInfos, v)
|
||||||
nameIDMap[v.NameID] = 1
|
nameIDMap[v.NameID] = 1
|
||||||
}
|
}
|
||||||
|
} else if v.UPC != "" {
|
||||||
|
if upcMap[v.UPC] != 1 {
|
||||||
|
outSkuBindInfos = append(outSkuBindInfos, v)
|
||||||
|
upcMap[v.UPC] = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return outSkuBindInfos
|
return outSkuBindInfos
|
||||||
}
|
}
|
||||||
@@ -1153,16 +1162,32 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
|||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT t7.store_id, t8.name_id, CAST(AVG(t7.unit_price) AS SIGNED) unit_price
|
SELECT t7.store_id, t8.name_id, CAST(AVG(t7.unit_price) AS SIGNED) unit_price
|
||||||
FROM store_sku_bind t7
|
FROM store_sku_bind t7
|
||||||
JOIN sku t8 ON t8.id = t7.sku_id AND t8.name_id = ?
|
JOIN sku t8 ON t8.id = t7.sku_id
|
||||||
|
`
|
||||||
|
if skuBindInfo.NameID != 0 {
|
||||||
|
sql += " AND t8.name_id = ?"
|
||||||
|
sqlParams = append(sqlParams, skuBindInfo.NameID)
|
||||||
|
} else if skuBindInfo.UPC != "" {
|
||||||
|
sql += " JOIN sku_name t9 ON t9.id = t8.name_id AND t9.upc = ?"
|
||||||
|
sqlParams = append(sqlParams, skuBindInfo.UPC)
|
||||||
|
}
|
||||||
|
sql += `
|
||||||
WHERE t7.deleted_at = ? AND t7.store_id = ?
|
WHERE t7.deleted_at = ? AND t7.store_id = ?
|
||||||
GROUP BY 1,2
|
GROUP BY 1,2
|
||||||
) t5 ON t5.store_id = ts.id AND t5.name_id = t1.name_id`
|
) t5 ON t5.store_id = ts.id AND t5.name_id = t1.name_id`
|
||||||
sqlParams = append(sqlParams, skuBindInfo.NameID, utils.DefaultTimeValue, storeID)
|
sqlParams = append(sqlParams, utils.DefaultTimeValue, storeID)
|
||||||
}
|
}
|
||||||
sql += `
|
sql += " WHERE 1 = 1"
|
||||||
WHERE t1.name_id = ? AND t1.deleted_at = ?
|
if skuBindInfo.NameID != 0 {
|
||||||
|
sql += " AND t1.name_id = ?"
|
||||||
|
sqlParams = append(sqlParams, skuBindInfo.NameID)
|
||||||
|
} else if skuBindInfo.UPC != "" {
|
||||||
|
sql += " AND t3.upc = ?"
|
||||||
|
sqlParams = append(sqlParams, skuBindInfo.UPC)
|
||||||
|
}
|
||||||
|
sql += ` AND t1.deleted_at = ?
|
||||||
FOR UPDATE`
|
FOR UPDATE`
|
||||||
sqlParams = append(sqlParams, skuBindInfo.NameID, utils.DefaultTimeValue)
|
sqlParams = append(sqlParams, utils.DefaultTimeValue)
|
||||||
// globals.SugarLogger.Debug(sql)
|
// globals.SugarLogger.Debug(sql)
|
||||||
if err = dao.GetRows(db, &allBinds, sql, sqlParams...); err == nil {
|
if err = dao.GetRows(db, &allBinds, sql, sqlParams...); err == nil {
|
||||||
if len(allBinds) > 0 {
|
if len(allBinds) > 0 {
|
||||||
|
|||||||
Reference in New Issue
Block a user