7 changed files with 184 additions and 13 deletions
-
54cas-admin/src/main/java/com/inscloudtech/web/controller/index/LeaderTaskController.java
-
2cas-common/src/main/java/com/inscloudtech/common/core/domain/entity/SysUser.java
-
78cas-common/src/main/java/com/inscloudtech/common/filter/ExpirationDateFilter.java
-
9cas-system/src/main/java/com/inscloudtech/system/domain/SysOperLog.java
-
6cas-system/src/main/java/com/inscloudtech/system/service/ISysOperLogService.java
-
43cas-system/src/main/java/com/inscloudtech/system/service/impl/SysOperLogServiceImpl.java
-
5cas-system/src/main/resources/mapper/system/SysUserMapper.xml
@ -0,0 +1,78 @@ |
|||
package com.inscloudtech.common.filter; |
|||
|
|||
import cn.hutool.core.date.DateTime; |
|||
import cn.hutool.core.date.DateUtil; |
|||
|
|||
import cn.hutool.extra.spring.SpringUtil; |
|||
import cn.hutool.json.JSONUtil; |
|||
import com.inscloudtech.common.constant.Constants; |
|||
import com.inscloudtech.common.core.domain.R; |
|||
import com.inscloudtech.common.utils.spring.SpringUtils; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import javax.servlet.*; |
|||
import java.io.IOException; |
|||
import java.io.PrintWriter; |
|||
import java.lang.reflect.Method; |
|||
import java.util.Arrays; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* 程序有效期 过滤器 |
|||
* @author zyl |
|||
*/ |
|||
@Component |
|||
public class ExpirationDateFilter implements Filter { |
|||
|
|||
@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); |
|||
|
|||
if(compare < 0){ |
|||
PrintWriter printWriter = response.getWriter(); |
|||
printWriter.write(JSONUtil.toJsonStr(R.fail("非法修改系统时间"))); |
|||
return; |
|||
} |
|||
|
|||
long betweenDay = DateUtil.betweenDay(new Date(), START_DAY, true); |
|||
if(betweenDay > 90){ |
|||
PrintWriter printWriter = response.getWriter(); |
|||
printWriter.write(JSONUtil.toJsonStr(R.fail("授权超过有效期"))); |
|||
return; |
|||
} |
|||
|
|||
Object sysOperLogService = SpringUtil.getBean("sysOperLogServiceImpl"); |
|||
Class<?> serviceClass = sysOperLogService.getClass(); |
|||
Object serviceObj = SpringUtils.getBean(serviceClass); |
|||
String methodName = "checkFirstOperInfo"; |
|||
List<Method> 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}; |
|||
try { |
|||
method.invoke(serviceObj, args); |
|||
}catch (Exception e){ |
|||
e.printStackTrace(); |
|||
} |
|||
|
|||
// 放行 |
|||
chain.doFilter(request, response); |
|||
} |
|||
|
|||
@Override |
|||
public void destroy() { |
|||
|
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue