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