- DeleteStore
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"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
|
return num, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func DeleteStore(ctx *jxcontext.Context, db *dao.DaoDB, storeID int, userName string) (num int64, err error) {
|
func DeleteStore(ctx *jxcontext.Context, storeID int) (num int64, err error) {
|
||||||
return 0, errors.New("暂不支持删除京西门店")
|
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) {
|
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 创建京西门店
|
// @Title 创建京西门店
|
||||||
// @Description 创建京西门店
|
// @Description 创建京西门店
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
|
|||||||
@@ -559,6 +559,14 @@ func init() {
|
|||||||
MethodParams: param.Make(),
|
MethodParams: param.Make(),
|
||||||
Params: nil})
|
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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "DeleteStoreCourierMap",
|
Method: "DeleteStoreCourierMap",
|
||||||
|
|||||||
Reference in New Issue
Block a user