From 67d06a785d5fc4524639ace27651c01ff05a4b58 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期四, 29 五月 2025 22:31:33 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java | 85 ++++++++++++++++++------------------------ 1 files changed, 36 insertions(+), 49 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 c9c9f8a..84b6550 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 @@ -1,9 +1,6 @@ package com.ruoyi.order.service.impl; -import cn.hutool.db.DaoTemplate; import com.alibaba.fastjson2.JSON; -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -12,15 +9,12 @@ import com.ruoyi.account.api.feignClient.AppUserIntegralChangeClient; import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.api.model.TAppUserCar; -import com.ruoyi.account.api.feignClient.AppUserClient; -import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.api.model.TAppUserIntegralChange; +import com.ruoyi.chargingPile.api.domain.SiteMenu; import com.ruoyi.chargingPile.api.feignClient.PartnerClient; import com.ruoyi.chargingPile.api.feignClient.SiteClient; import com.ruoyi.chargingPile.api.model.Site; -import com.ruoyi.chargingPile.api.vo.TAccountingStrategyVO; import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.utils.HttpUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; @@ -51,7 +45,6 @@ import com.ruoyi.system.api.model.SysUserRoleVo; import io.seata.spring.annotation.GlobalTransactional; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -131,10 +124,20 @@ @Resource private TOrderEvaluateMapper orderEvaluateMapper; @Override - public List<TEvaluationTagVO> getTagCount() { + public List<TEvaluationTagVO> getTagCount(Integer siteId) { // 查询标签列表 R<List<TEvaluationTagVO>> r = evaluationTagClient.getList(); List<TEvaluationTagVO> tagList = r.getData(); + // 查询站点下的所有订单 + List<TChargingOrder> tChargingOrders = chargingOrderMapper.selectList(Wrappers.lambdaQuery(TChargingOrder.class) + .eq(TChargingOrder::getSiteId, siteId)); + if(CollectionUtils.isEmpty(tChargingOrders)){ + tagList.forEach(e->e.setTagCount(0)); + packageTagCount(0L,"有图",2,tagList); + packageTagCount(0L,"好评",3,tagList); + packageTagCount(0L,"中差评",4,tagList); + return tagList; + } List<Integer> tagIds = tagList.stream().map(TEvaluationTagVO::getId).collect(Collectors.toList()); // 统计标签使用数量 List<TEvaluationTagVO> counts = orderEvaluateTagMapper.getCountByTagIds(tagIds); @@ -251,8 +254,9 @@ tagList.add(evaluationTagVO); } } - - + + @Resource + private PartnerClient partnerClient; /** * 获取充电评价列表 * @param pageList @@ -269,17 +273,17 @@ //校验合作商权限 List<Integer> siteIds = new ArrayList<>(); + SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData(); + Integer roleType = sysUser.getRoleType(); + Integer objectId = sysUser.getObjectId(); if(null == pageList.getSiteId() || 0 == pageList.getSiteId()){ - SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData(); - Integer roleType = sysUser.getRoleType(); - Integer objectId = sysUser.getObjectId(); //合作商 if(roleType == 2){ - Set<Integer> data = partnerService.authSite(objectId, "/data/site").getData(); + Set<Integer> data = partnerService.authSite(objectId, SiteMenu.CHARGE_EVALUATION.getValue()).getData(); siteIds = new ArrayList<>(data); }else{ //非管理员需要根据角色和用户配置查询允许的站点数据 - if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + if(!SecurityUtils.isAdmin(tokenService.getLoginUser().getUserid())){ List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData(); @@ -287,10 +291,7 @@ siteIds = data; } } - }else{ - siteIds.add(pageList.getSiteId()); } - List<GetOrderEvaluatePageListDTO> list = this.baseMapper.getPageList(pageList, evaluationTagIds, siteIds, pageInfo); for (GetOrderEvaluatePageListDTO dto : list) { TAppUser appUser = appUserClient.getUserById(dto.getAppUserId()).getData(); @@ -311,6 +312,8 @@ List<String> collect = data.stream().map(TEvaluationTag::getName).collect(Collectors.toList()); dto.setTags(collect); } + dto.setAuthReply(roleType == 1 ? true : partnerService.authMenu(objectId, dto.getSiteId(), SiteMenu.CHARGE_EVALUATION_ANSWER.getValue())); + dto.setAuthDelete(roleType == 1 ? true : partnerService.authMenu(objectId, dto.getSiteId(), SiteMenu.CHARGE_EVALUATION_DEL.getValue())); } return pageInfo.setRecords(list); } @@ -342,42 +345,22 @@ //检测敏感词 String content = orderEvaluate.getContent(); 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("评价包含违规内容,请重新评价!"); - } - } + Boolean data = appUserClient.sensitiveWordDetection(content, appUser.getWxOpenid()).getData(); + if(data){ + return AjaxResult.error("评价包含违规内容,请重新评价!"); } } orderEvaluate.setContent(content); this.save(orderEvaluate); List<Integer> tagIds = query.getTagIds(); - for (Integer tagId : tagIds) { - TOrderEvaluateTag orderEvaluateTag = new TOrderEvaluateTag(); - orderEvaluateTag.setOrderEvaluateId(orderEvaluate.getId()); - orderEvaluateTag.setEvaluationTagId(tagId); - orderEvaluateTagMapper.insert(orderEvaluateTag); + if(null != tagIds){ + for (Integer tagId : tagIds) { + TOrderEvaluateTag orderEvaluateTag = new TOrderEvaluateTag(); + orderEvaluateTag.setOrderEvaluateId(orderEvaluate.getId()); + orderEvaluateTag.setEvaluationTagId(tagId); + orderEvaluateTagMapper.insert(orderEvaluateTag); + } } //判断发放积分 文字+图片+5星好评 @@ -426,6 +409,10 @@ 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){ + Long userId = tokenService.getLoginUserApplet().getUserId(); + if(!orderEvaluate.getAppUserId().equals(userId)){ + throw new RuntimeException("权限不足"); + } OrderEvaluateVo orderEvaluateVo = new OrderEvaluateVo(); BeanUtils.copyProperties(orderEvaluate, orderEvaluateVo); List<TOrderEvaluateTag> tOrderEvaluateTags = orderEvaluateTagMapper.selectList(new LambdaQueryWrapper<TOrderEvaluateTag>().eq(TOrderEvaluateTag::getOrderEvaluateId, orderEvaluate.getId())); -- Gitblit v1.7.1