From 2bf1462388b7eb5b0f79830c7f04f01a88511188 Mon Sep 17 00:00:00 2001 From: zhangran Date: Fri, 21 Mar 2025 14:29:39 +0800 Subject: [PATCH] =?UTF-8?q?add(feature/REQ-3714)=20=E4=BC=98=E5=8C=96updat?= =?UTF-8?q?e,=E5=87=8F=E5=B0=91=E5=8E=86=E5=8F=B2=E5=B7=A5=E7=A7=8D?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../infra/config/MybatisPlusConfig.java | 31 ++++++++++++++++++- ...orkerProfessionSkillTagRepositoryImpl.java | 15 +++------ .../WorkerProfessionTagRepositoryImpl.java | 20 +++++------- .../impl/DeletePlatTeamWorkerProcessor.java | 2 +- ...WorkerProfessionFoundationServiceImpl.java | 2 +- ...OrgWorkerHistoryFoundationServiceImpl.java | 3 -- 6 files changed, 43 insertions(+), 30 deletions(-) diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/config/MybatisPlusConfig.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/config/MybatisPlusConfig.java index ee286b5..ad68f85 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/config/MybatisPlusConfig.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/config/MybatisPlusConfig.java @@ -3,17 +3,21 @@ package cn.axzo.orgmanax.infra.config; import cn.axzo.foundation.dao.support.mysql.plugins.LimitInterceptor; import cn.axzo.foundation.enums.AppEnvEnum; import cn.axzo.foundation.web.support.AppRuntime; -import cn.axzo.foundation.web.support.conditional.LocalCondition; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.logging.stdout.StdOutImpl; +import org.apache.ibatis.reflection.MetaObject; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Primary; import org.springframework.transaction.annotation.EnableTransactionManagement; +import java.util.Date; + @Slf4j @EnableTransactionManagement @MapperScan("cn.axzo.orgmanax.**.mapper") @@ -50,4 +54,29 @@ public class MybatisPlusConfig { } }; } + + @Bean + @Primary + public EntityMetaObjectHandler entityMetaObjectHandler() { + return new EntityMetaObjectHandler(); + } + + public static class EntityMetaObjectHandler implements MetaObjectHandler { + + public EntityMetaObjectHandler() { + } + + @Override + public void insertFill(MetaObject metaObject) { + this.fillStrategy(metaObject, "createAt", new Date()); + this.fillStrategy(metaObject, "updateAt", new Date()); + + } + + @Override + public void updateFill(MetaObject metaObject) { + this.setFieldValByName("updateAt", new Date(), metaObject); + } + + } } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionSkillTagRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionSkillTagRepositoryImpl.java index 955fcbc..4db198b 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionSkillTagRepositoryImpl.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionSkillTagRepositoryImpl.java @@ -59,16 +59,9 @@ public class WorkerProfessionSkillTagRepositoryImpl implements WorkerProfessionS if (CollUtil.isEmpty(ids)) { return; } - - List skillTags = workerProfessionSkillTagDao.listByIds(ids); - if (CollUtil.isEmpty(skillTags)) { - return ; - } - Date date = new Date(); - skillTags.forEach(skillTag -> { - skillTag.setIsDelete(skillTag.getId()); - skillTag.setUpdateAt(date); - }); - workerProfessionSkillTagDao.updateBatchById(skillTags); + workerProfessionSkillTagDao.lambdaUpdate() + .in(WorkerProfessionSkillTag::getId, ids) + .setSql(" is_delete = id") + .update(); } } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionTagRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionTagRepositoryImpl.java index 56cba0c..916b9aa 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionTagRepositoryImpl.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionTagRepositoryImpl.java @@ -49,25 +49,19 @@ public class WorkerProfessionTagRepositoryImpl implements WorkerProfessionTagRep } @Override - public void removeByIds(List ids){ + public void removeByIds(List ids) { workerProfessionTagDao.removeByIds(ids); } @Override - public void deleteByIds(List ids){ + public void deleteByIds(List ids) { if (CollUtil.isEmpty(ids)) { - return ; - } - List workerProfessionTags = workerProfessionTagDao.listByIds(ids); - if (CollUtil.isEmpty(workerProfessionTags)) { - return ; + return; } - Date date = new Date(); - workerProfessionTags.forEach(workerProfessionTag -> { - workerProfessionTag.setIsDelete(workerProfessionTag.getId()); - workerProfessionTag.setUpdateAt(date); - }); - workerProfessionTagDao.updateBatchById(workerProfessionTags); + workerProfessionTagDao.lambdaUpdate() + .in(WorkerProfessionTag::getId, ids) + .setSql(" is_delete = id") + .update(); } } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/nodeuser/service/processor/impl/DeletePlatTeamWorkerProcessor.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/nodeuser/service/processor/impl/DeletePlatTeamWorkerProcessor.java index 17b1389..ef9cc36 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/nodeuser/service/processor/impl/DeletePlatTeamWorkerProcessor.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/nodeuser/service/processor/impl/DeletePlatTeamWorkerProcessor.java @@ -162,7 +162,7 @@ public class DeletePlatTeamWorkerProcessor implements NodeUserProcessor { // 删除平台工人工种和技能标签 DeleteWorkerProfession workerProfession = DeleteWorkerProfession.builder() .scene(TeamSceneEnum.PLAT_TEAM.name()) - .personIds(param.getPersonIds()) + .personIds(Sets.newHashSet(deleteTeamWorkerPersonIds)) .isResign(Boolean.TRUE) .orgNodeId(nodeId) .build(); diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgProjectWorkerProfessionFoundationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgProjectWorkerProfessionFoundationServiceImpl.java index 40ee78c..00af5de 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgProjectWorkerProfessionFoundationServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgProjectWorkerProfessionFoundationServiceImpl.java @@ -60,7 +60,7 @@ public class OrgProjectWorkerProfessionFoundationServiceImpl implements OrgProje return; } // 记录工人当前的工种&技能标签历史 - historyFoundationService.recordHistory(req); +// historyFoundationService.recordHistory(req); // 删除技能标签 absoluteRemoveSkillTags(req); // 删除工种 diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgWorkerHistoryFoundationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgWorkerHistoryFoundationServiceImpl.java index 1c35f13..ab4cfb8 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgWorkerHistoryFoundationServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgWorkerHistoryFoundationServiceImpl.java @@ -111,15 +111,12 @@ public class OrgWorkerHistoryFoundationServiceImpl implements OrgWorkerHistoryFo .jsonStrData(professionSkillTags) .build()); } - Date date = new Date(); return WorkerProfessionHistory.builder() .personId(first.getPersonId()) .orgNodeId(first.getOrgNodeId()) .workspaceId(first.getWorkspaceId()) .bizData(first.getBizData()) .jsonContent(JSON.toJSONString(historyDataList)) - .createAt(date) - .updateAt(date) .build(); } }