瀏覽代碼

提交全图监控

chenxiaofei 1 月之前
父節點
當前提交
7a4aa2af24

+ 11 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwtLogisticsOrderController.java

@@ -11,6 +11,7 @@ import com.sckw.transport.model.dto.LogisticsOrderFinishDto;
 import com.sckw.transport.model.dto.LogisticsOrderSubcontractDto;
 import com.sckw.transport.model.param.AddLogisticsOrderParam;
 import com.sckw.transport.model.param.LogisticsOrderResp;
+import com.sckw.transport.model.param.LogisticsOrderUnitReq;
 import com.sckw.transport.model.param.QueryLogisticsOrderReq;
 import com.sckw.transport.model.vo.*;
 import com.sckw.transport.service.KwtLogisticsConsignmentService;
@@ -24,7 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-
+import java.util.List;
 /**
  * @author lfdc
  * @desc 物流订单Controller-v4.2
@@ -195,4 +196,13 @@ public class KwtLogisticsOrderController {
     public BaseResult<OrderStatusStatisticsResp> orderStatusStatistics(@RequestBody QueryLogisticsOrderReq req) {
         return BaseResult.success(logisticsConsignmentService.orderStatusStatistics(req));
     }
+
+    /**
+     * 查询物流订单托运/承运企业(unitType:1托运、2承运)
+     */
+    @PostMapping("/orderUnits")
+    @Operation(summary = "查询物流订单托运/承运企业")
+    public BaseResult<List<LogisticsOrderUnitResp>> orderUnits(@RequestBody @Valid LogisticsOrderUnitReq req) {
+        return BaseResult.success(transportCommonService.queryOrderUnits(req.getLogisticOrderId()));
+    }
 }

+ 21 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsOrderUnitReq.java

@@ -0,0 +1,21 @@
+package com.sckw.transport.model.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author PC
+ */
+@Data
+public class LogisticsOrderUnitReq implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 7624865925084141417L;
+    @Schema(description = "物流订单ID")
+    @NotNull(message = "物流订单ID不能为空")
+    private Long logisticOrderId;
+}
+

+ 31 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/LogisticsOrderUnitResp.java

@@ -0,0 +1,31 @@
+package com.sckw.transport.model.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class LogisticsOrderUnitResp implements Serializable {
+    @Schema(description = "主键")
+    private Long id;
+    @Schema(description = "物流订单ID")
+    private Long lOrderId;
+    @Schema(description = "单位类型(1托运企业、2承运企业)")
+    private Integer unitType;
+    @Schema(description = "顶级企业ID")
+    private Long topEntId;
+    @Schema(description = "企业ID")
+    private Long entId;
+    @Schema(description = "企业名称")
+    private String firmName;
+    @Schema(description = "联系人ID")
+    private Long contactsId;
+    @Schema(description = "联系人姓名")
+    private String contacts;
+    @Schema(description = "联系电话")
+    private String phone;
+    @Schema(description = "备注")
+    private String remark;
+}
+

+ 9 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtLogisticsOrderUnitRepository.java

@@ -62,4 +62,13 @@ public class KwtLogisticsOrderUnitRepository extends ServiceImpl<KwtLogisticsOrd
                 .eq(KwtLogisticsOrderUnit::getDelFlag, 0)
                 .in(KwtLogisticsOrderUnit::getLOrderId, lOrderIds));
     }
+
+    public List<KwtLogisticsOrderUnit> queryListByLOrderId(Long lOrderId) {
+        return list(Wrappers.<KwtLogisticsOrderUnit>lambdaQuery()
+                        .eq(KwtLogisticsOrderUnit::getDelFlag, 0)
+                        .eq(KwtLogisticsOrderUnit::getLOrderId, lOrderId)
+                        .in(KwtLogisticsOrderUnit::getUnitType, 1, 2)
+                        .orderByDesc(KwtLogisticsOrderUnit::getCreateTime)
+        );
+    }
 }

+ 40 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtTransportCommonService.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.contract.api.RemoteContractService;
@@ -44,11 +45,15 @@ import com.sckw.transport.model.*;
 import com.sckw.transport.model.dto.*;
 import com.sckw.transport.model.param.ContractParam;
 import com.sckw.transport.model.param.LogisticsOrderParam;
+import com.sckw.transport.model.vo.LogisticsOrderUnitResp;
 import com.sckw.transport.model.vo.*;
+import com.sckw.transport.repository.KwtLogisticsOrderUnitRepository;
 import io.seata.spring.annotation.GlobalTransactional;
 import jakarta.annotation.Resource;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
@@ -67,6 +72,7 @@ import java.util.stream.Collectors;
  */
 @Slf4j
 @Service
+@RequiredArgsConstructor
 public class KwtTransportCommonService {
 
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 10000)
@@ -136,6 +142,7 @@ public class KwtTransportCommonService {
     @Autowired
     private KwtLogisticsOrderLineFreightRateMapper kwtLogisticsOrderLineFreightRateMapper;
 
+    public final KwtLogisticsOrderUnitRepository logisticsOrderUnitRepository;
     /**
      * 查看订单详情
      *
@@ -1878,4 +1885,37 @@ public class KwtTransportCommonService {
         }
 
     }
+
+    /**
+     * 查询物流订单托运/承运企业
+     */
+    public List<LogisticsOrderUnitResp> queryOrderUnits(Long lOrderId) {
+        log.info("查询物流订单托运/承运企业---> lOrderId:{}", lOrderId);
+        if (lOrderId == null) {
+            throw new BusinessException("物流订单ID不能为空");
+        }
+        List<KwtLogisticsOrderUnit> units =logisticsOrderUnitRepository.queryListByLOrderId(lOrderId);
+        if (CollectionUtils.isEmpty(units)){
+            return List.of();
+        }
+        return units.stream()
+                .map(KwtTransportCommonService::getLogisticsOrderUnitResp).
+                collect(Collectors.toList());
+    }
+
+    @NotNull
+    private static LogisticsOrderUnitResp getLogisticsOrderUnitResp(KwtLogisticsOrderUnit u) {
+        LogisticsOrderUnitResp resp = new LogisticsOrderUnitResp();
+        resp.setId(u.getId());
+        resp.setLOrderId(u.getLOrderId());
+        resp.setUnitType(u.getUnitType());
+        resp.setTopEntId(u.getTopEntId());
+        resp.setEntId(u.getEntId());
+        resp.setFirmName(u.getFirmName());
+        resp.setContactsId(u.getContactsId());
+        resp.setContacts(u.getContacts());
+        resp.setPhone(u.getPhone());
+        resp.setRemark(u.getRemark());
+        return resp;
+    }
 }