- DeleteStore

This commit is contained in:
gazebo
2019-01-07 11:47:44 +08:00
parent 699c8c1ea4
commit 38ae3e16d6
3 changed files with 71 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ import (
"fmt"
"strconv"
"strings"
"time"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
@@ -463,8 +464,54 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
return num, err
}
func DeleteStore(ctx *jxcontext.Context, db *dao.DaoDB, storeID int, userName string) (num int64, err error) {
return 0, errors.New("暂不支持删除京西门店")
func DeleteStore(ctx *jxcontext.Context, storeID int) (num int64, err error) {
db := dao.GetDB()
store := &model.Store{}
store.ID = storeID
if err = dao.GetEntity(db, store); err != nil {
return 0, err
}
if store.Status == model.StoreStatusOpened {
return 0, fmt.Errorf("删除京西门店前必须将所有门店解绑且门店处于关店状态")
}
sql := `
SELECT (SELECT COUNT(*) FROM store_map t1 WHERE t1.store_id = ? AND t1.deleted_at = ?)
+ (SELECT COUNT(*) FROM store_courier_map t1 WHERE t1.store_id = ? AND t1.deleted_at = ?) ct
`
ct := 0
if err = dao.GetRow(db, &ct, sql, storeID, utils.DefaultTimeValue, storeID, utils.DefaultTimeValue); err != nil {
return 0, err
}
globals.SugarLogger.Debugf("DeleteStore storeID:%d, ct=%d", storeID, ct)
if ct > 0 {
return 0, fmt.Errorf("删除京西门店前必须将所有门店解绑且门店处于关店状态")
}
dao.Begin(db)
defer dao.Rollback(db)
now := time.Now()
for _, tableName := range []string{"store_sku_bind", "store_sku_category_map", "store_op_request"} {
sql = fmt.Sprintf(`
UPDATE %s t1
SET t1.deleted_at = ?,
t1.updated_at = ?,
t1.last_operator = ?
WHERE t1.store_id = ? AND t1.deleted_at = ?
`, tableName)
if _, err = dao.ExecuteSQL(db, sql, now, now, ctx.GetUserName(), storeID, utils.DefaultTimeValue); err != nil {
return 0, err
}
}
if num, err = dao.DeleteEntityLogically(db, store, nil, ctx.GetUserName(), nil); err != nil {
return 0, err
}
dao.Commit(db)
return num, err
// return 0, errors.New("暂不支持删除京西门店")
}
func TmpGetJxBadCommentsNo(ctx *jxcontext.Context, storeID int) (count int, err error) {