Explorar el Código

企业解除合作关系判断是否有关联订单dubbo接口

yzc hace 2 años
padre
commit
84238c1d96

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

@@ -65,11 +65,22 @@ public interface TradeOrderInfoService {
     void updateAssociateStatement(UpdateAssociateStatementParam param);
 
     /**
-     * @desc: 是否关联企业  true是,false否
+     * @desc: 是否关联企业  true是,false否 (废弃)
      * @author: yzc
      * @date: 2023-08-16 16:20
      * @Param entId:
      * @return: java.lang.Boolean
      */
+    @Deprecated
     Boolean associateEnt(Long entId);
+
+    /**
+     * @desc: 是否关联企业  true是,false否
+     * @author: yzc
+     * @date: 2023-08-30 9:08
+     * @Param firstEntId:
+     * @Param secondEntId:
+     * @return: java.lang.Boolean
+     */
+    Boolean associateEnt(Long firstEntId,Long secondEntId);
 }

+ 13 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderInfoServiceImpl.java

@@ -31,6 +31,7 @@ import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.Set;
 
 /**
  * @desc: 订单dubbo实现
@@ -265,8 +266,18 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
 
     @Override
     public Boolean associateEnt(Long entId) {
-        List<Long> tOrderIds = tradeOrderUnitService.associateEntOrderId(entId);
-        if (CollectionUtils.isEmpty(tOrderIds)){
+        Set<Long> tOrderIds = tradeOrderUnitService.associateEntOrderId(entId, entId);
+        if (CollectionUtils.isEmpty(tOrderIds)) {
+            return Boolean.FALSE;
+        }
+        List<KwoTradeOrder> list = kwoTradeOrderService.associateEnt(tOrderIds);
+        return CollectionUtils.isNotEmpty(list);
+    }
+
+    @Override
+    public Boolean associateEnt(Long firstEntId, Long secondEntId) {
+        Set<Long> tOrderIds = tradeOrderUnitService.associateEntOrderId(firstEntId, secondEntId);
+        if (CollectionUtils.isEmpty(tOrderIds)) {
             return Boolean.FALSE;
         }
         List<KwoTradeOrder> list = kwoTradeOrderService.associateEnt(tOrderIds);

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -1049,9 +1049,9 @@ public class KwoTradeOrderService {
      * @author: yzc
      * @date: 2023-08-17 17:34
      * @Param tOrderIds:
-     * @return: java.util.List<com.sckw.order.model.KwoTradeOrder>
+     * @return: java.util.Collection<com.sckw.order.model.KwoTradeOrder>
      */
-    public List<KwoTradeOrder> associateEnt(List<Long> tOrderIds) {
+    public List<KwoTradeOrder> associateEnt(Collection<Long> tOrderIds) {
         LambdaQueryWrapper<KwoTradeOrder> wrapper = new LambdaQueryWrapper<>();
         wrapper.in(KwoTradeOrder::getId, tOrderIds).eq(KwoTradeOrder::getDelFlag, Global.NO)
                 .in(KwoTradeOrder::getStatus, 1, 2, 3, 4);

+ 17 - 9
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderUnitService.java

@@ -11,9 +11,8 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @desc: 交易订单采购/销售企业信息service
@@ -132,17 +131,26 @@ public class KwoTradeOrderUnitService {
      * @desc: 否关联企业  true是,false否
      * @author: yzc
      * @date: 2023-08-16 16:22
-     * @Param entId:
+     * @Param firstEndId:
+     * @Param secondEntId:
      * @return: java.lang.Boolean
      */
-    public List<Long> associateEntOrderId(Long entId) {
+    public Set<Long> associateEntOrderId(Long firstEndId, Long secondEntId) {
+        List<Long> entIds = Arrays.asList(firstEndId, secondEntId);
         LambdaQueryWrapper<KwoTradeOrderUnit> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwoTradeOrderUnit::getEntId, entId).eq(KwoTradeOrderUnit::getDelFlag, Global.NO);
-        Long count = kwoTradeOrderUnitMapper.selectCount(wrapper);
+        wrapper.in(KwoTradeOrderUnit::getEntId, entIds).eq(KwoTradeOrderUnit::getDelFlag, Global.NO);
         List<KwoTradeOrderUnit> list = kwoTradeOrderUnitMapper.selectList(wrapper);
         if (CollectionUtils.isEmpty(list)) {
-            return Collections.emptyList();
+            return Collections.emptySet();
         }
-        return list.stream().map(KwoTradeOrderUnit::getTOrderId).distinct().toList();
+        Set<Long> orderIds = new HashSet<>();
+        Map<Long, Set<Long>> map = list.stream().collect(Collectors.groupingBy(KwoTradeOrderUnit::getTOrderId,
+                Collectors.mapping(KwoTradeOrderUnit::getEntId, Collectors.toSet())));
+        map.forEach((k,v)->{
+            if (v.containsAll(entIds)){
+                orderIds.add(k);
+            }
+        });
+        return orderIds;
     }
 }