改规格->改价
This commit is contained in:
@@ -1090,21 +1090,23 @@ func refreshStoreSkuPrice(ctx *jxcontext.Context, db *dao.DaoDB, skuID int) (err
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
for vendorID := range partner.PurchasePlatformHandlers {
|
list, err := dao.GetStoreSkusAndSkuName(db, nil, []int{skuID}, nil)
|
||||||
storeSkuList, err := dao.GetStoreSkus2(db, vendorID, 0, []int{skuID}, false)
|
for _, v := range list {
|
||||||
if err == nil {
|
storeID := v.StoreID
|
||||||
for _, v := range storeSkuList {
|
storeDetail, err := dao.GetStoreDetail(db, storeID, model.VendorIDJX)
|
||||||
v.Price = int64(jxutils.CaculateSkuPrice(int(v.UnitPrice), v.SpecQuality, v.SpecUnit, v.Unit))
|
if err != nil {
|
||||||
storeSku := &model.StoreSkuBind{}
|
return err
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
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)
|
dao.Commit(db)
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -3100,8 +3100,8 @@ func AutoFocusStoreSkusWithoutFocus(ctx *jxcontext.Context, skuIDs []int, isSync
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
skuBindInfo := &StoreSkuBindInfo{
|
skuBindInfo := &StoreSkuBindInfo{
|
||||||
UnitPrice: vv.UnitPrice,
|
UnitPrice: int(vv.UnitPrice),
|
||||||
NameID: vv.ID,
|
NameID: vv.NameID,
|
||||||
StoreID: v.ID,
|
StoreID: v.ID,
|
||||||
Skus: []*StoreSkuBindSkuInfo{},
|
Skus: []*StoreSkuBindSkuInfo{},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,6 +99,9 @@ type StoreSkuSyncInfo struct {
|
|||||||
SkuName string
|
SkuName string
|
||||||
StatusSaleBegin int16 `json:"statusSaleBegin"` //商品可售时间范围
|
StatusSaleBegin int16 `json:"statusSaleBegin"` //商品可售时间范围
|
||||||
StatusSaleEnd int16 `json:"statusSaleEnd"`
|
StatusSaleEnd int16 `json:"statusSaleEnd"`
|
||||||
|
JdSyncStatus int8 `orm:"default(2)"`
|
||||||
|
MtwmSyncStatus int8 `orm:"default(2)"`
|
||||||
|
EbaiSyncStatus int8 `orm:"default(2)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type MissingStoreSkuInfo struct {
|
type MissingStoreSkuInfo struct {
|
||||||
@@ -1517,9 +1520,10 @@ func GetPriceReferPrice(db *DaoDB, cityCode int, skuID int, snapDate time.Time)
|
|||||||
return priceRefer, err
|
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 := `
|
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
|
FROM store_sku_bind a
|
||||||
JOIN sku b ON b.id = a.sku_id AND b.deleted_at = ?
|
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 = ?
|
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)) + ")"
|
sql += " AND b.name_id IN (" + GenQuestionMarks(len(nameIDs)) + ")"
|
||||||
sqlParams = append(sqlParams, nameIDs)
|
sqlParams = append(sqlParams, nameIDs)
|
||||||
}
|
}
|
||||||
err = GetRows(db, &storeSkuNameExt, sql, sqlParams...)
|
err = GetRows(db, &storeSkuSyncInfo, sql, sqlParams...)
|
||||||
return storeSkuNameExt, err
|
return storeSkuSyncInfo, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user