aa
This commit is contained in:
@@ -41,6 +41,7 @@ const (
|
|||||||
CouponStatusRe = -2 //优惠券状态还没生效
|
CouponStatusRe = -2 //优惠券状态还没生效
|
||||||
CouponStatusOverdue = -1 //已过期
|
CouponStatusOverdue = -1 //已过期
|
||||||
CouponStatusNormal = 0 //正常
|
CouponStatusNormal = 0 //正常
|
||||||
|
CouponStatusDeleted = -4 //被删了
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -67,6 +68,7 @@ var (
|
|||||||
CouponStatusOverdue: "已过期",
|
CouponStatusOverdue: "已过期",
|
||||||
CouponStatusNormal: "正常",
|
CouponStatusNormal: "正常",
|
||||||
UserCouponStatusOverdue: "已被使用",
|
UserCouponStatusOverdue: "已被使用",
|
||||||
|
CouponStatusDeleted: "已删除",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -2211,6 +2211,57 @@ func AddCoupons(ctx *jxcontext.Context, coupons *model.Coupons, count int, store
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func UpdateCoupons(ctx *jxcontext.Context, payload map[string]interface{}, storeIDs []int) (err error) {
|
func UpdateCoupons(ctx *jxcontext.Context, payload map[string]interface{}, storeIDs []int, isDel bool) (err error) {
|
||||||
|
var (
|
||||||
|
db = dao.GetDB()
|
||||||
|
coupons = &model.Coupons{}
|
||||||
|
)
|
||||||
|
coupons.ID = utils.MustInterface2Int64(payload["id"])
|
||||||
|
dao.GetEntity(db, coupons)
|
||||||
|
if isDel {
|
||||||
|
coupons.CouponStatus = model.CouponStatusDeleted
|
||||||
|
coupons.UpdatedAt = time.Now()
|
||||||
|
coupons.LastOperator = ctx.GetUserName()
|
||||||
|
dao.UpdateEntity(db, coupons, "CouponStatus", "UpdatedAt", "LastOperator")
|
||||||
|
} else {
|
||||||
|
valid := dao.StrictMakeMapByStructObject(payload, coupons, ctx.GetUserName())
|
||||||
|
if len(valid) > 0 {
|
||||||
|
dao.Begin(db)
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
dao.Rollback(db)
|
||||||
|
panic(r)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
if valid["isAll"] != nil {
|
||||||
|
if utils.MustInterface2Int64(valid["isAll"]) == model.NO && len(storeIDs) == 0 {
|
||||||
|
return fmt.Errorf("改成全国不生效要选门店!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if _, err = dao.UpdateEntityByKV(db, coupons, valid, nil); err != nil {
|
||||||
|
dao.Rollback(db)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if valid["isAll"] != nil {
|
||||||
|
storeCouponss, _ := dao.GetStoreCoupons(db, []int{int(coupons.ID)}, nil)
|
||||||
|
for _, v := range storeCouponss {
|
||||||
|
v.DeletedAt = time.Now()
|
||||||
|
v.LastOperator = ctx.GetUserName()
|
||||||
|
dao.UpdateEntity(db, v, "DeletoedAt", "LastOperator")
|
||||||
|
}
|
||||||
|
if utils.MustInterface2Int64(valid["isAll"]) == model.NO {
|
||||||
|
for _, v := range storeIDs {
|
||||||
|
storeCoupons := &model.StoreCoupons{
|
||||||
|
StoreID: v,
|
||||||
|
CouponID: int(coupons.ID),
|
||||||
|
}
|
||||||
|
dao.WrapAddIDCULEntity(storeCoupons, ctx.GetUserName())
|
||||||
|
dao.CreateEntity(db, storeCoupons)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dao.Commit(db)
|
||||||
|
}
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -333,6 +333,7 @@ func (c *JxOrderController) AddCoupons() {
|
|||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param payload formData string true "优惠券类型 payload"
|
// @Param payload formData string true "优惠券类型 payload"
|
||||||
// @Param storeIDs formData string false "门店IDs"
|
// @Param storeIDs formData string false "门店IDs"
|
||||||
|
// @Param isDel formData bool false "是否是删除"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 200 {object} controllers.CallResult
|
// @Failure 200 {object} controllers.CallResult
|
||||||
// @router /UpdateCoupons [post]
|
// @router /UpdateCoupons [post]
|
||||||
@@ -342,7 +343,7 @@ func (c *JxOrderController) UpdateCoupons() {
|
|||||||
var storeIDs []int
|
var storeIDs []int
|
||||||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
|
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
|
||||||
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil {
|
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil {
|
||||||
err = localjx.UpdateCoupons(params.Ctx, payload, storeIDs)
|
err = localjx.UpdateCoupons(params.Ctx, payload, storeIDs, params.IsDel)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
|
|||||||
@@ -664,6 +664,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "AddCoupons",
|
||||||
|
Router: `/AddCoupons`,
|
||||||
|
AllowHTTPMethods: []string{"post"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "AutoPayForPopluarMan",
|
Method: "AutoPayForPopluarMan",
|
||||||
@@ -826,6 +835,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "UpdateCoupons",
|
||||||
|
Router: `/UpdateCoupons`,
|
||||||
|
AllowHTTPMethods: []string{"post"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxShopController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxShopController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxShopController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxShopController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "JxMsg",
|
Method: "JxMsg",
|
||||||
|
|||||||
Reference in New Issue
Block a user