package com.ots.project.monitor.job.task;
|
|
import com.ots.common.utils.bean.BeanUtils;
|
import com.ots.project.exam.domain.EntTestMember;
|
import com.ots.project.exam.domain.EntTestMemberBackstage;
|
import com.ots.project.exam.service.IEntTestMemberBackstageService;
|
import com.ots.project.exam.service.IEntTestMemberService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.util.*;
|
|
/**
|
* 系统自动删除12个月以上的测试人员名称、邮箱、所在企业名称
|
* 每天执行一次
|
*/
|
@Component("deleteSensitiveInformationTesk")
|
@Slf4j
|
public class DeleteSensitiveInformationTesk {
|
private final static String EMPTY_STR = "NA";
|
@Autowired
|
IEntTestMemberService entTestMemberService;
|
|
@Autowired
|
IEntTestMemberBackstageService entTestMemberBackstageService;
|
|
public void deleteSensitiveInformationTesk() {
|
//到期12个月清空ent_test_member,姓名,邮件,号码。
|
Map map = testMemberParams();
|
List<EntTestMember> entTestMembers = entTestMemberService.selectEntTestMemberList(map);
|
|
entTestMembers.stream().forEach(p -> {
|
Long memberId = p.getMemberId();
|
try {
|
EntTestMemberBackstage stage = new EntTestMemberBackstage();
|
//更新数据前先把数据入库到备份表
|
BeanUtils.copyBeanProp(stage, p);
|
entTestMemberBackstageService.insertEntTestMemberBackstage(stage);
|
p.setMemberName(EMPTY_STR);
|
p.setMemberPhone(EMPTY_STR);
|
p.setMemberEmail(EMPTY_STR);
|
p.setMemberDept(EMPTY_STR);
|
entTestMemberService.updateEntTestMember(p);
|
} catch (Exception ex) {
|
log.error("脱敏失败 memberId={} Backstage error:{}", memberId, ex.getMessage(), ex);
|
}
|
});
|
}
|
|
private Map testMemberParams() {
|
Map paramMap = new HashMap();
|
Calendar ca = Calendar.getInstance();//得到一个Calendar的实例
|
ca.setTime(new Date()); //设置时间为当前时间
|
ca.add(Calendar.YEAR, -1); //年份减1
|
paramMap.put("deleteSensitiveTime", ca.getTime());
|
paramMap.put("desensitization", "desensitization");
|
return paramMap;
|
}
|
|
public static void main(String[] args) {
|
DeleteSensitiveInformationTesk tesk = new DeleteSensitiveInformationTesk();
|
Map map = tesk.testMemberParams();
|
System.out.println(map);
|
}
|
}
|