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 = "导出用户操作数据") @ApiOperation(value = "导出用户操作数据", notes = "导出用户操作数据")
BaseResultBean<SysPojoVersion> exportUserOperation(HttpServletResponse response, @RequestBody SysVersionExportModel model) { BaseResultBean<SysPojoVersion> exportUserOperation(HttpServletResponse response, @RequestBody SysVersionExportModel model) {
File file =null; File file =null;

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

Loading…
Cancel
Save