From 5a5b01fa9824a42e3eb033088a20e24c32b30dda Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 17 八月 2024 16:17:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/task/TaskUtil.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/task/TaskUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/task/TaskUtil.java
new file mode 100644
index 0000000..0bdf907
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/task/TaskUtil.java
@@ -0,0 +1,54 @@
+package com.ruoyi.account.task;
+
+
+import com.ruoyi.account.api.model.TAppUserVipDetail;
+import com.ruoyi.account.service.TAppUserVipDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.util.List;
+
+
+/**
+ * 定时任务工具类
+ */
+@Component
+public class TaskUtil {
+
+    @Resource
+    private TAppUserVipDetailService tAppUserVipDetailService;
+
+
+
+    /**
+     * 每隔一分钟去处理的定时任务
+     */
+    @Scheduled(fixedRate = 1000 * 60)
+    public void sendVipCoupon(){
+        try {
+            //首先获取当前的月份,用int类型标识
+            LocalDate currentDate = LocalDate.now();
+            int monthNum = currentDate.getMonthValue();
+            //获取在当前时间内生效的vipDetail
+            List<TAppUserVipDetail> recentDetails = tAppUserVipDetailService.lambdaQuery()
+                    .ge(TAppUserVipDetail::getStartTime, currentDate)
+                    .le(TAppUserVipDetail::getEndTime, currentDate)
+                    .orderByDesc(TAppUserVipDetail::getStartTime).list();
+            //判断sendNum是否包括当前月份
+            for (TAppUserVipDetail recentDetail : recentDetails) {
+
+                    //赠送优惠卷
+                    tAppUserVipDetailService.giveVipCoupun(recentDetail.getAppUserId(), recentDetail.getVipId(),recentDetail.getId(),monthNum);
+
+
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+}

--
Gitblit v1.7.1