From 446f423ccea20bfbcd03b7f2f4a680567277b5c3 Mon Sep 17 00:00:00 2001 From: wujianwei <wjw@11.com> Date: 星期四, 28 八月 2025 15:32:32 +0800 Subject: [PATCH] 新增前后端 --- admin/config/test/application-custom.yml | 1 admin/pom.xml | 6 + service/src/main/java/com/ruoyi/cwgl/domain/dto/TakeReviewDto.java | 9 ++- service/src/main/java/com/ruoyi/cwgl/domain/dto/ReturnReportDto.java | 5 + api/src/main/java/com/ruoyi/api/third/controller/LockerApiController.java | 31 ++++++---- service/src/main/resources/mapper/cwgl/KeyCollectionInfoMapper.xml | 85 ++++++++++++++-------------- api/pom.xml | 12 ++- 7 files changed, 85 insertions(+), 64 deletions(-) diff --git a/admin/config/test/application-custom.yml b/admin/config/test/application-custom.yml index 0fe513c..409cad8 100644 --- a/admin/config/test/application-custom.yml +++ b/admin/config/test/application-custom.yml @@ -83,6 +83,7 @@ /captchaImage /actuator/** /*/api-docs + /api/** /druid/** /webjars/** /swagger-resources/** diff --git a/admin/pom.xml b/admin/pom.xml index 1f126dd..0d5b648 100644 --- a/admin/pom.xml +++ b/admin/pom.xml @@ -59,7 +59,11 @@ <artifactId>quartz</artifactId> </dependency> - + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>api</artifactId> + <version>master</version> + </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> diff --git a/api/pom.xml b/api/pom.xml index cd72684..96f11f3 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -10,20 +10,24 @@ <modelVersion>4.0.0</modelVersion> <artifactId>api</artifactId> - <dependencies> + <dependency> <groupId>com.ruoyi</groupId> - <artifactId>api-remote</artifactId> + <artifactId>common</artifactId> <version>${project.version}</version> </dependency> - + <!--鎸佷箙鍖栧眰妯″潡--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>framework</artifactId> + <version>${ruoyi.version}</version> + </dependency> <dependency> <groupId>com.ruoyi</groupId> <artifactId>service</artifactId> - <version>master</version> </dependency> </dependencies> </project> \ No newline at end of file diff --git a/api/src/main/java/com/ruoyi/api/controller/LockerApiController.java b/api/src/main/java/com/ruoyi/api/third/controller/LockerApiController.java similarity index 67% rename from api/src/main/java/com/ruoyi/api/controller/LockerApiController.java rename to api/src/main/java/com/ruoyi/api/third/controller/LockerApiController.java index ad837e0..e924d06 100644 --- a/api/src/main/java/com/ruoyi/api/controller/LockerApiController.java +++ b/api/src/main/java/com/ruoyi/api/third/controller/LockerApiController.java @@ -1,4 +1,4 @@ -package com.ruoyi.api.controller; +package com.ruoyi.api.third.controller; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.DateUtils; @@ -8,11 +8,12 @@ import com.ruoyi.cwgl.domain.dto.TakeReviewDto; import com.ruoyi.cwgl.service.IKeyCollectionInfoService; import com.ruoyi.cwgl.service.IRequestLogService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** @@ -20,8 +21,10 @@ * @author wjw */ @RestController -@RequestMapping("/api/third/locker/") +@RequestMapping("/api/third/locker") public class LockerApiController { + + private static Logger logger = LoggerFactory.getLogger(LockerApiController.class); @Autowired private IKeyCollectionInfoService keyCollectionInfoService; @@ -31,16 +34,20 @@ /** * 涓婃姤鍙栧嚭瀹℃牳 */ + @GetMapping("test") + public AjaxResult test(){ + return AjaxResult.success(); + } - @PostMapping("takeReview") - public AjaxResult takeReview(@RequestBody TakeReviewDto takeReviewDto){ + @PostMapping("/takeReview") + public AjaxResult takeReview(@Valid @RequestBody TakeReviewDto takeReviewDto){ KeyCollectionInfo keyCollectionInfo = keyCollectionInfoService.selectCwData(takeReviewDto); //娣诲姞璇锋眰鏃ュ織 RequestLog requestLog = new RequestLog(); requestLog.setDriverCode(takeReviewDto.getDriverCode()); requestLog.setDriverName(takeReviewDto.getDriverName()); - requestLog.setReqTime(DateUtils.parseDate(takeReviewDto.getHandleTime())); + requestLog.setReqTime(takeReviewDto.getHandleTime()); requestLog.setType(0); logService.insertRequestLog(requestLog); @@ -53,14 +60,14 @@ * 褰掕繕涓婃姤 */ - @PostMapping("returnReport") - public AjaxResult returnReport(@RequestBody ReturnReportDto returnReportDto){ + @PostMapping("/returnReport") + public AjaxResult returnReport(@Valid @RequestBody ReturnReportDto returnReportDto){ //娣诲姞璇锋眰鏃ュ織 RequestLog requestLog = new RequestLog(); requestLog.setDriverCode(returnReportDto.getDriverCode()); requestLog.setBoxNum(returnReportDto.getBoxNum()); - requestLog.setReqTime(DateUtils.parseDate(returnReportDto.getSaveTime())); + requestLog.setReqTime(returnReportDto.getSaveTime()); requestLog.setType(1); logService.insertRequestLog(requestLog); diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReturnReportDto.java b/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReturnReportDto.java index e36affa..bf6493e 100644 --- a/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReturnReportDto.java +++ b/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReturnReportDto.java @@ -1,8 +1,10 @@ package com.ruoyi.cwgl.domain.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import javax.validation.constraints.NotBlank; +import java.util.Date; /** * 涓婃姤鍙栧嚭瀹℃牳dto @@ -19,6 +21,7 @@ private String driverCode ; /**鍙告満鍞竴缂栧彿*/ @NotBlank(message = "瀛樺叆鏃堕棿涓嶈兘涓虹┖") - private String saveTime ; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date saveTime ; } diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/dto/TakeReviewDto.java b/service/src/main/java/com/ruoyi/cwgl/domain/dto/TakeReviewDto.java index 2edad47..e87eb2c 100644 --- a/service/src/main/java/com/ruoyi/cwgl/domain/dto/TakeReviewDto.java +++ b/service/src/main/java/com/ruoyi/cwgl/domain/dto/TakeReviewDto.java @@ -1,8 +1,11 @@ package com.ruoyi.cwgl.domain.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; /** * 涓婃姤鍙栧嚭瀹℃牳dto @@ -18,7 +21,7 @@ @NotBlank(message = "鍙告満濮撳悕涓嶈兘涓虹┖") private String driverName ; /**鍙告満鍞竴缂栧彿*/ - @NotBlank(message = "璇锋眰寮�闂ㄦ椂闂翠笉鑳戒负绌�") - private String handleTime ; - + @NotNull(message = "璇锋眰寮�闂ㄦ椂闂翠笉鑳戒负绌�") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date handleTime; } diff --git a/service/src/main/resources/mapper/cwgl/KeyCollectionInfoMapper.xml b/service/src/main/resources/mapper/cwgl/KeyCollectionInfoMapper.xml index 85a9bd2..4215519 100644 --- a/service/src/main/resources/mapper/cwgl/KeyCollectionInfoMapper.xml +++ b/service/src/main/resources/mapper/cwgl/KeyCollectionInfoMapper.xml @@ -80,52 +80,51 @@ order by thisTab.id desc </select> <select id="selectCwData" resultType="com.ruoyi.cwgl.domain.KeyCollectionInfo"> -SELECT - customer.`NAME` as customerName, - bp.`NAME` as carrier, - ts.DISPATCH_NO as dispatchNo, - driver_m.`NAME` as driverName, - driver_m.MOBILE as driverMobile, - vhc.LICENSE_PLATE_NUMBER as licensePlateNumber, - ord.ORDER_TIME as orderTime, - ord.CREATED_TIME as orderCreatedTime, - ts.CREATED_TIME as dispatchCreatedTime, - now() as keyCollectionTime, -- 鏀捐姹傛煡璇㈠埌鐨勬椂闂� - ord.ESTIMATED_DEPARTURE_TIME as estimatedDepartureTime, - ord.CONSIGNOR_ADDRESS_ADDR_INFO as consignorAddress, - ord.CONSIGNEE_ADDRESS_ADDR_INFO as consigneeAddress, - driver_m.`NAME` as mainDriver, - ts.POINT_NUM as pointNum, - ts.TRANSPORT_MODE as transportMode, - driver_a.`NAME` as assistantDriver, - ts.QUANTITY as quantity, - ts.REQUIRED_ARRIVAL_TIME as , - ts.DISPATCH_QUANTITY as dispatchQuantity, - ts.REMARK as remark, - TIMESTAMPDIFF(HOUR, ord.ORDER_TIME, ord.CREATED_TIME) as schedulingTimeout, - TIMESTAMPDIFF(HOUR, ord.ESTIMATED_DEPARTURE_TIME, NOW()) as keyTimeout + SELECT + customer.`NAME` as customerName, + bp.`NAME` as carrier, + ts.DISPATCH_NO as dispatchNo, + driver_m.`NAME` as driverName, + driver_m.MOBILE as driverMobile, + vhc.LICENSE_PLATE_NUMBER as licensePlateNumber, + ord.ORDER_TIME as orderTime, + ord.CREATED_TIME as orderCreatedTime, + ts.CREATED_TIME as dispatchCreatedTime, + now() as keyCollectionTime, -- 鏀捐姹傛煡璇㈠埌鐨勬椂闂� + ord.ESTIMATED_DEPARTURE_TIME as estimatedDepartureTime, + ord.CONSIGNOR_ADDRESS_ADDR_INFO as consignorAddress, + ord.CONSIGNEE_ADDRESS_ADDR_INFO as consigneeAddress, + driver_m.`NAME` as mainDriver, + ts.POINT_NUM as pointNum, + ts.TRANSPORT_MODE as transportMode, + driver_a.`NAME` as assistantDriver, + ts.QUANTITY as quantity, + ts.REQUIRED_ARRIVAL_TIME as requiredArrivalTime, -- 娣诲姞鍒悕 + ts.DISPATCH_QUANTITY as dispatchQuantity, + ts.REMARK as remark, + TIMESTAMPDIFF(HOUR, ord.ORDER_TIME, ord.CREATED_TIME) as schedulingTimeout, + TIMESTAMPDIFF(HOUR, ord.ESTIMATED_DEPARTURE_TIME, NOW()) as keyTimeout -FROM - tms_shipment ts - left JOIN oms_order ord ON ts.DISPATCH_NO = ord.DISPATCH_CODE - LEFT JOIN base_customer customer ON customer.ID = ord.CUSTOMER_ID - LEFT JOIN tms_vehicle vhc ON ts.VEHICLE_ID = vhc.id - LEFT JOIN base_provider bp ON bp.ID = ts.CARRIER_ID - LEFT JOIN tms_driver driver_m ON driver_m.ID = ts.MAIN_DRIVER_ID - LEFT JOIN tms_driver driver_a ON driver_a.ID = ts.ASSISTANT_DRIVER_ID -WHERE - ts.`STATUS` = 'A' - <if test="driverCode != null and driverCode != '' "> - and driver_m.MOBILE = #{driverCode} - </if> - <if test="driverName != null and driverName != ''"> - and driver_m.NAME = #{driverName} - </if> -ORDER BY ord.ESTIMATED_DEPARTURE_TIME asc -LIMIT 1 + FROM + tms_shipment ts + LEFT JOIN oms_order ord ON ts.DISPATCH_NO = ord.DISPATCH_CODE + LEFT JOIN base_customer customer ON customer.ID = ord.CUSTOMER_ID + LEFT JOIN tms_vehicle vhc ON ts.VEHICLE_ID = vhc.id + LEFT JOIN base_provider bp ON bp.ID = ts.CARRIER_ID + LEFT JOIN tms_driver driver_m ON driver_m.ID = ts.MAIN_DRIVER_ID + LEFT JOIN tms_driver driver_a ON driver_a.ID = ts.ASSISTANT_DRIVER_ID + WHERE + ts.`STATUS` = 'A' + <if test="driverCode != null and driverCode != ''"> + AND driver_m.MOBILE = #{driverCode} + </if> + <if test="driverName != null and driverName != ''"> + AND driver_m.NAME = #{driverName} + </if> - + ORDER BY ord.ESTIMATED_DEPARTURE_TIME ASC + LIMIT 1 </select> <!-- 鏂板 --> -- Gitblit v1.8.0