Ver código fonte

提交全图监控

chenxiaofei 1 mês atrás
pai
commit
2afe307d0a

+ 1 - 0
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/dubbo/TradeOrderInfoService.java

@@ -129,6 +129,7 @@ public interface TradeOrderInfoService {
     Boolean associateEnt(Long firstEntId, Long secondEntId);
 
     OrderDetailVo queryByTradeOrderId(Long tradeOrderId);
+    List<OrderDetailVo> queryByTradeOrderIds(Set<Long> tradeOrderId);
 
     /**
      * 通交易订单id查询交易订单采购/销售企业信息     * @param tradeOrderId

+ 6 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/param/AddLogisticOrderParam.java

@@ -216,4 +216,10 @@ public class AddLogisticOrderParam implements Serializable {
      */
     @NotBlank(message = "经度不能为空")
     private String unloadLng;
+
+    /**
+     * 计费方式
+     */
+    @NotNull(message = "计费方式不能为空")
+    private String billingMode;
 }

+ 1 - 5
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/param/LogisticInfo.java

@@ -125,11 +125,7 @@ public class LogisticInfo implements Serializable {
          */
         @NotBlank(message = "合理损耗单位不能为空")
         private String lossUnit;
-        /**
-         * 计费方式
-         */
-        @NotNull(message = "计费方式不能为空")
-        private String billingMode;
+
 
         /**
          * 备注

+ 35 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderInfoServiceImpl.java

@@ -25,6 +25,7 @@ import com.sckw.stream.model.SckwBusSum;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboService;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.transaction.annotation.Transactional;
@@ -577,6 +578,40 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
         return orderDetailRes;
     }
 
+    @Override
+    public List<OrderDetailVo> queryByTradeOrderIds(Set<Long> tradeOrderIds) {
+         List<KwoTradeOrder> kwoTradeOrders = kwoTradeOrderRepository.queryByTradeOrderIds(tradeOrderIds);
+         if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwoTradeOrders)){
+             return List.of();
+         }
+
+        return kwoTradeOrders.stream().map(TradeOrderInfoServiceImpl::getOrderDetailVo).collect(Collectors.toList());
+    }
+
+    @NotNull
+    private static OrderDetailVo getOrderDetailVo(KwoTradeOrder x) {
+        OrderDetailVo orderDetailVo = new OrderDetailVo();
+        orderDetailVo.setEntId(x.getEntId());
+        orderDetailVo.setId(x.getId());
+        orderDetailVo.setTOrderNo(x.getTOrderNo());
+        orderDetailVo.setAmount(x.getAmount());
+        orderDetailVo.setUnit(x.getUnit());
+        orderDetailVo.setPrice(x.getPrice());
+        orderDetailVo.setTrading(x.getTrading());
+        orderDetailVo.setPickupType(x.getPickupType());
+        orderDetailVo.setDeliveryType(x.getDeliveryType());
+        orderDetailVo.setStartTime(x.getStartTime());
+        orderDetailVo.setEndTime(x.getEndTime());
+        orderDetailVo.setEntrustAmount(x.getEntrustAmount());
+        orderDetailVo.setActualAmount(x.getActualAmount());
+        orderDetailVo.setAssociateStatement(x.getAssociateStatement());
+        orderDetailVo.setSource(x.getSource());
+        orderDetailVo.setChargeType(x.getChargeType());
+        orderDetailVo.setConsignmentWay(x.getConsignmentWay());
+        orderDetailVo.setStatus(x.getStatus());
+        return orderDetailVo;
+    }
+
     @Override
     public List<Long> querySignGoods(Long entId) {
         return kwoTradeOrderService.querySignGoods(entId);

+ 6 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/repository/KwoTradeOrderRepository.java

@@ -43,4 +43,10 @@ public class KwoTradeOrderRepository extends ServiceImpl<KwoTradeOrderMapper, Kw
                 .eq(KwoTradeOrder::getId, tradeOrderId)
                 .eq(KwoTradeOrder::getDelFlag, 0));
     }
+
+    public List<KwoTradeOrder> queryByTradeOrderIds(Set<Long> tradeOrderIds) {
+        return list(Wrappers.<KwoTradeOrder>lambdaQuery()
+                .eq(KwoTradeOrder::getDelFlag, 0)
+                .in(KwoTradeOrder::getId, tradeOrderIds));
+    }
 }

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dubbo/TransportServiceImpl.java

@@ -1295,6 +1295,7 @@ public class TransportServiceImpl implements TransportRemoteService {
         addLogisticOrderDTO.setLoadLng(param.getLoadLng());
         addLogisticOrderDTO.setUnloadLat(param.getUnloadLat());
         addLogisticOrderDTO.setUnloadLng(param.getUnloadLng());
+        addLogisticOrderDTO.setBillingMode(param.getBillingMode());
         return addLogisticOrderDTO;
     }
 
@@ -1322,7 +1323,6 @@ public class TransportServiceImpl implements TransportRemoteService {
         info.setPayment(logistic.getPayment());
         info.setSigningWay(logistic.getSigningWay());
         info.setLossUnit(logistic.getLossUnit());
-        info.setBillingMode(logistic.getBillingMode());
         info.setRemark(logistic.getRemark());
         info.setType(logistic.getType());
         return info;

+ 4 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/AddLogisticOrderDTO.java

@@ -216,4 +216,8 @@ public class AddLogisticOrderDTO implements Serializable {
      */
     @NotBlank(message = "经度不能为空")
     private String unloadLng;
+    /**
+     * 计费方式
+     */
+    private String billingMode;
 }

+ 1 - 5
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/LogisticData.java

@@ -128,11 +128,7 @@ public  class LogisticData implements Serializable {
          */
         @NotBlank(message = "合理损耗单位不能为空")
         private String lossUnit;
-        /**
-         * 计费方式
-         */
-        @NotNull(message = "计费方式不能为空")
-        private String billingMode;
+
 
         /**
          * 备注

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtAcceptCarriageOrderService.java

@@ -3444,7 +3444,7 @@ public class KwtAcceptCarriageOrderService {
         kwtLogisticsOrder.setLOrderNo(lOrderNo);
         kwtLogisticsOrder.setPid(lOrderId);
         kwtLogisticsOrder.setPids(lOrderId.toString());
-        kwtLogisticsOrder.setBillingMode(x.getBillingMode());
+        kwtLogisticsOrder.setBillingMode(orderDTO.getBillingMode());
         kwtLogisticsOrder.setPrice(x.getPrice());
         kwtLogisticsOrder.setPriceType(x.getPriceType());
         kwtLogisticsOrder.setAmount(x.getAmount());

+ 19 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -2263,6 +2263,17 @@ public class KwtLogisticsConsignmentService {
                     .collect(Collectors.toMap(x -> x.getLOrderId() + "-" + x.getUnitType(),
                             Function.identity(), (x, y) -> x));
         }
+        //查询贸易订单
+        Set<Long> tradeIds = records.stream()
+                .map(KwtLogisticsOrder::getTOrderId)
+                .collect(Collectors.toSet());
+        Map<Long, OrderDetailVo> tradeIdAndOrderDetailVoMap = Maps.newHashMap();
+        if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeIds)){
+            List<OrderDetailVo> orderDetailVos = tradeOrderInfoService.queryByTradeOrderIds(tradeIds);
+            tradeIdAndOrderDetailVoMap = orderDetailVos.stream()
+                    .collect(Collectors.toMap(OrderDetailVo::getId, Function.identity(), (x, y) -> x));
+        }
+
         //查询商品信息
         List<KwtLogisticsOrderGoods> logOrderGoodsList =logisticsOrderGoodsRepository.queryByLogOrderIds(logOrderIdList);
 
@@ -2302,9 +2313,11 @@ public class KwtLogisticsConsignmentService {
         Map<Long, KwtLogisticsOrderContract> finalLogOrderIdAndContractMap = logOrderIdAndContractMap;
 
         Map<String, SysDictResDto> finalDictValueAndDictResDtoMap = dictValueAndDictResDtoMap;
+        Map<Long, OrderDetailVo> finalTradeIdAndOrderDetailVoMap = tradeIdAndOrderDetailVoMap;
         List<LogisticsOrderResp> resps = records.stream()
                 .map(x ->getLogisticsOrderResp(x, finalLogOrderIdAndUnitTypeKeyAndUnitMap, finalLogIdAndGoodsMap
-                        , finalGoodsIdAndGoodsMap, finalLogisticsOrderIdAndUnitTypeKeyAndAddressMap, finalLogOrderIdAndContractMap, finalDictValueAndDictResDtoMap))
+                        , finalGoodsIdAndGoodsMap, finalLogisticsOrderIdAndUnitTypeKeyAndAddressMap, finalLogOrderIdAndContractMap,
+                        finalDictValueAndDictResDtoMap, finalTradeIdAndOrderDetailVoMap))
                 .collect(Collectors.toList());
         if(org.apache.commons.lang3.StringUtils.isNotBlank(req.getConsignCompanyId())){
             resps = resps.stream()
@@ -2430,7 +2443,8 @@ public class KwtLogisticsConsignmentService {
                                                             Map<Long, KwpGoods> finalGoodsIdAndGoodsMap,
                                                             Map<String, KwtLogisticsOrderAddress> finalLogisticsOrderIdAndUnitTypeKeyAndAddressMap,
                                                             Map<Long, KwtLogisticsOrderContract> finalLogOrderIdAndContractMap,
-                                                            Map<String, SysDictResDto> dictValueAndDictResDtoMap) {
+                                                            Map<String, SysDictResDto> dictValueAndDictResDtoMap,
+                                                            Map<Long, OrderDetailVo> tradeIdAndOrderDetailVoMap) {
         LogisticsOrderResp logisticsOrderResp = new LogisticsOrderResp();
         logisticsOrderResp.setLogisticsOrderId(String.valueOf(kwtLogisticsOrder.getId()));
         logisticsOrderResp.setLogisticsOrderNo(kwtLogisticsOrder.getLOrderNo());
@@ -2456,8 +2470,9 @@ public class KwtLogisticsConsignmentService {
         logisticsOrderResp.setChargeType(kwtLogisticsOrder.getBillingMode());
         logisticsOrderResp.setChargeTypeDesc(DictEnum.getLabel(DictTypeEnum.CHARGING_TYPE.getType(),
                 String.valueOf(kwtLogisticsOrder.getBillingMode())));
-        logisticsOrderResp.setAmount(Objects.nonNull(kwtLogisticsOrder.getAmount()) ?
-                kwtLogisticsOrder.getAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
+        OrderDetailVo orderDetailVo = tradeIdAndOrderDetailVoMap.getOrDefault(kwtLogisticsOrder.getTOrderId(), new OrderDetailVo());
+        logisticsOrderResp.setAmount(Objects.nonNull(orderDetailVo.getAmount()) ?
+                orderDetailVo.getAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
         BigDecimal expectedTransportPrice = BigDecimal.ZERO;
         BigDecimal actualTransportPrice = BigDecimal.ZERO;
         expectedTransportPrice =