Explorar o código

修改过期时间:例25号过期,实际是26号0点过期;

bihuisong hai 1 ano
pai
achega
df90abb49b

+ 2 - 1
authority-admin/src/main/java/com/ruoyi/web/controller/authority/ProjectAuthorityController.java

@@ -43,7 +43,8 @@ public class ProjectAuthorityController {
         log.info("secretKey:{}",secretKey);
         SysSecretProject sysSecretProject = sysSecretProjectMapper.selectBaseBySecretKey(secretKey);
         Date now = new Date();
-        Date date = dateFormat.parse(sysSecretProject.getOverdueDate().toString());
+        // 获取过期日期加一天,例25号过期,实际是26号0点过期;
+        Date date = dateFormat.parse(sysSecretProject.getOverdueDate().plusDays(1).toString());
         long seconds = (date.getTime() - now.getTime()) / 1000;
         if (!sysSecretProject.getIsSwitch()) {
             map.put("isOverdue", true);

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

@@ -49,20 +49,19 @@ public class SysSecretProjectController extends BaseController {
         List<SysSecretProjectDTO> list = sysSecretProjectService.selectSysSecretProjectList(sysSecretProjectDTO);
         // 获取当前日期
         LocalDate currentDate = LocalDate.now();
-        // 获取当前日期前七天的日期
-        LocalDate previousDate = currentDate.minusDays(7);
         for (SysSecretProjectDTO var : list) {
-            int comparisonResult = var.getOverdueDate().compareTo(currentDate);
-            if (comparisonResult > 0) {
+            // 获取过期日期加一天的前七天日期,例25号过期,实际是26号0点过期;
+            LocalDate overdueDate = var.getOverdueDate().plusDays(1);
+            LocalDate previousDate = overdueDate.minusDays(7);
+            int comparisonResult = overdueDate.compareTo(currentDate);
+            if (currentDate.isAfter(previousDate) && currentDate.isBefore(overdueDate)) {
+                var.setStatus(3L);
+            } else if (comparisonResult > 0) {
                 var.setStatus(1L);
-                sysSecretProjectMapper.updateSysSecretProject(var);
-            } else if (comparisonResult < 0) {
+            } else {
                 var.setStatus(2L);
-                sysSecretProjectMapper.updateSysSecretProject(var);
-            } else if (var.getOverdueDate().isAfter(previousDate) && var.getOverdueDate().isBefore(currentDate)) {
-                var.setStatus(3L);
-                sysSecretProjectMapper.updateSysSecretProject(var);
             }
+            sysSecretProjectMapper.updateSysSecretProject(var);
         }
         return getDataTable(list);
     }
@@ -83,15 +82,9 @@ public class SysSecretProjectController extends BaseController {
     public AjaxResult add(@RequestBody SysSecretProjectDTO sysSecretProjectDTO) {
         // 获取当前日期
         LocalDate currentDate = LocalDate.now();
-        // 获取当前日期前七天的日期
+        // 获取过期日期前七天的日期
         LocalDate previousDate = sysSecretProjectDTO.getOverdueDate().minusDays(7);
-        long milliseconds = Duration.between(LocalDateTime.now(), sysSecretProjectDTO.getOverdueDate().atStartOfDay()).toMillis();
-        JSONObject json = new JSONObject();
-        json.set("projectId", sysSecretProjectDTO.getProjectId());
-        json.set("projectName", sysSecretProjectDTO.getProjectName());
-        json.set("overdueDate", sysSecretProjectDTO.getOverdueDate());
-        String jwt = JWTExample.createJWT(json.toString(), milliseconds, sysSecretProjectDTO.getMacAddress());
-        sysSecretProjectDTO.setSecretKey(jwt);
+        getMilliseconds(sysSecretProjectDTO);
         compareToDate(sysSecretProjectDTO, currentDate, previousDate);
         return toAjax(sysSecretProjectService.insertSysSecretProject(sysSecretProjectDTO));
     }
@@ -103,16 +96,8 @@ public class SysSecretProjectController extends BaseController {
     @PutMapping
     public AjaxResult edit(@RequestBody SysSecretProjectDTO sysSecretProjectDTO) {
         if (sysSecretProjectDTO.getAuthorityType().equals("2")) {
-            sysSecretProjectDTO.setIsSwitch(true);
-            long milliseconds = Duration.between(LocalDateTime.now(), sysSecretProjectDTO.getOverdueDate().atStartOfDay()).toMillis();
-            JSONObject json = new JSONObject();
-            json.set("projectId", sysSecretProjectDTO.getProjectId());
-            json.set("projectName", sysSecretProjectDTO.getProjectName());
-            json.set("overdueDate", sysSecretProjectDTO.getOverdueDate());
-            String jwt = JWTExample.createJWT(json.toString(), milliseconds, sysSecretProjectDTO.getMacAddress());
-            sysSecretProjectDTO.setSecretKey(jwt);
+            getMilliseconds(sysSecretProjectDTO);
         }
-
         // 获取当前日期
         LocalDate currentDate = LocalDate.now();
         // 获取过期日期前七天的日期
@@ -121,6 +106,15 @@ public class SysSecretProjectController extends BaseController {
         return toAjax(sysSecretProjectService.updateSysSecretProject(sysSecretProjectDTO));
     }
 
+    private void getMilliseconds(@RequestBody SysSecretProjectDTO sysSecretProjectDTO) {
+        long milliseconds = Duration.between(LocalDateTime.now(), sysSecretProjectDTO.getOverdueDate().plusDays(1).atStartOfDay()).toMillis();
+        JSONObject json = new JSONObject();
+        json.set("projectId", sysSecretProjectDTO.getProjectId());
+        json.set("projectName", sysSecretProjectDTO.getProjectName());
+        json.set("overdueDate", sysSecretProjectDTO.getOverdueDate());
+        String jwt = JWTExample.createJWT(json.toString(), milliseconds, sysSecretProjectDTO.getMacAddress());
+        sysSecretProjectDTO.setSecretKey(jwt);
+    }
 
     private void compareToDate(@RequestBody SysSecretProjectDTO sysSecretProjectDTO, LocalDate currentDate, LocalDate previousDate) {
         int comparisonResult = sysSecretProjectDTO.getOverdueDate().compareTo(currentDate);