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 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); } }