From 02f18587bd8860b305e2c688e20465be166bb48c Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期四, 22 七月 2021 15:14:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java | 415 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 398 insertions(+), 17 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java index 57ca6f3..eeaeb70 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java @@ -1,35 +1,42 @@ package com.panzhihua.service_community.api; +import cn.hutool.core.util.IdcardUtil; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; 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.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.SystemmanagementConfigVO; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo; import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO; +import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO; +import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO; +import com.panzhihua.common.model.vos.user.SysUserNoticeVO; import com.panzhihua.common.model.vos.user.UserPhoneVO; -import com.panzhihua.common.validated.AddGroup; -import com.panzhihua.service_community.model.dos.ComActActPrizeDO; -import com.panzhihua.service_community.model.dos.ComActDynDO; -import com.panzhihua.service_community.model.dos.ComActMicroWishDO; -import com.panzhihua.service_community.model.dos.ComMngStructAreaDO; +import com.panzhihua.common.service.user.UserService; +import com.panzhihua.common.utlis.*; +import com.panzhihua.service_community.dao.ComEldersAuthHistoryRecordMapper; +import com.panzhihua.service_community.dao.ComMngPopulationDAO; +import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.*; -import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; -import org.springframework.validation.annotation.Validated; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; 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.stream.Collectors; @@ -69,6 +76,18 @@ private ComActMessageService comActMessageService; @Resource private ComActQuestnaireService comActQuestnaireService; + @Resource + private UserService userService; + @Resource + private EldersAuthService eldersAuthService; + @Resource + public ComMngPopulationDAO comMngPopulationDAO; + @Resource + public ComEldersAuthUserService comEldersAuthUserService; + @Resource + private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper; + @Resource + private ComActEasyPhotoActivityService comActEasyPhotoActivityService; /** * 新增社区活动 @@ -256,10 +275,15 @@ } 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)) { + for (ActivitySignVO signVO:activitySignVOS) { + if(StringUtils.isEmpty(signVO.getName())){ + signVO.setName(signVO.getNickName()); + } + } List<ActivitySignVO> collect = activitySignVOS.stream().filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 1).collect(Collectors.toList()); if (!ObjectUtils.isEmpty(collect)) { int size = collect.size(); @@ -286,7 +310,7 @@ } /** - * 活动报名名单 + * 分页活动报名名单 * * @param activitySignVO 查询参数 * @return 报名人员集合 @@ -294,6 +318,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); } /** @@ -401,6 +436,17 @@ } /** + * 管理后台分页查询社区动态 + * + * @param comActDynVO 查询参数 + * @return 动态集合 + */ + @PostMapping("pagedynamicByAdmin") + public R pagedynamicByAdmin(@RequestBody ComActDynVO comActDynVO) { + return comActDynService.pageDynamicByAdmin(comActDynVO); + } + + /** * 社区动态详情 * * @param id 动态id @@ -435,6 +481,26 @@ return comActEasyPhotoService.detailEasyPhoto(id, userId); } + /** + * 随手拍删除 + * + * @param id 随手拍主键 + * @param userId 登录用户 + * @return 详情内容 + */ + @PostMapping("deleteEasyPhoto") + public R deleteEasyPhoto(@RequestParam("id") Long id, @RequestParam("userId") Long userId) { + ComActEasyPhotoDO comActEasyPhotoDO = comActEasyPhotoService.getBaseMapper().selectById(id); + if(comActEasyPhotoDO==null){ + return R.fail("随手拍不存在"); + } + comActEasyPhotoDO.setDelTag(1); + int updateById = comActEasyPhotoService.getBaseMapper().updateById(comActEasyPhotoDO); + if(updateById==1){ + return R.ok(); + } + return R.fail(); + } /** * 分页查询微心愿 * @@ -500,6 +566,15 @@ @PostMapping("addeasyphoto") public R addEasyPhoto(@RequestBody ComActEasyPhotoVO comActEasyPhotoVO) { return comActEasyPhotoService.addEasyPhoto(comActEasyPhotoVO); + } + + /** + * 查询随手拍是否有活动 + * @return 活动详情 + */ + @PostMapping("getEasyPhotoActivity") + public R getEasyPhotoActivity(@RequestParam("communityId") Long communityId) { + return comActEasyPhotoActivityService.getEasyPhotoActivity(communityId); } /** @@ -783,6 +858,16 @@ @PostMapping("addvolunteer") R addVolunteer(@RequestBody ComMngVolunteerMngVO comMngVolunteerMngVO){ return comMngVolunteerMngService.addVolunteer(comMngVolunteerMngVO); + } + + /** + * 获取志愿者详情 + * @param id + * @return + */ + @GetMapping("getVolunteerById") + R getVolunteerById(@RequestParam("id")Long id){ + return comMngVolunteerMngService.getVolunteerById(id); } /** @@ -1096,6 +1181,15 @@ } /** + * 定时任务刷新微心愿的状态 + * @return 更新结果 + */ + @PostMapping("timedtaskactmicrowish") + R timedTaskActMicroWishAll(){ + return comActMicroWishService.timedTaskActMicroWishAll(); + } + + /** * 其他建筑详情 * @param id 主键id * @return 建筑内容 @@ -1261,12 +1355,12 @@ public R deleteMessage(@RequestBody ComActMessageVO comActMessageVO) { return comActMessageService.deleteMessage(comActMessageVO); } - + @PostMapping("resetmessagepublic") public R resetMessagePublic(@RequestBody ResetComActMessageVO resetComActMessageVO) { return comActMessageService.resetMessagePublic(resetComActMessageVO); } - + /** * 留言详情 * @@ -1300,13 +1394,23 @@ } /** - * 查看用户问卷调查详细 + * 查看问卷调查详细 * @param questId 问卷ID * @return 用户问卷调查详细 */ @GetMapping("questnaire/view") - public R view(@RequestParam("questId") Long questId) { - return comActQuestnaireService.infoQuestnaire(questId); + public R view(@RequestParam("userId") Long userId, @RequestParam("questId") Long questId) { + /** + * 根据用户身份分别返回 数据 + */ + /* 问卷参与者, 已提交问卷则返回问卷详细, 否则返回空的问卷 */ + boolean isMember = true;//默认情况下,可不做逻辑判断,直接查询返回用户答卷 + if(isMember) { + return comActQuestnaireService.answerInfoQuestnaire(userId, questId); + }else { + /*非问卷参与者 返回问卷“预览” */ + return comActQuestnaireService.infoQuestnaire(questId); + } } @@ -1315,6 +1419,7 @@ * @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); @@ -1326,8 +1431,14 @@ * @return */ @PostMapping("questnaire/pagequestnaire") - public R pageQuestnaire(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) { - return comActQuestnaireService.pageQuestnaire(pageQuestnaireDTO); + 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); } /** @@ -1335,6 +1446,7 @@ * @param questnaireVO * @return */ + @Transactional(rollbackFor = Exception.class) @PostMapping("questnaire/editquestnaire") public R editQuestnaire(@RequestBody QuestnaireVO questnaireVO) { return comActQuestnaireService.editQuestnaire(questnaireVO); @@ -1355,6 +1467,7 @@ * @param questId 调查问卷Id * @return */ + @Transactional(rollbackFor = Exception.class) @PostMapping("questnaire/deletequestnaire") public R editQuestnaireDO(@RequestParam("questId") Long questId,@RequestParam("userId") Long userId) { return comActQuestnaireService.deleteQuestnaire(questId,userId); @@ -1370,4 +1483,272 @@ return comActQuestnaireService.statQuestnaire(questId); } + /** + * 问卷答题结果 + * + * @param questId 问卷ID + */ + @PostMapping("questnaire/answerslist") + public R answerResultList(@RequestParam("questId")Long questId){ + return comActQuestnaireService.answerResultList(questId); + } + /** + * 问卷题目 答卷信息 + * + * @param pageQuestnaireSubDetailsDTO 问卷ID + */ + @PostMapping("questnaire/qaqeustanswerdetails") + public R qaQeustAnswerDetails(@RequestBody PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO){ + return comActQuestnaireService.qaQeustDetails(pageQuestnaireSubDetailsDTO); + } + + /** + * 社区问卷回答用户分页 + * @param pageQuestnaireAnswerDTO + * @return 分页数据 + */ + @PostMapping("questnaire/pagequestnaireanswer") + public R pageQuestnaireAnswer(@RequestBody PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO){ + return comActQuestnaireService.pageQuestnaireAnswer(pageQuestnaireAnswerDTO); + } + + /** + * 居民填写问卷调查问卷 + * @param usersAnswerQuestnaireVO + */ + @PostMapping("questnaire/usersanswequestnaire") + public R usersAnsweQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO,@RequestParam("userId") Long userId){ + return comActQuestnaireService.usersAnsweQuestnaire(usersAnswerQuestnaireVO,userId); + } + + /** + * 删除微心愿 + * @param id + * @return + */ + @PostMapping("deletemicrowish") + public R deletemicrowish(@RequestParam("id") Long id){ + return comActMicroWishService.deleteMicroWish(id); + } + + + + + /** + * 新增高龄认证 + * @param eldersAuthAddDTO + * @return 新增结果 + */ + @PostMapping("/eldersauth/add") + R add(@RequestBody EldersAuthAddDTO eldersAuthAddDTO){ + return eldersAuthService.add(eldersAuthAddDTO); + }; + + /** + * 修改高龄认证 + * @param eldersAuthEditDTO + * @return 维护结果 + */ + @PostMapping("/eldersauth/edit") + R edit(@RequestBody EldersAuthEditDTO eldersAuthEditDTO){ + return eldersAuthService.edit(eldersAuthEditDTO); + }; + + /** + * 分页查找高龄认证 + * @param pageEldersAuthDTO + * @return 维护结果 + */ + @PostMapping("/eldersauth/page") + R<IPage<EldersAuthVO>> query(@RequestBody PageEldersAuthDTO pageEldersAuthDTO){ + return eldersAuthService.query(pageEldersAuthDTO); + }; + + /** + * 删除高龄认证 + * @param EldersAuthDeleteDTO + * @return 平台用户信息 + */ + @PostMapping("/eldersauth/delete") + R delete(@RequestBody EldersAuthDeleteDTO EldersAuthDeleteDTO){ + return eldersAuthService.delete(EldersAuthDeleteDTO); + }; + + /** + * 查询高龄认证详细信息 + * @param id 高龄认证 id + * @return 查找结果 + */ + @PostMapping("/eldersauth/{id}") + R<EldersAuthDetailsVO> eldersAuthDetails(@PathVariable("id") Long id){ + return eldersAuthService.eldersAuthDetails(id); + }; + + @PostMapping("/eldersauth/getMyfamilyElders/{userId}") + R<List<ComMngFamilyInfoVO>> getMyfamilyElders(@PathVariable("userId") Long userId){ + List<ComMngFamilyInfoVO> list = comMngPopulationDAO.listFamilyByUserId(userId); + + List<ComMngFamilyInfoVO> listRt = new ArrayList<>(); + list.forEach(rt -> { + int age = IdCard.IdNOToAge(rt.getIdCard()); + boolean isElders = age >= 80; + if (isElders) { + listRt.add(rt); + } + }); + return R.ok(listRt); + } + + @PostMapping("/eldersauth/addByFamilyUser") + @Transactional(rollbackFor = Exception.class) + R addByFamilyUser(@RequestBody EldersAuthAddByFamilyDTO eldersAuthAddByFamilyDTO){ + + ComEldersAuthUserDO authUserDO = comEldersAuthUserService.getById(eldersAuthAddByFamilyDTO.getFamilyUserId()); + if(authUserDO == null){ + return R.fail("未查询到老人信息"); + } + + Long elderId = authUserDO.getId(); + boolean canReAuthThisMonth = comEldersAuthUserService.checkReAuthAgain(elderId); + if(!canReAuthThisMonth){ + return R.fail("当月已认证,不能再次进行认证"); + } + + String idCard = authUserDO.getIdCard(); + + Long loginUserId = eldersAuthAddByFamilyDTO.getUserId(); + EldersAuthDO eldersAuthDO = new EldersAuthDO(); + eldersAuthDO.setSumitUserId(loginUserId); + eldersAuthDO.setCreateBy(loginUserId); + eldersAuthDO.setCreateAt(new Date()); + eldersAuthDO.setIdCard(idCard); + eldersAuthDO.setAuthUserName(authUserDO.getName()); + eldersAuthDO.setVideoUrl(eldersAuthAddByFamilyDTO.getVideoUrl()); + eldersAuthDO.setFamilyUserId(authUserDO.getId()); + eldersAuthDO.setAge(IdcardUtil.getAgeByIdCard(idCard)); + //根据身份证查询出籍贯 出生日期 + //String domicile = IdCard.domicile(eldersAuthDO.getIdCard()); + String domicile = eldersAuthService.queryDomicile(eldersAuthDO.getIdCard()); + if(StringUtils.isEmpty(domicile)){ + domicile = "暂无"; + } + + Date birthDay = IdCard.birthDay(idCard); + eldersAuthDO.setDomicile(domicile); + eldersAuthDO.setBirthDay(birthDay); + int add = eldersAuthService.getBaseMapper().insert(eldersAuthDO); + if(add==1){ + //设置认证成功 + Long familyUserId = eldersAuthDO.getFamilyUserId(); + ComEldersAuthUserDO comEldersAuthUserDO = new ComEldersAuthUserDO(); + comEldersAuthUserDO.setId(familyUserId); + comEldersAuthUserDO.setIsAuth(1); + boolean updated = comEldersAuthUserService.updateById(comEldersAuthUserDO); + if(!updated){ + throw new ServiceException("添加认证失败,更新认证状态"); + } + //认证成功 添加认证记录 + List<ComEldersAuthHistoryRecordDO> authHistoryRecordDOList = comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>() + .lambda().eq(ComEldersAuthHistoryRecordDO::getIdCard,idCard).ge(ComEldersAuthHistoryRecordDO::getCreateAt, DateUtils.getFirstDayOfMonth())); + if(authHistoryRecordDOList.isEmpty()){ + ComEldersAuthHistoryRecordDO authHistoryRecordDO = new ComEldersAuthHistoryRecordDO(); + authHistoryRecordDO.setUserId(eldersAuthAddByFamilyDTO.getFamilyUserId()); + authHistoryRecordDO.setAuthId(eldersAuthDO.getId()); + BeanUtils.copyProperties(eldersAuthDO,authHistoryRecordDO); + authHistoryRecordDO.setId(null); + authHistoryRecordDO.setBrithday(AgeUtils.getAgeFormatBirthday(IdcardUtil.getBirthByIdCard(idCard))); + authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(idCard)); + authHistoryRecordDO.setIsAuth(1); + authHistoryRecordDO.setDomicile(domicile); + comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO); + } + return R.ok(eldersAuthDO.getId()); + } + + return R.fail(); + } + + /** + * 新增高龄认证社区反馈 + * @param {classNameFirstLower}AddDTO 添加高龄认证社区反馈传递对象 + * @return 新增结果 + */ + @PostMapping("/eldersauth/addFeedback") + R add(@RequestBody EldersAuthFeedbackAddDTO eldersAuthFeedbackAddDTO){ + ClazzUtils.setIfStringIsEmpty(eldersAuthFeedbackAddDTO); + EldersAuthDO eldersAuthDO = eldersAuthService.getBaseMapper().selectById(eldersAuthFeedbackAddDTO.getAuthId()); + if(eldersAuthDO==null){ + return R.fail("认证记录不存在"); + } + R addR = eldersAuthService.addFeedback(eldersAuthFeedbackAddDTO); + if(R.isOk(addR)){ + SysUserNoticeVO sysUserNoticeVO=new SysUserNoticeVO(); + sysUserNoticeVO.setUserId(eldersAuthDO.getSumitUserId()); + sysUserNoticeVO.setType(3); + sysUserNoticeVO.setTitle("高龄认证社区反馈"); + sysUserNoticeVO.setBusinessType(13); + sysUserNoticeVO.setBusinessTitle(" "); + sysUserNoticeVO.setBusinessContent("你提交【" +eldersAuthDO.getAuthUserName() + "】的高龄认证,社区反馈:" + + eldersAuthFeedbackAddDTO.getFeedBack()); + sysUserNoticeVO.setBusinessId(eldersAuthDO.getId()); + sysUserNoticeVO.setStatus(0); + sysUserNoticeVO.setBusinessStatus(2); + R r1 = userService.addNotice(sysUserNoticeVO); + if (R.isOk(r1)) { + log.info("新增用户报名党建活动通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO)); + } + } + + return addR; + } + + + /** + * 查询导出高龄老人 + * @param pageEldersAuthDTO + * @return + */ + @PostMapping("/eldersauth/eldersAuthQuery") + R eldersAuthQuery(@RequestBody PageEldersAuthDTO pageEldersAuthDTO){ + return eldersAuthService.queryExportData(pageEldersAuthDTO); + } + + /** + * 设置社区认证方式 + * @param communityId 社区ID + * @param type 核验类型(1.视频认证 2.人脸核验) + * @return + */ + @PostMapping("/elders/setCommunityAuthType") + R setCommunityAuthType(@RequestParam("communityId")Long communityId,@RequestParam("type") Integer type){ + return eldersAuthService.setCommunityAuthType(communityId, type); + } + + /** + * 随手拍活动定时任务 + * @return 执行结果 + */ + @PostMapping("timeTaskEasyPhotoActivity") + public R timeTaskEasyPhotoActivity(){ + return comActEasyPhotoActivityService.timeTaskEasyPhotoActivity(); + } + + /** + * 社区随手拍列表统计 + * @param communityId 社区id + * @return 统计结果 + */ + @GetMapping("easyphoto/statistics") + public R easyPhotoStatistics(@RequestParam("communityId")Long communityId) { + return comActEasyPhotoService.easyPhotoStatistics(communityId); + } + + /** + * 综治后台-查询社区列表 + * @return 社区列表 + */ + @GetMapping("/eventgrid/community/list") + public R getCommunityLists(){ + return comActService.getCommunityLists(); + } } -- Gitblit v1.7.1