无关风月
2024-12-11 26cd0115150771d66a6cfca9c03820a734b69c9f
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
@@ -280,7 +280,7 @@
        //校验合作商权限
        List<Integer> siteIds = new ArrayList<>();
        if(null == pageList.getSiteId() || 0 == pageList.getSiteId()){
            SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
            SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
            Integer roleType = sysUser.getRoleType();
            Integer objectId = sysUser.getObjectId();
            //合作商
@@ -289,7 +289,7 @@
                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();
@@ -352,42 +352,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星好评