改规格->改价
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 {
|
||||
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
|
||||
|
||||
@@ -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{},
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user