|
@@ -14,7 +14,6 @@ import cn.iocoder.yudao.module.product.api.comment.dto.ProductCommentCreateReqDT
|
|
|
import cn.iocoder.yudao.module.product.api.property.dto.ProductPropertyValueDetailRespDTO;
|
|
|
import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO;
|
|
|
import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationRecordCreateReqDTO;
|
|
|
-import cn.iocoder.yudao.module.promotion.api.price.dto.PriceCalculateReqDTO;
|
|
|
import cn.iocoder.yudao.module.trade.api.order.dto.TradeOrderRespDTO;
|
|
|
import cn.iocoder.yudao.module.trade.controller.admin.base.member.user.MemberUserRespVO;
|
|
|
import cn.iocoder.yudao.module.trade.controller.admin.base.product.property.ProductPropertyValueDetailRespVO;
|
|
@@ -84,9 +83,6 @@ public interface TradeOrderConvert {
|
|
|
|
|
|
TradeOrderItemDO convert(TradePriceCalculateRespBO.OrderItem item);
|
|
|
|
|
|
- @Mapping(source = "userId", target = "userId")
|
|
|
- PriceCalculateReqDTO convert(AppTradeOrderCreateReqVO createReqVO, Long userId);
|
|
|
-
|
|
|
@Mappings({
|
|
|
@Mapping(source = "skuId", target = "id"),
|
|
|
@Mapping(source = "count", target = "incrCount"),
|
|
@@ -123,38 +119,18 @@ public interface TradeOrderConvert {
|
|
|
}
|
|
|
|
|
|
// TODO 芋艿:可简化
|
|
|
- default PageResult<TradeOrderPageItemRespVO> convertPage(PageResult<TradeOrderDO> pageResult, List<TradeOrderItemDO> orderItems,
|
|
|
- List<ProductPropertyValueDetailRespDTO> propertyValueDetails,
|
|
|
- Map<Long, MemberUserRespDTO> memberUserRespDTOMap) {
|
|
|
+ default PageResult<TradeOrderPageItemRespVO> convertPage(PageResult<TradeOrderDO> pageResult,
|
|
|
+ List<TradeOrderItemDO> orderItems,
|
|
|
+ Map<Long, MemberUserRespDTO> memberUserMap) {
|
|
|
Map<Long, List<TradeOrderItemDO>> orderItemMap = convertMultiMap(orderItems, TradeOrderItemDO::getOrderId);
|
|
|
- Map<Long, ProductPropertyValueDetailRespDTO> propertyValueDetailMap = convertMap(propertyValueDetails, ProductPropertyValueDetailRespDTO::getValueId);
|
|
|
// 转化 List
|
|
|
List<TradeOrderPageItemRespVO> orderVOs = CollectionUtils.convertList(pageResult.getList(), order -> {
|
|
|
List<TradeOrderItemDO> xOrderItems = orderItemMap.get(order.getId());
|
|
|
TradeOrderPageItemRespVO orderVO = convert(order, xOrderItems);
|
|
|
- if (CollUtil.isNotEmpty(xOrderItems)) {
|
|
|
- // 处理商品属性
|
|
|
- for (int i = 0; i < xOrderItems.size(); i++) {
|
|
|
- List<TradeOrderItemDO.Property> properties = xOrderItems.get(i).getProperties();
|
|
|
- if (CollUtil.isEmpty(properties)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- TradeOrderPageItemRespVO.Item item = orderVO.getItems().get(i);
|
|
|
- item.setProperties(new ArrayList<>(properties.size()));
|
|
|
- // 遍历每个 properties,设置到 TradeOrderPageItemRespVO.Item 中
|
|
|
- properties.forEach(property -> {
|
|
|
- ProductPropertyValueDetailRespDTO propertyValueDetail = propertyValueDetailMap.get(property.getValueId());
|
|
|
- if (propertyValueDetail == null) {
|
|
|
- return;
|
|
|
- }
|
|
|
- item.getProperties().add(convert(propertyValueDetail));
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
// 处理收货地址
|
|
|
orderVO.setReceiverAreaName(AreaUtils.format(order.getReceiverAreaId()));
|
|
|
// 增加用户昵称
|
|
|
- orderVO.setUser(memberUserRespDTOMap.get(orderVO.getUserId()));
|
|
|
+ orderVO.setUser(memberUserMap.get(orderVO.getUserId()));
|
|
|
return orderVO;
|
|
|
});
|
|
|
return new PageResult<>(orderVOs, pageResult.getTotal());
|
|
@@ -164,28 +140,9 @@ public interface TradeOrderConvert {
|
|
|
|
|
|
ProductPropertyValueDetailRespVO convert(ProductPropertyValueDetailRespDTO bean);
|
|
|
|
|
|
- // TODO 芋艿:可简化
|
|
|
default TradeOrderDetailRespVO convert(TradeOrderDO order, List<TradeOrderItemDO> orderItems,
|
|
|
- List<ProductPropertyValueDetailRespDTO> propertyValueDetails, MemberUserRespDTO user) {
|
|
|
+ MemberUserRespDTO user) {
|
|
|
TradeOrderDetailRespVO orderVO = convert2(order, orderItems);
|
|
|
- // 处理商品属性
|
|
|
- Map<Long, ProductPropertyValueDetailRespDTO> propertyValueDetailMap = convertMap(propertyValueDetails, ProductPropertyValueDetailRespDTO::getValueId);
|
|
|
- for (int i = 0; i < orderItems.size(); i++) {
|
|
|
- List<TradeOrderItemDO.Property> properties = orderItems.get(i).getProperties();
|
|
|
- if (CollUtil.isEmpty(properties)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- TradeOrderDetailRespVO.Item item = orderVO.getItems().get(i);
|
|
|
- item.setProperties(new ArrayList<>(properties.size()));
|
|
|
- // 遍历每个 properties,设置到 TradeOrderPageItemRespVO.Item 中
|
|
|
- properties.forEach(property -> {
|
|
|
- ProductPropertyValueDetailRespDTO propertyValueDetail = propertyValueDetailMap.get(property.getValueId());
|
|
|
- if (propertyValueDetail == null) {
|
|
|
- return;
|
|
|
- }
|
|
|
- item.getProperties().add(convert(propertyValueDetail));
|
|
|
- });
|
|
|
- }
|
|
|
// 处理收货地址
|
|
|
orderVO.setReceiverAreaName(AreaUtils.format(order.getReceiverAreaId()));
|
|
|
// 处理用户信息
|
|
@@ -197,35 +154,13 @@ public interface TradeOrderConvert {
|
|
|
|
|
|
MemberUserRespVO convert(MemberUserRespDTO bean);
|
|
|
|
|
|
- // TODO 芋艿:可简化
|
|
|
- default PageResult<AppTradeOrderPageItemRespVO> convertPage02(PageResult<TradeOrderDO> pageResult, List<TradeOrderItemDO> orderItems,
|
|
|
- List<ProductPropertyValueDetailRespDTO> propertyValueDetails) {
|
|
|
+ default PageResult<AppTradeOrderPageItemRespVO> convertPage02(PageResult<TradeOrderDO> pageResult,
|
|
|
+ List<TradeOrderItemDO> orderItems) {
|
|
|
Map<Long, List<TradeOrderItemDO>> orderItemMap = convertMultiMap(orderItems, TradeOrderItemDO::getOrderId);
|
|
|
- Map<Long, ProductPropertyValueDetailRespDTO> propertyValueDetailMap = convertMap(propertyValueDetails, ProductPropertyValueDetailRespDTO::getValueId);
|
|
|
// 转化 List
|
|
|
List<AppTradeOrderPageItemRespVO> orderVOs = CollectionUtils.convertList(pageResult.getList(), order -> {
|
|
|
List<TradeOrderItemDO> xOrderItems = orderItemMap.get(order.getId());
|
|
|
- AppTradeOrderPageItemRespVO orderVO = convert02(order, xOrderItems);
|
|
|
- if (CollUtil.isNotEmpty(xOrderItems)) {
|
|
|
- // 处理商品属性
|
|
|
- for (int i = 0; i < xOrderItems.size(); i++) {
|
|
|
- List<TradeOrderItemDO.Property> properties = xOrderItems.get(i).getProperties();
|
|
|
- if (CollUtil.isEmpty(properties)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- AppTradeOrderItemRespVO item = orderVO.getItems().get(i);
|
|
|
- item.setProperties(new ArrayList<>(properties.size()));
|
|
|
- // 遍历每个 properties,设置到 TradeOrderPageItemRespVO.Item 中
|
|
|
- properties.forEach(property -> {
|
|
|
- ProductPropertyValueDetailRespDTO propertyValueDetail = propertyValueDetailMap.get(property.getValueId());
|
|
|
- if (propertyValueDetail == null) {
|
|
|
- return;
|
|
|
- }
|
|
|
- item.getProperties().add(convert02(propertyValueDetail));
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- return orderVO;
|
|
|
+ return convert02(order, xOrderItems);
|
|
|
});
|
|
|
return new PageResult<>(orderVOs, pageResult.getTotal());
|
|
|
}
|