yun-zuoyi
yanyujia 2 years ago
commit 9fac3a529e

@ -89,7 +89,7 @@ public class SysPojoVersionController extends CrudBaseController<SysPojoVersion>
}
}
@GetMapping("/export-user-operation")
@PostMapping("/export-user-operation")
@ApiOperation(value = "导出用户操作数据", notes = "导出用户操作数据")
BaseResultBean<SysPojoVersion> exportUserOperation(HttpServletResponse response, @RequestBody SysVersionExportModel model) {
File file =null;

@ -1,85 +1,85 @@
package cn.estsh.i3plus.core.apiservice.schedulejob;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository;
import cn.estsh.impp.framework.base.schedule.BaseImppScheduleJob;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.init.ApplicationProperties;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.RedisCacheTool;
import com.xxl.job.core.handler.annotation.XxlJob;
import io.swagger.annotations.ApiOperation;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author :
* @CreateDate : 2022-11-15 17:23
* @Modify:
**/
@DisallowConcurrentExecution
@ApiOperation("锁定长时间未登录用户job")
@Component
public class CheckLoginTimeDayJob extends BaseImppScheduleJob {
@Autowired
private SysUserRepository userRDao;
@Autowired
private EntityManager entityManager;
@Resource(name = CommonConstWords.IMPP_REDIS_CORE)
protected ImppRedis redisCore;
public CheckLoginTimeDayJob() {
super(CheckLoginTimeDayJob.class, "锁定长时间未登录用户");
}
@XxlJob("cn.estsh.i3plus.core.apiservice.schedulejob.CheckLoginTimeDayJob")
@Override
public void executeImppJob(JobExecutionContext context, ApplicationProperties applicationProperties) {
boolean unLoginLongTimeOnOff = RedisCacheTool.getSysConfigBooleanVal(CommonConstWords.CONFIG_USER_UNLOGIN_LONG_TIME_LOCK, CommonEnumUtil.TRUE_OR_FALSE.FALSE);
int unLoginDay = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_USER_LOGIN_DAY_OUT, CommonConstWords.CONFIG_USER_LOGIN_DAY_OUT_DEFAULT);
if (unLoginLongTimeOnOff && unLoginDay != 0) {
//获取unLoginDay之前的时间
// long time = (long)unLoginDay * 86400000;
// TimeTool.pareDateToString
Date dateBefore = TimeTool.getDateBefore(new Date("yyyy-MM-dd HH:mm:ss"), unLoginDay);
String unLoginDayAgo = TimeTool.pareDateToString(dateBefore);
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String unLoginDayAgo = simpleDateFormat.format(new Date(System.currentTimeMillis() - time));
String hql = " select su from SysUser as su " +
"where su.userLoginLastDateTime <=:userLoginLastDateTime " +
"and su.userPasswordOverdue = :userPasswordOverdue";
List<SysUser> sysUserList = entityManager.createQuery(hql)
.setParameter("userLoginLastDateTime", unLoginDayAgo)
.setParameter("userPasswordOverdue", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue())
.getResultList();
for (SysUser user : sysUserList) {
user.setUserStatus(CommonEnumUtil.USER_STATUS.DISABLE.getValue());
user.setLockType(CommonEnumUtil.LOCK_TYPE.NOT_LOGIN_A_LONG_TIME.getValue());
userRDao.save(user);
}
}
}
}
//package cn.estsh.i3plus.core.apiservice.schedulejob;
//
//import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
//import cn.estsh.i3plus.platform.common.tool.TimeTool;
//import cn.estsh.i3plus.platform.common.util.CommonConstWords;
//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
//import cn.estsh.i3plus.pojo.platform.bean.SysUser;
//import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository;
//import cn.estsh.impp.framework.base.schedule.BaseImppScheduleJob;
//import cn.estsh.impp.framework.boot.auth.AuthUtil;
//import cn.estsh.impp.framework.boot.init.ApplicationProperties;
//import cn.estsh.impp.framework.boot.util.ImppRedis;
//import cn.estsh.impp.framework.boot.util.RedisCacheTool;
//import com.xxl.job.core.handler.annotation.XxlJob;
//import io.swagger.annotations.ApiOperation;
//import org.quartz.DisallowConcurrentExecution;
//import org.quartz.JobExecutionContext;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//import javax.persistence.EntityManager;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.List;
//
///**
// * @Description :
// * @Reference :
// * @Author :
// * @CreateDate : 2022-11-15 17:23
// * @Modify:
// **/
//@DisallowConcurrentExecution
//@ApiOperation("锁定长时间未登录用户job")
//@Component
//public class CheckLoginTimeDayJob extends BaseImppScheduleJob {
//
// @Autowired
// private SysUserRepository userRDao;
//
// @Autowired
// private EntityManager entityManager;
//
// @Resource(name = CommonConstWords.IMPP_REDIS_CORE)
// protected ImppRedis redisCore;
//
// public CheckLoginTimeDayJob() {
// super(CheckLoginTimeDayJob.class, "锁定长时间未登录用户");
// }
//
// @XxlJob("cn.estsh.i3plus.core.apiservice.schedulejob.CheckLoginTimeDayJob")
// @Override
// public void executeImppJob(JobExecutionContext context, ApplicationProperties applicationProperties) {
// boolean unLoginLongTimeOnOff = RedisCacheTool.getSysConfigBooleanVal(CommonConstWords.CONFIG_USER_UNLOGIN_LONG_TIME_LOCK, CommonEnumUtil.TRUE_OR_FALSE.FALSE);
// int unLoginDay = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_USER_LOGIN_DAY_OUT, CommonConstWords.CONFIG_USER_LOGIN_DAY_OUT_DEFAULT);
//
// if (unLoginLongTimeOnOff && unLoginDay != 0) {
// //获取unLoginDay之前的时间
//// long time = (long)unLoginDay * 86400000;
//// TimeTool.pareDateToString
// Date dateBefore = TimeTool.getDateBefore(new Date("yyyy-MM-dd HH:mm:ss"), unLoginDay);
// String unLoginDayAgo = TimeTool.pareDateToString(dateBefore);
//// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//// String unLoginDayAgo = simpleDateFormat.format(new Date(System.currentTimeMillis() - time));
//
// String hql = " select su from SysUser as su " +
// "where su.userLoginLastDateTime <=:userLoginLastDateTime " +
// "and su.userPasswordOverdue = :userPasswordOverdue";
//
// List<SysUser> sysUserList = entityManager.createQuery(hql)
// .setParameter("userLoginLastDateTime", unLoginDayAgo)
// .setParameter("userPasswordOverdue", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue())
// .getResultList();
//
// for (SysUser user : sysUserList) {
// user.setUserStatus(CommonEnumUtil.USER_STATUS.DISABLE.getValue());
// user.setLockType(CommonEnumUtil.LOCK_TYPE.NOT_LOGIN_A_LONG_TIME.getValue());
// userRDao.save(user);
// }
//
// }
//
// }
//}

Loading…
Cancel
Save