From cd4fcbc4243ef3e4824f8ea4ac43f02a8902fae9 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 30 一月 2026 16:59:54 +0800
Subject: [PATCH] 仓储物流(运费结算)
---
src/main/java/com/ruoyi/fakeWarehousing/service/impl/FakeDeliveryTrackServiceImpl.java | 72 ++++++++++++++++++++++++++++++++++++
1 files changed, 72 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/fakeWarehousing/service/impl/FakeDeliveryTrackServiceImpl.java b/src/main/java/com/ruoyi/fakeWarehousing/service/impl/FakeDeliveryTrackServiceImpl.java
new file mode 100644
index 0000000..053ec68
--- /dev/null
+++ b/src/main/java/com/ruoyi/fakeWarehousing/service/impl/FakeDeliveryTrackServiceImpl.java
@@ -0,0 +1,72 @@
+package com.ruoyi.fakeWarehousing.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.fakeWarehousing.dto.FakeDeliveryTrackDto;
+import com.ruoyi.fakeWarehousing.mapper.FakeCarrierOrderMapper;
+import com.ruoyi.fakeWarehousing.mapper.FakeDeliveryTrackMapper;
+import com.ruoyi.fakeWarehousing.pojo.FakeCarrierOrder;
+import com.ruoyi.fakeWarehousing.pojo.FakeDeliveryTrack;
+import com.ruoyi.fakeWarehousing.service.IFakeDeliveryTrackService;
+import lombok.RequiredArgsConstructor;
+import org.apache.poi.util.StringUtil;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
+/**
+ * 鍙戣揣璺熻釜绠$悊Service瀹炵幇绫�
+ */
+@Service
+@RequiredArgsConstructor
+public class FakeDeliveryTrackServiceImpl extends ServiceImpl<FakeDeliveryTrackMapper, FakeDeliveryTrack>
+ implements IFakeDeliveryTrackService {
+
+ private final FakeCarrierOrderMapper fakeCarrierOrderMapper;
+
+ /**
+ * 鍒嗛〉鏌ヨ鍙戣揣璺熻釜鍒楄〃
+ * @param page 鍒嗛〉鍙傛暟
+ * @return 鍒嗛〉缁撴灉
+ */
+ @Override
+ public IPage<FakeDeliveryTrack> selectAll(Page<FakeDeliveryTrack> page, FakeDeliveryTrackDto fakeDeliveryTrackDto) {
+ LambdaQueryWrapper<FakeDeliveryTrack> wrapper = new LambdaQueryWrapper<>();
+
+ // 1. 鍏抽敭瀛梜eyword锛氭ā绯婂尮閰嶆壙杩愬晢鍚嶇О銆佽溅鐗屽彿銆佽鍗曠紪鍙凤紙浠绘剰涓�涓尮閰嶏級
+ if (StringUtil.isNotBlank(fakeDeliveryTrackDto.getKeyword())) {
+ wrapper.and(w -> w.like(FakeDeliveryTrack::getCarrierName, fakeDeliveryTrackDto.getKeyword())
+ .or().like(FakeDeliveryTrack::getVehicleNo, fakeDeliveryTrackDto.getKeyword())
+ .or().like(FakeDeliveryTrack::getOrderCode, fakeDeliveryTrackDto.getKeyword()));
+ }
+
+ // 2. 鍙戣揣鏃堕棿shipTime锛氬尮閰峀ocalDate[startDate, endDate]鏃堕棿鑼冨洿锛堟牳蹇冮�傞厤閫昏緫锛�
+ LocalDate startDate = fakeDeliveryTrackDto.getStartDate();
+ LocalDate endDate = fakeDeliveryTrackDto.getEndDate();
+ if (startDate != null) {
+ LocalDateTime startDateTime = LocalDateTime.of(startDate, LocalTime.MIN);
+ wrapper.ge(FakeDeliveryTrack::getShipTime, startDateTime);
+ }
+ if (endDate != null) {
+ LocalDateTime endDateTime = LocalDateTime.of(endDate, LocalTime.MAX);
+ wrapper.le(FakeDeliveryTrack::getShipTime, endDateTime);
+ }
+
+ wrapper.orderByDesc(FakeDeliveryTrack::getShipTime);
+
+ return baseMapper.selectPage(page, wrapper);
+ }
+
+ @Override
+ public boolean saveDetail(FakeDeliveryTrack track) {
+ fakeCarrierOrderMapper.update(null, new LambdaUpdateWrapper<FakeCarrierOrder>()
+ .eq(FakeCarrierOrder::getId, track.getOrderId())
+ .set(FakeCarrierOrder::getOrderStatus, 2));
+ return baseMapper.insert(track) > 0;
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3