Browse Source

拼团订单列表

yubin 1 tuần trước cách đây
mục cha
commit
5b124c7de3

+ 24 - 4
mall-service/src/main/java/com/txz/mall/business/impl/PinkServiceBusinessImpl.java

@@ -2,9 +2,11 @@ package com.txz.mall.business.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.txz.cif.dto.EarningsDTO;
 import com.txz.cif.dto.UserDTO;
 import com.txz.mall.business.PinkServiceBusiness;
 import com.txz.mall.core.ServiceException;
+import com.txz.mall.dubbo.client.CifRedEnvelopeDubboServiceClient;
 import com.txz.mall.dubbo.client.CifUserDubboServiceClient;
 import com.txz.mall.enums.PinkOrderStatusEnum;
 import com.txz.mall.enums.StorePinkStatusEnum;
@@ -41,7 +43,7 @@ public class PinkServiceBusinessImpl implements PinkServiceBusiness {
     private final StorePinkService storePinkService;
     private final StoreCombinationService storeCombinationService;
     private final CifUserDubboServiceClient cifUserDubboServiceClient;
-
+    private final CifRedEnvelopeDubboServiceClient cifRedEnvelopeDubboServiceClient;
     @Override
     public List<StorePinkDetailVO> getAdminList(Long pinkId,String terminal) {
 
@@ -77,17 +79,29 @@ public class PinkServiceBusinessImpl implements PinkServiceBusiness {
 
             Map<Long, UserDTO> userDTOMap = new HashMap<>();
             Map<Long, StoreOrder> storeOrderMap = new HashMap<>();
-
+            //收益
+            Map<String, EarningsDTO> earningsDTOMap = new HashMap<>();
 
             if (!CollectionUtils.isEmpty(pinkList)) {
 
+
+
                 List<String> orderCodeList = pinkList.stream().map(StorePink::getOrderId).collect(Collectors.toList());
+
+
                 Condition conditionOrder = new Condition(StoreOrder.class);
                 Example.Criteria criteriaOrder = conditionOrder.createCriteria();
                 criteriaOrder.andEqualTo("isDelete", 0);
                 criteriaOrder.andIn("orderId", orderCodeList);
                 List<StoreOrder> storeOrderList = storeOrderService.findByCondition(conditionOrder);
 
+                //查询订单收益
+                List<EarningsDTO> earningsByOrders = cifRedEnvelopeDubboServiceClient.getEarningsByOrders(orderCodeList);
+                if(!CollectionUtils.isEmpty(earningsByOrders)){
+                    earningsDTOMap = earningsByOrders.stream().filter(a->!ObjectUtils.isEmpty(a)).collect(Collectors.toMap(EarningsDTO::getOrderNo, a -> a, (b, c) -> c));
+
+                }
+
                 if(!CollectionUtils.isEmpty(storeOrderList)){
                   storeOrderMap = storeOrderList.stream().collect(Collectors.toMap(StoreOrder::getId, a -> a, (b, c) -> c));
                 }
@@ -106,14 +120,20 @@ public class PinkServiceBusinessImpl implements PinkServiceBusiness {
                         storePinkDetailVO.setAvatar(userDTO.getHeadPic());
                         if("pc".equals(terminal)) {
                             StoreOrder storeOrder = storeOrderMap.get(pink.getOrderIdKey());
+
+                            EarningsDTO earningsDTO = earningsDTOMap.get(pink.getOrderId());
+
                             if(!ObjectUtils.isEmpty(storeOrder)){
                                 storePinkDetailVO.setOrderId(storeOrder.getOrderId());   //订单id
                                 storePinkDetailVO.setPayTime(storeOrder.getPayTime());  //支付时间
-                                storePinkDetailVO.setCommission(BigDecimal.TEN);//佣金
+
                                 storePinkDetailVO.setCreateTime(storeOrder.getCreateTime());//下单时间
                             }
-                            storePinkDetailVO.setUserPhone(userDTO.getPhoneNo());
+                            if(!ObjectUtils.isEmpty(earningsDTO)){
+                                storePinkDetailVO.setCommission(earningsDTO.getEarnings());//返利
+                            }
 
+                            storePinkDetailVO.setUserPhone(userDTO.getPhoneNo());
 
                         }
                         storePinkDetailVO.setNickname(userDTO.getName());

+ 25 - 0
mall-service/src/main/java/com/txz/mall/dubbo/client/CifRedEnvelopeDubboServiceClient.java

@@ -0,0 +1,25 @@
+package com.txz.mall.dubbo.client;
+
+import com.txz.cif.dto.EarningsDTO;
+import com.txz.cif.service.AccountDubboService;
+import com.txz.cif.service.RedEnvelopeDubboService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.Reference;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Slf4j
+@Component
+public class CifRedEnvelopeDubboServiceClient {
+
+    @Reference
+    private RedEnvelopeDubboService redEnvelopeDubboService;
+
+
+   public List<EarningsDTO> getEarningsByOrders(List<String> var1){
+       return redEnvelopeDubboService.getEarningsByOrders(var1);
+   }
+
+
+}