From d49df6e5b16eb16e47ea9a3bc0aa35f017835e02 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 28 十月 2024 15:34:33 +0800 Subject: [PATCH] 修改 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 34 insertions(+), 9 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java index 73a49b6..7bc42c1 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java @@ -129,6 +129,8 @@ counts.forEach(count -> { if (tag.getId().equals(count.getId())) { tag.setTagCount(count.getTagCount()); + }else{ + tag.setTagCount(0); } }); }else{ @@ -139,14 +141,14 @@ tagList = tagList.stream().sorted(Comparator.comparing(TEvaluationTagVO::getTagCount).reversed()).collect(Collectors.toList()); // 统计有图,好评,中差评数量 long imgUrlCount = this.count(Wrappers.lambdaQuery(TOrderEvaluate.class) - .isNotNull(TOrderEvaluate::getImgUrl)); - packageTagCount(imgUrlCount,"有图",tagList); + .and(e->e.isNotNull(TOrderEvaluate::getImgUrl)).or().ne(TOrderEvaluate::getImgUrl,"")); + packageTagCount(imgUrlCount,"有图",2,tagList); long goodCount = this.count(Wrappers.lambdaQuery(TOrderEvaluate.class) .ge(TOrderEvaluate::getMark,4)); - packageTagCount(goodCount,"好评",tagList); + packageTagCount(goodCount,"好评",3,tagList); long badCount = this.count(Wrappers.lambdaQuery(TOrderEvaluate.class) .le(TOrderEvaluate::getMark,3)); - packageTagCount(badCount,"中差评",tagList); + packageTagCount(badCount,"中差评",4,tagList); return tagList; } @@ -193,7 +195,27 @@ 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); + } + TAppUser data = appUserClient.getUserById(tOrderEvaluateVO.getAppUserId()).getData(); + if(Objects.nonNull(data)){ + tOrderEvaluateVO.setName(data.getName()); + tOrderEvaluateVO.setAvatar(data.getAvatar()); + } + } + } + siteDetailEvaluateVO.setOrderEvaluateVOS(collect); } return siteDetailEvaluateVO; } @@ -204,11 +226,12 @@ * @param name * @param tagList */ - private void packageTagCount(Long count,String name,List<TEvaluationTagVO> tagList){ + private void packageTagCount(Long count,String name,Integer type,List<TEvaluationTagVO> tagList){ if(count>0){ TEvaluationTagVO evaluationTagVO = new TEvaluationTagVO(); evaluationTagVO.setName(name); evaluationTagVO.setTagCount(Integer.parseInt(String.valueOf(count))); + evaluationTagVO.setType(type); tagList.add(evaluationTagVO); } } @@ -297,7 +320,7 @@ String keyword = jsonObject1.getString("keyword"); Integer prob = jsonObject1.getInteger("prob"); if(("risky".equals(suggest) || "review".equals(suggest)) && 100 != label && StringUtils.isNotEmpty(keyword) && 80 <= prob){ - content = content.replaceAll(keyword, "***"); + return AjaxResult.error("评价包含违规内容,请重新评价!"); } } } @@ -332,6 +355,7 @@ appUser.setPoints(appUser.getPoints() + num1); appUserClient.updateAppUser(appUser); + TChargingOrder chargingOrder = chargingOrderService.getById(orderEvaluate.getOrderId()); //积分变动明细 TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange(); appUserIntegralChange.setAppUserId(appUser.getId()); @@ -339,7 +363,8 @@ appUserIntegralChange.setHistoricalIntegral(points); appUserIntegralChange.setCurrentIntegral(points + num1); appUserIntegralChange.setCreateTime(LocalDateTime.now()); - appUserIntegralChange.setOrderCode(orderEvaluate.getId().toString()); + appUserIntegralChange.setOrderCode(chargingOrder.getCode()); + appUserIntegralChange.setExtension(orderEvaluate.getOrderId().toString()); appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange); } } @@ -354,7 +379,7 @@ * @return */ @Override - public OrderEvaluateVo getOrderEvaluate(Integer orderId, Integer orderType) { + public OrderEvaluateVo getOrderEvaluate(String orderId, Integer orderType) { TOrderEvaluate orderEvaluate = this.getOne(new LambdaQueryWrapper<TOrderEvaluate>().eq(TOrderEvaluate::getOrderId, orderId).eq(TOrderEvaluate::getOrderType, orderType)); if(null != orderEvaluate){ OrderEvaluateVo orderEvaluateVo = new OrderEvaluateVo(); -- Gitblit v1.7.1