puzhibing
2024-10-17 06fb22228bf5e5ca769b0f121594eca391d4e0ce
评价
3个文件已修改
24 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java
@@ -2,6 +2,7 @@
import com.ruoyi.order.api.model.TOrderEvaluate;
import com.ruoyi.order.api.model.TOrderEvaluateTag;
import com.ruoyi.other.api.domain.TEvaluationTag;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -22,6 +23,6 @@
    private String carName;
    @ApiModelProperty(value = "评价标签列表")
    private List<TOrderEvaluateTag> orderEvaluateTags;
    private List<TEvaluationTag> orderEvaluateTags;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
@@ -193,7 +193,22 @@
            BigDecimal reviewRate = new BigDecimal(goodCount).divide(new BigDecimal(tChargingOrders.size()),2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
            siteDetailEvaluateVO.setReviewRate(reviewRate);
            siteDetailEvaluateVO.setEvaluateCount(tChargingOrders.size());
            siteDetailEvaluateVO.setOrderEvaluateVOS(tChargingOrders.stream().limit(3).collect(Collectors.toList()));
            List<TOrderEvaluateVO> collect = tChargingOrders.stream().limit(3).collect(Collectors.toList());
            // 查询评价下的标签
            List<Long> orderIds = collect.stream().map(TOrderEvaluateVO::getId).collect(Collectors.toList());
            if(!CollectionUtils.isEmpty(orderIds)){
                List<TOrderEvaluateTag> tOrderEvaluateTags = orderEvaluateTagMapper.selectList(Wrappers.lambdaQuery(TOrderEvaluateTag.class)
                        .in(TOrderEvaluateTag::getOrderEvaluateId, orderIds));
                for (TOrderEvaluateVO tOrderEvaluateVO : collect) {
                    List<TOrderEvaluateTag> tOrderEvaluateTagList = tOrderEvaluateTags.stream().filter(e -> e.getOrderEvaluateId().equals(tOrderEvaluateVO.getId())).collect(Collectors.toList());
                    if(!CollectionUtils.isEmpty(tOrderEvaluateTagList)){
                        List<Integer> tagIds = tOrderEvaluateTagList.stream().map(TOrderEvaluateTag::getEvaluationTagId).collect(Collectors.toList());
                        List<TEvaluationTag> data = evaluationTagClient.getListByIds(tagIds).getData();
                        tOrderEvaluateVO.setOrderEvaluateTags(data);
                    }
                }
            }
            siteDetailEvaluateVO.setOrderEvaluateVOS(collect);
        }
        return siteDetailEvaluateVO;
    }
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
@@ -66,7 +66,7 @@
                    WHEN img_url IS NOT NULL THEN 0
                    ELSE 1
                    END ASC,
                    create_time DESC;
                    create_time DESC
                </otherwise>
            </choose>
        </if>
@@ -76,7 +76,7 @@
            WHEN img_url IS NOT NULL THEN 0
            ELSE 1
            END ASC,
            create_time DESC;
            create_time DESC
        </if>
    </select>
    <select id="getOrderEvaluateBySiteId" resultType="com.ruoyi.order.api.vo.TOrderEvaluateVO">