huanghongfa
2021-08-19 c40be027ef8068b9a77bb24c94291dee25f563d8
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -9,6 +9,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.dtos.community.*;
import com.panzhihua.common.model.dtos.community.questnaire.StatisticsSummaryDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.SystemmanagementConfigVO;
import com.panzhihua.common.model.vos.community.*;
@@ -20,6 +21,7 @@
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.*;
import com.panzhihua.service_community.dao.ComActActSignDAO;
import com.panzhihua.service_community.dao.ComEldersAuthHistoryRecordMapper;
import com.panzhihua.service_community.dao.ComMngPopulationDAO;
import com.panzhihua.service_community.model.dos.*;
@@ -34,10 +36,7 @@
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -82,6 +81,8 @@
    private EldersAuthService eldersAuthService;
    @Resource
    public ComMngPopulationDAO comMngPopulationDAO;
    @Resource
    private ComActActSignDAO comActActSignDAO;
    @Resource
    public ComEldersAuthUserService comEldersAuthUserService;
    @Resource
@@ -258,7 +259,7 @@
     * @return 详情
     */
    @PostMapping("detailactivity")
    public R detailActivity(@RequestParam("id") Long id, @RequestParam("userId") Long userId) {
    public R detailActivity(@RequestParam("id") Long id, @RequestParam(value = "userId",required = false) Long userId) {
        ComActActivityVO comActActivityVO = comActActivityService.inforActivity(id, userId);
        if (ObjectUtils.isEmpty(comActActivityVO)) {
            return R.fail("活动不存在");
@@ -275,7 +276,7 @@
        }
        ActivitySignVO activitySignVO = new ActivitySignVO();
        activitySignVO.setActivityId(id);
        R r = comActActivityService.listActivitySign(activitySignVO);
        R r = comActActivityService.listActivitySigns(activitySignVO);
        if (R.isOk(r)) {
            List<ActivitySignVO> activitySignVOS = JSONArray.parseArray(JSONArray.toJSONString( r.getData()),ActivitySignVO.class);
            if (!ObjectUtils.isEmpty(activitySignVOS)) {
@@ -310,7 +311,7 @@
    }
    /**
     * 活动报名名单
     * 分页活动报名名单
     *
     * @param activitySignVO 查询参数
     * @return 报名人员集合
@@ -318,6 +319,17 @@
    @PostMapping("listactivitysign")
    public R listActivitySign(@RequestBody ActivitySignVO activitySignVO) {
        return comActActivityService.listActivitySign(activitySignVO);
    }
    /**
     * 活动报名名单
     *
     * @param activitySignVO 查询参数
     * @return 报名人员集合
     */
    @PostMapping("listactivitysigns")
    public R listActivitySigns(@RequestBody ActivitySignVO activitySignVO) {
        return comActActivityService.listActivitySigns(activitySignVO);
    }
    /**
@@ -363,18 +375,25 @@
     */
    @PostMapping("putdynamic")
    public R putDynamic(@RequestBody ComActDynVO comActDynVO) {
        ComActDynDO comActDynDO = new ComActDynDO();
        Long id = comActDynVO.getId();
        BeanUtils.copyProperties(comActDynVO, comActDynDO);
        ComActDynDO comActDynDO = comActDynService.getById(comActDynVO.getId());
        if(comActDynDO == null){
            return R.fail("未查到社区动态记录");
        }
//        Long id = comActDynVO.getId();
        Integer isTopping = comActDynVO.getIsTopping();
        boolean b = isTopping.intValue() == 1;
        boolean b = isTopping.equals(1);
        if(b){
            ComActDynDO comActDynDO1 = comActDynService.getById(id);
            Integer status = comActDynDO1.getStatus();
            if (status.intValue()==0) {
                return R.fail("该动态还未发布");
            Integer status = comActDynDO.getStatus();
            if (status.equals(0)) {
                return R.fail("待发布的社区动态不可置顶");
            }
        }
//        if(StringUtils.isEmpty(comActDynVO.getCover())){
//            comActDynVO.setCover(comActDynDO.getCover());
//        }
        BeanUtils.copyProperties(comActDynVO, comActDynDO);
        boolean update = comActDynService.updateById(comActDynDO);
        if (update) {
//            最多只能设置三条置顶状态,后边设置会取消先前设置的置顶
@@ -1402,32 +1421,56 @@
        }
    }
    /**
     * 小程序-问卷调查详情
     * @param userId    用户id
     * @param questId   问卷id
     * @return  问卷调查详情
     */
    @GetMapping("questnaire/view/detail")
    public R viewDetail(@RequestParam("questId") Long questId,@RequestParam("userId") Long userId) {
        return comActQuestnaireService.getQuesDetail(questId,userId);
    }
    /**
     * 社区后台-查询问卷调查详情
     * @param questId   问卷id
     * @return  问卷调查详情
     */
    @GetMapping("questnaire/admin/detail")
    public R quesDetail( @RequestParam("questId") Long questId) {
        return comActQuestnaireService.getQuesDetailAdmin(questId);
    }
    /**
     * 新增社区问卷
     * @param questnaireVO
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    @PostMapping("questnaire/addquestnaire")
    public R addQuestnaire(@RequestBody QuestnaireVO questnaireVO, @RequestParam("communityId") Long communityId, @RequestParam("userId") Long userId) {
        return comActQuestnaireService.addQuestnaire(questnaireVO, communityId, userId);
    public R addQuestnaire(@RequestBody QuestnaireVO questnaireVO) {
        return comActQuestnaireService.addQuestnaire(questnaireVO);
    }
    /**
     * 社区问卷列表
     * @param pageQuestnaireDTO
     * @return
     * 小程序-社区问卷列表
     * @param pageQuestnaireDTO 请求参数
     * @return  社区问卷列表
     */
    @PostMapping("questnaire/pagequestnaire")
    public R pageQuestnaire(@RequestBody PageQuestnaireDTO pageQuestnaireDTO,@RequestParam("communityId") Long communityId) {
        if(pageQuestnaireDTO.getForParty()==null){
            pageQuestnaireDTO.setForParty(false);
        }
        if(pageQuestnaireDTO.getForVolunteer()==null){
            pageQuestnaireDTO.setForVolunteer(false);
        }
        return comActQuestnaireService.pageQuestnaire(pageQuestnaireDTO, communityId);
    public R pageQuestnaire(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) {
        return comActQuestnaireService.pageQuestnaire(pageQuestnaireDTO);
    }
    /**
     * 社区后台-社区问卷列表
     * @param pageQuestnaireDTO 请求参数
     * @return  社区问卷列表
     */
    @PostMapping("questnaire/admin/pagequestnaire")
    public R pageQuestnaireAdmin(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) {
        return comActQuestnaireService.pageQuestnaireAdmin(pageQuestnaireDTO);
    }
    /**
@@ -1435,7 +1478,6 @@
     * @param questnaireVO
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    @PostMapping("questnaire/editquestnaire")
    public R editQuestnaire(@RequestBody QuestnaireVO questnaireVO) {
        return comActQuestnaireService.editQuestnaire(questnaireVO);
@@ -1447,8 +1489,8 @@
     * @return
     */
    @PostMapping("questnaire/editquestnairedo")
    public R editQuestnaireDO(@RequestBody EditComActQuestnaireVo editComActQuestnaireVo, @RequestParam("userId") Long userId) {
        return comActQuestnaireService.editQuestnaireDO(editComActQuestnaireVo, userId);
    public R editQuestnaireDO(@RequestBody EditComActQuestnaireVo editComActQuestnaireVo) {
        return comActQuestnaireService.editQuestnaireDO(editComActQuestnaireVo);
    }
    /**
@@ -1502,12 +1544,11 @@
    }
    /**
     * 居民填写问卷调查问卷
     * @param usersAnswerQuestnaireVO
     * 居民填写问卷调查问卷questnaire/pagequestnaire
     */
    @PostMapping("questnaire/usersanswequestnaire")
    public R usersAnsweQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO,@RequestParam("userId") Long userId){
        return comActQuestnaireService.usersAnsweQuestnaire(usersAnswerQuestnaireVO,userId);
    public R usersAnsweQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO){
        return comActQuestnaireService.usersAnsweQuestnaire(usersAnswerQuestnaireVO);
    }
    /**
@@ -1686,8 +1727,21 @@
            if (R.isOk(r1)) {
                log.info("新增用户报名党建活动通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO));
            }
        }
            //用户高龄认证反馈,推送订阅消息给用户
            Map<String,String> map = comActActSignDAO.getUserOpenId(eldersAuthDO.getSumitUserId());
            if(map != null){
                String openid = map.get("openid");
                try {
                    WxXCXTempSend util = new WxXCXTempSend();
                    String accessToken = util.getAppAccessToken();
                    WxUtil.sendSubscribeRZSH(openid,accessToken,"高龄认证"
                            ,DateUtils.format(eldersAuthDO.getCreateAt(),DateUtils.ymdhms_format),eldersAuthFeedbackAddDTO.getFeedBack());
                }catch (Exception e){
                    log.error("推送审核状态订阅消息失败,失败原因:" + e.getMessage());
                }
            }
        }
        return addR;
    }
@@ -1740,4 +1794,64 @@
    public R getCommunityLists(){
        return comActService.getCommunityLists();
    }
    /**
     * 随手拍发放奖励
     * @param grantRewardDTO    请求参数
     * @return  发放结果
     */
    @PostMapping("/easyphoto/grantReward")
    public R grantReward(@RequestBody GrantRewardDTO grantRewardDTO) {
        return comActEasyPhotoService.grantReward(grantRewardDTO);
    }
    /**
     * 获取最新活动和用户最新收益
     * @param userId    用户id
     * @param communityId   社区id
     * @return  最新活动和用户最新收益
     */
    @PostMapping("easyphoto/getUserReward")
    public R getUserReward(@RequestParam("userId") Long userId,@RequestParam("communityId") Long communityId) {
        return comActEasyPhotoService.getUserReward(userId,communityId);
    }
    /**
     * 读取用户随手拍奖励
     * @param userId    用户id
     * @return  读取结果
     */
    @PostMapping("easyphoto/readUserReward")
    public R readUserReward(@RequestParam("userId") Long userId,@RequestParam("communityId") Long communityId) {
        return comActEasyPhotoService.readUserReward(userId,communityId);
    }
    /**
     * 定时任务检测即将开始的社区活动,并使用订阅消息通知用户
     */
    @PostMapping("timedTaskActivityNotice")
    public R timedTaskActivityNotice(){
        return comActActivityService.timedTaskActivityNotice();
    }
    @PostMapping("questnaire/statisticsSummary")
    public R statisticsSummary(@RequestBody StatisticsSummaryDTO summaryDTO) {
        return comActQuestnaireService.statisticsSummary(summaryDTO);
    }
    @GetMapping("questnaire/statisticsSummary/export")
    public R statisticsSummaryExport(@RequestParam("questId") Long questId) {
        return comActQuestnaireService.statisticsSummaryExport(questId);
    }
    @GetMapping("questnaire/statisticsSummary/header")
    public R statisticsSummaryHeader(@RequestParam("questId") Long questId) {
        return comActQuestnaireService.statisticsSummaryHeader(questId);
    }
    @PostMapping("timedTaskQuestionnaire")
    public R timedTaskQuestionnaire(){
        return comActQuestnaireService.timedTaskQuestionnaire();
    }
}