diff --git a/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogErrorMapperImpl.java b/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogErrorMapperImpl.java index a1ad2c8..cb50c24 100644 --- a/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogErrorMapperImpl.java +++ b/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogErrorMapperImpl.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Component; @Generated( value = "org.mapstruct.ap.MappingProcessor", - date = "2024-05-07T17:40:17+0800", + date = "2024-05-09T15:58:44+0800", comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_202 (Oracle Corporation)" ) @Component diff --git a/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogSmallMapperImpl.java b/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogSmallMapperImpl.java index 0cfe01d..5bd2c8f 100644 --- a/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogSmallMapperImpl.java +++ b/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogSmallMapperImpl.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Component; @Generated( value = "org.mapstruct.ap.MappingProcessor", - date = "2024-05-07T17:40:17+0800", + date = "2024-05-09T15:58:44+0800", comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_202 (Oracle Corporation)" ) @Component diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java index f2d247b..848e492 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java @@ -363,6 +363,7 @@ public class AgvTaskServiceImpl implements AgvTaskService { } @Override + @Transactional(rollbackFor = Exception.class) public void agvTaskCallback(AgvTask agvTask, Task task, String status) { if (status.equals("COMPLETED")) { @@ -404,6 +405,7 @@ public class AgvTaskServiceImpl implements AgvTaskService { } @Override + @Transactional(rollbackFor = Exception.class) public void agvTaskCallback(AgvTask agvTask, String status, String containerCode) { if (status.equals("PICKER_RECEIVE")) { diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MlsServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MlsServiceImpl.java index f2b98e7..50a732c 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MlsServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MlsServiceImpl.java @@ -14,7 +14,6 @@ import com.youchain.businessdata.inputJson.*; import com.youchain.businessdata.service.*; import com.youchain.modules.system.domain.Dept; import com.youchain.modules.system.service.DeptService; -import com.youchain.modules.system.service.dto.DeptDto; import com.youchain.utils.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -22,6 +21,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; @Service @@ -93,6 +93,7 @@ public class MlsServiceImpl implements MlsService { * @return */ @Override + @Transactional(rollbackFor = Exception.class) public void getOrderInfo(String resultJson) { if (StringUtils.isEmpty(resultJson)) { throw new IllegalArgumentException("获取送货单接口失败!"); @@ -235,6 +236,7 @@ public class MlsServiceImpl implements MlsService { * @return */ @Override + @Transactional(rollbackFor = Exception.class) public void getMoInfo(String resultJson) { if (StringUtils.isEmpty(resultJson)) { throw new IllegalArgumentException("MO票接口失败!"); @@ -389,6 +391,7 @@ public class MlsServiceImpl implements MlsService { } @Override + @Transactional(rollbackFor = Exception.class) public void getIssueInfo(IssueInfo issueInfo) { String taskNumber = issueInfo.getTaskNumber();//任务号 // 指定Set的类型 @@ -404,7 +407,7 @@ public class MlsServiceImpl implements MlsService { //目标点 Point endPoint = redisObjectUtils.getObjectFromCache("ckjbk", () -> pointService.findByCode(null, null, null, "出库接驳口", null), - "系统无此点位!"); + "系统无此点位!"); List inventoryToUpdate = new ArrayList<>(); @@ -460,27 +463,40 @@ public class MlsServiceImpl implements MlsService { taskToCreate.add(task); } - //批量更新库存信息 - if (!inventoryToUpdate.isEmpty()) { - batchCreateOrUpdate.batchUpdate(inventoryToUpdate); - } + CompletableFuture inventoryFuture = CompletableFuture.runAsync(() -> { + //批量更新库存信息 + if (!inventoryToUpdate.isEmpty()) { + batchCreateOrUpdate.batchUpdate(inventoryToUpdate); + } + }); - //批量生成出库明细 - if (!pickDetailToCreate.isEmpty()) { - batchCreateOrUpdate.batchCreate(pickDetailToCreate); - } - //批量生成agv任务 - if (!agvTaskToCreate.isEmpty()) { - batchCreateOrUpdate.batchCreate(agvTaskToCreate); - } + CompletableFuture pickDetailFuture = CompletableFuture.runAsync(() -> { + //批量生成叫料明细 + if (!pickDetailToCreate.isEmpty()) { + batchCreateOrUpdate.batchCreate(pickDetailToCreate); + } + }); - //批量生成task任务 - if (!taskToCreate.isEmpty()) { - batchCreateOrUpdate.batchCreate(taskToCreate); - } + CompletableFuture agvTaskFuture = CompletableFuture.runAsync(() -> { + //批量生成agv任务 + if (!agvTaskToCreate.isEmpty()) { + batchCreateOrUpdate.batchCreate(agvTaskToCreate); + } + }); + CompletableFuture taskFuture = CompletableFuture.runAsync(() -> { + //批量生成任务 + if (!taskToCreate.isEmpty()) { + batchCreateOrUpdate.batchCreate(taskToCreate); + } + }); + inventoryFuture.join(); + pickDetailFuture.join(); + agvTaskFuture.join(); + taskFuture.join(); + } /** diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MoServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MoServiceImpl.java index 0cf6707..20a8de0 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MoServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MoServiceImpl.java @@ -65,6 +65,7 @@ public class MoServiceImpl implements MoService { private final AsnDetailService asnDetailService; private final ItemKeyService itemKeyService; private final RedisObjectUtils redisObjectUtils; + private final RedisUtils redisUtils; @Override public Map queryAll(MoQueryCriteria criteria, Pageable pageable) { @@ -168,7 +169,7 @@ public class MoServiceImpl implements MoService { // 验证容器是否存在 - Stock stock = redisObjectUtils.getObjectFromCache(stockCode, () -> stockService.findByCode(stockCode, null), stockCode + " 系统无此容器!"); + Stock stock = redisObjectUtils.getOrThrow(Optional.ofNullable(stockService.findByCode(stockCode, null)), stockCode + " 系统无此容器!"); // 验证容器状态 diff --git a/youchain-system/src/main/resources/config/application-dev.yml b/youchain-system/src/main/resources/config/application-dev.yml index 8013a7a..c9d38cc 100644 --- a/youchain-system/src/main/resources/config/application-dev.yml +++ b/youchain-system/src/main/resources/config/application-dev.yml @@ -98,7 +98,7 @@ generator: #是否开启 swagger-ui swagger: - enabled: false + enabled: true # IP 本地解析 ip: diff --git a/youchain-system/src/main/resources/config/application-prod.yml b/youchain-system/src/main/resources/config/application-prod.yml index 3c84274..7cb39eb 100644 --- a/youchain-system/src/main/resources/config/application-prod.yml +++ b/youchain-system/src/main/resources/config/application-prod.yml @@ -13,8 +13,10 @@ spring: min-idle: 15 # 最大连接数 max-active: 30 + # 超时时间(以秒数为单位) + remove-abandoned-timeout: 180 # 获取连接超时时间 - max-wait: 5000 + max-wait: 3000 # 连接有效性检测时间 time-between-eviction-runs-millis: 60000 # 连接在池中最小生存的时间 @@ -33,13 +35,9 @@ spring: webStatFilter: enabled: true stat-view-servlet: - allow: enabled: true - # 控制台管理用户名和密码 url-pattern: /druid/* reset-enable: false - login-username: admin - login-password: 123456 filter: stat: enabled: true @@ -71,7 +69,7 @@ login: height: 36 # 内容长度 length: 2 - # 字体名称,为空则使用默认字体,如遇到线上乱码,设置其他字体即可 + # 字体名称,为空则使用默认字体 font-name: # 字体大小 font-size: 25 @@ -83,36 +81,29 @@ jwt: token-start-with: Bearer # 必须使用最少88位的Base64对该令牌进行编码 base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI= - # 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html - token-validity-in-seconds: 7200000 + # 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html + token-validity-in-seconds: 14400000 # 在线用户key online-key: online-token- # 验证码 code-key: code-key- - # token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 + # token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 detect: 1800000 - # 续期时间范围,默认 1小时,这里单位毫秒 + # 续期时间范围,默认1小时,单位毫秒 renew: 3600000 -# IP 本地解析 -ip: - local-parsing: true - #是否允许生成代码,生产环境设置为false generator: enabled: false -#如果生产环境要开启swagger,需要配置请求地址 -#springfox: -# documentation: -# swagger: -# v2: -# host: # 接口域名或外网ip - #是否开启 swagger-ui swagger: enabled: true +# IP 本地解析 +ip: + local-parsing: true + # 文件存储路径 file: mac: diff --git a/youchain-system/src/main/resources/config/application.yml b/youchain-system/src/main/resources/config/application.yml index d1424de..7320443 100644 --- a/youchain-system/src/main/resources/config/application.yml +++ b/youchain-system/src/main/resources/config/application.yml @@ -41,13 +41,13 @@ spring: task: pool: # 核心线程池大小 - core-pool-size: 10 + core-pool-size: 20 # 最大线程数 - max-pool-size: 30 + max-pool-size: 50 # 活跃时间 - keep-alive-seconds: 60 + keep-alive-seconds: 30 # 队列容量 - queue-capacity: 50 + queue-capacity: 100 netty: # boss线程数量 boss: 4