bihuisong 1 рік тому
батько
коміт
a6e1524aee

+ 56 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/authority/ProjectAuthorityController.java

@@ -0,0 +1,56 @@
+package com.ruoyi.web.controller.authority;
+
+
+import cn.hutool.json.JSONObject;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.domain.SysSecretProject;
+import com.ruoyi.system.mapper.SysSecretProjectMapper;
+import com.ruoyi.web.controller.sm4.SM4Utils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/project/limits")
+public class ProjectAuthorityController {
+
+    @Autowired
+    private SysSecretProjectMapper sysSecretProjectMapper;
+
+    /**
+     * 项目授权认证
+     * @param json
+     * @return
+     * @throws ParseException
+     */
+    @PostMapping("/authority")
+    public R authority(@RequestBody JSONObject json) throws ParseException {
+        SM4Utils sm4 = new SM4Utils();
+        Map map = new HashMap<>();
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        // 验证和解析JWT
+        String secretKey = sm4.decryptData_CBC(json.get("secretKey").toString());
+//        if (JWTExample.validateJWT(secretKey)) {
+        SysSecretProject sysSecretProject = sysSecretProjectMapper.selectBaseBySecretKey(secretKey);
+        Date now = new Date();
+        Date date = dateFormat.parse(sysSecretProject.getOverdueDate().toString());
+        long seconds = (date.getTime() - now.getTime()) / 1000;
+        if (seconds > 0) {
+            map.put("overdueDate", seconds);
+            map.put("isOverdue", true);
+        } else {
+            map.put("isOverdue", false);
+        }
+//        }
+        return R.ok(map);
+    }
+
+}

+ 1 - 21
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysSecretProjectController.java

@@ -47,8 +47,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
 public class SysSecretProjectController extends BaseController {
     @Autowired
     private ISysSecretProjectService sysSecretProjectService;
-    @Autowired
-    private SysSecretProjectMapper sysSecretProjectMapper;
+
 
     /**
      * 查询项目授权管理列表
@@ -112,24 +111,5 @@ public class SysSecretProjectController extends BaseController {
     }
 
 
-    @PostMapping("/authority")
-    public R authority(@RequestBody JSONObject json) throws ParseException {
-        SM4Utils sm4 = new SM4Utils();
-        Map map = new HashMap<>();
-        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
-        // 验证和解析JWT
-        String secretKey = sm4.decryptData_CBC(json.get("secretKey").toString());
-        if (JWTExample.validateJWT(secretKey)) {
-            SysSecretProject sysSecretProject = sysSecretProjectMapper.selectBaseBySecretKey(secretKey);
-            Date now = new Date();
-            Date date = dateFormat.parse(sysSecretProject.getOverdueDate().toString());
-            long seconds = (date.getTime() - now.getTime()) / 1000;
-            map.put("overdueDate", seconds);
-            map.put("isOverdue", true);
-        } else {
-            map.put("isOverdue", false);
-        }
-        return R.ok(map);
-    }
 
 }

+ 10 - 0
ruoyi-quartz/pom.xml

@@ -29,11 +29,21 @@
             </exclusions>
         </dependency>
 
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.0</version>
+        </dependency>
+
         <!-- 通用工具-->
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-common</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-system</artifactId>
+        </dependency>
 
     </dependencies>
 

+ 40 - 9
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java

@@ -1,28 +1,59 @@
 package com.ruoyi.quartz.task;
 
+import com.ruoyi.system.domain.SysSecretProject;
+import com.ruoyi.system.domain.dto.SysSecretProjectDTO;
+import com.ruoyi.system.mapper.SysSecretProjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import com.ruoyi.common.utils.StringUtils;
 
+import java.time.LocalDate;
+import java.util.List;
+
+
 /**
  * 定时任务调度测试
- * 
+ *
  * @author ruoyi
  */
+@Slf4j
 @Component("ryTask")
-public class RyTask
-{
-    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
-    {
+public class RyTask {
+
+    @Autowired
+    private SysSecretProjectMapper sysSecretProjectMapper;
+
+    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
         System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
     }
 
-    public void ryParams(String params)
-    {
+    public void ryParams(String params) {
         System.out.println("执行有参方法:" + params);
     }
 
-    public void ryNoParams()
-    {
+    public void ryNoParams() {
         System.out.println("执行无参方法");
     }
+
+    /**
+     * 项目授权管理定时任务
+     */
+    public void projectStatusChange() {
+        // 获取当前日期
+        LocalDate currentDate = LocalDate.now();
+        // 获取当前日期前七天的日期
+        LocalDate previousDate = currentDate.minusDays(7);
+        List<SysSecretProjectDTO> list = sysSecretProjectMapper.getAllList();
+        for (SysSecretProjectDTO var : list) {
+            int comparisonResult = var.getOverdueDate().compareTo(currentDate);
+            if (comparisonResult < 0) {
+                var.setStatus(2L);
+                sysSecretProjectMapper.updateSysSecretProject(var);
+            } else if (var.getOverdueDate().isAfter(previousDate) && var.getOverdueDate().isBefore(currentDate)) {
+                var.setStatus(3L);
+                sysSecretProjectMapper.updateSysSecretProject(var);
+            }
+        }
+    }
 }

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysSecretProjectMapper.java

@@ -64,4 +64,6 @@ public interface SysSecretProjectMapper {
     public int selectCountByProjectId(Long[] ids);
 
     SysSecretProject selectBaseBySecretKey(@Param("secretKey") String secretKey);
+
+    List<SysSecretProjectDTO> getAllList();
 }

+ 4 - 0
ruoyi-system/src/main/resources/mapper/system/SysSecretProjectMapper.xml

@@ -114,4 +114,8 @@
         <include refid="selectSysSecretProjectVo"/>
         where secret_key = #{secretKey}
     </select>
+
+    <select id="getAllList" resultMap="getSysSecretProjectList">
+        <include refid="selectSysSecretProjectVo"/>
+    </select>
 </mapper>