From d6c8f09fd628bd0111de4ee7071844465df9adb1 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 28 十月 2024 18:57:35 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java | 98 +++++++++++++++++++++++++++++++----------------- 1 files changed, 63 insertions(+), 35 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 6823260..f216c5c 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 @@ -139,14 +139,15 @@ 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); + .isNotNull(TOrderEvaluate::getImgUrl) + .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; } @@ -172,9 +173,11 @@ orderEvaluateVO.setName(appUser.getName()); orderEvaluateVO.setAvatar(appUser.getAvatar()); } - TAppUserCar appUserCar = appUserCars.stream().filter(car -> car.getId().equals(Long.parseLong(String.valueOf(orderEvaluateVO.getAppUserCarId())))).findFirst().orElse(null); - if(Objects.nonNull(appUserCar)){ - orderEvaluateVO.setCarName(appUserCar.getVehicleBrand()); + if(Objects.nonNull(orderEvaluateVO.getAppUserCarId())){ + TAppUserCar appUserCar = appUserCars.stream().filter(car -> car.getId().equals(Long.parseLong(String.valueOf(orderEvaluateVO.getAppUserCarId())))).findFirst().orElse(null); + if(Objects.nonNull(appUserCar)){ + orderEvaluateVO.setCarName(appUserCar.getVehicleBrand()); + } } }); pageInfo.setRecords(list); @@ -190,10 +193,30 @@ siteDetailEvaluateVO.setOrderEvaluateVOS(tChargingOrders); // 统计好评率 long goodCount = tChargingOrders.stream().filter(orderEvaluateVO -> orderEvaluateVO.getMark()>=4).count(); - BigDecimal reviewRate = new BigDecimal(goodCount).divide(new BigDecimal(tChargingOrders.size())).setScale(2, BigDecimal.ROUND_HALF_UP); + 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 +227,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); } } @@ -274,29 +298,31 @@ //检测敏感词 String content = orderEvaluate.getContent(); - String token = appUserClient.getWXToken().getData(); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("content", content); - jsonObject.put("version", 2); - jsonObject.put("scene", 2); - jsonObject.put("openid", appUser.getWxOpenid()); - String post = HttpUtils.post("https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + token, jsonObject.toString()); - JSONObject object = JSONObject.parseObject(post); - Integer errcode = object.getInteger("errcode"); - if(0 != errcode){ - throw new RuntimeException(object.getString("errmsg")); - } - JSONArray detail = object.getJSONArray("detail"); - for (int i = 0; i < detail.size(); i++) { - JSONObject jsonObject1 = detail.getJSONObject(i); - Integer errcode1 = jsonObject1.getInteger("errcode"); - if(0 == errcode1){ - String suggest = jsonObject1.getString("suggest"); - Integer label = jsonObject1.getInteger("label"); - 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, "***"); + if(StringUtils.isNotEmpty(content)){ + String token = appUserClient.getWXToken().getData(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("content", content); + jsonObject.put("version", 2); + jsonObject.put("scene", 2); + jsonObject.put("openid", appUser.getWxOpenid()); + String post = HttpUtils.post("https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + token, jsonObject.toString()); + JSONObject object = JSONObject.parseObject(post); + Integer errcode = object.getInteger("errcode"); + if(0 != errcode){ + throw new RuntimeException(object.getString("errmsg")); + } + JSONArray detail = object.getJSONArray("detail"); + for (int i = 0; i < detail.size(); i++) { + JSONObject jsonObject1 = detail.getJSONObject(i); + Integer errcode1 = jsonObject1.getInteger("errcode"); + if(0 == errcode1){ + String suggest = jsonObject1.getString("suggest"); + Integer label = jsonObject1.getInteger("label"); + String keyword = jsonObject1.getString("keyword"); + Integer prob = jsonObject1.getInteger("prob"); + if(("risky".equals(suggest) || "review".equals(suggest)) && 100 != label && StringUtils.isNotEmpty(keyword) && 80 <= prob){ + return AjaxResult.error("评价包含违规内容,请重新评价!"); + } } } } @@ -330,6 +356,7 @@ appUser.setPoints(appUser.getPoints() + num1); appUserClient.updateAppUser(appUser); + TChargingOrder chargingOrder = chargingOrderService.getById(orderEvaluate.getOrderId()); //积分变动明细 TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange(); appUserIntegralChange.setAppUserId(appUser.getId()); @@ -337,7 +364,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); } } @@ -352,7 +380,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