复制门店商品价格不统一修改
This commit is contained in:
@@ -1734,6 +1734,41 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID int, toStoreIDs []int, co
|
||||
}
|
||||
globals.SugarLogger.Debugf("CopyStoreSkus fromStoreID:%d, toStoreID:%d, trackInfo:%s num3:%d", fromStoreID, toStoreID, ctx.GetTrackInfo(), num2)
|
||||
dao.Commit(db)
|
||||
|
||||
//同一商品若源门店的规格少于要复制到的门店,则在复制的门店里的其他规格的unitprice不会变,
|
||||
//导致复制的门店的商品unitprice不尽相同,这里先处理一下
|
||||
type tStore struct {
|
||||
NameID int `orm:"column(name_id)"`
|
||||
StoreID int `orm:"column(store_id)"`
|
||||
}
|
||||
var resultList []*tStore
|
||||
sql3 := `
|
||||
SELECT a.name_id, a.store_id FROM (
|
||||
SELECT DISTINCT a.unit_price, b.name_id, a.store_id FROM store_sku_bind a, sku b, store c
|
||||
WHERE a.sku_id = b.id
|
||||
AND c.id = a.store_id
|
||||
AND c.deleted_at = ?
|
||||
AND a.store_id = ?
|
||||
AND a.deleted_at = ?)a
|
||||
GROUP BY 1, 2
|
||||
HAVING COUNT(a.unit_price) > 1
|
||||
`
|
||||
sqlParams3 := []interface{}{utils.DefaultTimeValue, toStoreID, utils.DefaultTimeValue}
|
||||
err = dao.GetRows(db, &resultList, sql3, sqlParams3)
|
||||
if len(resultList) > 0 {
|
||||
var skuBindInfos []*StoreSkuBindInfo
|
||||
for _, v := range resultList {
|
||||
storeSkus, _ := dao.GetStoreSkusByNameIDs(db, []int{v.StoreID}, v.NameID)
|
||||
unitPirce := storeSkus[0].UnitPrice
|
||||
skuBindInfo := &StoreSkuBindInfo{
|
||||
StoreID: v.StoreID,
|
||||
NameID: v.NameID,
|
||||
UnitPrice: int(unitPirce),
|
||||
}
|
||||
skuBindInfos = append(skuBindInfos, skuBindInfo)
|
||||
}
|
||||
_, err = updateStoresSkusWithoutSync(ctx, db, []int{toStoreID}, skuBindInfos, false, false)
|
||||
}
|
||||
}
|
||||
if globals.IsAddEvent {
|
||||
mapAfter := make(map[string]interface{})
|
||||
|
||||
@@ -1636,7 +1636,7 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
|
||||
fmt.Println("testresultList3", utils.Format4Output(resultList, false))
|
||||
// var skuBindInfos []*cms.StoreSkuBindInfo
|
||||
// for _, v := range resultList {
|
||||
// storeSkus, _ := dao.GetStoreSkusByNameIDs(db, []int{v.StoreID}, v.NameID)
|
||||
// storeSkus, _ := dao.GetStoreSkusByNameIDs(db, []int{v.StoreID}, v.NameID)
|
||||
// unitPirce := storeSkus[0].UnitPrice
|
||||
// skuBindInfo := &cms.StoreSkuBindInfo{
|
||||
// StoreID: v.StoreID,
|
||||
|
||||
@@ -998,7 +998,7 @@ func GetStoreSkusByNameIDs(db *DaoDB, storeIDs []int, nameID int) (skuList []*St
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
sql += ` AND a.status != ?
|
||||
ORDER BY a.created_at
|
||||
ORDER BY a.updated_at DESC
|
||||
`
|
||||
sqlParams = append(sqlParams, model.SkuStatusDeleted)
|
||||
err = GetRows(db, &skuList, sql, sqlParams...)
|
||||
|
||||
Reference in New Issue
Block a user