ソースを参照

拼团订单列表

yubin 1 週間 前
コミット
48dfd1a8f5

+ 0 - 27
mall-interface/src/main/java/com/txz/mall/service/StorePinkSummaryServiceClient.java

@@ -1,27 +0,0 @@
-package com.txz.mall.service;
-
-
-import com.txz.mall.dto.*;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.*;
-import java.util.List;
-
-
-@FeignClient("mall")
-public interface StorePinkSummaryServiceClient {
-
-	@RequestMapping( value = {"/store/pink/summary/add"}, method = {RequestMethod.POST} )
-    public Result add(@RequestBody StorePinkSummaryDPO storePinkSummary,@RequestParam("userId") Long userId);
-
-	@RequestMapping( value = {"/store/pink/summary/delete"}, method = {RequestMethod.POST} )
-	public Result delete(@RequestParam("id") Integer id,@RequestParam("userId") Long userId);
-
-	@RequestMapping( value = {"/store/pink/summary/update"}, method = {RequestMethod.POST} )
-	public Result update(@RequestBody StorePinkSummaryDPO storePinkSummary,@RequestParam("userId") Long userId);
-
-	@RequestMapping( value = {"/store/pink/summary/detail"}, method = {RequestMethod.POST} )
-	public Result<StorePinkSummaryDPO> detail(@RequestParam("id") Integer id,@RequestParam("userId") Long userId);
-
-	@RequestMapping( value = {"/store/pink/summary/list"}, method = {RequestMethod.POST} )
-	public Result<List<StorePinkSummaryDPO>> list(@RequestBody StorePinkSummaryDPO storePinkSummary, @RequestParam("page") Integer page, @RequestParam("size") Integer size,@RequestParam("userId") Long userId);
-}

+ 1 - 1
mall-service/src/main/java/com/txz/mall/business/PinkServiceBusiness.java

@@ -16,7 +16,7 @@ public interface PinkServiceBusiness {
      * @param pinkId 团长pinkId
      * @return
      */
-    List<StorePinkDetailVO> getAdminList(Integer pinkId);
+    List<StorePinkDetailVO> getAdminList(Long pinkId);
 
     /**
      * 拼团失败----到点自动退回余额

+ 56 - 32
mall-service/src/main/java/com/txz/mall/business/impl/PinkServiceBusinessImpl.java

@@ -2,8 +2,12 @@ package com.txz.mall.business.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.txz.cif.dto.UserDTO;
 import com.txz.mall.business.PinkServiceBusiness;
 import com.txz.mall.core.ServiceException;
+import com.txz.mall.dubbo.client.CifUserDubboServiceClient;
+import com.txz.mall.enums.PinkOrderStatusEnum;
+import com.txz.mall.enums.StorePinkStatusEnum;
 import com.txz.mall.model.StoreOrder;
 import com.txz.mall.model.StorePink;
 import com.txz.mall.service.StoreCombinationService;
@@ -13,14 +17,14 @@ import lombok.AllArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
 import tk.mybatis.mapper.entity.Condition;
 import tk.mybatis.mapper.entity.Example;
 import vo.OrderRefundApplyVO;
 import vo.StorePinkDetailVO;
 
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -35,37 +39,59 @@ public class PinkServiceBusinessImpl implements PinkServiceBusiness {
     private final StoreOrderService storeOrderService;
     private final StorePinkService storePinkService;
     private final StoreCombinationService storeCombinationService;
+    private final CifUserDubboServiceClient cifUserDubboServiceClient;
 
     @Override
-    public List<StorePinkDetailVO> getAdminList(Integer pinkId) {
-        Condition condition = new Condition(StorePink.class);
-        Example.Criteria criteria = condition.createCriteria();
-        criteria.andEqualTo("isDelete", 0);
-        criteria.andEqualTo("id", pinkId);
+    public List<StorePinkDetailVO> getAdminList(Long pinkId) {
+
+        if (ObjectUtils.isEmpty(pinkId)) {
+            throw new ServiceException("拼团id为空");
+        }
+        StorePink storePink = storePinkService.findById(pinkId);
+        if (ObjectUtils.isEmpty(storePink)) {
+            throw new ServiceException("拼团数据不存在");
+        }
+        List<StorePinkDetailVO> resultList = new ArrayList<>();
+        if (StorePinkStatusEnum.RESULTS_ANNOUNCED.getKey().equals(storePink.getStatus())) {
+
+            Condition condition = new Condition(StorePink.class);
+            Example.Criteria criteria = condition.createCriteria();
+            criteria.andEqualTo("isDelete", 0);
+            criteria.andEqualTo("spsId", storePink.getSpsId());
+            ArrayList<Integer> integers = CollUtil.newArrayList(
+                    PinkOrderStatusEnum.GROUP_ORDER_TO_CLOSED.getKey(),
+                    PinkOrderStatusEnum.GROUP_ORDER_COMPLETED.getKey(),
+                    PinkOrderStatusEnum.GROUP_ORDER_TO_SHIP.getKey(),
+                    PinkOrderStatusEnum.GROUP_ORDER_TO_RECEVIE.getKey()
+            );
+            criteria.andIn("orderStatus", integers);
 //        criteria.andEqualTo("kId", pinkId);
-        List<StorePink> pinkList = storePinkService.findByCondition(condition);
-        pinkList = pinkList.stream()
-                .sorted(Comparator.comparing(StorePink::getId).reversed())
-                .collect(Collectors.toList());
-        // 将拼团状态提换为订单状态
-        return pinkList.stream().map(pink -> {
-            StorePinkDetailVO response = new StorePinkDetailVO();
-            BeanUtils.copyProperties(pink, response);
-            Condition orderCondition = new Condition(StoreOrder.class);
-            Example.Criteria orderCriteria = condition.createCriteria();
-            orderCriteria.andEqualTo("isDelete", 0);
-            orderCriteria.andEqualTo("id", pinkId);
-            orderCriteria.andEqualTo("orderId", pink.getOrderId());
-            StoreOrder storeOrder = storeOrderService.findByCondition(orderCondition).get(0);
-            if (ObjectUtil.isNotNull(storeOrder)) {
-                response.setOrderStatus(storeOrder.getStatus());
-                response.setRefundStatus(storeOrder.getRefundStatus());
-                response.setUserPhone(storeOrder.getUserPhone());
-                response.setName(storeOrder.getRealName());
-                response.setPayTime(storeOrder.getPayTime());
+            List<StorePink> pinkList = storePinkService.findByCondition(condition);
+
+            Map<Long, UserDTO> userDTOMap = new HashMap<>();
+            if (!CollectionUtils.isEmpty(pinkList)) {
+                List<Long> uidList = pinkList.stream().map(StorePink::getUid).filter(uid -> !ObjectUtils.isEmpty(uid)).collect(Collectors.toList());
+                if (!CollectionUtils.isEmpty(uidList)) {
+                    List<UserDTO> usersByIds = cifUserDubboServiceClient.getUsersByIds(uidList);
+                    userDTOMap = usersByIds.stream().collect(Collectors.toMap(UserDTO::getId, a -> a, (b, c) -> b));
+                }
+
+                for (StorePink pink : pinkList) {
+                    StorePinkDetailVO storePinkDetailVO = new StorePinkDetailVO();
+                    storePinkDetailVO.setId(pink.getId());
+                    UserDTO userDTO = userDTOMap.get(pink.getUid());
+                    if (!ObjectUtils.isEmpty(userDTO)) {
+                        storePinkDetailVO.setAvatar(userDTO.getHeadPic());
+                        // storePinkDetailVO.setUserPhone()
+                        storePinkDetailVO.setNickname(userDTO.getName());
+                        storePinkDetailVO.setUid(userDTO.getId());
+                    }
+                    resultList.add(storePinkDetailVO);
+                }
             }
-            return response;
-        }).collect(Collectors.toList());
+        }
+
+        return resultList;
     }
 
     /**
@@ -88,8 +114,6 @@ public class PinkServiceBusinessImpl implements PinkServiceBusiness {
         // 全部改失败
 
 
-
-
         /**
          * 1.判断是否拼团成功
          * 2.失败的拼团改为失败,订单申请退款

+ 1 - 1
mall-service/src/main/java/com/txz/mall/controller/PinkController.java

@@ -152,7 +152,7 @@ public class PinkController {
      */
     @ApiOperation(value = "拼团订单列表")
     @GetMapping(value = "/orderPink")
-    public Result<List<StorePinkDetailVO>> getPinkList(@RequestParam("id") Integer id) {
+    public Result<List<StorePinkDetailVO>> getPinkList(@RequestParam("id") Long id) {
         return Result.success(pinkServiceBusiness.getAdminList(id));
     }
 

+ 1 - 1
mall-service/src/main/java/com/txz/mall/controller/appcontroller/AppPinkController.java

@@ -152,7 +152,7 @@ public class AppPinkController {
      */
     @ApiOperation(value = "拼团订单列表")
     @GetMapping(value = "/orderPink")
-    public Result<List<StorePinkDetailVO>> getPinkList(@RequestParam("id") Integer id) {
+    public Result<List<StorePinkDetailVO>> getPinkList(@RequestParam("id") Long id) {
         return Result.success(pinkServiceBusiness.getAdminList(id));
     }
 

+ 5 - 4
mall-service/src/main/java/com/txz/mall/service/impl/StoreOrderServiceImpl.java

@@ -1270,12 +1270,12 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
             case 0:
                 break;
             case 1:
-                criteria.andEqualTo("status", 1);
+                criteria.andEqualTo("status", PinkOrderStatusEnum.GROUP_ORDER_TO_PAY.getKey());
                 break;
             case 2:
-                pinkCriteria.andEqualTo("status", 2);
+//                pinkCriteria.andEqualTo("status", 2);
                 pinkCriteria.andEqualTo("lId", 1);
-                pinkCriteria.andIn("orderStatus", Arrays.asList(3));
+//                pinkCriteria.andIn("orderStatus", Arrays.asList(3));
                 pinkList = storePinkService.findByCondition(pinkCondition);
                 if (CollUtil.isNotEmpty(pinkList)) {
                     criteria.andIn("id", pinkList.stream().map(StorePink::getOrderIdKey).collect(Collectors.toList()));
@@ -1284,7 +1284,7 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
             case 3:
                 pinkCriteria.andEqualTo("status", 2);
                 pinkCriteria.andEqualTo("lId", 0);
-                pinkCriteria.andIn("orderStatus", Arrays.asList(3));
+             //   pinkCriteria.andIn("orderStatus", Arrays.asList(3));
                 pinkList = storePinkService.findByCondition(pinkCondition);
                 if (CollUtil.isNotEmpty(pinkList)) {
                     criteria.andIn("id", pinkList.stream().map(StorePink::getOrderIdKey).collect(Collectors.toList()));
@@ -1903,6 +1903,7 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
         Example.Criteria pinkSummaryCriteria = pinkSummaryCondition.createCriteria();
         pinkSummaryCriteria.andEqualTo("isDelete", 0);
         pinkSummaryCriteria.andEqualTo("status", StorePinkStatusEnum.NOT_DRAWN.getKey());
+
         pinkSummaryCriteria.andLessThanOrEqualTo("stopTime",date);
         List<StorePinkSummary> byCondition = storePinkSummaryService.findByCondition(pinkSummaryCondition);
         //先锁定汇总表防止有新的成员加入进来,