Explorar el Código

添加物流订单按订单创建时间查询条件

chenxiaofei hace 1 semana
padre
commit
19883a6d5c

+ 39 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/DateUtils.java

@@ -4,6 +4,9 @@ import cn.hutool.core.date.DateUtil;
 import com.sckw.core.common.enums.enums.ErrorCodeEnum;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.exception.BusinessPlatfromException;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
 
 import java.text.DateFormat;
 import java.text.ParseException;
@@ -24,6 +27,7 @@ import java.util.stream.IntStream;
  *
  * @author
  */
+@Slf4j
 public class DateUtils extends DateUtil {
     /**
      * 时间格式(yyyy-MM-dd)
@@ -889,6 +893,41 @@ public class DateUtils extends DateUtil {
         return diffMinutes;
     }
 
+
+    public static Date getStartDate(String date) {
+        Date startDate;
+        if (org.apache.commons.lang3.StringUtils.isBlank(date)) {
+            startDate = DateUtils.getStartOfDay(new Date());
+        } else {
+            try {
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                startDate = sdf.parse(date);
+                startDate = DateUtils.getStartOfDay(startDate);
+            } catch (Exception e) {
+                log.error("解析开始日期失败", e);
+                startDate = DateUtils.getStartOfDay(new Date());
+            }
+        }
+        return startDate;
+    }
+    public static Date getEndDate(String date) {
+        Date endDate;
+        if (StringUtils.isBlank(date)) {
+            endDate = DateUtils.getEndOfDay(new Date());
+        } else {
+            try {
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                endDate = sdf.parse(date);
+                endDate = DateUtils.getEndOfDay(endDate);
+            } catch (Exception e) {
+                log.error("解析结束日期失败", e);
+                endDate = DateUtils.getEndOfDay(new Date());
+            }
+        }
+        return endDate;
+    }
+
+
     public static void main(String[] args) {
         getPreviousMonthsExclusive(5).forEach(x->{
             System.out.println(x.toString());

+ 5 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtLogisticsOrderRepository.java

@@ -11,6 +11,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Repository;
 
 import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 import java.util.Set;
@@ -38,9 +39,9 @@ public class KwtLogisticsOrderRepository extends ServiceImpl<KwtLogisticsOrderMa
                 .eq(KwtLogisticsOrder::getTOrderId, tradeId));
     }
 
-        public IPage<KwtLogisticsOrder> queryByPage(Set<Long> logisticsOrderIds,Long  tradeOrderId,String orderNo,
+        public IPage<KwtLogisticsOrder> queryByPage(Set<Long> logisticsOrderIds, Long  tradeOrderId, String orderNo,
                                                     String status,
-                                                 String startTime, String endTime,  int pageNum, int pageSize) {
+                                                    Date startTime, Date endTime, int pageNum, int pageSize) {
         return page(new Page<>(pageNum, pageSize),
                 Wrappers.<KwtLogisticsOrder>lambdaQuery()
                         .eq(KwtLogisticsOrder::getDelFlag, 0)
@@ -48,8 +49,8 @@ public class KwtLogisticsOrderRepository extends ServiceImpl<KwtLogisticsOrderMa
                         .eq(Objects.nonNull(tradeOrderId),KwtLogisticsOrder::getTOrderId, tradeOrderId)
                         .eq(StringUtils.isNotBlank(status),KwtLogisticsOrder::getStatus, status)
                         .like(StringUtils.isNotBlank(orderNo),KwtLogisticsOrder::getLOrderNo, orderNo)
-                        .ge(StringUtils.isNotBlank(startTime),KwtLogisticsOrder::getLoadTime, startTime)
-                        .le(StringUtils.isNotBlank(startTime),KwtLogisticsOrder::getUnloadTime, endTime)
+                        .ge(Objects.nonNull(startTime),KwtLogisticsOrder::getCreateTime, startTime)
+                        .le(Objects.nonNull(endTime),KwtLogisticsOrder::getCreateTime, endTime)
                         .orderByDesc(KwtLogisticsOrder::getUpdateTime)
                         .orderByDesc(KwtLogisticsOrder::getId)
         );

+ 8 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -2331,10 +2331,16 @@ public class KwtLogisticsConsignmentService {
      */
     private IPage<KwtLogisticsOrder> queryLogisticsOrdersPage(Set<Long> logOrderIds, QueryLogisticsOrderReq req) {
         QueryLogisticsOrderReq optimizedReq = optimizeRequestWithFilters(req);
+        Date startDate = null;
+        Date endDate = null;
+        if (org.apache.commons.lang3.StringUtils.isNoneBlank(optimizedReq.getStartTime(), optimizedReq.getEndTime())) {
+            startDate = DateUtils.getStartDate(optimizedReq.getStartTime());
+            endDate = DateUtils.getEndDate(optimizedReq.getEndTime());
+        }
         return logisticsOrderRepository.queryByPage(
                 logOrderIds, optimizedReq.getTradeOrderId(), optimizedReq.getOrderNo(),
-                optimizedReq.getOrderStatus(), optimizedReq.getStartTime(),
-                optimizedReq.getEndTime(), optimizedReq.getPageNum(), optimizedReq.getPageSize());
+                optimizedReq.getOrderStatus(), startDate,
+                endDate, optimizedReq.getPageNum(), optimizedReq.getPageSize());
     }
 
     /**