|  |  |  | @ -2465,25 +2465,165 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y | 
			
		
	
		
			
				
					|  |  |  |  |         List<YxStoreOrderDto> storeOrderDTOS = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         for (YxStoreOrder yxStoreOrder : page.getList()) { | 
			
		
	
		
			
				
					|  |  |  |  |             this.orderList(storeOrderDTOS, yxStoreOrder); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | //        List<YxStoreOrderDto> list=this.newAssemble(page.getList());
 | 
			
		
	
		
			
				
					|  |  |  |  |         Map<String, Object> map = new LinkedHashMap<>(2); | 
			
		
	
		
			
				
					|  |  |  |  |         map.put("content", storeOrderDTOS); | 
			
		
	
		
			
				
					|  |  |  |  | //        map.put("content", list);
 | 
			
		
	
		
			
				
					|  |  |  |  |         map.put("totalElements", page.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |  |         return map; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * @param orderList 订单列表 | 
			
		
	
		
			
				
					|  |  |  |  |      * @return 组装后的订单列表 | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     private List<YxStoreOrderDto> newAssemble(List<YxStoreOrder> orderList){ | 
			
		
	
		
			
				
					|  |  |  |  |         //返回的数据List
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<YxStoreOrderDto> dtoList = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (!orderList.isEmpty()){ | 
			
		
	
		
			
				
					|  |  |  |  |             //店铺名id
 | 
			
		
	
		
			
				
					|  |  |  |  |             List<Integer> storeIdList = orderList.stream().filter(item -> item.getStoreId() > 0) | 
			
		
	
		
			
				
					|  |  |  |  |                     .map(YxStoreOrder::getStoreId).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |             List<YxSystemStore> systemStoreList = storeIdList.isEmpty() ? new ArrayList<>() : systemStoreService.listByIds(storeIdList); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             //购物车
 | 
			
		
	
		
			
				
					|  |  |  |  |             List<Long> orderIdList = orderList.stream().map(YxStoreOrder::getId).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |             List<YxStoreOrderCartInfo> cartInfoList = orderIdList.isEmpty() ? new ArrayList<>() : | 
			
		
	
		
			
				
					|  |  |  |  |                     storeOrderCartInfoService.list( | 
			
		
	
		
			
				
					|  |  |  |  |                             new LambdaQueryWrapper<YxStoreOrderCartInfo>().in(YxStoreOrderCartInfo::getOid, orderIdList)); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             //用户id
 | 
			
		
	
		
			
				
					|  |  |  |  |             List<Long> uidList = orderList.stream().map(YxStoreOrder::getUid).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |             List<YxUser> userList = uidList.isEmpty() ? new ArrayList<>() : userService.listByIds(uidList); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             dtoList = generator.convert(orderList, YxStoreOrderDto.class); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             //订单类型处理
 | 
			
		
	
		
			
				
					|  |  |  |  |             Map<Long, String> orderTypeMap = this.assembleOrderType(dtoList); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             //返回的数据List
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             for (YxStoreOrderDto yxStoreOrderDto : dtoList) { | 
			
		
	
		
			
				
					|  |  |  |  |                 Integer _status = OrderUtil.orderStatus(yxStoreOrderDto.getPaid(), yxStoreOrderDto.getStatus(), | 
			
		
	
		
			
				
					|  |  |  |  |                         yxStoreOrderDto.getRefundStatus()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 //订单状态
 | 
			
		
	
		
			
				
					|  |  |  |  |                 String orderStatusStr = OrderUtil.orderStatusStr(yxStoreOrderDto.getPaid() | 
			
		
	
		
			
				
					|  |  |  |  |                         , yxStoreOrderDto.getStatus(), yxStoreOrderDto.getShippingType() | 
			
		
	
		
			
				
					|  |  |  |  |                         , yxStoreOrderDto.getRefundStatus()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 //订单匹配店铺名
 | 
			
		
	
		
			
				
					|  |  |  |  |                 systemStoreList.stream().filter(item -> item.getId() == yxStoreOrderDto.getStoreId()).findAny() | 
			
		
	
		
			
				
					|  |  |  |  |                         .ifPresent(store -> { | 
			
		
	
		
			
				
					|  |  |  |  |                             yxStoreOrderDto.setStoreName(store.getName()); | 
			
		
	
		
			
				
					|  |  |  |  |                         }); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 if (_status == 3) { | 
			
		
	
		
			
				
					|  |  |  |  |                     String refundTime = DateUtil.formatDateTime(yxStoreOrderDto.getRefundReasonTime()); | 
			
		
	
		
			
				
					|  |  |  |  |                     String str = "<b style='color:#f124c7'>申请退款</b><br/>" + | 
			
		
	
		
			
				
					|  |  |  |  |                             "<span>退款原因:" + yxStoreOrderDto.getRefundReasonWap() + "</span><br/>" + | 
			
		
	
		
			
				
					|  |  |  |  |                             "<span>备注说明:" + yxStoreOrderDto.getRefundReasonWapExplain() + "</span><br/>" + | 
			
		
	
		
			
				
					|  |  |  |  |                             "<span>退款时间:" + refundTime + "</span><br/>"; | 
			
		
	
		
			
				
					|  |  |  |  |                     orderStatusStr = str; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 yxStoreOrderDto.setStatusName(orderStatusStr); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 yxStoreOrderDto.set_status(_status); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 //支付类型
 | 
			
		
	
		
			
				
					|  |  |  |  |                 String payTypeName = OrderUtil.payTypeName(yxStoreOrderDto.getPayType(), yxStoreOrderDto.getPaid()); | 
			
		
	
		
			
				
					|  |  |  |  |                 yxStoreOrderDto.setPayTypeName(payTypeName); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 //订单类型处理
 | 
			
		
	
		
			
				
					|  |  |  |  |                 yxStoreOrderDto.setPinkName(orderTypeMap.get(yxStoreOrderDto.getId()).isEmpty() ? | 
			
		
	
		
			
				
					|  |  |  |  |                         this.orderType(yxStoreOrderDto.getId() | 
			
		
	
		
			
				
					|  |  |  |  |                                 , yxStoreOrderDto.getPinkId(), yxStoreOrderDto.getCombinationId() | 
			
		
	
		
			
				
					|  |  |  |  |                                 , yxStoreOrderDto.getSeckillId(), yxStoreOrderDto.getBargainId(), | 
			
		
	
		
			
				
					|  |  |  |  |                                 yxStoreOrderDto.getShippingType(), yxStoreOrderDto.getPayIntegral()) | 
			
		
	
		
			
				
					|  |  |  |  |                         : orderTypeMap.get(yxStoreOrderDto.getId())); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 //购物车
 | 
			
		
	
		
			
				
					|  |  |  |  |                 List<YxStoreOrderCartInfo> orderCartList = cartInfoList.stream().filter(item -> item.getOid().equals(yxStoreOrderDto.getId())).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |                 List<StoreOrderCartInfoDto> cartInfoDTOS = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |                 for (YxStoreOrderCartInfo cartInfo : orderCartList) { | 
			
		
	
		
			
				
					|  |  |  |  |                     StoreOrderCartInfoDto cartInfoDTO = new StoreOrderCartInfoDto(); | 
			
		
	
		
			
				
					|  |  |  |  |                     cartInfoDTO.setCartInfoMap(JSON.parseObject(cartInfo.getCartInfo())); | 
			
		
	
		
			
				
					|  |  |  |  |                     cartInfoDTOS.add(cartInfoDTO); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 yxStoreOrderDto.setCartInfoList(cartInfoDTOS); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 //用户信息
 | 
			
		
	
		
			
				
					|  |  |  |  |                 userList.stream().filter(item -> item.getUid().equals(yxStoreOrderDto.getUid())).findFirst() | 
			
		
	
		
			
				
					|  |  |  |  |                         .ifPresent(user ->{ | 
			
		
	
		
			
				
					|  |  |  |  |                             yxStoreOrderDto.setUserDTO(generator.convert(user, YxUserDto.class)); | 
			
		
	
		
			
				
					|  |  |  |  |                         }); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (yxStoreOrderDto.getUserDTO() == null) { | 
			
		
	
		
			
				
					|  |  |  |  |                     yxStoreOrderDto.setUserDTO(new YxUserDto()); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return dtoList; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     private Map<Long, String> assembleOrderType(List<YxStoreOrderDto> dtoList) { | 
			
		
	
		
			
				
					|  |  |  |  |         Map<Long, String> map = new HashMap<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         List<YxStoreOrderDto> storePinkIdList = dtoList.stream().filter(item -> item.getPinkId() > 0 || item.getCombinationId() > 0).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |         List<YxStorePink> storePinkList = storePinkIdList.isEmpty() ? new ArrayList<>() : | 
			
		
	
		
			
				
					|  |  |  |  |                 storePinkService.list(Wrappers.<YxStorePink>lambdaQuery().in(YxStorePink::getOrderIdKey, storePinkIdList)); | 
			
		
	
		
			
				
					|  |  |  |  |         for (YxStoreOrderDto dto : dtoList) { | 
			
		
	
		
			
				
					|  |  |  |  |             String str = "[普通订单]"; | 
			
		
	
		
			
				
					|  |  |  |  |             if (dto.getPinkId() > 0 || dto.getCombinationId() > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |                 Optional<YxStorePink> pink = storePinkList.stream().filter(item -> item.getOrderIdKey().equals(dto.getId())).findFirst(); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (pink.isPresent()){ | 
			
		
	
		
			
				
					|  |  |  |  |                     YxStorePink storePink = pink.get(); | 
			
		
	
		
			
				
					|  |  |  |  |                     if (OrderInfoEnum.PINK_STATUS_1.getValue().equals(storePink.getStatus())) { | 
			
		
	
		
			
				
					|  |  |  |  |                         str = "[拼团订单]拼团进行中"; | 
			
		
	
		
			
				
					|  |  |  |  |                     } else if (OrderInfoEnum.PINK_STATUS_2.getValue().equals(storePink.getStatus())) { | 
			
		
	
		
			
				
					|  |  |  |  |                         str = "[拼团订单]拼团完成"; | 
			
		
	
		
			
				
					|  |  |  |  |                     } else if (OrderInfoEnum.PINK_STATUS_3.getValue().equals(storePink.getStatus())) { | 
			
		
	
		
			
				
					|  |  |  |  |                         str = "[拼团订单]拼团失败"; | 
			
		
	
		
			
				
					|  |  |  |  |                     } else { | 
			
		
	
		
			
				
					|  |  |  |  |                         str = "[拼团订单]历史订单"; | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 }else { | 
			
		
	
		
			
				
					|  |  |  |  |                     str = "[拼团订单]"; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             }else if (dto.getSeckillId() > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |                 str = "[秒杀订单]"; | 
			
		
	
		
			
				
					|  |  |  |  |             } else if (dto.getBargainId() > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |                 str = "[砍价订单]"; | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             if (OrderInfoEnum.SHIPPIING_TYPE_2.getValue().equals(dto.getShippingType())) { | 
			
		
	
		
			
				
					|  |  |  |  |                 str = "[核销订单]"; | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             if (dto.getPayIntegral().compareTo(new BigDecimal("0.00")) == 1) { | 
			
		
	
		
			
				
					|  |  |  |  |                 str = "[积分兑换]"; | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             map.put(dto.getId(), str); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return  map; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |  |     public Map<String, Object> queryAll(YxStoreOrderQueryCriteria criteria, Pageable pageable) { | 
			
		
	
		
			
				
					|  |  |  |  |         getPage(pageable); | 
			
		
	
		
			
				
					|  |  |  |  |         PageInfo<YxStoreOrder> page = new PageInfo<>(queryAll(criteria)); | 
			
		
	
		
			
				
					|  |  |  |  |         List<YxStoreOrderDto> storeOrderDTOS = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         for (YxStoreOrder yxStoreOrder : page.getList()) { | 
			
		
	
		
			
				
					|  |  |  |  |             this.orderList(storeOrderDTOS, yxStoreOrder); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | //        List<YxStoreOrderDto> storeOrderDTOS = new ArrayList<>();
 | 
			
		
	
		
			
				
					|  |  |  |  | //        for (YxStoreOrder yxStoreOrder : page.getList()) {
 | 
			
		
	
		
			
				
					|  |  |  |  | //            this.orderList(storeOrderDTOS, yxStoreOrder);
 | 
			
		
	
		
			
				
					|  |  |  |  | //
 | 
			
		
	
		
			
				
					|  |  |  |  | //        }
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<YxStoreOrderDto> list=this.newAssemble(page.getList()); | 
			
		
	
		
			
				
					|  |  |  |  |         Map<String, Object> map = new LinkedHashMap<>(2); | 
			
		
	
		
			
				
					|  |  |  |  |         map.put("content", storeOrderDTOS); | 
			
		
	
		
			
				
					|  |  |  |  | //        map.put("content", storeOrderDTOS);
 | 
			
		
	
		
			
				
					|  |  |  |  |         map.put("content",list); | 
			
		
	
		
			
				
					|  |  |  |  |         map.put("totalElements", page.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |  |         return map; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
	
		
			
				
					|  |  |  | @ -2536,7 +2676,7 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y | 
			
		
	
		
			
				
					|  |  |  |  |                     pBrand.append(yxStoreBrandService.getById(yxStoreProduct.getBrandId()).getBrandName()); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 if (ObjectUtil.isNotNull(yxStoreCategoryService.getById(yxStoreProduct.getCateId()))){ | 
			
		
	
		
			
				
					|  |  |  |  |                     YxStoreCategory yxStoreCategory=yxStoreCategoryService.getById(yxStoreProduct.getCateId()); | 
			
		
	
		
			
				
					|  |  |  |  | //                    YxStoreCategory yxStoreCategory=yxStoreCategoryService.getById(yxStoreProduct.getCateId());
 | 
			
		
	
		
			
				
					|  |  |  |  |                     pCate.append(yxStoreCategoryService.getById(yxStoreProduct.getCateId()).getCateName()); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             }); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |