- 修复ordersku中取门店价错误使用unitPrice的问题
- 同步美团外卖时,将MtwmID设置为京西SKUID
This commit is contained in:
@@ -20,7 +20,7 @@ type tStoreSkuBindAndVendorSkuID struct {
|
||||
VendorSkuID int64 `orm:"column(vendor_sku_id)"`
|
||||
SkuID int `orm:"column(sku_id)"`
|
||||
Weight int
|
||||
UnitPrice int
|
||||
Price int
|
||||
}
|
||||
|
||||
func init() {
|
||||
@@ -245,7 +245,7 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
||||
}
|
||||
fieldPrefix := dao.ConvertDBFieldPrefix(model.VendorNames[order.VendorID])
|
||||
sql := `
|
||||
SELECT %s.%s_id vendor_sku_id, t1.id sku_id, t2.unit_price, t1.weight
|
||||
SELECT %s.%s_id vendor_sku_id, t1.id sku_id, t2.price, t1.weight
|
||||
FROM sku t1
|
||||
LEFT JOIN store_sku_bind t2 ON t1.id = t2.sku_id AND t2.deleted_at = ? AND t2.store_id = ?
|
||||
WHERE t1.deleted_at = ? AND %s.%s_id IN (-1, ` + dao.GenQuestionMarks(len(vendorSkuIDs)) + ")"
|
||||
@@ -269,10 +269,10 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
||||
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营%s]%s订单sku找不到门店价格(或商品映射),orderID:%s, StoreID:%d, VendorSkuID:%s, sku:%v", opNumStr, model.VendorChineseNames[order.VendorID], order.VendorOrderID, jxStoreID, v.VendorSkuID, v)
|
||||
} else {
|
||||
v.JxSkuID = skuBindInfo.SkuID
|
||||
v.ShopPrice = int64(skuBindInfo.UnitPrice)
|
||||
v.ShopPrice = int64(skuBindInfo.Price)
|
||||
v.Weight = skuBindInfo.Weight // 以本地信息中的WEIGHT为准
|
||||
order.ShopPrice += v.ShopPrice * int64(v.Count)
|
||||
if skuBindInfo.UnitPrice == 0 {
|
||||
if skuBindInfo.Price == 0 {
|
||||
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营%s]%s订单sku门店价格为零(一般原因为没有门店价格信息),orderID:%s, StoreID:%d, SkuID:%d, sku:%v", opNumStr, model.VendorChineseNames[order.VendorID], order.VendorOrderID, jxStoreID, v.JxSkuID, v)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,6 +244,9 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
||||
// for k, v := range batchItemList {
|
||||
v := batchItemList[0]
|
||||
skuItem := v.(*dao.StoreSkuSyncInfo)
|
||||
updateFields := []string{model.FieldMtwmSyncStatus}
|
||||
storeSkuBind := &model.StoreSkuBind{}
|
||||
storeSkuBind.ID = skuItem.BindID
|
||||
if skuItem.SkuSyncStatus&model.SyncFlagDeletedMask != 0 {
|
||||
if skuItem.SkuSyncStatus&model.SyncFlagNewMask == 0 {
|
||||
err = api.MtwmAPI.RetailDelete(vendorStoreID, utils.Int2Str(skuItem.ID))
|
||||
@@ -281,13 +284,14 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
||||
}
|
||||
foodData["skus"] = skus
|
||||
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList)
|
||||
if err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList); err == nil {
|
||||
storeSkuBind.MtwmID = int64(skuItem.ID)
|
||||
updateFields = append(updateFields, model.FieldMtwmID)
|
||||
}
|
||||
}
|
||||
}
|
||||
if err == nil {
|
||||
storeSkuBind := &model.StoreSkuBind{}
|
||||
storeSkuBind.ID = skuItem.BindID
|
||||
_, err = dao.UpdateEntity(nil, storeSkuBind, model.FieldMtwmSyncStatus)
|
||||
_, err = dao.UpdateEntity(db, storeSkuBind, updateFields...)
|
||||
}
|
||||
return nil, err
|
||||
}, skus)
|
||||
|
||||
Reference in New Issue
Block a user