From 2f5398c70b9c9977383659e8904acbf8bfca429f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E6=95=8F?= Date: Wed, 13 Nov 2024 09:59:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-3193):=20=E9=92=89=E9=92=89=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE=E5=8A=A0=E5=AF=86?= =?UTF-8?q?Job?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/RepairThirdPartUserEncryptJob.java | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 riven-server/src/main/java/cn/axzo/riven/job/RepairThirdPartUserEncryptJob.java diff --git a/riven-server/src/main/java/cn/axzo/riven/job/RepairThirdPartUserEncryptJob.java b/riven-server/src/main/java/cn/axzo/riven/job/RepairThirdPartUserEncryptJob.java new file mode 100644 index 0000000..b56d521 --- /dev/null +++ b/riven-server/src/main/java/cn/axzo/riven/job/RepairThirdPartUserEncryptJob.java @@ -0,0 +1,67 @@ +package cn.axzo.riven.job; + +import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; +import cn.axzo.riven.repository.entity.ThirdPartyUser; +import cn.axzo.riven.repository.service.ThirdPartyUserDao; +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 RepairThirdPartUserEncryptJob extends IJobHandler { + + @Autowired + private ThirdPartyUserDao thirdPartyUserDao; + + @XxlJob("repairThirdPartyUserEncryptJob") + @Override + public ReturnT execute(String s) throws Exception { + + XxlJobLogger.log("repairThirdPartyUserEncryptJob 开始, param = " + s); + Param param = StringUtils.isNotEmpty(s) ? JSON.parseObject(s, Param.class) : new Param(); + + List allThirdPeople = thirdPartyUserDao.lambdaQuery() + .in(CollUtil.isNotEmpty(param.getIds()), ThirdPartyUser::getId, param.getIds()) + .in(CollUtil.isNotEmpty(param.getUserPhones()), ThirdPartyUser::getUserPhone, param.getUserPhones()) + .eq(ThirdPartyUser::getIsDelete, TableIsDeleteEnum.NORMAL.value) + .list().stream() + .map(tp -> { + ThirdPartyUser thirdPerson = new ThirdPartyUser(); + thirdPerson.setId(tp.getId()); + thirdPerson.setUserPhone(tp.getUserPhone()); + thirdPerson.setUpdateAt(tp.getUpdateAt()); + return thirdPerson; + }).collect(Collectors.toList()); + + thirdPartyUserDao.saveOrUpdateBatch(allThirdPeople); + + XxlJobLogger.log("repairThirdPartyUserEncryptJob 结束,处理条数 - " + allThirdPeople.size()); + + return ReturnT.SUCCESS; + } + + @NoArgsConstructor + @AllArgsConstructor + @Data + @Builder + public static class Param { + private Set ids; + private Set userPhones; + } +}