- DeleteStore
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -71,6 +71,20 @@ func (c *StoreController) UpdateStore() {
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 删除京西门店
|
||||
// @Description 删除京西门店
|
||||
// @Param token header string true "认证token"
|
||||
// @Param storeID query int true "门店ID"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /DeleteStore [delete]
|
||||
func (c *StoreController) DeleteStore() {
|
||||
c.callDeleteStore(func(params *tStoreDeleteStoreParams) (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = cms.DeleteStore(params.Ctx, params.StoreID)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 创建京西门店
|
||||
// @Description 创建京西门店
|
||||
// @Param token header string true "认证token"
|
||||
|
||||
@@ -559,6 +559,14 @@ func init() {
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "DeleteStore",
|
||||
Router: `/DeleteStore`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "DeleteStoreCourierMap",
|
||||
|
||||
Reference in New Issue
Block a user