修复UpdateConfig中写死为ConfigTypePricePack的问题

This commit is contained in:
gazebo
2019-10-15 10:27:30 +08:00
parent 58f4668a6e
commit e8fe41398f

View File

@@ -310,37 +310,54 @@ func UpdateConfig(ctx *jxcontext.Context, key, configType, value string) (err er
} }
db := dao.GetDB() db := dao.GetDB()
configList, err := dao.QueryConfigs(db, key, configType, "")
if err != nil {
return err
}
storeMapList, err := dao.GetStoresMapList(db, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, key)
if err != nil {
return err
}
dao.Begin(db) dao.Begin(db)
defer func() { defer func() {
if r := recover(); r != nil || err != nil { if r := recover(); r != nil {
dao.Rollback(db) dao.Rollback(db)
if r != nil { panic(r)
panic(r)
}
} }
}() }()
configList, err := dao.QueryConfigs(db, key, configType, "")
if err != nil {
dao.Rollback(db)
return err
}
if _, err = dao.UpdateEntityLogically(db, configList[0], map[string]interface{}{ if _, err = dao.UpdateEntityLogically(db, configList[0], map[string]interface{}{
"Value": value, "Value": value,
}, ctx.GetUserName(), nil); err != nil { }, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
return err return err
} }
for _, v := range storeMapList { switch configType {
if _, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, &model.StoreSkuBind{}, nil, ctx.GetUserName(), map[string]interface{}{ case model.ConfigTypePricePack:
model.FieldStoreID: v.StoreID, storeMapList, err := dao.GetStoresMapList(db, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, key)
}, dao.GetSyncStatusStructField(model.VendorNames[v.VendorID]), model.SyncFlagPriceMask); err != nil { if err != nil {
dao.Rollback(db)
return err return err
} }
for _, v := range storeMapList {
if _, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, &model.StoreSkuBind{}, nil, ctx.GetUserName(), map[string]interface{}{
model.FieldStoreID: v.StoreID,
}, dao.GetSyncStatusStructField(model.VendorNames[v.VendorID]), model.SyncFlagPriceMask); err != nil {
dao.Rollback(db)
return err
}
}
dao.Commit(db)
case model.ConfigTypeFreightPack:
dao.Commit(db)
storeMapList, err := dao.GetStoresMapList(db, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, "")
if err != nil {
return err
}
for _, v := range storeMapList {
if v.FreightDeductionPack == key {
_, _ = CurVendorSync.SyncStore(ctx, db, v.VendorID, v.StoreID, false, ctx.GetUserName())
}
}
default:
dao.Commit(db)
} }
dao.Commit(db)
return err return err
} }