This commit is contained in:
苏尹岚
2021-03-30 17:39:07 +08:00
parent b9f7d7f53a
commit 0dd7235485
49 changed files with 579 additions and 582 deletions

View File

@@ -962,9 +962,9 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
mapBefore := refutil.FindMapAndStructMixed(valid, beforStore)
err = AddEventDetail(db, ctx, model.OperateUpdate, storeID, model.ThingTypeStore, storeID, BuildDiffData(mapBefore), BuildDiffData(valid))
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
dao.Rollback(db)
dao.Rollback(db, txDB)
}()
if num, err = dao.UpdateEntityLogically(db, store, valid, userName, nil); err == nil && num == 1 {
if isUpdateStoreNeedSync(valid) {
@@ -979,7 +979,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
model.FieldStoreID: store.ID,
}, model.FieldSyncStatus, syncStatus)
if err = err2; err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
globals.SugarLogger.Debugf("UpdateStore track:%s, before call SyncStore", ctx.GetTrackInfo())
_, err = CurVendorSync.SyncStore(ctx, db, -1, store.ID, false, userName)
if valid["tel1"] != nil || valid["tel2"] != nil {
@@ -990,7 +990,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
}
}
} else {
dao.Commit(db)
dao.Commit(db, txDB)
}
notifyStoreOperatorChanged(store.ID, "京东运营", store.OperatorPhone, valid["operatorPhone"])
notifyStoreOperatorChanged(store.ID, "美团运营", store.OperatorPhone2, valid["operatorPhone2"])
@@ -1262,18 +1262,18 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
if db == nil {
db = dao.GetDB()
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, storeMap); err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
outStoreMap = storeMap
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
}
}
@@ -1408,10 +1408,10 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
if err == nil {
// globals.SugarLogger.Debug(utils.Format4Output(valid, false))
if len(valid) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -1427,7 +1427,7 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
})
}
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if num > 0 {
@@ -1441,7 +1441,7 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, storeSkuBind, nil, userName, map[string]interface{}{
model.FieldStoreID: storeID,
}, dao.GetSyncStatusStructField(model.VendorNames[vendorID]), model.SyncFlagPriceMask); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
}
@@ -1451,7 +1451,7 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
if isStoreMapNeedSync(vendorID, valid) {
_, err = CurVendorSync.SyncStore(ctx, db, vendorID, storeID, false, userName)
}
@@ -1485,8 +1485,8 @@ func DeleteStore(ctx *jxcontext.Context, storeID int) (num int64, err error) {
return 0, fmt.Errorf("删除京西门店前必须将所有门店解绑且门店处于关店状态")
}
dao.Begin(db)
defer dao.Rollback(db)
txDB , _ := dao.Begin(db)
defer dao.Rollback(db, txDB)
now := time.Now()
for _, tableName := range []string{"store_sku_bind", "store_sku_category_map", "store_op_request"} {
@@ -1509,7 +1509,7 @@ func DeleteStore(ctx *jxcontext.Context, storeID int) (num int64, err error) {
err = AddEventDetail(db, ctx, model.OperateDelete, storeID, model.ThingTypeStore, storeID, "", "")
}
DeleteStoreCategroies(ctx, db, storeID)
dao.Commit(db)
dao.Commit(db, txDB)
return num, err
// return 0, errors.New("暂不支持删除京西门店")
}
@@ -1599,9 +1599,9 @@ func TmpGetJxBadCommentsByStoreId(ctx *jxcontext.Context, keyword string, storeI
sql += " LIMIT ? OFFSET ?"
sqlParams = append(sqlParams, pageSize, offset)
var commentList []*JxBadCommentsExt
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
dao.Rollback(db)
dao.Rollback(db, txDB)
}()
// globals.SugarLogger.Debug(sql)
// globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false))
@@ -1610,7 +1610,7 @@ func TmpGetJxBadCommentsByStoreId(ctx *jxcontext.Context, keyword string, storeI
"total": dao.GetLastTotalRowCount(db),
"list": commentList,
}
dao.Commit(db)
dao.Commit(db, txDB)
}
return retVal, err
}
@@ -2110,10 +2110,10 @@ func updateVendorStoreStatusBySnapshot(db *dao.DaoDB, curSnapshotList []*model.V
for _, v := range curSnapshotList {
snapshotMap[jxutils.Combine2Int(v.StoreID, v.VendorID)] = v
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -2130,7 +2130,7 @@ func updateVendorStoreStatusBySnapshot(db *dao.DaoDB, curSnapshotList []*model.V
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
utils.CallFuncAsync(func() {
for _, v := range storeMapList {
@@ -2147,10 +2147,10 @@ func updateVendorStoreStatusBySnapshot(db *dao.DaoDB, curSnapshotList []*model.V
}
func SaveStoresVendorSnapshot(db *dao.DaoDB, snapshotAt time.Time, curSnapshotList []*model.VendorStoreSnapshot) (err error) {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -2167,7 +2167,7 @@ func SaveStoresVendorSnapshot(db *dao.DaoDB, snapshotAt time.Time, curSnapshotLi
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -2881,10 +2881,10 @@ func CreateStorePriceScore(ctx *jxcontext.Context) (err error) {
snapshotAt = utils.Time2Date(time.Now().AddDate(0, 0, -1))
storePriceScoreSnapshot, err := dao.GetStorePriceScoreSnapshot(db, snapshotAt)
if len(storePriceScoreSnapshot) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -2901,7 +2901,7 @@ func CreateStorePriceScore(ctx *jxcontext.Context) (err error) {
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
globals.SugarLogger.Debugf("CreateStorePriceScore")
}
return err
@@ -2911,10 +2911,10 @@ func RefreshJdLevel(ctx *jxcontext.Context) (err error) {
db := dao.GetDB()
storeMapList, err := dao.GetStoresMapList(db, []int{model.VendorIDJD}, nil, nil, model.StoreStatusOpened, -1, "", "", "")
if len(storeMapList) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -2946,7 +2946,7 @@ func RefreshJdLevel(ctx *jxcontext.Context) (err error) {
}, storeMapList)
tasksch.HandleTask(task, nil, true).Run()
_, err = task.GetResult(0)
dao.Commit(db)
dao.Commit(db, txDB)
}
return err
}
@@ -3201,18 +3201,18 @@ func AddStoreCategoryMap(ctx *jxcontext.Context, storeCategoryMap *model.StoreCa
}
storeCategoryMap.StoreCategoryName = strings.Trim(storeCategoryMap.StoreCategoryName, " ")
dao.WrapAddIDCULDEntity(storeCategoryMap, ctx.GetUserName())
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, storeCategoryMap); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
dao.Commit(db)
dao.Commit(db, txDB)
result = storeCategoryMap
if storeCategoryMap.CategoryID != 0 {
SetStoreCategorySyncStatus2(db, []int{storeCategoryMap.StoreID}, []int{storeCategoryMap.CategoryID}, model.SyncFlagModifiedMask)
@@ -3311,18 +3311,18 @@ func UpdateStoreCategoryMap(ctx *jxcontext.Context, ID int, storeCategoryMap *mo
} else {
SetStoreCategorySyncStatus2(db, []int{storeCategoryMap2.StoreID}, []int{storeCategoryMap.CategoryID, storeCategoryMap2.CategoryID}, model.SyncFlagModifiedMask)
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if num, err = dao.UpdateEntityLogically(db, storeCategoryMap2, valid, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
dao.Commit(db)
dao.Commit(db, txDB)
return num, err
}
@@ -3340,26 +3340,26 @@ func ReorderStoreCategories(ctx *jxcontext.Context, parentID, storeID int, categ
for _, cat := range storeCatsMap {
catsMap[cat.CategoryID] = cat
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
for k, v := range categoryIDs {
if catsMap[v] == nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return fmt.Errorf("分类:%d不在%d分类下", v, parentID)
}
catsMap[v].StoreCategorySeq = k
catsMap[v].LastOperator = ctx.GetUserName()
if _, err = dao.UpdateEntity(db, catsMap[v]); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
SetStoreCategorySyncStatus2(db, nil, categoryIDs, model.SyncFlagModifiedMask)
if err == nil {
CurVendorSync.SyncStoresCategory(ctx, db, nil, nil, false, true, true)
@@ -3396,10 +3396,10 @@ func CopyStoreCategories(ctx *jxcontext.Context, fromStoreID int, toStoreIDs, ca
storeID := batchItemList[0].(int)
//证明是要全复制
if len(categoryIDs) == 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -3423,7 +3423,7 @@ func CopyStoreCategories(ctx *jxcontext.Context, fromStoreID int, toStoreIDs, ca
if _, err = dao.ExecuteSQL(db, sql2, sqlParams2); err != nil {
return retVal, err
}
dao.Commit(db)
dao.Commit(db, txDB)
} else {
for _, v := range categoryIDs {
list, err := dao.GetStoreCategoryMap(db, -1, 0, storeID, v)
@@ -3433,10 +3433,10 @@ func CopyStoreCategories(ctx *jxcontext.Context, fromStoreID int, toStoreIDs, ca
if len(list) > 0 {
return retVal, fmt.Errorf("该门店已有重复绑定的京西分类storeID: %v,categroyID: %v", storeID, v)
} else {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -3453,7 +3453,7 @@ func CopyStoreCategories(ctx *jxcontext.Context, fromStoreID int, toStoreIDs, ca
if _, err = dao.ExecuteSQL(db, sql2, sqlParams2); err != nil {
return retVal, err
}
dao.Commit(db)
dao.Commit(db, txDB)
}
}
}
@@ -3550,10 +3550,10 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
return fmt.Errorf("目前只允许扣点的门店修改调价包!")
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -3564,13 +3564,13 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
// _, err = UpdateConfig(ctx, pricePack, model.ConfigTypePricePack, string(realValue))
configList, err := dao.QueryConfigs(db, pricePack, model.ConfigTypePricePack, "")
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
if _, err = dao.UpdateEntityLogically(db, configList[0], map[string]interface{}{
"Value": string(realValue),
}, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
} else {
@@ -3581,12 +3581,12 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
//4、同步相关
pricePack = pricePack + "_" + utils.Int2Str(storeID) + "_" + storeDetail.Name
if err = AddConfig(ctx, pricePack, model.ConfigTypePricePack, value); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
storeMapList, err := dao.GetStoresMapList(db, []int{vendorID}, []int{storeID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "")
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
if len(storeMapList) > 0 {
@@ -3594,10 +3594,10 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
dao.UpdateEntity(db, storeMapList[0], "PricePercentagePack")
}
}
dao.Commit(db)
dao.Commit(db, txDB)
storeMapList, err := dao.GetStoresMapList(db, nil, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, pricePack, "", "")
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
vendorStoreMap := make(map[int][]int)
@@ -3936,17 +3936,17 @@ func UpdateBrand(ctx *jxcontext.Context, payload map[string]interface{}, isDel b
} else {
valid := dao.StrictMakeMapByStructObject(payload, brand, ctx.GetUserName())
if len(valid) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
if _, err = dao.UpdateEntityLogically(db, brand, valid, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return
}
dao.Commit(db)
dao.Commit(db, txDB)
}()
}
}