From 4e21675f19c3ddd5d5a8a3ef4081bb57556c99e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LAPTOP-S9HJSOEB=5C=E6=98=8A=E5=A4=A9?= Date: Tue, 28 Oct 2025 17:49:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=89=E6=BA=AA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/stock/StockController.java | 7 +- .../camera/dal/entity/ScanDateReqs.java | 13 ++ .../framework/netty/ksec/KsecDecoder.java | 5 + .../CheckIntellBlinkChanel.java | 10 ++ .../executor/AlgorithmDelayTask.java | 2 + .../executor/GetPhotoDelayExecutor.java | 6 +- .../camera/service/plc/PLCServiceImpl.java | 151 +++++++++++------- .../service/stock/StockServiceImpl.java | 12 +- yudao-server/pom.xml | 4 + .../src/main/resources/logback-spring.xml | 2 +- 10 files changed, 144 insertions(+), 68 deletions(-) create mode 100644 yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/entity/ScanDateReqs.java diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/StockController.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/StockController.java index 2da8ff2..fe1f3a9 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/StockController.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/StockController.java @@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.camera.dal.dataobject.checklog.CheckLogDO; import cn.iocoder.yudao.module.camera.dal.dataobject.resources.URLResourcesDo; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; +import cn.iocoder.yudao.module.camera.dal.entity.ScanDateReqs; import cn.iocoder.yudao.module.camera.dal.entity.ScanStatus; import cn.iocoder.yudao.module.camera.dal.entity.echarts.EChartsOption; import cn.iocoder.yudao.module.camera.service.checklog.CheckLogService; @@ -110,13 +111,13 @@ public class StockController { @Operation(summary = "获得巷道所有盘点状态") //@Parameter(name = "id", description = "巷道id", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('logistics:stock:getStreetList')") - public CommonResult> getStreetStatus(@RequestBody ScanData scanData) { + public CommonResult> getStreetStatus(@RequestBody ScanData scanData) { List stockStreetList = stockService.list(new QueryWrapper() .eq(scanData.getStreetId()!=null,"street_Id", scanData.getStreetId()) .eq(scanData.getDirection()!=null,"direction", scanData.getDirection())); Map dictValueMap = dictDataService.getDictValueMap("check_status"); - List scanDataList = BeanUtils.toBean(stockStreetList, ScanData.class); - for (ScanData scan:scanDataList){ + List scanDataList = BeanUtils.toBean(stockStreetList, ScanDateReqs.class); + for (ScanDateReqs scan:scanDataList){ scan.setColour(dictValueMap.get(String.valueOf(scan.getStatus())).getColorType()); scan.setStatusString(dictValueMap.get(String.valueOf(scan.getStatus())).getLabel()); } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/entity/ScanDateReqs.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/entity/ScanDateReqs.java new file mode 100644 index 0000000..c81a6a6 --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/entity/ScanDateReqs.java @@ -0,0 +1,13 @@ +package cn.iocoder.yudao.module.camera.dal.entity; + +import lombok.Data; + +@Data +public class ScanDateReqs { + private Long id; + private String colour; + private Integer row; + private Integer column; + private String statusString; + private Integer status; +} diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDecoder.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDecoder.java index ec12e90..4caa4b7 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDecoder.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDecoder.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.camera.framework.netty.ksec; +import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.module.camera.controller.admin.tcpclientlog.vo.TcpClientLogSaveReqVO; import cn.iocoder.yudao.module.camera.framework.netty.NettyFilterDate; import cn.iocoder.yudao.module.camera.service.plc.PLCService; @@ -124,6 +125,10 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { //智能盘点 plcService.checkYx(dataInfo); + dataInfo.setAckStatus(1); + ctx.channel().writeAndFlush(JSONUtil.toJsonStr(ksecInfo)); +// ctx.writeAndFlush(JSONUtil.toJsonStr(ksecInfo)); + } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/CheckIntellBlinkChanel.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/CheckIntellBlinkChanel.java index 81e8974..b9cd508 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/CheckIntellBlinkChanel.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/CheckIntellBlinkChanel.java @@ -31,6 +31,10 @@ public class CheckIntellBlinkChanel { public static void pictures(String SRMNumber,String taskId,String cameraType,String cameraId){ Channel channel= channelMap.get( SRMNumber); System.out.println(SRMNumber+""); + if (channel==null){ + log.error("通道不存在"); + return; + } //替换相机 channel.writeAndFlush("replace:"+cameraId+";"); @@ -38,6 +42,12 @@ public class CheckIntellBlinkChanel { channel.writeAndFlush("cameraType:"+cameraType+";"); //唯一id channel.writeAndFlush("taskId:"+taskId+";"); + + try { + Thread.sleep(300); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } //拍照 channel.writeAndFlush("camera:1;"); } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/AlgorithmDelayTask.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/AlgorithmDelayTask.java index 0fc34be..4ef2659 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/AlgorithmDelayTask.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/AlgorithmDelayTask.java @@ -20,6 +20,8 @@ public class AlgorithmDelayTask implements Delayed { private String trayCode = "NULL"; private String storageCode = "NULL"; private String path; + private String uuid; + private Integer status; private long executeTime; diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/GetPhotoDelayExecutor.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/GetPhotoDelayExecutor.java index 3041053..ca4e3d2 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/GetPhotoDelayExecutor.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/GetPhotoDelayExecutor.java @@ -41,7 +41,7 @@ public class GetPhotoDelayExecutor { CheckIntellBlinkChanel.pictures(cameraDelayTask.getSRMNumber(),cameraDelayTask.getTaskId(),cameraType , dictDataService.parseDictData("camera_position", type).getValue()); try { - Thread.sleep(500); + Thread.sleep(200); } catch (InterruptedException e) { throw new RuntimeException(e); } @@ -51,6 +51,8 @@ public class GetPhotoDelayExecutor { CheckIntellBlinkChanel.pictures(cameraDelayTask.getSRMNumber(),cameraDelayTask.getTaskId(),cameraTypeDown , dictDataService.parseDictData("camera_position", typeDown).getValue()); //码位为库 货架号 层 列 + + CheckIntellBlinkDecoder.setHttp(cameraDelayTask, dictDataService.parseDictData("camera_conf", "storageUrl").getValue()); String storageCode = "F" + dictDataService.parseDictData("base_conf", "library_code").getValue() +formatNumber((Integer.parseInt(cameraDelayTask.getSRMNumber())-1)*2+cameraDelayTask.getDirection(),2) @@ -59,8 +61,6 @@ public class GetPhotoDelayExecutor { if (cameraDelayTask.getRow()!=0 && cameraDelayTask.getColumn()!=0) { cameraDelayTask.setStorageCode(storageCode); } - CheckIntellBlinkDecoder.setHttp(cameraDelayTask, dictDataService.parseDictData("camera_conf", "storageUrl").getValue()); - //如果队列中没有,则只记录 plcService.stockSave(cameraDelayTask); diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java index d48f7bd..14fd9a3 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java @@ -47,6 +47,8 @@ import java.util.UUID; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicReference; +import static cn.iocoder.yudao.module.camera.framework.netty.streetAlgorithm.executor.GetPhotoDelayExecutor.formatNumber; + @Service @Slf4j public class PLCServiceImpl implements PLCService { @@ -320,7 +322,7 @@ public class PLCServiceImpl implements PLCService { // getPhotoDelayExecutor.communicationFactory(algorithmDelayTask); } // 玉溪check -public void checkYx(KsecDataInfo dataInfo){ + public void checkYx(KsecDataInfo dataInfo){ long startTime = System.currentTimeMillis(); String uuid = UUID.randomUUID().toString(); @@ -372,58 +374,67 @@ public void checkYx(KsecDataInfo dataInfo){ // 默认正确 AtomicReference status = new AtomicReference<>("2"); StockDO finalStock = stock; - List> futures = dictDataList.values().stream() - .filter(dictDataDO -> !dictDataDO.getValue().equals("0")) - .map(dictDataDO -> CompletableFuture.supplyAsync(() -> -// 调用扫码服务,包含图片保存等不进行修改finalStock - scanServiceFactory.scan(dictDataDO.getValue(), street, dataInfo, finalStock) - ).thenApply(result -> { - // 任务完成后,基于返回的结果进行操作 -// 如果有扫码结果,并且扫码结果为假,则修改状态为错误 - // 获取字段对象 - - try { - String wmsType = "wms" + capitalize(dictDataDO.getLabel()); - Field stockField = finalStock.getClass().getDeclaredField(dictDataDO.getLabel()); - Field wmsField = KsecDataInfo.class.getDeclaredField(dictDataDO.getLabel()); - - Field stockWmsField = finalStock.getClass().getDeclaredField(wmsType); - wmsField.setAccessible(true); - stockField.setAccessible(true); - stockWmsField.setAccessible(true); - String wmsCode = (String) wmsField.get(dataInfo); - - if (!result.getCode().equals(wmsCode)) { - status.set("1"); - } - stockField.set(finalStock, result.getCode()); - stockWmsField.set(finalStock, wmsCode); - } catch (NoSuchFieldException | IllegalAccessException e) { - e.printStackTrace(); - status.set("1"); - } - - return result; - } - ).orTimeout(10, TimeUnit.SECONDS) - .exceptionally(ex -> { - if (ex instanceof TimeoutException) { - status.set("1"); - } - return null; - }) - ) - .toList(); - - // 等待所有异步任务完成 - CompletableFuture allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])); - try { - allOf.get(); // 阻塞直到所有任务完成 - } catch (InterruptedException e) { - throw new RuntimeException(e); - } catch (ExecutionException e) { - throw new RuntimeException(e); +// 扫码枪扫描 + ScanData trayCode = scanServiceFactory.scan("1", street, dataInfo, finalStock); + stock.setWmsTrayCode(trayCode.getCode()); + stock.setTrayCode(dataInfo.getTrayCode()); + if (!stock.getWmsTrayCode().equals(stock.getTrayCode())){ + status.set("1"); } +// +// +// List> futures = dictDataList.values().stream() +// .filter(dictDataDO -> !dictDataDO.getValue().equals("0")) +// .map(dictDataDO -> CompletableFuture.supplyAsync(() -> +//// 调用扫码服务,包含图片保存等不进行修改finalStock +// +// ).thenApply(result -> { +// // 任务完成后,基于返回的结果进行操作 +//// 如果有扫码结果,并且扫码结果为假,则修改状态为错误 +// // 获取字段对象 +// +// try { +// String wmsType = "wms" + capitalize(dictDataDO.getLabel()); +// Field stockField = finalStock.getClass().getDeclaredField(dictDataDO.getLabel()); +// Field wmsField = KsecDataInfo.class.getDeclaredField(dictDataDO.getLabel()); +// +// Field stockWmsField = finalStock.getClass().getDeclaredField(wmsType); +// wmsField.setAccessible(true); +// stockField.setAccessible(true); +// stockWmsField.setAccessible(true); +// String wmsCode = (String) wmsField.get(dataInfo); +// +// if (!result.getCode().equals(wmsCode)) { +// status.set("1"); +// } +// stockField.set(finalStock, result.getCode()); +// stockWmsField.set(finalStock, wmsCode); +// } catch (NoSuchFieldException | IllegalAccessException e) { +// e.printStackTrace(); +// status.set("1"); +// } +// +// return result; +// } +// ).orTimeout(10, TimeUnit.SECONDS) +// .exceptionally(ex -> { +// if (ex instanceof TimeoutException) { +// status.set("1"); +// } +// return null; +// }) +// ) +// .toList(); +// +// // 等待所有异步任务完成 +// CompletableFuture allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])); +// try { +// allOf.get(); // 阻塞直到所有任务完成 +// } catch (InterruptedException e) { +// throw new RuntimeException(e); +// } catch (ExecutionException e) { +// throw new RuntimeException(e); +// } // 打印修改后的对象 @@ -440,13 +451,24 @@ public void checkYx(KsecDataInfo dataInfo){ AlgorithmDelayTask algorithmDelayTask = new AlgorithmDelayTask(dataInfo.getFromDirection(),street.getPlcId() ,dataInfo.getTaskId(),10000,finalStock.getTrayCode(),"E1",dataInfo.getFromRow(),dataInfo.getFromColumn()); - String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "up"; + String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "up"; - String pathSrc = "http://"+ dictDataService.parseDictData("base_conf", "local_path").getValue() + ":9007/pic"+street.getPlcId()+"/" + dataInfo.getTaskId() + "_" + picPath + ".JPEG"; - urlResourcesService.save(URLResourcesDo.builder().url(pathSrc).uuid(uuid).type("1").little("拍照").build()); - algorithmDelayTask.setPath(pathSrc); + String pathSrc = "http://"+ dictDataService.parseDictData("base_conf", "local_path").getValue() + ":9007/pic"+street.getPlcId()+"/" + dataInfo.getTaskId() + "_" + picPath + ".JPEG"; + urlResourcesService.save(URLResourcesDo.builder().url(pathSrc).uuid(uuid).type("1").little("拍照").build()); + algorithmDelayTask.setPath(pathSrc); + String storageCode = "F" + + dictDataService.parseDictData("base_conf", "library_code").getValue() + +formatNumber((Integer.parseInt(algorithmDelayTask.getSRMNumber())-1)*2+algorithmDelayTask.getDirection(),2) + +formatNumber(algorithmDelayTask.getRow(),2) + +formatNumber(algorithmDelayTask.getColumn(),2); + if (algorithmDelayTask.getRow()!=0 && algorithmDelayTask.getColumn()!=0) { + algorithmDelayTask.setStorageCode(storageCode); + } + algorithmDelayTask.setUuid(uuid); getPhotoDelayExecutor.communicationFactory(algorithmDelayTask); + + } public static String capitalize(String str) { if (str == null || str.isEmpty()) { @@ -508,7 +530,7 @@ public void checkYx(KsecDataInfo dataInfo){ .row(ksecDataInfo.getFromRow()) .column(ksecDataInfo.getFromColumn()) .status("0") - .checkPic("http://" + streetDO.getPlcIp() + ":9007/pic"+streetDO.getPlcId()+"/" + ksecDataInfo.getTaskId() + "_" + cameraType + ".JPEG;") + .checkPic("http://" + dictDataService.parseDictData("base_conf", "local_path").getValue() + ":9007/pic"+streetDO.getPlcId()+"/"+ ksecDataInfo.getTaskId() + "_" + cameraType + ".JPEG") .exportTime(LocalDateTime.now()).build(); stockService.save(stockDO); } else { @@ -549,6 +571,12 @@ public void checkYx(KsecDataInfo dataInfo){ stockDO.setCode(algorithmDelayTask.getStorageCode()); stockDO.setWmsCode(algorithmDelayTask.getStorageCode()); stockDO.setTrayCode(algorithmDelayTask.getTrayCode()); + if (algorithmDelayTask.getUuid()!=null){ + stockDO.setCheckPic(algorithmDelayTask.getUuid()); + } + if (algorithmDelayTask.getStatus()!=null){ + stockDO.setStatus(String.valueOf(algorithmDelayTask.getStatus())); + } stockService.updateById(stockDO); } CheckLogDO checkLogDO = checkLogService.getOne(new QueryWrapper().eq("task_Id", algorithmDelayTask.getTaskId()).last("limit 1")); @@ -557,6 +585,13 @@ public void checkYx(KsecDataInfo dataInfo){ checkLogDO.setTrayCode(algorithmDelayTask.getTrayCode()); checkLogDO.setCode(algorithmDelayTask.getStorageCode()); checkLogDO.setWmsCode(algorithmDelayTask.getStorageCode()); + if (algorithmDelayTask.getUuid()!=null){ + checkLogDO.setPic(algorithmDelayTask.getUuid()); + } + + if (algorithmDelayTask.getStatus()!=null){ + checkLogDO.setStatus((algorithmDelayTask.getStatus())); + } checkLogService.updateById(checkLogDO); } } @@ -702,6 +737,8 @@ public void checkYx(KsecDataInfo dataInfo){ stockSave(ksecDataInfo, street, sensorGunCode); String path = "http://" + dictDataService.parseDictData("base_conf", "local_path").getValue() + ":9007/pic"+street.getPlcId()+"/"+ kescEntity.getData().getTaskId() + "_" + picPath + ".JPEG"; algorithmDelayTask.setPath(path); + algorithmDelayTask.setUuid(uuid); + algorithmDelayTask.setStatus(2); getPhotoDelayExecutor.communicationFactory(algorithmDelayTask); urlResourcesService.save(URLResourcesDo.builder().url(path).uuid(uuid).type("1").little("球机拍照").build()); diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/stock/StockServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/stock/StockServiceImpl.java index 69ae7a8..3561b04 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/stock/StockServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/stock/StockServiceImpl.java @@ -7,12 +7,13 @@ import cn.iocoder.yudao.module.camera.controller.admin.stock.vo.StockSaveReqVO; import cn.iocoder.yudao.module.camera.controller.admin.stock.vo.StockStreetList; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; -import cn.iocoder.yudao.module.camera.dal.entity.echarts.*; +import cn.iocoder.yudao.module.camera.dal.entity.echarts.Axis; +import cn.iocoder.yudao.module.camera.dal.entity.echarts.EChartsOption; +import cn.iocoder.yudao.module.camera.dal.entity.echarts.Series; import cn.iocoder.yudao.module.camera.dal.mysql.stock.StockMapper; import cn.iocoder.yudao.module.camera.service.street.StreetService; import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO; import cn.iocoder.yudao.module.system.service.dict.DictDataService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -93,8 +94,11 @@ public class StockServiceImpl extends ServiceImpl implement stockStreetList.setRows(streetDO.getRightRow()); stockStreetList.setColumns(streetDO.getRightColumn()); } - List list = list(new QueryWrapper().eq("street_Id",stockStreetList.getStreetId()).eq("direction",stockStreetList.getDirection())); - stockStreetList.setButtons(list); +// List list = list(new QueryWrapper() +// .eq("street_Id",stockStreetList.getStreetId()) +// .eq("direction",stockStreetList.getDirection())); +// List stockRespVOS = BeanUtils.toBean(list, StockRespVO.class); +// stockStreetList.setButtons(stockRespVOS); return stockStreetList; } diff --git a/yudao-server/pom.xml b/yudao-server/pom.xml index 6584f09..0981e09 100644 --- a/yudao-server/pom.xml +++ b/yudao-server/pom.xml @@ -31,6 +31,10 @@ yudao-module-infra-biz ${revision} + + org.springframework.boot + spring-boot-starter-logging + cn.iocoder.boot yudao-module-logistics-biz diff --git a/yudao-server/src/main/resources/logback-spring.xml b/yudao-server/src/main/resources/logback-spring.xml index b1b9f3f..d10bdfa 100644 --- a/yudao-server/src/main/resources/logback-spring.xml +++ b/yudao-server/src/main/resources/logback-spring.xml @@ -31,7 +31,7 @@ ${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false} - ${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB} + ${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-50MB} ${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}