From 8fb698fce08bd985d31f34b9257deab4cb608270 Mon Sep 17 00:00:00 2001 From: "HUOJIN\\92525" <925258474@qq.com> Date: Thu, 9 May 2024 09:24:42 +0800 Subject: [PATCH] no message --- .../java/com/youchain/service/LogService.java | 4 +- .../youchain/service/impl/LogServiceImpl.java | 6 ++ .../com/youchain/service/LogService.class | Bin 1542 -> 1426 bytes .../service/impl/LogServiceImpl.class | Bin 14499 -> 14563 bytes .../service/mapstruct/LogErrorMapperImpl.java | 2 +- .../service/mapstruct/LogSmallMapperImpl.java | 2 +- .../businessdata/rest/KMReSController.java | 1 - .../service/impl/MlsServiceImpl.java | 52 +++++++----------- .../service/impl/MoServiceImpl.java | 42 ++++---------- .../youchain/utils/BatchCreateOrUpdate.java | 4 +- .../com/youchain/utils/RedisObjectUtils.java | 40 ++++++++++++++ .../main/resources/config/application-dev.yml | 4 +- .../resources/config/application-prod.yml | 6 +- .../src/main/resources/config/application.yml | 8 +-- .../EladminSystemApplicationTests.java | 18 ++++++ 15 files changed, 108 insertions(+), 81 deletions(-) create mode 100644 youchain-system/src/main/java/com/youchain/utils/RedisObjectUtils.java diff --git a/youchain-logging/src/main/java/com/youchain/service/LogService.java b/youchain-logging/src/main/java/com/youchain/service/LogService.java index d10ba84..f92915d 100644 --- a/youchain-logging/src/main/java/com/youchain/service/LogService.java +++ b/youchain-logging/src/main/java/com/youchain/service/LogService.java @@ -67,13 +67,11 @@ public interface LogService { * @param joinPoint / * @param log 日志实体 */ - @Async + void save(String url, String returnValue, String username, String browser, String ip, JoinPoint joinPoint, Log log); - @Async void saveLog(Log log); - @Async void saveLogInfo(Object object, String url, String resultJson, String description, long time); /** diff --git a/youchain-logging/src/main/java/com/youchain/service/impl/LogServiceImpl.java b/youchain-logging/src/main/java/com/youchain/service/impl/LogServiceImpl.java index d09b3cf..14f09d9 100644 --- a/youchain-logging/src/main/java/com/youchain/service/impl/LogServiceImpl.java +++ b/youchain-logging/src/main/java/com/youchain/service/impl/LogServiceImpl.java @@ -35,6 +35,8 @@ import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; @@ -80,8 +82,10 @@ public class LogServiceImpl implements LogService { return PageUtil.toPage(page.map(logSmallMapper::toDto)); } + @Override @Transactional(rollbackFor = Exception.class) + @Async public void save(String url,String returnValue,String username, String browser, String ip, JoinPoint joinPoint, Log log_data) { if (log_data == null) { throw new IllegalArgumentException("Log 不能为 null!"); @@ -115,6 +119,7 @@ public class LogServiceImpl implements LogService { @Override @Transactional(rollbackFor = Exception.class) + @Async public void saveLog(Log log_data) { if (log_data == null) { throw new IllegalArgumentException("Log 不能为 null!"); @@ -124,6 +129,7 @@ public class LogServiceImpl implements LogService { @Override @Transactional(rollbackFor = Exception.class) + @Async public void saveLogInfo(Object object,String url, String resultJson, String description, long time) { // 设置日志信息 Log log_data = new Log(); diff --git a/youchain-logging/target/classes/com/youchain/service/LogService.class b/youchain-logging/target/classes/com/youchain/service/LogService.class index 2812d398b787e03167f21a946c20d4d283ad0d8b..695f3bf0d681f044db99701003d36a71d32705f7 100644 GIT binary patch delta 185 zcmYL>$q52M6hvS5Ofw8F%)x!vabFLL8JL3UcryS6^N_iDFaTpP7O`jq4-Y=Cs{T2D z$tADP;|c88L@Xm#_hfIgn>`q_&fdY%7<1ja^b{J(R4_P|ouLF$Rcb#~cGQ&=MME@2 r%U9ZT{;RH6J^BO;R0$QO{$*?#N{mD-EMvW&F!h5O1s&?neYE%jI8P4_ delta 300 zcmbQl-Nqwu>ff$?3=9k=42J9sdh87P8wJdm{3L@)^GY&vQ^PWgGm~;s9rNm z^Ye-s84P{$i_-Or3yL!H($k6(b5qOni?a2LlQU9NN^^i>`iXGW`i{kwdCAtBU6|Y% z84Wh~Fo!WRGEIKWqFm1)3bd1rfssLsfq{jQL7YK?fr)_?D8|ajAOfUNr6n1ppwgnO z4AMYpJ|LC>Vp$-T17cL=@(c<Ojm1 Y#7qntK&NOjXn}QTgJ_^y9k7fp00JK_HUIzs diff --git a/youchain-logging/target/classes/com/youchain/service/impl/LogServiceImpl.class b/youchain-logging/target/classes/com/youchain/service/impl/LogServiceImpl.class index 2d0bd2b9feb930a79d1725797f2e383facf266fc..b7a2be4855c7a2bbbcfa20f204234a79343c4471 100644 GIT binary patch delta 3276 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 TdVL-0^#4KijpJAH4&M21cBP{I 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 3c1ebdc..a1ad2c8 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-04-28T13:35:56+0800", + date = "2024-05-07T17:40:17+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 b8aba1b..0cfe01d 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-04-28T13:35:56+0800", + date = "2024-05-07T17:40:17+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/rest/KMReSController.java b/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java index 495887a..a768e25 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java @@ -50,7 +50,6 @@ import static org.springframework.http.HttpStatus.OK; @Api(tags = "KMReS") @RequestMapping("/interfaces/api/amr") @Slf4j -@EnableAsync public class KMReSController { private final AgvTaskService agvTaskService; 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 e7afcc9..f2b98e7 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 @@ -34,7 +34,7 @@ public class MlsServiceImpl implements MlsService { private final MoService moService; private final PointService pointService; private final InventoryService inventoryService; - private final RedisUtils redisUtils; + private final RedisObjectUtils redisObjectUtils; private final BatchCreateOrUpdate batchCreateOrUpdate; @@ -99,6 +99,10 @@ public class MlsServiceImpl implements MlsService { } JSONObject resulObject = JSON.parseObject(resultJson); + if (resulObject == null) { + throw new IllegalArgumentException("获取送货单接口返回数据为空!"); + } + String code = resulObject.getString("code") == null ? "" : resulObject.getString("code"); String msg = resulObject.getString("msg") == null ? "" : resulObject.getString("msg"); //判断接口是否成功 @@ -106,11 +110,12 @@ public class MlsServiceImpl implements MlsService { throw new IllegalArgumentException("获取送货单接口异常信息:" + msg); } - String data = resulObject.getString("data") == null ? "" : resulObject.getString("data"); - if (StringUtils.isEmpty(data)) { + JSONObject dataObject = resulObject.getJSONObject("data"); + if (dataObject == null) { throw new IllegalArgumentException("获取送货单接口返回数据为空!"); } - JSONObject dataObject = JSON.parseObject(data); + + JSONArray details = dataObject.getJSONArray("list"); //判断是否有送货单数据 if (details == null || details.isEmpty()) { @@ -236,6 +241,9 @@ public class MlsServiceImpl implements MlsService { } JSONObject resulObject = JSON.parseObject(resultJson); + if (resulObject == null) { + throw new IllegalArgumentException("MO票接口返回数据为空!"); + } String code = resulObject.getString("code") == null ? "" : resulObject.getString("code"); String msg = resulObject.getString("msg") == null ? "" : resulObject.getString("msg"); @@ -243,12 +251,11 @@ public class MlsServiceImpl implements MlsService { throw new IllegalArgumentException("MO票接口异常: " + msg); } - String data = resulObject.getString("data") == null ? "" : resulObject.getString("data"); - if (StringUtils.isEmpty(data)) { - throw new IllegalArgumentException("获取MO票接口返回数据为空!"); + JSONObject dataObject = resulObject.getJSONObject("data"); + if (dataObject == null) { + throw new IllegalArgumentException("MO票接口返回数据为空!"); } - JSONObject dataObject = JSON.parseObject(data); JSONArray details = dataObject.getJSONArray("list"); //判断是否有MO票数据 if (details == null || details.isEmpty()) { @@ -273,7 +280,7 @@ public class MlsServiceImpl implements MlsService { Map existingMos = moService.findBylabelNos(labelNos); //获取仓库 - Dept dept = getDeptFromCache(); + Dept dept = redisObjectUtils.getObjectFromCache("dept", () -> deptService.toEntity(deptService.findById(7L)), "系统无此仓库!"); //循环处理每个MO票 for (int i = 0; i < details.size(); i++) { @@ -313,22 +320,6 @@ public class MlsServiceImpl implements MlsService { } } - private Dept getDeptFromCache() { - // 从缓存中获取部门信息 - Dept dept = (Dept) redisUtils.get("dept"); - if (dept == null) { - try { - // 缓存中不存在,从数据库中获取 - DeptDto deptDto = deptService.findById(7L); - dept = deptService.toEntity(deptDto); - redisUtils.set("dept", dept); // 存储到缓存,可考虑设置适当的过期时间或不设 - } catch (Exception e) { - e.printStackTrace(); - } - } - return dept; - } - /** * 创建订单 * @@ -412,14 +403,9 @@ public class MlsServiceImpl implements MlsService { } //目标点 - Point endPoint = null; - boolean flag = redisUtils.hasKey("ckjbk"); - if (flag) { - endPoint = (Point) redisUtils.get("ckjbk"); - } else { - endPoint = pointService.findByCode(null, null, null, "出库接驳口", null); - redisUtils.set("ckjbk", endPoint); - } + Point endPoint = redisObjectUtils.getObjectFromCache("ckjbk", () -> pointService.findByCode(null, null, null, "出库接驳口", null), + "系统无此点位!"); + List inventoryToUpdate = new ArrayList<>(); List pickDetailToCreate = new ArrayList<>(); 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 9d41383..0cf6707 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 @@ -64,7 +64,7 @@ public class MoServiceImpl implements MoService { private final TaskService taskService; private final AsnDetailService asnDetailService; private final ItemKeyService itemKeyService; - private final RedisUtils redisUtils; + private final RedisObjectUtils redisObjectUtils; @Override public Map queryAll(MoQueryCriteria criteria, Pageable pageable) { @@ -164,41 +164,23 @@ public class MoServiceImpl implements MoService { String labelNo = arr[2];//标签号 // 验证物料是否存在 - Item item = null; - boolean flagItem = redisUtils.hasKey(itemCode); - if (flagItem) { - item = (Item) redisUtils.get(itemCode); - } else { - item = getOrThrow(Optional.ofNullable(itemService.existItem(itemCode)), itemCode + " 系统无此物料!"); - redisUtils.set(itemCode,item); - } + Item item = redisObjectUtils.getObjectFromCache(itemCode, () -> itemService.existItem(itemCode), itemCode + " 系统无此物料!"); + // 验证容器是否存在 - Stock stock=null; - boolean flagStock = redisUtils.hasKey(stockCode); - if (flagStock) { - stock = (Stock) redisUtils.get(stockCode); - } else { - stock = getOrThrow(Optional.ofNullable(stockService.findByCode(stockCode, null)), stockCode + " 系统无此容器!"); - redisUtils.set(stockCode,stock); - } + Stock stock = redisObjectUtils.getObjectFromCache(stockCode, () -> stockService.findByCode(stockCode, null), stockCode + " 系统无此容器!"); + // 验证容器状态 validateStockStatus(stock); //验证入库接驳口是否存在 - Point srcPoint = null; - boolean flagSrcPoint = redisUtils.hasKey("rkjbk"); - if (flagSrcPoint) { - srcPoint = (Point) redisUtils.get("rkjbk"); - } else { - srcPoint = getOrThrow(Optional.ofNullable(pointService.findByCode(null, null, null, "入库接驳口", null)), "系统无入库接驳口!"); - redisUtils.set("rkjbk", srcPoint, 0); - } + Point srcPoint = redisObjectUtils.getObjectFromCache("rkjbk", () -> pointService.findByCode(null, null, null, "入库接驳口", null), "系统无入库接驳口!"); - Point endPoint = getOrThrow(Optional.ofNullable(pointService.findByCode(null, BaseStatus.FREE, BaseStatus.STORAGE, "存储区", null)), "存储区没有空闲点位!"); - MoDto moDto = getOrThrow(Optional.ofNullable(findByLabelNo(labelNo)), labelNo + " 系统无此标签!"); + Point endPoint = redisObjectUtils.getOrThrow(Optional.ofNullable(pointService.findByCode(null, BaseStatus.FREE, BaseStatus.STORAGE, "存储区", null)), "存储区没有空闲点位!"); + + MoDto moDto = redisObjectUtils.getOrThrow(Optional.ofNullable(findByLabelNo(labelNo)), labelNo + " 系统无此标签!"); // 验证标签状态 validateLabelState(moDto); @@ -207,7 +189,7 @@ public class MoServiceImpl implements MoService { validateTask(moDto); // 验证送货单是否存在 - OrderDto orderDto = getOrThrow(Optional.ofNullable(orderService.findByDeliveryHeaderId(moDto.getDeliveryHeaderId())), moDto.getDeliveryHeaderId() + " 系统无此送货单!"); + OrderDto orderDto = redisObjectUtils.getOrThrow(Optional.ofNullable(orderService.findByDeliveryHeaderId(moDto.getDeliveryHeaderId())), moDto.getDeliveryHeaderId() + " 系统无此送货单!"); // 验证送货单状态 validateOrder(orderDto, moDto); @@ -227,9 +209,7 @@ public class MoServiceImpl implements MoService { } } - private T getOrThrow(Optional optional, String errorMessage) { - return optional.orElseThrow(() -> new RuntimeException(errorMessage)); - } + private void validateStockStatus(Stock stock) { if (stock.getStatus().equals(BaseStatus.USED)) { diff --git a/youchain-system/src/main/java/com/youchain/utils/BatchCreateOrUpdate.java b/youchain-system/src/main/java/com/youchain/utils/BatchCreateOrUpdate.java index bb00274..a64efe1 100644 --- a/youchain-system/src/main/java/com/youchain/utils/BatchCreateOrUpdate.java +++ b/youchain-system/src/main/java/com/youchain/utils/BatchCreateOrUpdate.java @@ -20,8 +20,8 @@ public class BatchCreateOrUpdate { * @param entities 要插入的实体列表 * @param 实体类型 */ - @Async @Transactional + @Async public void batchCreate(List entities) { int batchSize = 100; if (entities == null || entities.isEmpty()) { @@ -52,8 +52,8 @@ public class BatchCreateOrUpdate { * @param entities 要更新的实体列表 * @param 实体类型 */ - @Async @Transactional + @Async public void batchUpdate(List entities) { int batchSize = 100; if (entities == null || entities.isEmpty()) { diff --git a/youchain-system/src/main/java/com/youchain/utils/RedisObjectUtils.java b/youchain-system/src/main/java/com/youchain/utils/RedisObjectUtils.java new file mode 100644 index 0000000..0f0c0e7 --- /dev/null +++ b/youchain-system/src/main/java/com/youchain/utils/RedisObjectUtils.java @@ -0,0 +1,40 @@ +package com.youchain.utils; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Optional; +import java.util.function.Supplier; + + +/** + * 缓存对象通用工具类 + */ +@Component +public class RedisObjectUtils { + + private final RedisUtils redisUtils; + + @Autowired + public RedisObjectUtils(RedisUtils redisUtils) { + this.redisUtils = redisUtils; + } + + + public T getObjectFromCache(String cacheKey, Supplier serviceSupplier, String errorMessage) { + T object = null; + boolean flag = redisUtils.hasKey(cacheKey); + if (flag) { + object = (T) redisUtils.get(cacheKey); + } else { + object = getOrThrow(Optional.ofNullable(serviceSupplier.get()), errorMessage); + redisUtils.set(cacheKey, object); + } + return object; + } + + public static T getOrThrow(Optional optional, String errorMessage) { + return optional.orElseThrow(() -> new IllegalArgumentException(errorMessage)); + } + +} diff --git a/youchain-system/src/main/resources/config/application-dev.yml b/youchain-system/src/main/resources/config/application-dev.yml index b3e9010..8013a7a 100644 --- a/youchain-system/src/main/resources/config/application-dev.yml +++ b/youchain-system/src/main/resources/config/application-dev.yml @@ -94,11 +94,11 @@ jwt: #是否允许生成代码,生产环境设置为false generator: - enabled: true + enabled: false #是否开启 swagger-ui swagger: - enabled: true + enabled: false # 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 5a60fa4..3c84274 100644 --- a/youchain-system/src/main/resources/config/application-prod.yml +++ b/youchain-system/src/main/resources/config/application-prod.yml @@ -4,7 +4,7 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:47.100.54.81}:${DB_PORT:53306}/${DB_NAME:jingzhou_xks}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false + url: jdbc:log4jdbc:mysql://${DB_HOST:115.159.67.99}:${DB_PORT:3306}/${DB_NAME:hefeihvac_wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false username: ${DB_USER:root} password: ${DB_PWD:Youchain@56} # 初始连接数 @@ -111,7 +111,7 @@ generator: #是否开启 swagger-ui swagger: - enabled: false + enabled: true # 文件存储路径 file: @@ -125,7 +125,7 @@ file: path: C:\eladmin\file\ avatar: C:\eladmin\avatar\ # 文件大小 /M - maxSize: 100 + maxSize: 200 avatarMaxSize: 5 minidao: base-package: org.jeecg.modules.jmreport.desreport.dao* diff --git a/youchain-system/src/main/resources/config/application.yml b/youchain-system/src/main/resources/config/application.yml index 22b12ad..73a158a 100644 --- a/youchain-system/src/main/resources/config/application.yml +++ b/youchain-system/src/main/resources/config/application.yml @@ -29,11 +29,11 @@ spring: redis: #数据库索引 - database: ${REDIS_DB:9} - host: ${REDIS_HOST:127.0.0.1} + database: ${REDIS_DB:0} + host: ${REDIS_HOST:115.159.67.99} port: ${REDIS_PORT:6379} - password: ${REDIS_PWD:} - #password: ${REDIS_PWD:123abc} + #password: ${REDIS_PWD:} + password: ${REDIS_PWD:123456} #连接超时时间 timeout: 5000 diff --git a/youchain-system/src/test/java/com/youchain/EladminSystemApplicationTests.java b/youchain-system/src/test/java/com/youchain/EladminSystemApplicationTests.java index 30d48ac..ca57b82 100644 --- a/youchain-system/src/test/java/com/youchain/EladminSystemApplicationTests.java +++ b/youchain-system/src/test/java/com/youchain/EladminSystemApplicationTests.java @@ -18,6 +18,24 @@ public class EladminSystemApplicationTests { } public static void main(String[] args) { + System.out.println("---"+aa()); + } + + public static int aa(){ + int a=1; + try { + a=2; + System.out.println(a); + return a; + } catch (Exception e) { + a=3; + } finally { + a=4; + System.out.println("TT:"+a); + } + System.out.println(a); + return a; + } private static final int MAX_TASK_COUNT = 4;