yanghui
2022-10-10 499fcf4b24c104c7c627d0951d96fabdf8cb0631
#feat 提交微信违规信息校验
7个文件已修改
551 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java 119 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/IndexApi.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/NeighborApi.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/NeighborWestApi.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/weixin/CheckService.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseOperationVO.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
@@ -1,58 +1,38 @@
package com.panzhihua.applets.api;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.validation.Valid;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.applets.weixin.CheckService;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.common.PageComMngVolunteerOrgTeamDto;
import com.panzhihua.common.model.dtos.common.PageComMngVolunteerServiceTypeDto;
import com.panzhihua.common.model.dtos.common.PageComMngVolunteerSkillDto;
import com.panzhihua.common.model.dtos.community.ActivityInviteDTO;
import com.panzhihua.common.model.dtos.community.PageActivityInviteDTO;
import com.panzhihua.common.model.dtos.community.PageComStreetDTO;
import com.panzhihua.common.model.dtos.community.*;
import com.panzhihua.common.model.dtos.property.CommonPage;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.common.ComMngVolunteerOrgTeamVo;
import com.panzhihua.common.model.vos.common.ComMngVolunteerServiceTypeVo;
import com.panzhihua.common.model.vos.common.ComMngVolunteerSkillVo;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.neighbor.ActivityAnalysisVO;
import com.panzhihua.common.model.vos.neighbor.ActivityAnalysisVO;
import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAnalysisVO;
import com.panzhihua.common.service.community.CommunityWestService;
import io.swagger.annotations.*;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.community.ComMngCarAppletDTO;
import com.panzhihua.common.model.dtos.community.PageComMngVillageDTO;
import com.panzhihua.common.model.dtos.community.PageVolunteerDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.community.CommunityWestService;
import com.panzhihua.common.service.partybuilding.PartyBuildingService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.validated.AddGroup;
import com.panzhihua.common.validated.PageGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Date;
import java.util.List;
import static java.util.Objects.isNull;
import static org.apache.commons.lang3.ObjectUtils.isEmpty;
@@ -76,12 +56,15 @@
    private UserService userService;
    @Resource
    private PartyBuildingService partyBuildingService;
    @Resource
    private CheckService checkService;
    @ApiOperation(value = "分页查询小区", response = ComMngStructAreaVO.class)
    @PostMapping("pagearea")
    public R pageArea(@RequestBody ComMngStructAreaVO comMngStructAreaVO) {
        return communityService.pageArea(comMngStructAreaVO);
    }
    @ApiOperation(value = "新分页查询小区", response = ComMngVillageVO.class)
    @PostMapping("pagevillage")
    public R pageVillage(@RequestBody PageComMngVillageDTO pageComMngVillageDTO) {
@@ -155,7 +138,7 @@
        if (loginUserInfo != null) {
            userId = loginUserInfo.getUserId();
        }
        return communityService.detailActivity(id, userId,null,null);
        return communityService.detailActivity(id, userId, null, null);
    }
    @ApiOperation(value = "分页查询活动评价记录", response = ComActActEvaluateVO.class)
@@ -177,6 +160,24 @@
    public R activityEvaluate(@RequestBody ComActActEvaluateVO comActActEvaluateVO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        comActActEvaluateVO.setUserId(loginUserInfo.getUserId());
        String openid = this.getLoginUserInfo().getOpenid();
        String appId = this.getAppId();
        // 微信内容审核
        String evaluateContent = comActActEvaluateVO.getEvaluateContent();
        if (StrUtil.isNotBlank(evaluateContent)) {
            String result = checkService.checkMessageBy(evaluateContent, openid, appId);
            if (StrUtil.isNotBlank(result)) {
                return R.fail("填写内容存在 " + result + " 违规信息");
            }
        }
        //微信图片审核
        String photo = comActActEvaluateVO.getPhoto();
        if (StrUtil.isNotBlank(photo)) {
            if (!checkService.checkImageBy(photo, appId)) {
                return R.fail("上传图片存在违规信息");
            }
        }
        return communityService.activityEvaluate(comActActEvaluateVO);
    }
@@ -194,9 +195,9 @@
        signactivityVO.setUserId(userId);
        R r = communityService.signActivity(signactivityVO);
        if (R.isOk(r) && signactivityVO.getType().intValue() == 1) {
            R r2 = communityService.detailActivity(activityId, userId,null,null);
            R r2 = communityService.detailActivity(activityId, userId, null, null);
            ComActActivityVO comActActivityVO =
                JSONObject.parseObject(JSONObject.toJSONString(r2.getData()), ComActActivityVO.class);
                    JSONObject.parseObject(JSONObject.toJSONString(r2.getData()), ComActActivityVO.class);
            Integer isVolunteer = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), Integer.class);
            SysUserNoticeVO sysUserNoticeVO = new SysUserNoticeVO();
            sysUserNoticeVO.setUserId(userId);
@@ -220,7 +221,7 @@
    @ApiOperation(value = "活动人员列表", response = ActivitySignVO.class)
    @ApiImplicitParams({@ApiImplicitParam(name = "type", value = "人员类型 1 普通居民 2 志愿者", required = true),
        @ApiImplicitParam(name = "id", value = "社区活动主键", required = true)})
            @ApiImplicitParam(name = "id", value = "社区活动主键", required = true)})
    @GetMapping("listactivitysign")
    public R listActivitySign(@RequestParam("id") Long id, @RequestParam("type") Integer type) {
        ActivitySignVO activitySignVO = new ActivitySignVO();
@@ -238,7 +239,7 @@
            @ApiImplicitParam(name = "type", value = "活动类型,1.居民/志愿者活动 2.党员活动", required = true)
    })
    @GetMapping("activity/sign-in/list")
    public R listSignInRecord(@RequestParam("id")  Long id, @RequestParam("type") Integer type) {
    public R listSignInRecord(@RequestParam("id") Long id, @RequestParam("type") Integer type) {
        LoginUserInfoVO loginUserInfo = getLoginUserInfo();
        if (loginUserInfo.getIsCommunityWorker().intValue() != 1) {
            return R.fail("非社区工作人员");
@@ -256,7 +257,7 @@
            @ApiImplicitParam(name = "userId", value = "用户id", required = true)
    })
    @GetMapping("activity/regist/list")
    public R listRegistRecord(@RequestParam("id")  Long id,
    public R listRegistRecord(@RequestParam("id") Long id,
                              @RequestParam("type") Integer type,
                              @RequestParam("userId") Long userId) {
        if (type.intValue() == 1) {
@@ -317,7 +318,7 @@
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        if (loginUserInfo != null) {
            comMngVolunteerMngVO.setCommunityId(loginUserInfo.getCommunityId());
        }else{
        } else {
            comMngVolunteerMngVO.setCommunityId(pageVolunteerDTO.getCommunityId());
        }
        comMngVolunteerMngVO.setPageNum(pageVolunteerDTO.getPageNum());
@@ -381,16 +382,17 @@
    @ApiOperation(value = "获取树结构区域信息")
    @GetMapping(value = "arealist")
    public R getAllArea(@ApiParam(name = "城市编码:四川510000",
        required = true) @RequestParam(value = "provinceAdcode") Integer provinceAdcode) {
            required = true) @RequestParam(value = "provinceAdcode") Integer provinceAdcode) {
        return communityService.getCityTreeByProvinceCode(provinceAdcode, null);
    }
    @ApiOperation(value = "社区详情", response = ComActVO.class)
    @GetMapping("community")
    public R detailCommunity() {
        return communityService.detailCommunity(this.getCommunityId());
    }
    @ApiOperation(value = "查询活动报名名单集合",response = ActivitySignVO.class)
    @ApiOperation(value = "查询活动报名名单集合", response = ActivitySignVO.class)
    @PostMapping("listactivitysign")
    public R listActivitySign(@RequestBody ActivitySignVO activitySignVO) {
        if (ObjectUtils.isEmpty(activitySignVO.getActivityId())) {
@@ -422,24 +424,25 @@
        comActActivityVO.setHasPrize(0);
        return communityService.addActivity(comActActivityVO);
    }
    @ApiOperation(value = "单位活动统计",response = ActivityAnalysisVO.class)
    @ApiOperation(value = "单位活动统计", response = ActivityAnalysisVO.class)
    @GetMapping("activity/analysis")
    public R activityUnitAnalysis(@RequestParam(value = "year",required = false) Integer year,
                                  @RequestParam(value = "type",required = false) Integer type,
                                  @RequestParam(value = "range",required = false)Integer range,
                                  @RequestParam(value = "communityId",required = false) Long communityId,
                                  @RequestParam(value = "page",required = false) Integer page,
                                  @RequestParam(value = "size",required = false) Integer size,
                                  @RequestParam(value = "belongTo",required = false) String belongTo,
                                  @RequestParam(value = "unitId",required = false) Long unitId){
        return communityService.institutionalUnitServiceAnalysis(year,type,range,communityId,page,size,belongTo,unitId,this.getLoginUserInfo().getAccount());
    public R activityUnitAnalysis(@RequestParam(value = "year", required = false) Integer year,
                                  @RequestParam(value = "type", required = false) Integer type,
                                  @RequestParam(value = "range", required = false) Integer range,
                                  @RequestParam(value = "communityId", required = false) Long communityId,
                                  @RequestParam(value = "page", required = false) Integer page,
                                  @RequestParam(value = "size", required = false) Integer size,
                                  @RequestParam(value = "belongTo", required = false) String belongTo,
                                  @RequestParam(value = "unitId", required = false) Long unitId) {
        return communityService.institutionalUnitServiceAnalysis(year, type, range, communityId, page, size, belongTo, unitId, this.getLoginUserInfo().getAccount());
    }
    @ApiOperation(value = "分页查询服务范围数据",response = ComActColumnVO.class)
    @ApiOperation(value = "分页查询服务范围数据", response = ComActColumnVO.class)
    @PostMapping("comActColumn/queryAll")
    public R selectAll(@RequestBody CommonPage commonPage) {
        if(this.getLoginUserInfo().getStreetId()!=null){
        if (this.getLoginUserInfo().getStreetId() != null) {
            commonPage.setStreetId(this.getLoginUserInfo().getStreetId());
        } else {
            commonPage.setCommunityId(this.getCommunityId());
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java
@@ -1,35 +1,9 @@
package com.panzhihua.applets.api;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import javax.annotation.Resource;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import com.panzhihua.common.model.dtos.community.ComActDiscussVoteOptionDTO;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import cn.hutool.core.util.StrUtil;
import com.panzhihua.applets.weixin.CheckService;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.community.ComActDiscussCommentDTO;
import com.panzhihua.common.model.dtos.community.ComActDiscussCommentUserDTO;
import com.panzhihua.common.model.dtos.community.ComActDiscussDTO;
import com.panzhihua.common.model.dtos.community.ComActDiscussOptionDTO;
import com.panzhihua.common.model.dtos.community.ComActDiscussOptionUserDTO;
import com.panzhihua.common.model.dtos.community.ComActDiscussUserDTO;
import com.panzhihua.common.model.dtos.community.DiscussVoteOptionDTO;
import com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO;
import com.panzhihua.common.model.dtos.community.PageComActDiscussDTO;
import com.panzhihua.common.model.dtos.community.*;
import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
@@ -39,12 +13,20 @@
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.validated.AddGroup;
import com.panzhihua.common.validated.PutGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -65,11 +47,25 @@
    @ApiOperation(value = "一起议-新增")
    @PostMapping("discuss")
    public R addDiscuss(@RequestBody @Validated(AddGroup.class) ComActDiscussDTO comActDiscussDTO) {
        String openid = this.getLoginUserInfo().getOpenid();
        String appId = this.getAppId();
        // 微信内容审核
        String discussSubject = comActDiscussDTO.getDiscussSubject();
        if (!checkService.checkMessage(discussSubject)) {
            return R.fail("内容违规");
        if (StrUtil.isNotBlank(discussSubject)) {
            String result = checkService.checkMessageBy(discussSubject, openid, appId);
            if (StrUtil.isNotBlank(result)) {
                return R.fail("填写内容存在 " + result + " 违规信息");
            }
        }
        //微信图片审核
        String photoPah = comActDiscussDTO.getPhotoPah();
        if (StrUtil.isNotBlank(photoPah)) {
            if (!checkService.checkImageBy(photoPah, appId)) {
                return R.fail("上传图片存在违规信息");
            }
        }
        Integer type = comActDiscussDTO.getType();
        String voteTitle = comActDiscussDTO.getVoteTitle();
        List<ComActDiscussOptionDTO> discussOptions = comActDiscussDTO.getDiscussOptions();
@@ -132,10 +128,14 @@
        if (null == discussId || 0 == discussId) {
            return R.fail("一起议主键不能为空");
        }
        String result = checkService.checkMessageBy(comment, this.getLoginUserInfo().getOpenid(), this.getAppId());
        if (StrUtil.isNotBlank(result)) {
            return R.fail("填写内容存在 " + result + " 违规信息");
        }
        comActDiscussCommentDTO.setUserId(this.getUserId());
        // 议事投票计算积分
        AddComActIntegralUserDTO integralUserDTO = new AddComActIntegralUserDTO(discussId,
            AddComActIntegralUserDTO.integralType.cyystp, this.getCommunityId(), this.getUserId());
                AddComActIntegralUserDTO.integralType.cyystp, this.getCommunityId(), this.getUserId());
        integralUserDTO.setIsComment(1);
        communityService.addIntegralTradeAdmin(integralUserDTO);
        return communityService.addDiscussComment(comActDiscussCommentDTO);
@@ -195,6 +195,10 @@
        if (null == id || 0 == id) {
            return R.fail("评论主键不能为空");
        }
        String result = checkService.checkMessageBy(comment, this.getLoginUserInfo().getOpenid(), this.getAppId());
        if (StrUtil.isNotBlank(result)) {
            return R.fail("填写内容存在 " + result + " 违规信息");
        }
        comActDiscussCommentDTO.setUserId(this.getUserId());
        return communityService.addDiscussCommentBack(comActDiscussCommentDTO);
    }
@@ -220,8 +224,8 @@
    @ApiOperation(value = "一起议-增加浏览量")
    @PostMapping("discuss/increase-view-num")
    public void increaseViewNum(@RequestParam("discussId")
                             @ApiParam(value = "一起议主键id", required = true)
                             Long discussId) {
                                @ApiParam(value = "一起议主键id", required = true)
                                        Long discussId) {
        communityService.increaseViewNum(discussId);
    }
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/IndexApi.java
@@ -1,23 +1,14 @@
package com.panzhihua.applets.api;
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.common.EditComActEasyPhotoHandlerDto;
import com.panzhihua.common.model.dtos.common.EvaluateEasyDto;
import com.panzhihua.common.model.dtos.common.PageComActEasyPhotoHandlerDto;
import com.panzhihua.common.model.vos.common.ComActEasyPhotoHandlerVo;
import com.panzhihua.common.model.vos.community.easyPhoto.BannerVO;
import com.panzhihua.common.service.community.ComActEasyPhotoEvaluateFeign;
import com.panzhihua.common.service.community.ComActEasyPhotoHandlerFeign;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import cn.hutool.core.util.StrUtil;
import com.panzhihua.applets.weixin.CheckService;
import com.panzhihua.common.constants.Constants;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.CommonDTO;
import com.panzhihua.common.model.dtos.PageDTO;
import com.panzhihua.common.model.dtos.common.EditComActEasyPhotoHandlerDto;
import com.panzhihua.common.model.dtos.common.EvaluateEasyDto;
import com.panzhihua.common.model.dtos.common.PageComActEasyPhotoHandlerDto;
import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentDTO;
import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO;
import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
@@ -25,19 +16,26 @@
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.advertisement.ComOpsAdvVO;
import com.panzhihua.common.model.vos.common.ComActEasyPhotoHandlerVo;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.community.easyPhoto.BannerVO;
import com.panzhihua.common.model.vos.community.easyPhoto.ComActEasyPhotoClassifyVO;
import com.panzhihua.common.model.vos.user.NoticeUnReadVO;
import com.panzhihua.common.model.vos.user.SysUserAgreementVO;
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.service.community.ComActEasyPhotoEvaluateFeign;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.validated.AddGroup;
import com.panzhihua.common.validated.PageGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -74,9 +72,23 @@
    @PostMapping("easyphoto")
    public R addEasyPhoto(@RequestBody @Validated(AddGroup.class) ComActEasyPhotoVO comActEasyPhotoVO) {
        // 微信内容审核
        String msg = comActEasyPhotoVO.getDetail();
        if (!checkService.checkMessage(msg)) {
            return R.fail("内容违规");
        String openid = this.getLoginUserInfo().getOpenid();
        String appId = this.getAppId();
        // 微信内容审核
        String detail = comActEasyPhotoVO.getDetail();
        if (StrUtil.isNotBlank(detail)) {
            String result = checkService.checkMessageBy(detail, openid, appId);
            if (StrUtil.isNotBlank(result)) {
                return R.fail("填写内容存在 " + result + " 违规信息");
            }
        }
        //微信图片审核
        String photoPathList = comActEasyPhotoVO.getPhotoPathList();
        if (StrUtil.isNotBlank(photoPathList)) {
            if (!checkService.checkImageBy(photoPathList, appId)) {
                return R.fail("上传图片存在违规信息");
            }
        }
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
@@ -98,12 +110,13 @@
     * @author lyq
     * @date 2022-03-01 13:45:10
     */
    @ApiOperation(value = "查询处理列表",response = ComActEasyPhotoHandlerVo.class)
    @ApiOperation(value = "查询处理列表", response = ComActEasyPhotoHandlerVo.class)
    @PostMapping("/handleList")
    public R handleList(@RequestBody PageComActEasyPhotoHandlerDto comActEasyPhotoHandler) {
        comActEasyPhotoHandler.setUserId(this.getUserId());
        return this.communityService.queryEasyPhotoHandler(comActEasyPhotoHandler);
    }
    /**
     * description  edit  编辑数据
     *
@@ -163,6 +176,17 @@
    @ApiOperation(value = "随手拍--评论--新增评论")
    @PostMapping("comacteasyphotocomment")
    public R addComActEasyPhotoComment(@RequestBody ComActEasyPhotoCommentDTO comActEasyPhotoCommentDTO) {
        // 微信内容审核
        String openid = this.getLoginUserInfo().getOpenid();
        String appId = this.getAppId();
        // 微信内容审核
        String comment = comActEasyPhotoCommentDTO.getComment();
        if (StrUtil.isNotBlank(comment)) {
            String result = checkService.checkMessageBy(comment, openid, appId);
            if (StrUtil.isNotBlank(result)) {
                return R.fail("填写内容存在 " + result + " 违规信息");
            }
        }
        comActEasyPhotoCommentDTO.setUserId(this.getUserId());
        return communityService.addComActEasyPhotoComment(comActEasyPhotoCommentDTO);
    }
@@ -285,7 +309,7 @@
    @GetMapping("agreement")
    @ApiImplicitParam(name = "type", value = "1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策")
    public R agreement(@RequestParam("type") Integer type) {
        return userService.agreement(type,this.getAppId());
        return userService.agreement(type, this.getAppId());
    }
    @ApiOperation("发布留言")
@@ -395,7 +419,7 @@
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        if (loginUserInfo != null) {
            userId = loginUserInfo.getUserId();
            if(loginUserInfo.getCommunityId()!=null){
            if (loginUserInfo.getCommunityId() != null) {
                communityId = loginUserInfo.getCommunityId();
            }
        }
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/NeighborApi.java
@@ -1,25 +1,21 @@
package com.panzhihua.applets.api;
import cn.hutool.core.util.StrUtil;
import com.panzhihua.applets.weixin.CheckService;
import com.panzhihua.common.constants.NeighborCircleConstants;
import javax.annotation.Resource;
import com.panzhihua.common.model.vos.neighbor.*;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.web.bind.annotation.*;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.neighbor.*;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.neighbor.*;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.utlis.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import static java.util.Objects.isNull;
import javax.annotation.Resource;
/**
 * @auther lyq
@@ -66,39 +62,52 @@
        LoginUserInfoVO loginUser = this.getLoginUserInfo();
        Long userId = loginUser.getUserId();
        Long communityId = loginUser.getCommunityId();
        if(userId == null){
        if (userId == null) {
            return R.fail("请重新登录");
        }
        String releaseContent = addNeighborCircleAppDTO.getReleaseContent();
        if (StrUtil.isNotBlank(releaseContent)) {
            String result = checkService.checkMessageBy(releaseContent, this.getLoginUserInfo().getOpenid(), this.getAppId());
            if (StrUtil.isNotBlank(result)) {
                return R.fail("填写内容存在 " + result + " 违规信息");
            }
        }
        String releaseImages = addNeighborCircleAppDTO.getReleaseImages();
        if (StrUtil.isNotBlank(releaseImages)) {
            if (checkService.checkImageBy(releaseImages, this.getAppId())) {
                return R.fail("上传图片存在违规信息");
            }
        }
        addNeighborCircleAppDTO.setUserId(userId);
        if (StringUtils.isNotEmpty(loginUser.getPhone())) {
            addNeighborCircleAppDTO.setPhone(this.getLoginUserInfo().getPhone());
        }
        if(communityId != null){
        if (communityId != null) {
            addNeighborCircleAppDTO.setCommunityId(communityId);
        }
        //查询社区自动审核是否开着
        String key = NeighborCircleConstants.NEIGHBOR_CIRCLE_AUTO_EXAMINE;
        R isOk = communityService.getSysConfValue(key + communityId,communityId);
        if(R.isOk(isOk)){
            if(isOk.getData() != null){
        R isOk = communityService.getSysConfValue(key + communityId, communityId);
        if (R.isOk(isOk)) {
            if (isOk.getData() != null) {
                String value = isOk.getData().toString();
                if(value.equals("1")){
                if (value.equals("1")) {
                    addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.no);
                    String msg = addNeighborCircleAppDTO.getReleaseContent();
                    if (checkService.checkMessage(msg)) {
                        addNeighborCircleAppDTO.setWxExamineResult(AddComActNeighborCircleAppDTO.isExamine.yes);
                    }else{
                    } else {
                        addNeighborCircleAppDTO.setWxExamineResult(AddComActNeighborCircleAppDTO.isExamine.no);
                    }
                }else{
                } else {
                    addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.yes);
                }
            }else{
                communityService.addSysConfValue(key + communityId,communityId,"社区邻里圈自动审核参数","1");
            } else {
                communityService.addSysConfValue(key + communityId, communityId, "社区邻里圈自动审核参数", "1");
                addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.no);
            }
        }else{
        } else {
            addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.yes);
        }
@@ -164,6 +173,13 @@
        if (userId == null) {
            return R.fail("请先登录");
        }
        String content = commentAppDTO.getContent();
        if (StrUtil.isNotBlank(content)) {
            String result = checkService.checkMessageBy(content, this.getLoginUserInfo().getOpenid(), this.getAppId());
            if (StrUtil.isNotBlank(result)) {
                return R.fail("填写内容存在 " + result + " 违规信息");
            }
        }
        commentAppDTO.setUserId(userId);
        return communityService.neighborCommentByApp(commentAppDTO);
    }
@@ -174,6 +190,13 @@
        Long userId = this.getLoginUserInfo().getUserId();
        if (userId == null) {
            return R.fail("请先登录");
        }
        String content = replyAppDTO.getContent();
        if (StrUtil.isNotBlank(content)) {
            String result = checkService.checkMessageBy(content, this.getLoginUserInfo().getOpenid(), this.getAppId());
            if (StrUtil.isNotBlank(result)) {
                return R.fail("填写内容存在 " + result + " 违规信息");
            }
        }
        replyAppDTO.setUserId(userId);
        return communityService.neighborReplyByApp(replyAppDTO);
@@ -219,7 +242,7 @@
    @ApiOperation(value = "查询社区邻里圈话题列表", response = ComActNeighborCircleTopicAppVO.class)
    @GetMapping("topic/list")
    public R getNeighborTopicByApp(
            @RequestParam(value = "name",defaultValue = "",required = false) String name) {
            @RequestParam(value = "name", defaultValue = "", required = false) String name) {
        return communityService.getNeighborTopicByApp(name);
    }
@@ -227,8 +250,8 @@
    @PostMapping("delete")
    public R deleteNeighborByApp(@RequestBody DeleteNeighborCircleAppDTO circleTopicAppDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        if(loginUserInfo == null){
            return R.fail(401,"请先登录");
        if (loginUserInfo == null) {
            return R.fail(401, "请先登录");
        }
        circleTopicAppDTO.setUserId(loginUserInfo.getUserId());
        circleTopicAppDTO.setCommunityId(loginUserInfo.getCommunityId());
@@ -238,11 +261,10 @@
    /**
     * 分页查询邻里圈列表
     *
     * @param neighborCircleAppDTO
     *            请求参数
     * @param neighborCircleAppDTO 请求参数
     * @return 邻里圈列表
     */
    @ApiOperation(value = "新版接单问题",response =ComActNeighborCircleAppVO.class )
    @ApiOperation(value = "新版接单问题", response = ComActNeighborCircleAppVO.class)
    @PostMapping("selectSolve")
    public R selectSolve(@RequestBody ComActNeighborCircleAppDTO neighborCircleAppDTO) {
        neighborCircleAppDTO.setUserId(this.getUserId());
@@ -252,31 +274,33 @@
    /**
     * 修改数据
     *
     * @param editNeighborCircleAdminVO
     * @return
     */
    @ApiOperation(value = "接单 反馈",response =ComActNeighborCircleAppVO.class )
    @ApiOperation(value = "接单 反馈", response = ComActNeighborCircleAppVO.class)
    @PostMapping("update")
    public R order(@RequestBody EditNeighborCircleAdminVO editNeighborCircleAdminVO){
    public R order(@RequestBody EditNeighborCircleAdminVO editNeighborCircleAdminVO) {
        return this.communityService.order(editNeighborCircleAdminVO);
    }
    @ApiOperation(value = "服务统计",response = ServiceStaticsVO.class)
    @ApiOperation(value = "服务统计", response = ServiceStaticsVO.class)
    @PostMapping("/serviceStatic")
    public R serviceStatic(@RequestBody ServiceStaticDTO serviceStaticDTO){
    public R serviceStatic(@RequestBody ServiceStaticDTO serviceStaticDTO) {
        return this.communityService.serviceStatic(serviceStaticDTO);
    }
    /**
     * 求助我的问题数量统计
     *
     * @param type
     * @param phone
     * @return
     */
    @ApiOperation(value = "求助我的问题数量统计")
    @GetMapping("/selectCount")
    public R selectCount(@RequestParam("type")Integer type,@RequestParam(value = "phone",required = false)String phone,@RequestParam("communityId")Long communityId){
        return this.communityService.selectCount(type,phone,communityId);
    public R selectCount(@RequestParam("type") Integer type, @RequestParam(value = "phone", required = false) String phone, @RequestParam("communityId") Long communityId) {
        return this.communityService.selectCount(type, phone, communityId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/NeighborWestApi.java
@@ -1,13 +1,10 @@
package com.panzhihua.applets.api;
import cn.hutool.core.util.StrUtil;
import com.panzhihua.applets.weixin.CheckService;
import com.panzhihua.common.constants.NeighborCircleConstants;
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.neighbor.*;
import org.springframework.web.bind.annotation.*;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.neighbor.*;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAppVO;
@@ -16,10 +13,12 @@
import com.panzhihua.common.model.vos.neighbor.ComActNeighborCommentReplyAppVO;
import com.panzhihua.common.service.community.CommunityWestService;
import com.panzhihua.common.utlis.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * @auther lyq
@@ -54,39 +53,59 @@
        LoginUserInfoVO loginUser = this.getLoginUserInfo();
        Long userId = loginUser.getUserId();
        Long communityId = loginUser.getCommunityId();
        if(userId == null){
        if (userId == null) {
            return R.fail("请重新登录");
        }
        addNeighborCircleAppDTO.setUserId(userId);
        String openid = this.getLoginUserInfo().getOpenid();
        String appId = this.getAppId();
        // 微信内容审核
        String releaseContent = addNeighborCircleAppDTO.getReleaseContent();
        if (StrUtil.isNotBlank(releaseContent)) {
            String result = checkService.checkMessageBy(releaseContent, openid, appId);
            if (StrUtil.isNotBlank(result)) {
                return R.fail("填写内容存在 " + result + " 违规信息");
            }
        }
        //微信图片审核
        String releaseImages = addNeighborCircleAppDTO.getReleaseImages();
        if (StrUtil.isNotBlank(releaseImages)) {
            if (!checkService.checkImageBy(releaseImages, appId)) {
                return R.fail("上传图片存在违规信息");
            }
        }
        if (StringUtils.isNotEmpty(loginUser.getPhone())) {
            addNeighborCircleAppDTO.setPhone(this.getLoginUserInfo().getPhone());
        }
        if(communityId != null){
        if (communityId != null) {
            addNeighborCircleAppDTO.setCommunityId(communityId);
        }
        //查询社区自动审核是否开着
        String key = NeighborCircleConstants.NEIGHBOR_CIRCLE_AUTO_EXAMINE;
        R isOk = communityWestService.getSysConfValue(key + communityId,communityId);
        if(R.isOk(isOk)){
            if(isOk.getData() != null){
        R isOk = communityWestService.getSysConfValue(key + communityId, communityId);
        if (R.isOk(isOk)) {
            if (isOk.getData() != null) {
                String value = isOk.getData().toString();
                if(value.equals("1")){
                if (value.equals("1")) {
                    addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.no);
                    String msg = addNeighborCircleAppDTO.getReleaseContent();
                    if (checkService.checkMessage(msg)) {
                        addNeighborCircleAppDTO.setWxExamineResult(AddComActNeighborCircleAppDTO.isExamine.yes);
                    }else{
                    } else {
                        addNeighborCircleAppDTO.setWxExamineResult(AddComActNeighborCircleAppDTO.isExamine.no);
                    }
                }else{
                } else {
                    addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.yes);
                }
            }else{
                communityWestService.addSysConfValue(key + communityId,communityId,"社区邻里圈自动审核参数","1");
            } else {
                communityWestService.addSysConfValue(key + communityId, communityId, "社区邻里圈自动审核参数", "1");
                addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.no);
            }
        }else{
        } else {
            addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.yes);
        }
@@ -153,6 +172,16 @@
            return R.fail("请先登录");
        }
        commentAppDTO.setUserId(userId);
        String openid = this.getLoginUserInfo().getOpenid();
        String appId = this.getAppId();
        // 微信内容审核
        String content = commentAppDTO.getContent();
        if (StrUtil.isNotBlank(content)) {
            String result = checkService.checkMessageBy(content, openid, appId);
            if (StrUtil.isNotBlank(result)) {
                return R.fail("填写内容存在 " + result + " 违规信息");
            }
        }
        return communityWestService.neighborCommentByApp(commentAppDTO);
    }
@@ -207,24 +236,24 @@
    @ApiOperation(value = "查询社区邻里圈话题列表", response = ComActNeighborCircleTopicAppVO.class)
    @GetMapping("topic/list")
    public R getNeighborTopicByApp(@RequestParam("communityId") Long communityId
            ,@RequestParam(value = "isZero",defaultValue = "2",required = false) Integer isZero
            ,@RequestParam(value = "name",defaultValue = "",required = false) String name) {
            , @RequestParam(value = "isZero", defaultValue = "2", required = false) Integer isZero
            , @RequestParam(value = "name", defaultValue = "", required = false) String name) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        if (loginUserInfo != null) {
            communityId = loginUserInfo.getCommunityId();
        }
        if(isZero == null){
        if (isZero == null) {
            isZero = 2;
        }
        return communityWestService.getNeighborTopicByApp(communityId,isZero,name);
        return communityWestService.getNeighborTopicByApp(communityId, isZero, name);
    }
    @ApiOperation(value = "用户新增邻里圈话题")
    @PostMapping("topic/add")
    public R addNeighborTopicByApp(@RequestBody AddNeighborCircleTopicAppDTO circleTopicAppDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        if(loginUserInfo == null){
            return R.fail(401,"请先登录");
        if (loginUserInfo == null) {
            return R.fail(401, "请先登录");
        }
        circleTopicAppDTO.setUserId(loginUserInfo.getUserId());
        circleTopicAppDTO.setCommunityId(loginUserInfo.getCommunityId());
@@ -235,8 +264,8 @@
    @PostMapping("delete")
    public R deleteNeighborByApp(@RequestBody DeleteNeighborCircleAppDTO circleTopicAppDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        if(loginUserInfo == null){
            return R.fail(401,"请先登录");
        if (loginUserInfo == null) {
            return R.fail(401, "请先登录");
        }
        circleTopicAppDTO.setUserId(loginUserInfo.getUserId());
        circleTopicAppDTO.setCommunityId(loginUserInfo.getCommunityId());
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/weixin/CheckService.java
@@ -1,14 +1,21 @@
package com.panzhihua.applets.weixin;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.panzhihua.applets.config.WxMaConfiguration;
import cn.binarywang.wx.miniapp.api.WxMaSecCheckService;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.security.WxMaMsgSecCheckCheckRequest;
import cn.binarywang.wx.miniapp.bean.security.WxMaMsgSecCheckCheckResponse;
import cn.binarywang.wx.miniapp.config.WxMaConfig;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.panzhihua.applets.config.WxMaConfiguration;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -23,14 +30,102 @@
    private WxMaConfiguration wxMaConfiguration;
    public boolean checkMessage(String msg) {
        WxMaSecCheckService wxMaSecCheckService = wxMaConfiguration.getMaService("").getSecCheckService();
        WxMaService maService = wxMaConfiguration.getMaService("");
        WxMaConfig wxMaConfig = maService.getWxMaConfig();
        WxMaMsgSecCheckCheckRequest wxMaMsgSecCheckCheckRequest = WxMaMsgSecCheckCheckRequest.builder().version("2").openid(wxMaConfig.getAppid()).scene(2).content(msg).build();
        WxMaSecCheckService wxMaSecCheckService = maService.getSecCheckService();
        try {
            boolean b = wxMaSecCheckService.checkMessage(msg);
            return b;
            WxMaMsgSecCheckCheckResponse wxMaMsgSecCheckCheckResponse = wxMaSecCheckService.checkMessage(wxMaMsgSecCheckCheckRequest);
            wxMaMsgSecCheckCheckResponse.getResult();
            return true;
        } catch (WxErrorException e) {
            log.error("微信审核文字内容出错【{}】", e.getMessage());
            e.printStackTrace();
        }
        return false;
    }
    public String checkMessageBy(String msg, String openId, String appId) {
        WxMaMsgSecCheckCheckRequest wxMaMsgSecCheckCheckRequest = WxMaMsgSecCheckCheckRequest.builder().version("2").openid(openId).scene(2).content(msg).build();
        WxMaSecCheckService wxMaSecCheckService = wxMaConfiguration.getMaService(appId).getSecCheckService();
        try {
            WxMaMsgSecCheckCheckResponse result = wxMaSecCheckService.checkMessage(wxMaMsgSecCheckCheckRequest);
            return this.handleResult(result);
        } catch (WxErrorException e) {
            log.error("微信审核文字内容出错【{}】", e.getMessage());
            e.printStackTrace();
        }
        return null;
    }
    public boolean checkImageBy(String url, String appId) {
        String[] imageUrlArr = url.split(",");
        for (String imageUrl : imageUrlArr) {
            WxMaSecCheckService wxMaSecCheckService = wxMaConfiguration.getMaService(appId).getSecCheckService();
            try {
                return wxMaSecCheckService.checkImage(imageUrl);
            } catch (WxErrorException e) {
                log.error("微信审核图片内容出错【{}】", e.getMessage());
                e.printStackTrace();
            }
        }
        return true;
    }
    /**
     * 处理微信返回的违规结果
     *
     * @param result
     * @return
     */
    private String handleResult(WxMaMsgSecCheckCheckResponse result) {
        List<WxMaMsgSecCheckCheckResponse.DetailBean> detailBeanList = result.getDetail();
        if (null != detailBeanList && detailBeanList.size() > 0) {
            List<String> resultMsgs = new ArrayList<>();
            for (WxMaMsgSecCheckCheckResponse.DetailBean detailBean : detailBeanList) {
                if (0 == detailBean.getErrcode()) {
                    String label = detailBean.getLabel();
                    if (StrUtil.isNotBlank(label)) {
                        switch (label) {
                            case "100":
                                continue;
                            case "10001":
                                resultMsgs.add("广告");
                                continue;
                            case "20001":
                                resultMsgs.add("时政");
                                continue;
                            case "20002":
                                resultMsgs.add("色情");
                                continue;
                            case "20003":
                                resultMsgs.add("辱骂");
                                continue;
                            case "20006":
                                resultMsgs.add("违法犯罪");
                                continue;
                            case "20008":
                                resultMsgs.add("欺诈");
                                continue;
                            case "20012":
                                resultMsgs.add("低俗");
                                continue;
                            case "20013":
                                resultMsgs.add("版权");
                                continue;
                            case "21000":
                                resultMsgs.add("其他");
                        }
                    }
                }
            }
            if (CollUtil.isNotEmpty(resultMsgs)) {
                return StringUtils.join(resultMsgs, ",");
            }
        }
        return null;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseOperationVO.java
@@ -1,12 +1,12 @@
package com.panzhihua.common.model.vos.community.warehouse;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.panzhihua.common.utlis.StringUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @title: ComActWarehouseOperationVO
@@ -21,10 +21,10 @@
public class ComActWarehouseOperationVO {
    @ApiModelProperty(value = "操作记录id")
    private Integer id;
    private Long id;
    @ApiModelProperty(value = "物品id")
    private Integer goodsId;
    private Long goodsId;
    @ApiModelProperty(value = "操作内容")
    private String content;
@@ -34,7 +34,7 @@
    private Date createTime;
    @ApiModelProperty(value = "操作人")
    private Integer userId;
    private Long userId;
    @ApiModelProperty("申请人姓名")
    private String applyName;
@@ -77,14 +77,14 @@
    private Integer type;
    public void setDonateName(String donateName) {
        if(StringUtils.isNotEmpty(donateName)){
            this.donateName = donateName.charAt(0)+"**";
        if (StringUtils.isNotEmpty(donateName)) {
            this.donateName = donateName.charAt(0) + "**";
        }
    }
    public void setApplyName(String applyName) {
        if(StringUtils.isNotEmpty(applyName)){
            this.applyName = applyName.charAt(0)+"**";
        if (StringUtils.isNotEmpty(applyName)) {
            this.applyName = applyName.charAt(0) + "**";
        }
    }
}