From 4cd4e691d4f959d71bf118f7006de0fc0e2b95e4 Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期五, 30 五月 2025 13:24:12 +0800 Subject: [PATCH] 工具管理-引入mapstruct优化出库单申请新增接口中,属性复制过慢问题 --- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java | 18 ++++++++++++++++++ lxzn-module-tms/pom.xml | 32 ++++++++++++++++++++++++++++++++ lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java | 5 ++--- 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/lxzn-module-tms/pom.xml b/lxzn-module-tms/pom.xml index f029123..a1cf2fd 100644 --- a/lxzn-module-tms/pom.xml +++ b/lxzn-module-tms/pom.xml @@ -25,6 +25,38 @@ <artifactId>lxzn-module-flowable</artifactId> <version>${jeecgboot.version}</version> </dependency> + <dependency> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct</artifactId> + <version>1.5.2.Final</version> + </dependency> </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.8</source> + <target>1.8</target> + <annotationProcessorPaths> + <!-- Lombok 鏀惧墠闈� --> + <path> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>1.18.22</version> + </path> + <!-- MapStruct 鏀惧悗闈� --> + <!-- 鍚敤 MapStruct 娉ㄨВ澶勭悊鍣� --> + <path> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct-processor</artifactId> + <version>1.5.2.Final</version> + </path> + </annotationProcessorPaths> + </configuration> + </plugin> + </plugins> + </build> </project> \ No newline at end of file diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java new file mode 100644 index 0000000..96d0f66 --- /dev/null +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.tms.convert; + +import org.jeecg.modules.tms.entity.OutboundOrder; +import org.jeecg.modules.tms.entity.dto.OutboundOrderAndDetailDto; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 浣跨敤 MapStruct 鏂瑰紡杩涜灞炴�у鍒� + * 娉ㄦ剰涓嶈兘鏀惧湪 mybatis鎵弿鐨刴apper鍖呬笅闈紝鍚﹀垯浼氭姤閿� + */ +@Mapper +public interface OutboundOrderConvert { + + OutboundOrderConvert INSTANCE = Mappers.getMapper(OutboundOrderConvert.class); + + OutboundOrder convert(OutboundOrderAndDetailDto dto); +} diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java index 603c545..42815df 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -21,7 +20,6 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; -import org.jeecg.modules.flowable.apithird.business.service.impl.FlowMyBusinessServiceImpl; import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; import org.jeecg.modules.flowable.apithird.service.FlowCommonService; import org.jeecg.modules.flowable.service.IFlowDefinitionService; @@ -37,6 +35,7 @@ import org.jeecg.modules.tms.enums.OutStorehouseType; import org.jeecg.modules.tms.enums.ToolCirculationStatus; import org.jeecg.modules.tms.mapper.OutboundDetailMapper; +import org.jeecg.modules.tms.convert.OutboundOrderConvert; import org.jeecg.modules.tms.mapper.OutboundOrderMapper; import org.jeecg.modules.tms.service.*; import org.springframework.stereotype.Service; @@ -104,7 +103,7 @@ @Override @Transactional(rollbackFor = Exception.class) public void addTotal(OutboundOrderAndDetailDto outboundOrder) { - OutboundOrder order = BeanUtil.copyProperties(outboundOrder, OutboundOrder.class); + OutboundOrder order = OutboundOrderConvert.INSTANCE.convert(outboundOrder); order.setHandler(Objects.requireNonNull(getCurrentUser()).getId()); order.setOutNum(businessCodeRuleService.generateBusinessCodeSeq("outBoundOrder")); order.setOrderStatus(OutBillStatus.DRAFT.getValue()); -- Gitblit v1.9.3