diff --git a/riven-third/src/main/java/cn/axzo/riven/third/entity/ThirdPerson.java b/riven-third/src/main/java/cn/axzo/riven/third/entity/ThirdPerson.java index e6ddf4e..6184a9c 100644 --- a/riven-third/src/main/java/cn/axzo/riven/third/entity/ThirdPerson.java +++ b/riven-third/src/main/java/cn/axzo/riven/third/entity/ThirdPerson.java @@ -1,6 +1,7 @@ package cn.axzo.riven.third.entity; import cn.axzo.framework.data.mybatisplus.model.BaseEntity; +import cn.axzo.trade.datasecurity.core.annotation.CryptField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Getter; import lombok.Setter; @@ -28,6 +29,7 @@ public class ThirdPerson extends BaseEntity { /** * 三方人员手机号 */ + @CryptField private String thirdPersonPhone; /** diff --git a/riven-third/src/main/java/cn/axzo/riven/third/job/RepairThirdPersonEncryptJob.java b/riven-third/src/main/java/cn/axzo/riven/third/job/RepairThirdPersonEncryptJob.java new file mode 100644 index 0000000..99d84c4 --- /dev/null +++ b/riven-third/src/main/java/cn/axzo/riven/third/job/RepairThirdPersonEncryptJob.java @@ -0,0 +1,65 @@ +package cn.axzo.riven.third.job; + +import cn.axzo.riven.third.dao.ThirdPersonDao; +import cn.axzo.riven.third.entity.ThirdPerson; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSON; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.IJobHandler; +import com.xxl.job.core.handler.annotation.XxlJob; +import com.xxl.job.core.log.XxlJobLogger; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +@Slf4j +@Component +public class RepairThirdPersonEncryptJob extends IJobHandler { + + @Autowired + private ThirdPersonDao thirdPersonDao; + + @XxlJob("repairThirdPersonEncryptJob") + @Override + public ReturnT execute(String s) throws Exception { + + XxlJobLogger.log("repairThirdPersonEncryptJob 开始, param = " + s); + Param param = StringUtils.isNotEmpty(s) ? JSON.parseObject(s, Param.class) : new Param(); + + List allThirdPeople = thirdPersonDao.lambdaQuery() + .in(CollUtil.isNotEmpty(param.getIds()), ThirdPerson::getId, param.getIds()) + .in(CollUtil.isNotEmpty(param.getThirdPersonPhones()), ThirdPerson::getThirdPersonPhone, param.getThirdPersonPhones()) + .list().stream() + .map(tp -> { + ThirdPerson thirdPerson = new ThirdPerson(); + thirdPerson.setId(tp.getId()); + thirdPerson.setThirdPersonPhone(tp.getThirdPersonPhone()); + thirdPerson.setUpdateAt(tp.getUpdateAt()); + return thirdPerson; + }).collect(Collectors.toList()); + + thirdPersonDao.saveOrUpdateBatch(allThirdPeople); + + XxlJobLogger.log("repairThirdPersonEncryptJob 结束,处理条数 - " + allThirdPeople.size()); + + return ReturnT.SUCCESS; + } + + @NoArgsConstructor + @AllArgsConstructor + @Data + @Builder + public static class Param { + private Set ids; + private Set thirdPersonPhones; + } +}