diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/OrderItemVO.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/OrderItemVO.java index 700c1fdac..acab990ef 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/OrderItemVO.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/OrderItemVO.java @@ -1,11 +1,13 @@ package com.wzj.soopin.order.domain.vo; +import com.wzj.soopin.order.emum.VerificationCodeStatus; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.dromara.common.core.domain.model.BaseAudit; import org.dromara.common.excel.annotation.Excel; import java.math.BigDecimal; +import java.time.LocalDateTime; /** * 订单中所包含的商品 数据视图对象 @@ -92,4 +94,39 @@ public class OrderItemVO extends BaseAudit { private String tenantId; private String tenantName; + + @Schema(description = "ID") + private Long verificationId; + + @Schema(description = "核销码") + private String code; + /** + * 状态 见{@link VerificationCodeStatus} + */ + @Schema(description = "状态") + private Integer status; + + @Schema(description = "用户id") + private Long memberId; + + @Schema(description = "用户昵称") + private String memberName; + + @Schema(description = "使用时间") + private LocalDateTime usedTime; + + @Schema(description = "使用商家id") + private String usedMerchantId; + + @Schema(description = "过期时间") + private LocalDateTime expireTime; + + @Schema(description = "核销时间") + private LocalDateTime verificationTime; + + @Schema(description = "核销结果") + private Integer result; + + @Schema(description = "失败原因") + private String reason; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/mapper/OrderItemMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/mapper/OrderItemMapper.java index 6df1da8f9..22b08ddd6 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/mapper/OrderItemMapper.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/mapper/OrderItemMapper.java @@ -72,4 +72,22 @@ public interface OrderItemMapper extends BaseMapperPlus IPage selectMerchatOrderPage(@Param("page") Page page, @Param("query") OrderItemBo query); MerchantOrderVO selectMerchatOrder(@Param("tenantId") String tenantId, @Param("orderItemId") Long orderItemId, @Param("verificationCode") String verificationCode); + + + @Select("") + List selectItemInfoByOrderIds(@Param("orderIds") List orderIds); + } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/MemberOrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/MemberOrderServiceImpl.java index 45863ca68..7e35ff8aa 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/MemberOrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/MemberOrderServiceImpl.java @@ -1,6 +1,5 @@ package com.wzj.soopin.order.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.wzj.soopin.goods.mapper.SkuMapper; @@ -8,7 +7,7 @@ import com.wzj.soopin.order.convert.OrderConvert; import com.wzj.soopin.order.convert.OrderItemConvert; import com.wzj.soopin.order.domain.bo.OrderBo; import com.wzj.soopin.order.domain.entity.Order; -import com.wzj.soopin.order.domain.entity.OrderItem; +import com.wzj.soopin.order.domain.vo.OrderItemVO; import com.wzj.soopin.order.domain.vo.OrderVO; import com.wzj.soopin.order.mapper.OrderItemMapper; import com.wzj.soopin.order.mapper.OrderMapper; @@ -47,20 +46,10 @@ public class MemberOrderServiceImpl extends ServiceImpl impl .collect(Collectors.toList()); // 根据订单id查询订单详情 - QueryWrapper orderItemQueryWrapper = new QueryWrapper<>(); - orderItemQueryWrapper.in("order_id", orderIds); - List orderItemList = orderItemMapper.selectList(orderItemQueryWrapper); - + List orderItemVOList =orderItemMapper.selectItemInfoByOrderIds(orderIds); // 按照订单id分组订单详情 - Map> orderItemMapByOrderId = orderItemList.stream() - .collect(Collectors.groupingBy(OrderItem::getOrderId)); - - for (OrderVO orderVO : orderVOList) { - List orderItems = orderItemMapByOrderId.get(orderVO.getId()); - if (orderItems != null) { - orderVO.setItems(orderItemConvert.toVO(orderItems)); - } - } + Map> orderItemMapByOrderId = orderItemVOList.stream().collect(Collectors.groupingBy(OrderItemVO::getOrderId)); + orderVOList.forEach(orderVO -> orderVO.setItems(orderItemMapByOrderId.get(orderVO.getId()))); return orderVOPage; }