修复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
}
switch configType {
case model.ConfigTypePricePack:
storeMapList, err := dao.GetStoresMapList(db, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, key)
if err != nil {
dao.Rollback(db)
return err return err
} }
for _, v := range storeMapList { for _, v := range storeMapList {
if _, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, &model.StoreSkuBind{}, nil, ctx.GetUserName(), map[string]interface{}{ if _, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, &model.StoreSkuBind{}, nil, ctx.GetUserName(), map[string]interface{}{
model.FieldStoreID: v.StoreID, model.FieldStoreID: v.StoreID,
}, dao.GetSyncStatusStructField(model.VendorNames[v.VendorID]), model.SyncFlagPriceMask); err != nil { }, dao.GetSyncStatusStructField(model.VendorNames[v.VendorID]), model.SyncFlagPriceMask); err != nil {
dao.Rollback(db)
return err return err
} }
} }
dao.Commit(db) 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)
}
return err return err
} }