lidongdong
2022-11-18 97bb97c13ad63c40a8baf73b0f5e08d93c0e7559
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
@@ -1,46 +1,42 @@
package com.panzhihua.applets.api;
import java.util.Date;
import javax.annotation.Resource;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.applets.weixin.CheckService;
import com.panzhihua.common.constants.Constants;
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.*;
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 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 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.neighbor.ActivityAnalysisVO;
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;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -56,15 +52,20 @@
    @Resource
    private CommunityService communityService;
    @Resource
    private CommunityWestService communityWestService;
    @Resource
    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) {
@@ -80,7 +81,10 @@
        }
        comActDynVO.setIsTopping(null);
        comActDynVO.setStatus(1);
        comActDynVO.setAreaCode(this.getAreaCode());
        Integer category = comActDynVO.getCategory();
        if (isNull(category)) {
            comActDynVO.setCategory(1);
        }
        return communityService.pageDynamic(comActDynVO);
    }
@@ -119,7 +123,6 @@
            comActActivityVO.setCommunityId(loginUserInfo.getCommunityId());
        }
        comActActivityVO.setIsApplets(1);
        comActActivityVO.setAreaCode(this.getAreaCode());
        Integer status = comActActivityVO.getStatus();
        if (null != status && status.intValue() == 4) {
            comActActivityVO.setIsIng(1);
@@ -136,7 +139,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)
@@ -150,7 +153,6 @@
    public R activitySignIn(@RequestBody ComActActRegistVO comActActRegistVO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        comActActRegistVO.setUserId(loginUserInfo.getUserId());
        comActActRegistVO.setIsVolunteer(loginUserInfo.getIsVolunteer());
        return communityService.activitySignIn(comActActRegistVO);
    }
@@ -159,7 +161,24 @@
    public R activityEvaluate(@RequestBody ComActActEvaluateVO comActActEvaluateVO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        comActActEvaluateVO.setUserId(loginUserInfo.getUserId());
        comActActEvaluateVO.setIsVolunteer(loginUserInfo.getIsVolunteer());
        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(501, "填写内容存在 " + result + " 违规信息");
            }
        }
        //微信图片审核
        String photo = comActActEvaluateVO.getPhoto();
        if (StrUtil.isNotBlank(photo)) {
            if (!checkService.checkImageBy(photo, appId)) {
                return R.fail(501, "上传图片存在违规信息");
            }
        }
        return communityService.activityEvaluate(comActActEvaluateVO);
    }
@@ -177,9 +196,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);
@@ -203,7 +222,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();
@@ -221,7 +240,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("非社区工作人员");
@@ -239,13 +258,38 @@
            @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) {
            return communityService.listRegistRecord(id, userId);
        }
        return R.fail("type不存在");
    }
    @ApiOperation(value = "活动邀请列表", response = ActivityInviteVO.class)
    @PostMapping("activity/invite/list")
    public R pageActivityInviteList(@RequestBody @Valid PageActivityInviteDTO pageActivityInviteDTO) {
        return communityService.pageActivityInviteList(pageActivityInviteDTO);
    }
    @ApiOperation(value = "添加邀请人员")
    @PostMapping("activity/invite/add")
    public R activityInviteAdd(@RequestBody @Valid List<ActivityInviteDTO> list) {
        if (!isEmpty(list)) {
            list.forEach(e -> e.setCreatedBy(this.getUserId()));
        } else {
            return R.fail("列表为空");
        }
        return communityService.activityInviteAdd(list);
    }
    @ApiOperation(value = "删除邀请人员")
    @ApiImplicitParam(name = "id", value = "邀请主键id", required = true)
    @DeleteMapping("activity/invite/delete")
    public R activityInviteDelete(@RequestParam("id") Long id) {
        return communityService.activityInviteDelete(id);
    }
    // @ApiOperation(value = "新增社区动态浏览记录")
@@ -275,7 +319,7 @@
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        if (loginUserInfo != null) {
            comMngVolunteerMngVO.setCommunityId(loginUserInfo.getCommunityId());
        }else{
        } else {
            comMngVolunteerMngVO.setCommunityId(pageVolunteerDTO.getCommunityId());
        }
        comMngVolunteerMngVO.setPageNum(pageVolunteerDTO.getPageNum());
@@ -339,16 +383,17 @@
    @ApiOperation(value = "获取树结构区域信息")
    @GetMapping(value = "arealist")
    public R getAllArea(@ApiParam(name = "城市编码:四川510000",
        required = true) @RequestParam(value = "provinceAdcode") Integer provinceAdcode) {
        return communityService.getCityTreeByProvinceCode(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())) {
@@ -356,4 +401,73 @@
        }
        return communityService.listActivitySign(activitySignVO);
    }
    @ApiOperation(value = "查询社区列表")
    @GetMapping("actList")
    public R getWestCommunityLists() {
        return communityService.getWestCommunityLists(this.getAreaCode());
    }
    @ApiOperation(value = "分页查询街道", response = PageComStreetDTO.class)
    @PostMapping("pagestreet")
    public R pageStreet(@RequestBody PageComStreetDTO pageComStreetDTO) {
        pageComStreetDTO.setAreaCode(this.getAreaCode());
        return communityService.pageStreet(pageComStreetDTO);
    }
    @ApiOperation(value = "新增服务活动")
    @PostMapping("activity")
    public R addActivity(@RequestBody @Validated(AddGroup.class) ComActActivityVO comActActivityVO) {
        Long communityId = this.getCommunityId();
        comActActivityVO.setCommunityId(communityId);
        comActActivityVO.setUserId(this.getLoginUserInfo().getUserId());
        comActActivityVO.setStatus(2);
        comActActivityVO.setHasPrize(0);
        return communityService.addActivity(comActActivityVO);
    }
    @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());
    }
    @ApiOperation(value = "分页查询服务范围数据", response = ComActColumnVO.class)
    @PostMapping("comActColumn/queryAll")
    public R selectAll(@RequestBody CommonPage commonPage) {
        if (this.getLoginUserInfo().getStreetId() != null) {
            commonPage.setStreetId(this.getLoginUserInfo().getStreetId());
        } else {
            commonPage.setCommunityId(this.getCommunityId());
        }
        return this.communityService.comActColumnSelectAll(commonPage);
    }
    @ApiOperation(value = "街道详情", response = ComStreetVO.class)
    @ApiImplicitParam(name = "id", value = "街道id", required = true)
    @GetMapping("street")
    public R detailStreet(@RequestParam("id") Long id) {
        return communityWestService.detailStreet(id);
    }
    @ApiOperation(value = "根据id查询社区详情", response = ComActVO.class)
    @ApiImplicitParam(name = "id", value = "社区id", required = true)
    @GetMapping("detail")
    public R detailCommunity(@RequestParam("id") Long id) {
        return communityService.detailCommunity(id);
    }
    @ApiOperation(value = "获取问题清单,需求清单,报道服务活动数量",response = DataCount.class)
    @GetMapping("/dataCount")
    public R dataCount(){
        return communityService.dataCount();
    }
}