复制门店商品价格不统一修改

This commit is contained in:
苏尹岚
2020-07-06 10:30:23 +08:00
parent 1f627305ec
commit ec8c7c020f
3 changed files with 37 additions and 2 deletions

View File

@@ -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{})