1.营销管理-优惠券列表接口优化,优惠券金额/100;
2.增加2个定时任务,检测更新用户优惠券过期时间和优惠券活动结束时间;
This commit is contained in:
parent
6725fc0a1f
commit
1025336d2a
|
@ -239,6 +239,10 @@ func (m *ErpMarketingCouponListReq) List() (*ErpMarketingCouponListResp, error)
|
|||
return resp, err
|
||||
}
|
||||
|
||||
for i, v := range couponList {
|
||||
couponList[i].Amount = v.Amount / 100
|
||||
}
|
||||
|
||||
resp.List = couponList
|
||||
|
||||
return resp, nil
|
||||
|
@ -1047,3 +1051,39 @@ func WXGenerateScheme(req *GenerateSchemeReq) (*GenerateSchemeResp, error) {
|
|||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
// UpdateErpCouponState 每天凌晨00:45更新营销管理优惠券发放状态
|
||||
func UpdateErpCouponState() {
|
||||
now := time.Now()
|
||||
|
||||
// 更新符合条件的优惠券的状态
|
||||
err := orm.Eloquent.Table("erp_coupon").
|
||||
Where("state = ? AND start_time IS NOT NULL AND DATE_ADD(start_time, INTERVAL active_date DAY) < ?", 3, now).
|
||||
Updates(map[string]interface{}{
|
||||
"state": 4,
|
||||
"updated_at": now,
|
||||
}).Error
|
||||
|
||||
if err != nil {
|
||||
logger.Errorf("Failed to update ErpCoupon state: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
logger.Info("Successfully updated ErpCoupon state")
|
||||
}
|
||||
|
||||
// UpdateUserCoupon 每天凌晨00:30更新用户优惠券
|
||||
func UpdateUserCoupon() {
|
||||
now := time.Now()
|
||||
// 直接更新过期的优惠券状态
|
||||
err := orm.Eloquent.Table("user_coupon").Where("state = ? AND active_end < ?", 1, now).
|
||||
Updates(map[string]interface{}{
|
||||
"state": 3,
|
||||
"updated_at": now,
|
||||
}).Error
|
||||
if err != nil {
|
||||
logger.Errorf("Failed to update expired user coupons: %v", err)
|
||||
return
|
||||
}
|
||||
logger.Info("Successfully updated expired user coupons")
|
||||
}
|
||||
|
|
|
@ -195,6 +195,18 @@ func run() error {
|
|||
fmt.Println("err:", err)
|
||||
}
|
||||
|
||||
// 每天凌晨00:30更新用户优惠券
|
||||
err = s.Every(1).Day().At("00:30").Do(models.UpdateUserCoupon)
|
||||
if err != nil {
|
||||
fmt.Println("err:", err)
|
||||
}
|
||||
|
||||
// 每天凌晨00:45更新营销管理优惠券发放状态
|
||||
err = s.Every(1).Day().At("00:45").Do(models.UpdateErpCouponState)
|
||||
if err != nil {
|
||||
fmt.Println("err:", err)
|
||||
}
|
||||
|
||||
<-s.Start()
|
||||
}()
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user