From 8a0b9205e3c0931d5ef855112badf2d88021e026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Fri, 1 Aug 2025 14:20:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StructuralPackageOrderController.java | 59 +++++----- .../PackageMaterialScanRecordRepository.java | 2 +- .../wms/gateway/satoken/SaTokenConfigure.java | 2 +- nflg-wms-srm-receive/pom.xml | 107 ++++++++++++++++++ .../srm/receive/SrmReceiveApplication.java | 18 +++ .../receive/config/RestTemplateConfig.java | 19 ++++ .../receive}/controller/SRMController.java | 9 +- .../src/main/resources/application-sit.yml | 8 ++ .../src/main/resources/application.yml | 26 +++++ .../src/main/resources/logback-spring.xml | 75 ++++++++++++ .../receive/SrmReceiveApplicationTests.java | 13 +++ pom.xml | 1 + 12 files changed, 308 insertions(+), 31 deletions(-) create mode 100644 nflg-wms-srm-receive/pom.xml create mode 100644 nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/SrmReceiveApplication.java create mode 100644 nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/config/RestTemplateConfig.java rename {nflg-wms-admin/src/main/java/com/nflg/wms/admin => nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive}/controller/SRMController.java (96%) create mode 100644 nflg-wms-srm-receive/src/main/resources/application-sit.yml create mode 100644 nflg-wms-srm-receive/src/main/resources/application.yml create mode 100644 nflg-wms-srm-receive/src/main/resources/logback-spring.xml create mode 100644 nflg-wms-srm-receive/src/test/java/com/nflg/wms/srm/receive/SrmReceiveApplicationTests.java diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java index 21951208..75a63130 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.DigestUtil; +import cn.hutool.json.JSONUtil; import cn.idev.excel.EasyExcel; import cn.idev.excel.enums.CellDataTypeEnum; import cn.idev.excel.metadata.data.ImageData; @@ -531,32 +532,38 @@ public class StructuralPackageOrderController extends BaseController { * @param type 类型 */ private void saveMaterialQrCodeScanRecord(List content, Integer type) { - packageMaterialScanRecordRepository.saveAll(content.stream().map(qrCode -> { - List qrContents = StrUtil.split(qrCode, "^"); - if (CollectionUtil.isEmpty(qrContents)) { - qrContents = StrUtil.split(qrContents.get(1), "_"); - return new PackageMaterialScanRecord() - .setUniqNo(qrCode) - .setContent(qrCode) - .setMaterialNo(qrContents.get(0)) - .setTrayNo(qrContents.get(1)) - .setType(type) - .setNum(qrContents.get(2)) - .setCreateBy(UserUtil.getUserName()) - .setCreateTime(Instant.now()); - } else { - List datas = StrUtil.split(qrContents.get(1), "_"); - return new PackageMaterialScanRecord() - .setUniqNo(qrContents.get(0)) - .setContent(qrCode) - .setMaterialNo(datas.get(0)) - .setTrayNo(datas.get(1)) - .setType(type) - .setNum(datas.get(2)) - .setCreateBy(UserUtil.getUserName()) - .setCreateTime(Instant.now()); - } - }).filter(Objects::nonNull).toList()); + try { + log.info(StrUtil.format("保存物料二维码扫描记录,类型:{},二维码列表:{}", type, JSONUtil.toJsonStr(content))); + List records = packageMaterialScanRecordRepository.saveAll(content.stream().map(qrCode -> { + List qrContents = StrUtil.split(qrCode, "^"); + if (CollectionUtil.isEmpty(qrContents)) { + qrContents = StrUtil.split(qrContents.get(1), "_"); + return new PackageMaterialScanRecord() + .setUniqNo(qrCode) + .setContent(qrCode) + .setMaterialNo(qrContents.get(0)) + .setTrayNo(qrContents.get(1)) + .setType(type) + .setNum(qrContents.get(2)) + .setCreateBy(UserUtil.getUserName()) + .setCreateTime(Instant.now()); + } else { + List datas = StrUtil.split(qrContents.get(1), "_"); + return new PackageMaterialScanRecord() + .setUniqNo(qrContents.get(0)) + .setContent(qrCode) + .setMaterialNo(datas.get(0)) + .setTrayNo(datas.get(1)) + .setType(type) + .setNum(datas.get(2)) + .setCreateBy(UserUtil.getUserName()) + .setCreateTime(Instant.now()); + } + }).filter(Objects::nonNull).toList()); + log.info("保存物料二维码扫描记录成功,数据:{}", JSONUtil.toJsonStr(records)); + } catch (Exception ex) { + log.error("保存物料二维码扫描记录失败", ex); + } } /** diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/PackageMaterialScanRecordRepository.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/PackageMaterialScanRecordRepository.java index f7bbda26..4184e7e0 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/PackageMaterialScanRecordRepository.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/PackageMaterialScanRecordRepository.java @@ -5,4 +5,4 @@ import org.springframework.data.mongodb.repository.MongoRepository; public interface PackageMaterialScanRecordRepository extends MongoRepository { -} +} \ No newline at end of file diff --git a/nflg-wms-gateway/src/main/java/com/nflg/wms/gateway/satoken/SaTokenConfigure.java b/nflg-wms-gateway/src/main/java/com/nflg/wms/gateway/satoken/SaTokenConfigure.java index 5f39819f..02f79b5e 100644 --- a/nflg-wms-gateway/src/main/java/com/nflg/wms/gateway/satoken/SaTokenConfigure.java +++ b/nflg-wms-gateway/src/main/java/com/nflg/wms/gateway/satoken/SaTokenConfigure.java @@ -33,7 +33,7 @@ public class SaTokenConfigure { .setAuth(obj -> { // 登录校验 -- 拦截所有路由 SaRouter.match("/**") - .notMatch("/auth/**", "/actuator/**") + .notMatch("/auth/**","/srm-receive/**", "**/actuator/**") .check(r -> { String currentUrl = SaHolder.getRequest().getRequestPath(); log.info("当前鉴权地址:{}", currentUrl); diff --git a/nflg-wms-srm-receive/pom.xml b/nflg-wms-srm-receive/pom.xml new file mode 100644 index 00000000..cf455878 --- /dev/null +++ b/nflg-wms-srm-receive/pom.xml @@ -0,0 +1,107 @@ + + + 4.0.0 + + com.nflg + nflg-wms + 1.0.0-SNAPSHOT + + nflg-wms-srm-receive + 1.0.0-SNAPSHOT + 服务-SRM订单接收 + SRM订单接收服务 + jar + + + com.nflg + nflg-wms-common + + + com.nflg + nflg-wms-starter + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-web + + + com.github.loki4j + loki-logback-appender + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + true + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/lib + ${project.groupId} + runtime + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + true + lib/ + com.nflg.wms.srm.receive.SrmReceiveApplication + + + + + + org.apache.maven.plugins + maven-shade-plugin + + + package + + shade + + + + + ${project.groupId}:* + + + false + + + + + + + + diff --git a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/SrmReceiveApplication.java b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/SrmReceiveApplication.java new file mode 100644 index 00000000..91a7d8d1 --- /dev/null +++ b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/SrmReceiveApplication.java @@ -0,0 +1,18 @@ +package com.nflg.wms.srm.receive; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; + +@Slf4j +@ComponentScan(basePackages = {"com.nflg.wms.srm.receive","com.nflg.wms.starter","com.nflg.wms.repository"}) +@SpringBootApplication +public class SrmReceiveApplication { + + public static void main(String[] args) { + SpringApplication.run(SrmReceiveApplication.class, args); + log.info("服务已启动"); + } + +} diff --git a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/config/RestTemplateConfig.java b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/config/RestTemplateConfig.java new file mode 100644 index 00000000..a7253724 --- /dev/null +++ b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/config/RestTemplateConfig.java @@ -0,0 +1,19 @@ +package com.nflg.wms.srm.receive.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.client.SimpleClientHttpRequestFactory; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class RestTemplateConfig { + + @Bean + public RestTemplate restTemplate() { + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + factory.setConnectTimeout(3_000); + factory.setReadTimeout(10_000); + return new RestTemplate(factory); + } + +} \ No newline at end of file diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/SRMController.java b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java similarity index 96% rename from nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/SRMController.java rename to nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java index bd0e6c69..7dd0058c 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/SRMController.java +++ b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java @@ -1,4 +1,4 @@ -package com.nflg.wms.admin.controller; +package com.nflg.wms.srm.receive.controller; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; @@ -10,7 +10,10 @@ import com.nflg.wms.repository.entity.WmsInTaskItem; import com.nflg.wms.repository.entity.WmsSrmOrder; import com.nflg.wms.repository.entity.WmsSrmOrderItem; import com.nflg.wms.repository.entity.WmsSrmQualityInspection; -import com.nflg.wms.repository.service.*; +import com.nflg.wms.repository.service.IWmsInTaskService; +import com.nflg.wms.repository.service.IWmsSrmOrderItemService; +import com.nflg.wms.repository.service.IWmsSrmOrderService; +import com.nflg.wms.repository.service.IWmsSrmQualityInspectionService; import com.nflg.wms.starter.BaseController; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -31,7 +34,7 @@ import java.util.Objects; */ @Slf4j @RestController -@RequestMapping("/api/NFSRM") +@RequestMapping("/NFSRM") public class SRMController extends BaseController { @Resource diff --git a/nflg-wms-srm-receive/src/main/resources/application-sit.yml b/nflg-wms-srm-receive/src/main/resources/application-sit.yml new file mode 100644 index 00000000..14c650df --- /dev/null +++ b/nflg-wms-srm-receive/src/main/resources/application-sit.yml @@ -0,0 +1,8 @@ +logging: + level: + root: info + com: + nflg: debug + alibaba: + cloud: + nacos: debug \ No newline at end of file diff --git a/nflg-wms-srm-receive/src/main/resources/application.yml b/nflg-wms-srm-receive/src/main/resources/application.yml new file mode 100644 index 00000000..4defddf1 --- /dev/null +++ b/nflg-wms-srm-receive/src/main/resources/application.yml @@ -0,0 +1,26 @@ +server: + port: 8104 + servlet: + context-path: /api +spring: + main: + allow-bean-definition-overriding: true + application: + name: srm-receive + profiles: + active: sit + config: + import: nacos:shared.properties?group=${spring.profiles.active}&refreshEnabled=true + cloud: + nacos: + config: + server-addr: ${nacos.server-addr:192.168.163.83:8848} + namespace: wms + group: ${spring.profiles.active} + discovery: + server-addr: ${nacos.server-addr:192.168.163.83:8848} + namespace: wms + group: ${spring.profiles.active} +logging: + level: + root: info \ No newline at end of file diff --git a/nflg-wms-srm-receive/src/main/resources/logback-spring.xml b/nflg-wms-srm-receive/src/main/resources/logback-spring.xml new file mode 100644 index 00000000..a931c758 --- /dev/null +++ b/nflg-wms-srm-receive/src/main/resources/logback-spring.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{50} - %msg%n + UTF-8 + + + + + + ${logDir}/nflg-wms-srm-receive.log + + + ${logDir}/%d{yyyy-MM-dd}.%i.log + + 10MB + + 7 + + 1GB + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{50} - %msg%n + UTF-8 + + + + + + http://192.168.163.83:3100/loki/api/v1/push + + + service_name = wms + app = ${appName} + profile = ${profile} + host = ${HOSTIP} + + + level = %level + thread = %thread + class = %logger + + + true + 5 + 10000 + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{50} - %msg %ex + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nflg-wms-srm-receive/src/test/java/com/nflg/wms/srm/receive/SrmReceiveApplicationTests.java b/nflg-wms-srm-receive/src/test/java/com/nflg/wms/srm/receive/SrmReceiveApplicationTests.java new file mode 100644 index 00000000..11fd3b11 --- /dev/null +++ b/nflg-wms-srm-receive/src/test/java/com/nflg/wms/srm/receive/SrmReceiveApplicationTests.java @@ -0,0 +1,13 @@ +package com.nflg.wms.srm.receive; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class SrmReceiveApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/pom.xml b/pom.xml index 4817c605..fdf4cefb 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,7 @@ nflg-wms-auth nflg-wms-file nflg-wms-scheduled + nflg-wms-srm-receive 17