From 6e1ffb6e1372d01690f492d455a3361505009b8e Mon Sep 17 00:00:00 2001 From: "583641232@qq.com" <583641232@qq.com> Date: Thu, 8 Aug 2024 10:23:03 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=8E=88=E6=9D=83=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysIndexController.java | 26 ++++++++++++++----- cas-admin/src/main/resources/application.yml | 3 +++ .../common/config/ProjectConfig.java | 6 +++++ .../common/filter/ExpirationDateFilter.java | 16 ++++++++---- 4 files changed, 40 insertions(+), 11 deletions(-) diff --git a/cas-admin/src/main/java/com/inscloudtech/web/controller/system/SysIndexController.java b/cas-admin/src/main/java/com/inscloudtech/web/controller/system/SysIndexController.java index 8569c65..0f3b504 100644 --- a/cas-admin/src/main/java/com/inscloudtech/web/controller/system/SysIndexController.java +++ b/cas-admin/src/main/java/com/inscloudtech/web/controller/system/SysIndexController.java @@ -1,15 +1,15 @@ package com.inscloudtech.web.controller.system; -import cn.dev33.satoken.annotation.SaIgnore; -import cn.hutool.json.JSONObject; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.inscloudtech.common.config.ProjectConfig; +import com.inscloudtech.common.core.domain.R; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import java.util.List; +import java.util.HashMap; +import java.util.Map; /** * 首页 @@ -22,6 +22,20 @@ public class SysIndexController { /** * 系统基础配置 */ - private final ProjectConfig wuziConfig; + private final ProjectConfig projectConfig; + + /** + * 获取系统授权开始时间 + */ + @GetMapping("getAuthStartDate") + public R getAuthStartDate() { + String startDate = projectConfig.getAuthStartDate(); + DateTime dateTime = DateUtil.offsetDay(DateUtil.parse(startDate), 90); + Map map = new HashMap<>(); + map.put("startDate",startDate); + map.put("endDate",DateUtil.formatDate(dateTime)); + map.put("authUnit",projectConfig.getAuthUnit()); + return R.ok(map); + } } diff --git a/cas-admin/src/main/resources/application.yml b/cas-admin/src/main/resources/application.yml index a85c542..80fd818 100644 --- a/cas-admin/src/main/resources/application.yml +++ b/cas-admin/src/main/resources/application.yml @@ -13,6 +13,9 @@ cas: # 缓存懒加载 cacheLazy: false profile: /app/asb/uploadPath + authUnit: 云南农垦集团有限责任公司纪委 + authStartDate: 2024-08-08 + authDuration: 90 captcha: # 页面 <参数设置> 可开启关闭 验证码校验 diff --git a/cas-common/src/main/java/com/inscloudtech/common/config/ProjectConfig.java b/cas-common/src/main/java/com/inscloudtech/common/config/ProjectConfig.java index caa0568..130cd58 100644 --- a/cas-common/src/main/java/com/inscloudtech/common/config/ProjectConfig.java +++ b/cas-common/src/main/java/com/inscloudtech/common/config/ProjectConfig.java @@ -44,6 +44,12 @@ public class ProjectConfig { */ private boolean demoEnabled; + private String authStartDate; + + private String authDuration; + + private String authUnit; + public static String getProfile() { return profile; } diff --git a/cas-common/src/main/java/com/inscloudtech/common/filter/ExpirationDateFilter.java b/cas-common/src/main/java/com/inscloudtech/common/filter/ExpirationDateFilter.java index 097106e..b6d6b69 100644 --- a/cas-common/src/main/java/com/inscloudtech/common/filter/ExpirationDateFilter.java +++ b/cas-common/src/main/java/com/inscloudtech/common/filter/ExpirationDateFilter.java @@ -5,9 +5,11 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.extra.spring.SpringUtil; import cn.hutool.json.JSONUtil; +import com.inscloudtech.common.config.ProjectConfig; import com.inscloudtech.common.constant.Constants; import com.inscloudtech.common.core.domain.R; import com.inscloudtech.common.utils.spring.SpringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.servlet.*; @@ -26,20 +28,24 @@ import java.util.stream.Collectors; @Component public class ExpirationDateFilter implements Filter { + @Autowired + ProjectConfig projectConfig; + + @Override public void init(FilterConfig filterConfig) throws ServletException { } - private static DateTime START_DAY = DateUtil.parse("2024-07-01"); + @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { response.setCharacterEncoding(Constants.UTF8); response.setContentType("application/json;charset=UTF-8"); - - int compare = DateUtil.compare(new Date(), START_DAY); + DateTime startDate = DateUtil.parse(projectConfig.getAuthStartDate()); + int compare = DateUtil.compare(new Date(), startDate); if(compare < 0){ PrintWriter printWriter = response.getWriter(); @@ -47,7 +53,7 @@ public class ExpirationDateFilter implements Filter { return; } - long betweenDay = DateUtil.betweenDay(new Date(), START_DAY, true); + long betweenDay = DateUtil.betweenDay(new Date(), startDate, true); if(betweenDay > 90){ PrintWriter printWriter = response.getWriter(); printWriter.write(JSONUtil.toJsonStr(R.fail("授权超过有效期"))); @@ -60,7 +66,7 @@ public class ExpirationDateFilter implements Filter { String methodName = "checkFirstOperInfo"; List methodList = Arrays.stream(serviceClass.getMethods()).filter(method -> method.getName().equals(methodName)).collect(Collectors.toList()); Method method = methodList.get(0);// - Object[] args = new Object[]{response, START_DAY}; + Object[] args = new Object[]{response, startDate}; try { method.invoke(serviceObj, args); }catch (Exception e){