定时任务 问题
This commit is contained in:
@@ -11,6 +11,7 @@ import com.czg.market.service.ShopCouponService;
|
|||||||
import com.czg.product.service.ShopSyncService;
|
import com.czg.product.service.ShopSyncService;
|
||||||
import com.czg.resp.CzgResult;
|
import com.czg.resp.CzgResult;
|
||||||
import com.czg.sa.StpKit;
|
import com.czg.sa.StpKit;
|
||||||
|
import com.czg.task.CouponTask;
|
||||||
import com.czg.utils.AssertUtil;
|
import com.czg.utils.AssertUtil;
|
||||||
import com.czg.validator.group.DefaultGroup;
|
import com.czg.validator.group.DefaultGroup;
|
||||||
import com.czg.validator.group.InsertGroup;
|
import com.czg.validator.group.InsertGroup;
|
||||||
@@ -42,6 +43,8 @@ public class ACouponController {
|
|||||||
private MkShopCouponRecordService couponRecordService;
|
private MkShopCouponRecordService couponRecordService;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private ShopSyncService shopSyncService;
|
private ShopSyncService shopSyncService;
|
||||||
|
@Resource
|
||||||
|
private CouponTask couponTask;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页
|
* 分页
|
||||||
@@ -137,7 +140,6 @@ public class ACouponController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 优惠券列表/已领取详情
|
* 优惠券列表/已领取详情
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
@GetMapping("/record")
|
@GetMapping("/record")
|
||||||
public CzgResult<Page<MkShopCouponRecordDTO>> getRecordByCoupon(
|
public CzgResult<Page<MkShopCouponRecordDTO>> getRecordByCoupon(
|
||||||
@@ -202,4 +204,11 @@ public class ACouponController {
|
|||||||
public CzgResult<List<UserCouponVo>> findCoupon(@RequestParam Long shopUserId, @RequestParam(required = false) Integer type, @RequestParam(required = false) Integer isFood) {
|
public CzgResult<List<UserCouponVo>> findCoupon(@RequestParam Long shopUserId, @RequestParam(required = false) Integer type, @RequestParam(required = false) Integer isFood) {
|
||||||
return CzgResult.success(shopCouponService.findCoupon(StpKit.USER.getShopId(), shopUserId, type, isFood));
|
return CzgResult.success(shopCouponService.findCoupon(StpKit.USER.getShopId(), shopUserId, type, isFood));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/testTask")
|
||||||
|
public CzgResult<Void> getCouponGiftPage() {
|
||||||
|
couponTask.deliver();
|
||||||
|
return CzgResult.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,24 +33,28 @@ public class CouponTask {
|
|||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 30 * * * ? ")
|
@Scheduled(cron = "0 30 * * * ? ")
|
||||||
public void deliver() {
|
public void deliver() {
|
||||||
LocalDateTime now = LocalDateTime.now();
|
try {
|
||||||
mkShopCouponRecordService.update(MkShopCouponRecord.builder().status(2).build(), new QueryWrapper()
|
LocalDateTime now = LocalDateTime.now();
|
||||||
.eq(MkShopCouponRecord::getStatus, 0)
|
mkShopCouponRecordService.update(new MkShopCouponRecord().setStatus(2), new QueryWrapper()
|
||||||
.le(MkShopCouponRecord::getUseEndTime, now)
|
.eq(MkShopCouponRecord::getStatus, 0)
|
||||||
);
|
.le(MkShopCouponRecord::getUseEndTime, now)
|
||||||
// 计算当前时间加一小时
|
);
|
||||||
LocalDateTime oneHourLater = now.plusHours(1);
|
// 计算当前时间加一小时
|
||||||
List<MkShopCouponRecord> list = mkShopCouponRecordService.list(new QueryWrapper()
|
LocalDateTime oneHourLater = now.plusHours(1);
|
||||||
.eq(MkShopCouponRecord::getStatus, 0)
|
List<MkShopCouponRecord> list = mkShopCouponRecordService.list(new QueryWrapper()
|
||||||
.le(MkShopCouponRecord::getUseEndTime, oneHourLater)
|
.eq(MkShopCouponRecord::getStatus, 0)
|
||||||
);
|
.le(MkShopCouponRecord::getUseEndTime, oneHourLater)
|
||||||
for (MkShopCouponRecord mkShopCouponRecord : list) {
|
);
|
||||||
LocalDateTime endTime = mkShopCouponRecord.getUseEndTime();
|
for (MkShopCouponRecord mkShopCouponRecord : list) {
|
||||||
if (endTime != null) {
|
LocalDateTime endTime = mkShopCouponRecord.getUseEndTime();
|
||||||
Duration duration = Duration.between(now, endTime);
|
if (endTime != null) {
|
||||||
long seconds = duration.getSeconds() % 60;
|
Duration duration = Duration.between(now, endTime);
|
||||||
redisService.set(RedisCst.classKeyExpired.EXPIRED_COUPON + mkShopCouponRecord.getId(), mkShopCouponRecord.getId(), seconds);
|
long seconds = duration.getSeconds() % 60;
|
||||||
|
redisService.set(RedisCst.classKeyExpired.EXPIRED_COUPON + mkShopCouponRecord.getId(), mkShopCouponRecord.getId(), seconds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("优惠券 过期 任务 异常", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user