Quellcode durchsuchen

Merge branch 'dev' into dev-lt

ltt vor 2 Jahren
Ursprung
Commit
0edc4305ec
20 geänderte Dateien mit 220 neuen und 145 gelöschten Zeilen
  1. 20 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/annotation/Log.java
  2. 79 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/aspect/LogAspect.java
  3. 2 1
      sckw-common/sckw-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  4. 7 0
      sckw-modules/sckw-message/src/main/java/com/sckw/message/controller/MessageController.java
  5. 2 2
      sckw-modules/sckw-message/src/main/java/com/sckw/message/controller/SmsController.java
  6. 0 80
      sckw-modules/sckw-message/src/main/java/com/sckw/message/controller/TestMqController.java
  7. 1 0
      sckw-modules/sckw-message/src/main/java/com/sckw/message/service/SckwMessageHandlerService.java
  8. 4 0
      sckw-modules/sckw-message/src/main/resources/bootstrap-test.yml
  9. 12 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java
  10. 11 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTransportDemandController.java
  11. 11 3
      sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwpWantBuyController.java
  12. 13 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/KwpGoodsController.java
  13. 9 7
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  14. 6 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwOrderController.java
  15. 6 9
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java
  16. 13 12
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderQuery.java
  17. 4 0
      sckw-modules/sckw-report/src/main/resources/bootstrap-test.yml
  18. 0 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/WaybillManagementController.java
  19. 13 12
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WaybillOrderDTO.java
  20. 7 17
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

+ 20 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/annotation/Log.java

@@ -0,0 +1,20 @@
+package com.sckw.core.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * @desc: 自定义日志注解
+ * @author: yzc
+ * @date: 2023-08-02 9:20
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Log {
+
+    /**
+     * 日志描述
+     * @return
+     */
+    String description() default "";
+}

+ 79 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/aspect/LogAspect.java

@@ -0,0 +1,79 @@
+package com.sckw.core.aspect;
+
+import com.alibaba.fastjson.JSON;
+import com.sckw.core.annotation.Log;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @desc: controller请求切面增强
+ * @author: yzc
+ * @date: 2023-08-02 9:21
+ */
+@Aspect
+@Component
+@Slf4j
+public class LogAspect {
+    private static final String TIME_PATTERN = "yyyy-MM-dd HH:mm:ss:SSS";
+
+    @Pointcut("@annotation(l)")
+    public void loggerPointcut(Log l) {
+    }
+
+    @Around("loggerPointcut(l)")
+    public Object around(ProceedingJoinPoint p, Log l) throws Throwable {
+        Object result = null;
+        //开始时间
+        Date startTime = new Date();
+        String targetName = p.getTarget().getClass().getName();
+        String methodName = p.getSignature().getName();
+        Object[] args = p.getArgs();
+        Stream<?> stream = ArrayUtils.isEmpty(args) ? Stream.empty() : Arrays.stream(args);
+        List<Object> logArgs = stream
+                .filter(arg -> (!(arg instanceof HttpServletRequest) && !(arg instanceof HttpServletResponse)))
+                .collect(Collectors.toList());
+        //过滤后序列化无异常
+        String param = JSON.toJSONString(logArgs);
+        String exception = "";
+        try {
+            //执行结果,返回参数
+            result = p.proceed();
+        } catch (Throwable e) {
+            exception = e.getMessage();
+            //异常抛出
+            throw e;
+        } finally {
+            Date endTime = new Date();
+            long time = endTime.getTime() - startTime.getTime();
+            Boolean slowRequest = (time > 1500L);
+            log.info("{}:{}.{}," +
+                            "param={}," +
+                            "result={}," +
+                            "exception={}," +
+                            "[{}->{}],slowRequest{}=[{}]", l.description(), targetName, methodName,
+                    param,
+                    JSON.toJSONString(result),
+                    exception,
+                    DateFormatUtils.format(startTime, TIME_PATTERN),
+                    DateFormatUtils.format(endTime, TIME_PATTERN),
+                    slowRequest,
+                    time);
+        }
+        return result;
+    }
+
+}

+ 2 - 1
sckw-common/sckw-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -4,4 +4,5 @@ com.sckw.core.web.config.CustomConfig
 com.sckw.core.filter.LoginFilter
 com.sckw.core.config.MybatisPlusConfig
 com.sckw.core.config.JacksonConfig
-com.sckw.core.filter.ExceptionFilterConfig
+com.sckw.core.filter.ExceptionFilterConfig
+com.sckw.core.aspect.LogAspect

+ 7 - 0
sckw-modules/sckw-message/src/main/java/com/sckw/message/controller/MessageController.java

@@ -2,6 +2,7 @@ package com.sckw.message.controller;
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.sckw.core.annotation.Log;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.web.response.HttpResult;
@@ -38,6 +39,7 @@ public class MessageController {
      * @date: 2023-06-13 16:17
      */
     @GetMapping("/detail")
+    @Log(description = "获取消息详情")
     public HttpResult detail(@RequestParam Long id) {
         KwmMessage message = messageService.detail(id);
         return HttpResult.ok(message);
@@ -51,6 +53,7 @@ public class MessageController {
      * @date: 2023-06-09 15:12
      */
     @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "分页查询消息列表")
     public HttpResult select(@RequestBody @Valid SelectMessagesReqVO params) {
         PageHelper.startPage(params.getPage(), params.getPageSize());
         List<KwmMessage> list = messageService.select(params);
@@ -66,6 +69,7 @@ public class MessageController {
      * @date: 2023-06-09 14:21
      */
     @PostMapping(value = "/read", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "消息已读")
     public HttpResult read(@RequestBody ReadMessagesReqVO readMessagesReqVO) {
         messageService.read(readMessagesReqVO);
         return HttpResult.ok();
@@ -79,6 +83,7 @@ public class MessageController {
      * @date: 2023-06-09 14:21
      */
     @PostMapping(value = "/delete", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "删除消息")
     public HttpResult delete(@RequestBody DeleteMessagesReqVO deleteMessagesReqVO) {
         messageService.delete(deleteMessagesReqVO);
         return HttpResult.ok();
@@ -92,6 +97,7 @@ public class MessageController {
      * @return com.sckw.core.web.response.HttpResult
      */
     @GetMapping(value = "/statistics")
+    @Log(description = "消息统计查询")
     public HttpResult statistics(@RequestParam(required = false) String category) {
         List<MessagesStatisticsResVO> result = messageService.statistics(category);
         return HttpResult.ok(result);
@@ -105,6 +111,7 @@ public class MessageController {
      * @date: 2023-06-09 15:12
      */
     @PostMapping(value = "/findList", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "查找消息列表")
     public HttpResult findList(@RequestBody FindMessagesReqVO findMessagesReqVO) {
         return HttpResult.ok(messageService.selectMessages(findMessagesReqVO));
     }

+ 2 - 2
sckw-modules/sckw-message/src/main/java/com/sckw/message/controller/SmsController.java

@@ -1,6 +1,6 @@
 package com.sckw.message.controller;
 
-import com.alibaba.fastjson.JSON;
+import com.sckw.core.annotation.Log;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.message.model.vo.req.SendSmsVerifyCoderReqVO;
 import com.sckw.message.service.SmsService;
@@ -35,8 +35,8 @@ public class SmsController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/sendVerifyCode", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "发送短信验证码")
     public HttpResult sendVerifyCode(@Valid @RequestBody SendSmsVerifyCoderReqVO param) {
-        log.info("发送验证码参数:{}", JSON.toJSONString(param));
         smsService.sendVerifyCode(param);
         return HttpResult.ok();
     }

+ 0 - 80
sckw-modules/sckw-message/src/main/java/com/sckw/message/controller/TestMqController.java

@@ -1,80 +0,0 @@
-package com.sckw.message.controller;
-
-import cn.hutool.core.lang.UUID;
-import com.alibaba.fastjson2.JSON;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.stream.enums.SmsCodeEnum;
-import com.sckw.stream.model.Person;
-import com.sckw.message.producer.DelayProducer;
-import com.sckw.stream.enums.MessageEnum;
-import com.sckw.stream.model.SckwMessage;
-import com.sckw.stream.model.SckwSms;
-import jakarta.annotation.Resource;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.stream.function.StreamBridge;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Date;
-import java.util.HashMap;
-
-/**
- * 测试mq
- */
-@Slf4j
-@RestController
-@AllArgsConstructor
-@RequestMapping("/test-mq")
-public class TestMqController {
-
-    private final DelayProducer delayProducer;
-
-    @GetMapping("/index")
-    public HttpResult index() {
-        return HttpResult.ok(System.currentTimeMillis());
-    }
-
-
-    /**
-     * 发送消息Rabbitmq
-     * @param msg 消息内容
-     * @param delay 延时时间
-     */
-    @GetMapping("/sendRabbitmq")
-    public HttpResult sendRabbitmq(String msg, Long delay) {
-        delayProducer.sendMsg(msg, delay);
-        return HttpResult.ok();
-    }
-
-    @Resource
-    private StreamBridge streamBridge;
-    @Autowired
-    private ObjectMapper objectMapper;
-
-    @GetMapping("/sendTest")
-    public HttpResult sendRabbitMq(String name) {
-        String uuid = UUID.fastUUID().toString();
-        SckwSms sckwSms = new SckwSms();
-        sckwSms.setPhone("17358629955");
-        sckwSms.setSignName("矿拉拉");
-        sckwSms.setTemplateCode(SmsCodeEnum.VERIFICATION_CODE);
-        sckwSms.setParams(new HashMap(){{put("code", "123456");}});
-        streamBridge.send("sckw-sms", JSON.toJSONString(sckwSms));
-
-
-        SckwMessage message = new SckwMessage();
-        //person.setName(String.valueOf(System.currentTimeMillis()));
-        message.setMsgUrl("---");
-        message.setPushType("====");
-        message.setClientId("111111111111111");
-        streamBridge.send("sckw-message", JSON.toJSONString(message));
-        return HttpResult.ok(uuid);
-
-    }
-
-
-}

+ 1 - 0
sckw-modules/sckw-message/src/main/java/com/sckw/message/service/SckwMessageHandlerService.java

@@ -40,6 +40,7 @@ public class SckwMessageHandlerService {
      */
     @Transactional(rollbackFor = Exception.class)
     public void handler(SckwMessage sckwMessage) {
+        log.info("SckwMessageHandler:{}", JSON.toJSONString(sckwMessage));
         if (Boolean.FALSE.equals(RedissonUtils.tryLock(getKey(sckwMessage.getRequestId()), 10L, RedisConstant.CONSUMER_REQUEST_VALID_TIME))) {
             log.info("重复message消息:{},不处理", sckwMessage.getRequestId());
             return;

+ 4 - 0
sckw-modules/sckw-message/src/main/resources/bootstrap-test.yml

@@ -17,6 +17,10 @@ spring:
         group: sckw-service-platform
         # 配置文件格式
         file-extension: yaml
+        shared-configs:
+          - data-id: sckw-common.yml
+            group: sckw-common
+            refresh: true
         extension-configs:
           - dataId: sckw-common.yml
             group: sckw-service-platform

+ 12 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java

@@ -1,5 +1,6 @@
 package com.sckw.order.controller;
 
+import com.sckw.core.annotation.Log;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.order.model.vo.req.*;
 import com.sckw.order.serivce.KwoTradeOrderService;
@@ -30,6 +31,7 @@ public class KwoTradeOrderController {
      */
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addPurchaseOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "采购下单草稿")
     public HttpResult addPurchaseOrderDraft(@RequestBody @Validated PurchaseOrderDraftParam param) {
         kwoTradeOrderService.addPurchaseOrderDraft(param);
         return HttpResult.ok("采购下单草稿保存成功");
@@ -44,6 +46,7 @@ public class KwoTradeOrderController {
      */
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addPurchaseOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "采购下单提交")
     public HttpResult addPurchaseOrderSubmit(@RequestBody @Validated PurchaseOrderParam purchaseOrderParam) {
         kwoTradeOrderService.addPurchaseOrderSubmit(purchaseOrderParam);
         return HttpResult.ok("采购下单提交成功");
@@ -58,6 +61,7 @@ public class KwoTradeOrderController {
      */
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addValetOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "代客下单草稿")
     public HttpResult addValetOrderDraft(@RequestBody @Validated ValetOrderDraftParam param) {
         kwoTradeOrderService.addValetOrderDraft(param);
         return HttpResult.ok("代客下单草稿保存成功");
@@ -73,6 +77,7 @@ public class KwoTradeOrderController {
      */
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addValetOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "代客下单提交")
     public HttpResult addValetOrderSubmit(@RequestBody @Validated ValetOrderParam valetOrderParam) {
         kwoTradeOrderService.addValetOrderSubmit(valetOrderParam);
         return HttpResult.ok("代客下单提交成功");
@@ -86,6 +91,7 @@ public class KwoTradeOrderController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @GetMapping("/detail")
+    @Log(description = "贸易订单详情")
     public HttpResult detail(@RequestParam Long id) {
         return HttpResult.ok(kwoTradeOrderService.detail(id));
     }
@@ -99,6 +105,7 @@ public class KwoTradeOrderController {
      */
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "贸易订单修改")
     public HttpResult update(@RequestBody @Validated UpdateOrderParam updateOrderParam) {
         kwoTradeOrderService.update(updateOrderParam);
         return HttpResult.ok("订单修改成功");
@@ -113,6 +120,7 @@ public class KwoTradeOrderController {
      */
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/acceptanceOrder", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "贸易订单受理")
     public HttpResult acceptanceOrder(@RequestBody @Validated AcceptanceOrderParam acceptanceOrderParam) {
         kwoTradeOrderService.acceptanceOrder(acceptanceOrderParam);
         return HttpResult.ok("订单受理成功");
@@ -127,6 +135,7 @@ public class KwoTradeOrderController {
      */
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/rejectOrder", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "贸易订单驳回")
     public HttpResult rejectOrder(@RequestBody @Validated RejectOrderParam rejectOrderParam) {
         kwoTradeOrderService.rejectOrder(rejectOrderParam);
         return HttpResult.ok("订单驳回成功");
@@ -140,6 +149,7 @@ public class KwoTradeOrderController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @GetMapping("/rejectReason")
+    @Log(description = "贸易订单驳回原因查询")
     public HttpResult rejectReason(@RequestParam Long id) {
         return HttpResult.ok("驳回订单原因查询成功", kwoTradeOrderService.rejectReason(id));
     }
@@ -153,6 +163,7 @@ public class KwoTradeOrderController {
      */
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/completeOrder", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "完结贸易订单")
     public HttpResult completeOrder(@RequestBody @Validated CompleteOrderParam completeOrderParam) {
         kwoTradeOrderService.completeOrder(completeOrderParam);
         return HttpResult.ok("订单完结成功");
@@ -168,6 +179,7 @@ public class KwoTradeOrderController {
      */
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/batchDelete", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "批量删除贸易订单")
     public HttpResult batchDelete(@RequestBody @Validated BatchDeleteParam param) {
         kwoTradeOrderService.batchDelete(param);
         return HttpResult.ok("订单批量删除成功");

+ 11 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTransportDemandController.java

@@ -1,5 +1,6 @@
 package com.sckw.order.controller;
 
+import com.sckw.core.annotation.Log;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.StringUtils;
@@ -36,6 +37,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/addDraft", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "新增运需草稿")
     public HttpResult addDraft(@RequestBody @Validated AddTransportDemandDraftParam param) {
         kwoTransportDemandService.addDraft(param);
         return HttpResult.ok("新增运需草稿成功");
@@ -50,6 +52,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/addShelves", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "新增运需上架")
     public HttpResult addShelves(@RequestBody @Validated AddTransportDemandParam param) {
         kwoTransportDemandService.addShelves(param);
         return HttpResult.ok("新增运需上架成功");
@@ -64,6 +67,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @GetMapping("/detail")
+    @Log(description = "获取运需详情")
     public HttpResult detail(@RequestParam Long id) {
         return HttpResult.ok(kwoTransportDemandService.detail(id));
     }
@@ -76,6 +80,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "运需修改")
     public HttpResult update(@RequestBody @Validated UpdateTransportDemandParam param) {
         kwoTransportDemandService.update(param);
         return HttpResult.ok("运需修改成功!");
@@ -89,6 +94,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "运需分页查询")
     public HttpResult select(@RequestBody @Validated SelectTransportDemandParam param) {
         return HttpResult.ok(kwoTransportDemandService.select(param));
     }
@@ -101,6 +107,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/statistic", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "运需统计")
     public HttpResult statistic(@RequestBody StatisticTransportDemandParam param) {
         return HttpResult.ok(kwoTransportDemandService.statistic(param));
     }
@@ -130,6 +137,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @GetMapping("/putOnShelves")
+    @Log(description = "运需上架")
     public HttpResult putOnShelves(@RequestParam Long id) {
         kwoTransportDemandService.putOnShelves(id);
         return HttpResult.ok("上架成功");
@@ -143,6 +151,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @GetMapping("/batchTakeOffShelves")
+    @Log(description = "运需批量下架")
     public HttpResult batchTakeOffShelves(@RequestParam String ids) {
         List<Long> list = StringUtils.splitStrToList(ids, ",", Long.class);
         kwoTransportDemandService.batchTakeOffShelves(list);
@@ -157,6 +166,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @GetMapping("/batchDelete")
+    @Log(description = "运需批量删除")
     public HttpResult batchDelete(@RequestParam String ids) {
         List<Long> list = StringUtils.splitStrToList(ids, ",", Long.class);
         kwoTransportDemandService.batchDelete(list);
@@ -171,6 +181,7 @@ public class KwoTransportDemandController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/demandSquaresList", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "运需广场列表")
     public HttpResult demandSquaresList(@RequestBody @Validated TransportDemandSquaresParam param) {
         return HttpResult.ok(kwoTransportDemandService.demandSquaresList(param));
     }

+ 11 - 3
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwpWantBuyController.java

@@ -1,5 +1,6 @@
 package com.sckw.order.controller;
 
+import com.sckw.core.annotation.Log;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.order.model.vo.req.AddWantBuyParam;
 import com.sckw.order.model.vo.req.UpdateWantBuyParam;
@@ -11,9 +12,6 @@ import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.HashMap;
-import java.util.List;
-
 /**
  * @desc: 求购controller
  * @author: yzc
@@ -32,6 +30,7 @@ public class KwpWantBuyController {
      * @Date 15:34 2023/7/26 0026
     **/
     @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "求购分页查询")
     public HttpResult select(@RequestBody WantBuySelectParam wantBuySelectParam) {
         return HttpResult.ok(kwpWantBuyService.select(wantBuySelectParam));
     }
@@ -42,6 +41,7 @@ public class KwpWantBuyController {
      * @Date 15:34 2023/7/26 0026
     **/
     @PostMapping(value = "/buyHallList", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "求购大厅")
     public HttpResult buyHallList(@RequestBody WantBuySelectParam wantBuySelectParam) {
         return HttpResult.ok(kwpWantBuyService.buyHallList(wantBuySelectParam));
     }
@@ -54,6 +54,7 @@ public class KwpWantBuyController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/addDraft", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "新增求购草稿")
     public HttpResult addDraft(@RequestBody AddWantBuyParam addWantBuyParam) {
         kwpWantBuyService.addDraft(addWantBuyParam);
         return HttpResult.ok("新增求购草稿成功");
@@ -67,6 +68,7 @@ public class KwpWantBuyController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/addShelves", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "新增求购上架")
     public HttpResult addShelves(@RequestBody @Validated AddWantBuyParam addWantBuyParam) {
         kwpWantBuyService.addShelves(addWantBuyParam);
         return HttpResult.ok("新增求购上架成功");
@@ -78,6 +80,7 @@ public class KwpWantBuyController {
      * @Date: 13:39 2023/7/25 0025
     **/
     @GetMapping(value = "/putOnShelves", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "求购上架")
     public HttpResult putOnShelves(@RequestParam Long id) {
         kwpWantBuyService.putOnShelves(id);
         return HttpResult.ok("求购上架成功");
@@ -89,6 +92,7 @@ public class KwpWantBuyController {
      * @Date: 13:39 2023/7/25 0025
     **/
     @PostMapping(value = "/batchTakeOffShelves", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "求购批量下架")
     public HttpResult batchTakeOffShelves(@RequestBody WantBuyDels ids) {
         kwpWantBuyService.batchTakeOffShelves(ids);
         return HttpResult.ok("批量下架成功");
@@ -100,6 +104,7 @@ public class KwpWantBuyController {
      * @Date: 13:39 2023/7/25 0025
     **/
     @DeleteMapping(value = "/dels", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "求购批量删除")
     public HttpResult dels(@RequestBody WantBuyDels ids) {
         kwpWantBuyService.dels(ids);
         return HttpResult.ok("批量删除成功");
@@ -113,6 +118,7 @@ public class KwpWantBuyController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @GetMapping("/detail")
+    @Log(description = "求购详情")
     public HttpResult detail(@RequestParam Long id) {
         return HttpResult.ok(kwpWantBuyService.detail(id));
     }
@@ -123,6 +129,7 @@ public class KwpWantBuyController {
      * @Date 15:22 2023/7/26 0026
     **/
     @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "求购编辑")
     public HttpResult update(@RequestBody @Validated UpdateWantBuyParam updateWantBuyParam) {
         kwpWantBuyService.update(updateWantBuyParam);
         return HttpResult.ok("求购修改成功!");
@@ -134,6 +141,7 @@ public class KwpWantBuyController {
      * @Date 15:23 2023/7/26 0026
     **/
     @PostMapping(value = "/statistic", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "求购统计")
     public HttpResult statistic(@RequestBody WantBuySelectParam params)
     {
         return HttpResult.ok(kwpWantBuyService.statistic(params));

+ 13 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/KwpGoodsController.java

@@ -1,5 +1,6 @@
 package com.sckw.product.controller;
 
+import com.sckw.core.annotation.Log;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.StringUtils;
@@ -36,6 +37,7 @@ public class KwpGoodsController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/addDraft", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "添加草稿商品")
     public HttpResult addDraft(@RequestBody @Validated AddGoodsDraftParam param) {
         kwpGoodsService.addDraft(param);
         return HttpResult.ok("添加草稿商品成功");
@@ -48,6 +50,7 @@ public class KwpGoodsController {
      * @Param addGoodsParam:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "添加上架草稿")
     @PostMapping(value = "/addShelves", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addShelves(@RequestBody @Validated AddGoodsParam addGoodsParam) {
         kwpGoodsService.addShelves(addGoodsParam);
@@ -62,6 +65,7 @@ public class KwpGoodsController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @GetMapping("/detail")
+    @Log(description = "获取商品详情")
     public HttpResult detail(@RequestParam Long id) {
         return HttpResult.ok(kwpGoodsService.detail(id, false));
     }
@@ -73,6 +77,7 @@ public class KwpGoodsController {
      * @Param updateGoodsParam:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "修改商品")
     @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult update(@RequestBody @Validated UpdateGoodsParam updateGoodsParam) {
         kwpGoodsService.update(updateGoodsParam);
@@ -87,6 +92,7 @@ public class KwpGoodsController {
      * @Param params:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "分页查询商品列表")
     @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult select(@RequestBody SelectGoodsListParam params) {
         return HttpResult.ok(kwpGoodsService.select(params, true));
@@ -99,6 +105,7 @@ public class KwpGoodsController {
      * @Param params:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "商品列表统计查询")
     @PostMapping(value = "/statistic", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult statistic(@RequestBody GoodsListParam params) {
         return HttpResult.ok(kwpGoodsService.statistic(params));
@@ -128,6 +135,7 @@ public class KwpGoodsController {
      * @Param id:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "商品上架")
     @GetMapping("/batchPutOnShelves")
     public HttpResult batchPutOnShelves(@RequestParam Long id) {
         kwpGoodsService.batchPutOnShelves(id);
@@ -141,6 +149,7 @@ public class KwpGoodsController {
      * @Param ids:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "商品批量下架")
     @GetMapping("/batchTakeOffShelves")
     public HttpResult batchTakeOffShelves(@RequestParam String ids) {
         List<Long> goodIds = StringUtils.splitStrToList(ids, ",", Long.class);
@@ -155,6 +164,7 @@ public class KwpGoodsController {
      * @Param ids:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "商品批量删除")
     @GetMapping("/batchDelete")
     public HttpResult batchDelete(@RequestParam String ids) {
         List<Long> goodIds = StringUtils.splitStrToList(ids, ",", Long.class);
@@ -169,6 +179,7 @@ public class KwpGoodsController {
      * @Param params:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "建材市场分页查询")
     @PostMapping(value = "/buildingMaterialsMarketList", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult buildingMaterialsMarketList(@RequestBody BuildingMaterialsMarketListParam params) {
         return HttpResult.ok(kwpGoodsService.buildingMaterialsMarketList(params));
@@ -181,6 +192,7 @@ public class KwpGoodsController {
      * @Param params:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "商品下拉列表")
     @PostMapping(value = "/dropList", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult dropList(@RequestBody @Validated GoodsDropListReq params) {
         return HttpResult.ok(kwpGoodsService.dropList(params));
@@ -193,6 +205,7 @@ public class KwpGoodsController {
      * @Param param:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @Log(description = "获取商品预计最大可购数量")
     @PostMapping(value = "/maxPurchaseNum", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult maxPurchaseNum(@RequestBody @Validated MaxPurchaseNumParam param) {
         return HttpResult.ok(kwpGoodsService.maxPurchaseNum(param));

+ 9 - 7
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -493,13 +493,15 @@ public class KwpGoodsService {
                 }
             }
             if (StringUtils.isNotBlank(params.getKeywords())) {
-                List<EntCacheResDto> entList = remoteSystemService.queryEntCacheByName(params.getKeywords());
-                List<Long> entIds = entList.stream().map(EntCacheResDto::getId).toList();
-                if (CollectionUtils.isEmpty(entIds)) {
-                    wrapper.like(KwpGoods::getName, params.getKeywords());
-                } else {
-                    wrapper.and(e -> e.in(KwpGoods::getSupplyEntId, entIds).or().like(KwpGoods::getName, params.getKeywords()));
-                }
+                //目前只模糊匹配商品名称
+//                List<EntCacheResDto> entList = remoteSystemService.queryEntCacheByName(params.getKeywords());
+//                List<Long> entIds = entList.stream().map(EntCacheResDto::getId).toList();
+//                if (CollectionUtils.isEmpty(entIds)) {
+//                    wrapper.like(KwpGoods::getName, params.getKeywords());
+//                } else {
+//                    wrapper.and(e -> e.in(KwpGoods::getSupplyEntId, entIds).or().like(KwpGoods::getName, params.getKeywords()));
+//                }
+                wrapper.like(KwpGoods::getName, params.getKeywords());
             }
         }
         wrapper.eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime);

+ 6 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwOrderController.java

@@ -1,5 +1,6 @@
 package com.sckw.report.controller;
 
+import com.sckw.core.annotation.Log;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.web.response.HttpResult;
@@ -34,6 +35,7 @@ public class KwOrderController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @GetMapping("/tradeOrderDetail")
+    @Log(description = "贸易订单详情")
     public HttpResult detail(@RequestParam Long id) {
         return HttpResult.ok(orderService.tradeOrderDetail(id));
     }
@@ -46,6 +48,7 @@ public class KwOrderController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/tradeOrderSelect", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "贸易订单列表分页查询")
     public HttpResult select(@RequestBody @Validated TradeOrderListSelectParam params) {
         return HttpResult.ok(orderService.tradeOrderSelect(params));
     }
@@ -58,6 +61,7 @@ public class KwOrderController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/tradeOrderStatistic", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "贸易订单列表统计查询")
     public HttpResult statistic(@RequestBody @Validated TradeOrderListStatisticParam params) {
         return HttpResult.ok(orderService.tradeOrderStatistic(params));
     }
@@ -86,6 +90,7 @@ public class KwOrderController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/tradeOrderStatementList", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "贸易订单对账单分页列表查询")
     public HttpResult tradeOrderStatementList(@RequestBody @Validated TradeOrderStatementList params) {
         return HttpResult.ok(orderService.tradeOrderStatementList(params));
     }
@@ -98,6 +103,7 @@ public class KwOrderController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/tradeOrderContractList", produces = MediaType.APPLICATION_JSON_VALUE)
+    @Log(description = "合同关联贸易订单列表查询")
     public HttpResult tradeOrderContractList(@RequestBody @Validated TradeOrderContractParam params) {
         return HttpResult.ok(orderService.tradeOrderContractList(params));
     }

+ 6 - 9
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java

@@ -201,19 +201,16 @@ public class KwTransportService {
             }
         }
         // 装载时间
-        if (StringUtils.isNotBlank(query.getStartLoadTime()) && StringUtils.isNotEmpty(query.getEndLoadTime())) {
-            criteria.andOperator(Criteria.where("loadTime").gte(query.getStartLoadTime()), Criteria.where("loadTime")
-                    .lte(query.getEndLoadTime()));
+        if (Objects.nonNull(query.getStartLoadTime()) && Objects.nonNull(query.getEndLoadTime())) {
+            criteria.and("loadTime").gte(query.getStartLoadTime()).lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
         }
         // 派车时间
-        if (StringUtils.isNotBlank(query.getStartSendCarTime()) && StringUtils.isNotEmpty(query.getEndSendCarTime())) {
-            criteria.andOperator(Criteria.where("sendCarTime").gte(query.getStartSendCarTime()), Criteria.where("sendCarTime")
-                    .lte(query.getEndSendCarTime()));
+        if (Objects.nonNull(query.getStartSendCarTime()) && Objects.nonNull(query.getEndSendCarTime())) {
+            criteria.and("sendCarTime").gte(query.getStartSendCarTime()).lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
         }
         // 卸货时间
-        if (StringUtils.isNotBlank(query.getStartUnloadTime()) && StringUtils.isNotEmpty(query.getEndUnloadTime())) {
-            criteria.andOperator(Criteria.where("unloadTime").gte(query.getStartUnloadTime()), Criteria.where("unloadTime")
-                    .lte(query.getEndUnloadTime()));
+        if (Objects.nonNull(query.getStartUnloadTime()) && Objects.nonNull(query.getEndUnloadTime())) {
+            criteria.and("unloadTime").gte(query.getStartUnloadTime()).lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
         }
         // 多条件模糊查询
         List<Criteria> orCriteria = new ArrayList<>();

+ 13 - 12
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderQuery.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -21,38 +22,38 @@ public class WaybillOrderQuery extends PageRequest implements Serializable {
     /**
      * 派车开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String startSendCarTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startSendCarTime;
 
     /**
      * 派车结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String endSendCarTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endSendCarTime;
 
     /**
      * 装载开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String startLoadTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startLoadTime;
 
     /**
      * 装载结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String endLoadTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endLoadTime;
 
     /**
      * 卸载开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String startUnloadTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startUnloadTime;
 
     /**
      * 卸载结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String endUnloadTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endUnloadTime;
 
     /**
      * 关键字搜索

+ 4 - 0
sckw-modules/sckw-report/src/main/resources/bootstrap-test.yml

@@ -17,6 +17,10 @@ spring:
         group: sckw-service-platform
         # 配置文件格式
         file-extension: yaml
+        shared-configs:
+          - data-id: sckw-common.yml
+            group: sckw-common
+            refresh: true
         extension-configs:
           - dataId: sckw-common.yml
             group: sckw-service-platform

+ 0 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/WaybillManagementController.java

@@ -11,8 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.List;
 
 
 /**

+ 13 - 12
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WaybillOrderDTO.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -22,38 +23,38 @@ public class WaybillOrderDTO extends PageRequest implements Serializable {
     /**
      * 派车开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String startSendCarTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startSendCarTime;
 
     /**
      * 派车结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String endSendCarTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endSendCarTime;
 
     /**
      * 装载开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String startLoadTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startLoadTime;
 
     /**
      * 装载结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String endLoadTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endLoadTime;
 
     /**
      * 卸载开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String startUnloadTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startUnloadTime;
 
     /**
      * 卸载结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private String endUnloadTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endUnloadTime;
 
     /**
      * 关键字搜索

+ 7 - 17
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -38,10 +38,7 @@ import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.regex.Pattern;
 
 /**
@@ -313,23 +310,16 @@ public class WaybillManagementService {
             criteria.and("unloadCityCode").is(query.getUnloadCityCode());
         }
         // 装载时间
-        if (StringUtils.isNotBlank(query.getStartLoadTime()) && StringUtils.isNotEmpty(query.getEndLoadTime())) {
-            criteria.andOperator(Criteria.where("loadTime").gte(query.getStartLoadTime()), Criteria.where("loadTime")
-                    .lte(query.getEndLoadTime()));
-        }
-        if (StringUtils.isNotBlank(query.getStartLoadTime()) && StringUtils.isNotEmpty(query.getEndLoadTime())) {
-            criteria.andOperator(Criteria.where("loadTime").gte(query.getStartLoadTime()), Criteria.where("loadTime")
-                    .lte(query.getEndLoadTime()));
+        if (Objects.nonNull(query.getStartLoadTime()) && Objects.nonNull(query.getEndLoadTime())) {
+            criteria.and("loadTime").gte(query.getStartLoadTime()).lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
         }
         // 派车时间
-        if (StringUtils.isNotBlank(query.getStartSendCarTime()) && StringUtils.isNotEmpty(query.getEndSendCarTime())) {
-            criteria.andOperator(Criteria.where("sendCarTime").gte(query.getStartSendCarTime()), Criteria.where("sendCarTime")
-                    .lte(query.getEndSendCarTime()));
+        if (Objects.nonNull(query.getStartSendCarTime()) && Objects.nonNull(query.getEndSendCarTime())) {
+            criteria.and("sendCarTime").gte(query.getStartSendCarTime()).lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
         }
         // 卸货时间
-        if (StringUtils.isNotBlank(query.getStartUnloadTime()) && StringUtils.isNotEmpty(query.getEndUnloadTime())) {
-            criteria.andOperator(Criteria.where("unloadTime").gte(query.getStartUnloadTime()), Criteria.where("unloadTime")
-                    .lte(query.getEndUnloadTime()));
+        if (Objects.nonNull(query.getStartUnloadTime()) && Objects.nonNull(query.getEndUnloadTime())) {
+            criteria.and("unloadTime").gte(query.getStartUnloadTime()).lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
         }
         // 多条件模糊查询
         List<Criteria> orCriteria = new ArrayList<>();