- UpdateStoreVendorMap避免不必要的ReadStore

This commit is contained in:
gazebo
2019-07-04 18:24:59 +08:00
parent 9eac3047d8
commit 512df1942a

View File

@@ -799,23 +799,23 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
if db == nil {
db = dao.GetDB()
}
if vendorStoreID := utils.Interface2String(payload["vendorStoreID"]); vendorStoreID != "" {
storeMap := &model.StoreMap{
StoreID: storeID,
VendorID: vendorID,
}
storeMap.DeletedAt = utils.DefaultTimeValue
if err = dao.GetEntity(db, storeMap, model.FieldStoreID, model.FieldVendorID, model.FieldDeletedAt); err != nil {
return 0, err
}
valid := dao.StrictMakeMapByStructObject(payload, storeMap, userName)
if vendorStoreID := utils.Interface2String(valid["vendorStoreID"]); vendorStoreID != "" {
vendorStoreInfo, err2 := storeHandler.ReadStore(vendorStoreID)
if err = err2; err == nil {
payload["deliveryType"] = vendorStoreInfo.DeliveryType
valid["deliveryType"] = vendorStoreInfo.DeliveryType
}
err = nil // todo 忽略读不到DeliveryType的错误
}
if err == nil {
storeMap := &model.StoreMap{
StoreID: storeID,
VendorID: vendorID,
}
storeMap.DeletedAt = utils.DefaultTimeValue
if err = dao.GetEntity(db, storeMap, model.FieldStoreID, model.FieldVendorID, model.FieldDeletedAt); err != nil {
return 0, err
}
valid := dao.StrictMakeMapByStructObject(payload, storeMap, userName)
// globals.SugarLogger.Debug(utils.Format4Output(valid, false))
if len(valid) > 0 {
dao.Begin(db)