diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/response/UserPageMarriageBountyOrderRefundApplicationVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/response/UserPageMarriageBountyOrderRefundApplicationVo.java index 91c9b95..df0b3ff 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/response/UserPageMarriageBountyOrderRefundApplicationVo.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/response/UserPageMarriageBountyOrderRefundApplicationVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; @Data public class UserPageMarriageBountyOrderRefundApplicationVo { @@ -52,4 +53,6 @@ public class UserPageMarriageBountyOrderRefundApplicationVo { @ApiModelProperty("申请时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime applyTime; + + private List imageList; } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/ora/impl/OrderRefundApplicationQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/ora/impl/OrderRefundApplicationQueryServiceImpl.java index d577be0..17790dc 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/ora/impl/OrderRefundApplicationQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/ora/impl/OrderRefundApplicationQueryServiceImpl.java @@ -1,24 +1,33 @@ package com.qniao.dam.query.ora.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.qniao.dam.api.query.ora.user.request.UserPageMarriageBountyOrderRefundApplicationQueryParams; import com.qniao.dam.api.query.ora.user.response.UserPageMarriageBountyOrderRefundApplicationVo; import com.qniao.dam.domain.aggregate.ora.entity.OrderRefundApplication; +import com.qniao.dam.domain.aggregate.ora.vobj.OrderRefundApplicationImage; import com.qniao.dam.domian.aggregate.ora.constant.OrderRefundApplicationStatus; import com.qniao.dam.infrastructure.persistent.dao.ora.OrderRefundApplicationDao; +import com.qniao.dam.infrastructure.persistent.dao.ora.OrderRefundApplicationImageDao; import com.qniao.dam.query.ora.OrderRefundApplicationQueryService; import com.qniao.framework.utils.PageUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service public class OrderRefundApplicationQueryServiceImpl implements OrderRefundApplicationQueryService { @Resource private OrderRefundApplicationDao orderRefundApplicationDao; + @Resource + private OrderRefundApplicationImageDao orderRefundApplicationImageDao; @Override public boolean hasApplied(Long orderId) { @@ -30,6 +39,29 @@ public class OrderRefundApplicationQueryServiceImpl implements OrderRefundApplic @Override public IPage pageMarriageBountyOrder(UserPageMarriageBountyOrderRefundApplicationQueryParams queryParams, PageUtil pageUtil) { - return orderRefundApplicationDao.pageMarriageBountyOrder(pageUtil.toPageWithoutOrders(), queryParams); + IPage page = orderRefundApplicationDao.pageMarriageBountyOrder(pageUtil.toPageWithoutOrders(), queryParams); + if (page.getRecords().size() > 0) { + List idList = page.getRecords().stream().map(UserPageMarriageBountyOrderRefundApplicationVo::getId).collect(Collectors.toList()); + Map> allImageMap = mapAllImage(idList); + page.getRecords().forEach(vo -> { + List imageList = allImageMap.get(vo.getId()); + if (CollUtil.isNotEmpty(imageList)) { + vo.setImageList(imageList.stream().map(OrderRefundApplicationImage::getUrl).collect(Collectors.toList())); + } + }); + } + return page; + } + + private Map> mapAllImage(List idList) { + Map> map = new HashMap<>(); + if (CollUtil.isNotEmpty(idList)) { + List list = orderRefundApplicationImageDao.selectList(new LambdaQueryWrapper() + .in(OrderRefundApplicationImage::getApplicationId, idList)); + if (CollUtil.isNotEmpty(list)) { + map = list.stream().collect(Collectors.groupingBy(OrderRefundApplicationImage::getApplicationId)); + } + } + return map; } } \ No newline at end of file