diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 99bd78223..4a3912279 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -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) } } diff --git a/business/partner/purchase/mtwm/store_sku.go b/business/partner/purchase/mtwm/store_sku.go index 5ea584df4..6b065fe79 100644 --- a/business/partner/purchase/mtwm/store_sku.go +++ b/business/partner/purchase/mtwm/store_sku.go @@ -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)