结算活动不要求门店关注商品

不自动过滤没有关注的商品,会报错
This commit is contained in:
gazebo
2019-11-04 14:30:19 +08:00
parent 4e277d854b
commit ff525293a5

View File

@@ -120,49 +120,54 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac
storeDetail, err2 := dao.GetStoreDetail(db, storeID, vendorID) storeDetail, err2 := dao.GetStoreDetail(db, storeID, vendorID)
if err = err2; err == nil { if err = err2; err == nil {
for _, v := range oneStoreSkuParam { for _, v := range oneStoreSkuParam {
if storeSkuInfo := storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)]; storeSkuInfo != nil { validVendorMap[vendorID] = 1
validVendorMap[vendorID] = 1 validSkuMap[v.SkuID] = 1
validSkuMap[v.SkuID] = 1 v.ActID = act.ID
pricePercentage := jxutils.GetPricePercentage(storeDetail.PricePercentagePackObj, storeSkuInfo.Price, int(storeDetail.PricePercentage)) actSkuMap := &model.ActStoreSkuMap{
actSkuMap := &model.ActStoreSkuMap{ ActID: act.ID,
ActID: act.ID, StoreID: storeID,
StoreID: storeID, SkuID: v.SkuID,
SkuID: v.SkuID, VendorID: vendorID,
VendorID: vendorID,
SyncStatus: model.SyncFlagNewMask, SyncStatus: model.SyncFlagNewMask,
VendorPrice: int64(jxutils.CaculateSkuVendorPrice(storeSkuInfo.Price, pricePercentage)), }
} v.OriginalPrice = actSkuMap.VendorPrice
v.OriginalPrice = actSkuMap.VendorPrice if storeSkuInfo := storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)]; storeSkuInfo != nil {
if act.Type == model.ActSkuFake { jxPrice := storeSkuInfo.Price
actSkuMap.ActualActPrice = 0 pricePercentage := jxutils.GetPricePercentage(storeDetail.PricePercentagePackObj, jxPrice, int(storeDetail.PricePercentage))
} else { actSkuMap.VendorPrice = int64(jxutils.CaculateSkuVendorPrice(jxPrice, pricePercentage))
if v.ActPrice != 0 { v.OriginalPrice = int64(jxPrice)
actSkuMap.ActualActPrice = v.ActPrice } else if act.Type != model.ActSkuFake {
} else { v.ErrMsg = fmt.Sprintf("门店:%d没有关注商品:%d", v.StoreID, v.SkuID)
percentage := act.PricePercentage wrongSkuList = append(wrongSkuList, v)
if v.PricePercentage != 0 { continue
percentage = v.PricePercentage }
} if act.Type == model.ActSkuFake {
actSkuMap.ActualActPrice = int64(jxutils.CaculateSkuVendorPrice(int(actSkuMap.VendorPrice), percentage)) actSkuMap.ActualActPrice = 0
if actSkuMap.ActualActPrice > 10 {
actSkuMap.ActualActPrice = int64(math.Round(float64(actSkuMap.ActualActPrice)/10) * 10)
}
}
if actSkuMap.ActualActPrice <= 0 {
actSkuMap.ActualActPrice = 1
}
}
if err2 := checkDiscountValidation(act.Type, int(actSkuMap.ActualActPrice*100/actSkuMap.VendorPrice)); err2 != nil {
v.ErrMsg = err2.Error()
v.ActualActPrice = actSkuMap.ActualActPrice
wrongSkuList = append(wrongSkuList, v)
} else {
dao.WrapAddIDCULDEntity(actSkuMap, ctx.GetUserName())
actStoreSkuMapList = append(actStoreSkuMapList, actSkuMap)
}
} else { } else {
globals.SugarLogger.Debugf("ActStoreSkuParam2Model storeID:%d, skuID:%d没有关注", v.StoreID, v.SkuID) if v.ActPrice != 0 {
actSkuMap.ActualActPrice = v.ActPrice
} else {
percentage := act.PricePercentage
if v.PricePercentage != 0 {
percentage = v.PricePercentage
}
actSkuMap.ActualActPrice = int64(jxutils.CaculateSkuVendorPrice(int(actSkuMap.VendorPrice), percentage))
if actSkuMap.ActualActPrice > 10 {
actSkuMap.ActualActPrice = int64(math.Round(float64(actSkuMap.ActualActPrice)/10) * 10)
}
}
if actSkuMap.ActualActPrice <= 0 {
actSkuMap.ActualActPrice = 1
}
}
if err2 := checkDiscountValidation(act.Type, int(actSkuMap.ActualActPrice*100/actSkuMap.VendorPrice)); err2 != nil {
v.ErrMsg = err2.Error()
v.ActualActPrice = actSkuMap.ActualActPrice
wrongSkuList = append(wrongSkuList, v)
} else {
dao.WrapAddIDCULDEntity(actSkuMap, ctx.GetUserName())
actStoreSkuMapList = append(actStoreSkuMapList, actSkuMap)
} }
} }
wholeValidVendorMap[vendorID] = 1 wholeValidVendorMap[vendorID] = 1
@@ -175,13 +180,9 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac
if len(wrongSkuList) == 0 { if len(wrongSkuList) == 0 {
for _, v := range oneStoreSkuParam { for _, v := range oneStoreSkuParam {
if validSkuMap[v.SkuID] == 1 { // todo 这里是否需要判断 if validSkuMap[v.SkuID] == 1 { // todo 这里是否需要判断
if storeSkuInfo := storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)]; storeSkuInfo != nil { storeSku := &v.ActStoreSku
storeSku := &v.ActStoreSku dao.WrapAddIDCULDEntity(storeSku, ctx.GetUserName())
storeSku.ActID = act.ID actStoreSkuList = append(actStoreSkuList, storeSku)
storeSku.OriginalPrice = int64(storeSkuInfo.Price)
dao.WrapAddIDCULDEntity(storeSku, ctx.GetUserName())
actStoreSkuList = append(actStoreSkuList, storeSku)
}
} }
} }
} }