改规格->改价

This commit is contained in:
苏尹岚
2020-01-09 14:42:39 +08:00
parent da3c177e54
commit 20fc83000e
3 changed files with 26 additions and 20 deletions

View File

@@ -1090,21 +1090,23 @@ func refreshStoreSkuPrice(ctx *jxcontext.Context, db *dao.DaoDB, skuID int) (err
}
}
}()
for vendorID := range partner.PurchasePlatformHandlers {
storeSkuList, err := dao.GetStoreSkus2(db, vendorID, 0, []int{skuID}, false)
if err == nil {
for _, v := range storeSkuList {
v.Price = int64(jxutils.CaculateSkuPrice(int(v.UnitPrice), v.SpecQuality, v.SpecUnit, v.Unit))
storeSku := &model.StoreSkuBind{}
storeSku.ID = v.BindID
if _, err = dao.UpdateEntityLogically(db, storeSku, map[string]interface{}{
"Price": v.Price,
dao.GetSyncStatusStructField(model.VendorNames[vendorID]): v.SkuSyncStatus | model.SyncFlagPriceMask,
}, ctx.GetUserName(), nil); err != nil {
return err
}
}
list, err := dao.GetStoreSkusAndSkuName(db, nil, []int{skuID}, nil)
for _, v := range list {
storeID := v.StoreID
storeDetail, err := dao.GetStoreDetail(db, storeID, model.VendorIDJX)
if err != nil {
return err
}
storeSku := &model.StoreSkuBind{}
storeSku.ID = v.BindID
storeSku.JdSyncStatus = v.JdSyncStatus | model.SyncFlagPriceMask
storeSku.MtwmSyncStatus = v.MtwmSyncStatus | model.SyncFlagPriceMask
storeSku.EbaiSyncStatus = v.EbaiSyncStatus | model.SyncFlagPriceMask
storeSku.Price = jxutils.CaculateSkuPrice(int(v.UnitPrice), v.SpecQuality, v.SpecUnit, v.Unit)
storeSku.JxPrice = jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), int(storeSku.Price))
storeSku.LastOperator = ctx.GetUserName()
storeSku.UpdatedAt = time.Now()
dao.UpdateEntity(db, storeSku, "Price", "JdSyncStatus", "MtwmSyncStatus", "EbaiSyncStatus", "JxPrice")
}
dao.Commit(db)
return err

View File

@@ -3100,8 +3100,8 @@ func AutoFocusStoreSkusWithoutFocus(ctx *jxcontext.Context, skuIDs []int, isSync
})
} else {
skuBindInfo := &StoreSkuBindInfo{
UnitPrice: vv.UnitPrice,
NameID: vv.ID,
UnitPrice: int(vv.UnitPrice),
NameID: vv.NameID,
StoreID: v.ID,
Skus: []*StoreSkuBindSkuInfo{},
}

View File

@@ -99,6 +99,9 @@ type StoreSkuSyncInfo struct {
SkuName string
StatusSaleBegin int16 `json:"statusSaleBegin"` //商品可售时间范围
StatusSaleEnd int16 `json:"statusSaleEnd"`
JdSyncStatus int8 `orm:"default(2)"`
MtwmSyncStatus int8 `orm:"default(2)"`
EbaiSyncStatus int8 `orm:"default(2)"`
}
type MissingStoreSkuInfo struct {
@@ -1517,9 +1520,10 @@ func GetPriceReferPrice(db *DaoDB, cityCode int, skuID int, snapDate time.Time)
return priceRefer, err
}
func GetStoreSkusAndSkuName(db *DaoDB, storeIDs, skuIDs, nameIDs []int) (storeSkuNameExt []*StoreSkuNameExt, err error) {
func GetStoreSkusAndSkuName(db *DaoDB, storeIDs, skuIDs, nameIDs []int) (storeSkuSyncInfo []*StoreSkuSyncInfo, err error) {
sql := `
SELECT a.*,c.id
SELECT a.id bind_id, a.store_id, a.jd_sync_status, a.mtwm_sync_status, a.ebai_sync_status, a.unit_price,
c.id name_id, c.unit, b.*
FROM store_sku_bind a
JOIN sku b ON b.id = a.sku_id AND b.deleted_at = ?
JOIN sku_name c ON c.id = b.name_id AND c.deleted_at = ?
@@ -1542,6 +1546,6 @@ func GetStoreSkusAndSkuName(db *DaoDB, storeIDs, skuIDs, nameIDs []int) (storeSk
sql += " AND b.name_id IN (" + GenQuestionMarks(len(nameIDs)) + ")"
sqlParams = append(sqlParams, nameIDs)
}
err = GetRows(db, &storeSkuNameExt, sql, sqlParams...)
return storeSkuNameExt, err
err = GetRows(db, &storeSkuSyncInfo, sql, sqlParams...)
return storeSkuSyncInfo, err
}