From 43f0578e80af82ecae6c61b51bd0539c6b960603 Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期二, 16 八月 2022 19:08:32 +0800 Subject: [PATCH] 服务范围优化 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java | 396 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 320 insertions(+), 76 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 92cf8c7..850afc5 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,30 +1,28 @@ package com.panzhihua.service_community.api; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.stream.Collectors; +import static java.util.stream.Collectors.toList; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; import javax.annotation.Resource; -import cn.hutool.core.date.DateUtil; +import com.panzhihua.common.model.dtos.community.ActivityInviteDTO; +import com.panzhihua.common.model.dtos.community.PageActivityInviteDTO; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.community.ComActActivityTypeVO; +import com.panzhihua.common.model.vos.community.volunteer.ComMngVolunteerExcelVO; +import com.panzhihua.common.model.vos.user.SysTemplateConfigVO; +import com.panzhihua.service_community.dao.ComActActEvaluateDAO; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.*; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -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 org.springframework.web.bind.annotation.*; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -50,11 +48,11 @@ 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.ComActActRegistVO; import com.panzhihua.common.model.vos.community.ActivitySignVO; import com.panzhihua.common.model.vos.community.BatchhouseVO; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import com.panzhihua.common.model.vos.community.ComActActPrizeVO; +import com.panzhihua.common.model.vos.community.ComActActRegistVO; import com.panzhihua.common.model.vos.community.ComActActivityVO; import com.panzhihua.common.model.vos.community.ComActDynVO; import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; @@ -89,6 +87,7 @@ import com.panzhihua.service_community.dao.ComEldersAuthHistoryRecordMapper; import com.panzhihua.service_community.dao.ComMngPopulationDAO; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdcardUtil; import lombok.extern.slf4j.Slf4j; @@ -146,6 +145,12 @@ private ComActActEvaluateService comActActEvaluateService; @Resource private ComEldersAuthElderlyService comEldersAuthElderlyService; + @Resource + private ComActMicroWishOperationRecordService wishOperationRecordService; + @Resource + private ComActActEvaluateDAO comActActEvaluateDAO; + @Resource + private ComActActivityInviteService comActActivityInviteService; /** * 新增社区活动 @@ -271,12 +276,15 @@ }); } comActActivityVO1.setComActActPrizeVOList(comActActPrizeVOList); - Integer participantMax = comActActivityVO1.getParticipantMax(); - if (participantMax.intValue() == 0) { - comActActivityVO1.setType(1); - } else { - comActActivityVO1.setType(2); + Integer volunteerMax = comActActivityVO1.getVolunteerMax(); + if(comActActivityVO1.getType()==null){ + if (volunteerMax.intValue() != 0) { + comActActivityVO1.setType(1); + } else { + comActActivityVO1.setType(2); + } } + fillActivitySignList(id, comActActivityVO1); }); page.setRecords(content); } @@ -287,7 +295,7 @@ /** * 社区后台分页查询社区活动 - * + * * @param comActActivityVO * 查询参数 * @return 返回结果 @@ -330,7 +338,9 @@ */ @PostMapping("detailactivity") public R detailActivity(@RequestParam("id") Long id, - @RequestParam(value = "userId", required = false) Long userId) { + @RequestParam(value = "userId", required = false) Long userId, + @RequestParam(value = "pageNum",defaultValue = "1", required = false) Long pageNum, + @RequestParam(value = "pageSize",defaultValue = "10", required = false) Long pageSize) { ComActActivityVO comActActivityVO = comActActivityService.inforActivity(id, userId); if (ObjectUtils.isEmpty(comActActivityVO)) { return R.fail("活动不存在"); @@ -347,43 +357,49 @@ }); comActActivityVO.setComActActPrizeVOList(comActActPrizeVOS); } + // //活动评价 - List<ComActActEvaluateDO> comActActEvaluateDOList = comActActEvaluateService - .list(new QueryWrapper<ComActActEvaluateDO>().lambda().eq(ComActActEvaluateDO::getActivityId, id)); - if (!ObjectUtils.isEmpty(comActActEvaluateDOList)) { - List<ComActActEvaluateVO> comActActEvaluateVOList = new ArrayList<>(); - comActActEvaluateDOList.forEach(comActActEvaluateDO -> { - ComActActEvaluateVO comActActEvaluateVO = new ComActActEvaluateVO(); - BeanUtils.copyProperties(comActActEvaluateDO, comActActEvaluateVO); - comActActEvaluateVOList.add(comActActEvaluateVO); - }); - comActActivityVO.setComActActEvaluateVOList(comActActEvaluateVOList); - //活动评价总数 - comActActivityVO.setEvaluateAmount(comActActEvaluateDOList.size()); - //当前用户对活动的评分 - Optional.ofNullable(userId).ifPresent(currentUserId -> { - Optional<ComActActEvaluateDO> optional = comActActEvaluateDOList.stream() - .filter(comActActEvaluateDO -> comActActEvaluateDO.getUserId().equals(currentUserId)).findFirst(); - if (optional.isPresent()) { - comActActivityVO.setMyRating(optional.get().getStarLevel()); - } - }); - } - //签到时间 - Optional.ofNullable(userId).ifPresent(currentUserId -> { - R listSignInResult = comActActivityService.listSignInActivity(currentUserId); - if (R.isOk(listSignInResult) && !ObjectUtils.isEmpty(listSignInResult.getData())) { - Optional<ComActActRegistVO> optional = JSONArray.parseArray(JSONArray.toJSONString(listSignInResult.getData()), ComActActRegistVO.class).stream() - .filter(activitySignInVO -> activitySignInVO.getActivityId().equals(id)) - .sorted(Comparator.comparing(ComActActRegistVO::getCreateAt).reversed()).findFirst(); - if (optional.isPresent()) { - comActActivityVO.setActivitySignInDate(optional.get().getCreateAt()); - } + IPage<ComActActEvaluateVO> comActActEvaluatePage = comActActEvaluateDAO.getEvaluateListPage(new Page(pageNum,pageSize),id); + comActActivityVO.setComActActEvaluateVOList(comActActEvaluatePage.getRecords()); + //活动评价总数 + comActActivityVO.setEvaluateAmount(comActActEvaluatePage.getTotal()); + List<ComActActEvaluateDO> comActActEvaluateList = comActActEvaluateDAO + .selectList(new QueryWrapper<ComActActEvaluateDO>().lambda().eq(ComActActEvaluateDO::getActivityId, id)); + if (comActActEvaluateList != null && comActActEvaluateList.size() > 0) { + BigDecimal starNum = BigDecimal.ZERO; + //总星级 + for (ComActActEvaluateDO evaluate:comActActEvaluateList) { + starNum = starNum.add(BigDecimal.valueOf(evaluate.getStarLevel()==null?0:evaluate.getStarLevel())); } - }); + //评分星级(如果无评分默认5分)=总星级/总评价人数 + if(starNum.compareTo(BigDecimal.ZERO) == 0){ + comActActivityVO.setEvaluateLevel(BigDecimal.valueOf(5)); + }else{ + comActActivityVO.setEvaluateLevel(starNum.divide(BigDecimal.valueOf(comActActEvaluateList.size()),2, RoundingMode.HALF_UP)); + } + }else{ + comActActivityVO.setEvaluateLevel(BigDecimal.valueOf(5)); + } + //当前用户对活动的评分 + ComActActEvaluateVO userActEvaluateVO = comActActEvaluateDAO.getEvaluateListByUserId(id,userId); + if(userActEvaluateVO != null){ + comActActivityVO.setMyRating(userActEvaluateVO.getStarLevel()); + } + fillActivitySignList(id, comActActivityVO); + comActActivityVO.setIntegral(0); + return R.ok(comActActivityVO); + } + + /** + * 填充活动报名名单 + * @param activityId 活动id + * @param comActActivityVO 需填充VO + */ + private void fillActivitySignList(Long activityId, ComActActivityVO comActActivityVO) { //活动报名名单 ActivitySignVO activitySignVO = new ActivitySignVO(); - activitySignVO.setActivityId(id); + activitySignVO.setActivityId(activityId); + activitySignVO.setStatus(1); R r = comActActivityService.listActivitySigns(activitySignVO); if (R.isOk(r)) { List<ActivitySignVO> activitySignVOS = @@ -395,7 +411,7 @@ } } List<ActivitySignVO> collect = activitySignVOS.stream() - .filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 1).collect(Collectors.toList()); + .filter(activitySignVO1 -> activitySignVO1.getSignIdentity() == 3).collect(toList()); if (!ObjectUtils.isEmpty(collect)) { int size = collect.size(); if (size >= 6) { @@ -405,7 +421,7 @@ } } List<ActivitySignVO> collect1 = activitySignVOS.stream() - .filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 0).collect(Collectors.toList()); + .filter(activitySignVO1 -> activitySignVO1.getSignIdentity() == 1).collect(toList()); if (!ObjectUtils.isEmpty(collect1)) { int size = collect1.size(); if (size >= 6) { @@ -414,11 +430,19 @@ comActActivityVO.setActivitySignVOList(collect1); } } + List<ActivitySignVO> collect2 = activitySignVOS.stream() + .filter(activitySignVO1 -> activitySignVO1.getSignIdentity() == 2).collect(toList()); + if (!ObjectUtils.isEmpty(collect2)) { + int size = collect2.size(); + if (size >= 6) { + comActActivityVO.setActivityPbList(collect2.subList(0, 6)); + } else { + comActActivityVO.setActivityPbList(collect2); + } + } } } - comActActivityVO.setIntegral(0); - return R.ok(comActActivityVO); } /** @@ -620,7 +644,7 @@ int size = list.size(); if (size == 4) { List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getCreateAt)) - .collect(Collectors.toList()); + .collect(toList()); ComActDynDO comActDynDO1 = collect.get(0); comActDynDO1.setIsTopping(0); boolean update = comActDynService.updateById(comActDynDO1); @@ -673,7 +697,7 @@ int size = list.size(); if (size == 4) { List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getUpdateAt)) - .collect(Collectors.toList()); + .collect(toList()); ComActDynDO comActDynDO1 = collect.get(0); comActDynDO1.setIsTopping(0); boolean updateById = comActDynService.updateById(comActDynDO1); @@ -821,6 +845,11 @@ return comActMicroWishService.pageMicroWish(comActMicroWishVO); } + @PostMapping("pagemicrowish/applets") + public R pageMicroWishApplets(@RequestBody ComActMicroWishVO comActMicroWishVO) { + return comActMicroWishService.pageMicroWishApplets(comActMicroWishVO); + } + /** * 心愿详情 * @@ -885,7 +914,7 @@ /** * 查询随手拍是否有活动 - * + * * @return 活动详情 */ @PostMapping("getEasyPhotoActivity") @@ -906,6 +935,8 @@ BeanUtils.copyProperties(comActMicroWishVO, comActMicroWishDO); boolean save = comActMicroWishService.save(comActMicroWishDO); if (save) { + wishOperationRecordService.addOperationRecord("用户提交微心愿",comActMicroWishVO.getSponsorId() + ,comActMicroWishDO.getId(), ComActMicroWishOperationRecordDO.type.ytj,"用户提交微心愿",null); return R.ok(); } return R.fail(); @@ -1174,17 +1205,17 @@ /** * 查询所有建筑类型 - * + * * @return 类型列表 */ @PostMapping("listbuildtype") - public R listBuildType() { - return comMngStructOtherBuildService.listBuildType(); + public R listBuildType(@RequestParam("communityId")Long communityId) { + return comMngStructOtherBuildService.listBuildType(communityId); } /** * 分页查询 其他建筑 - * + * * @param comMngStructOtherBuildVO * 分页查询参数 * @return 查询结果 @@ -1196,19 +1227,28 @@ /** * 增加志愿者 - * + * * @param comMngVolunteerMngVO * 志愿者信息 * @return 增加结果 */ @PostMapping("addvolunteer") R addVolunteer(@RequestBody ComMngVolunteerMngVO comMngVolunteerMngVO) { + Long submitUserId = comMngVolunteerMngVO.getSubmitUserId(); + if (Objects.nonNull(submitUserId)) { + //获取小程序用户信息 + R<LoginUserInfoVO> userInfoR = userService.getUserInfoByUserId(submitUserId.toString()); + LoginUserInfoVO userInfo = userInfoR.getData(); + if (Objects.nonNull(userInfo)) { + comMngVolunteerMngVO.setIdCard(userInfo.getIdCard()); + } + } return comMngVolunteerMngService.addVolunteer(comMngVolunteerMngVO); } /** * 获取志愿者详情 - * + * * @param id * @return */ @@ -1385,8 +1425,9 @@ * @return 活动列表 */ @PostMapping("listactivity") - public R listActivity(@RequestParam("userId") Long userId) { - return comActActivityService.listActivity(userId); + public R listActivity(@RequestParam("userId") Long userId, + @RequestParam(value = "status", required = false) Integer status,@RequestParam(value = "type", required = false) Integer type) { + return comActActivityService.listActivity(userId, status,type); } /** @@ -1492,8 +1533,8 @@ * @return 社区集合 按照创建顺序倒序排列 */ @PostMapping("listcommunityall") - public R listCommunityAll() { - return comActService.listCommunityAll(); + public R listCommunityAll(@RequestParam("areaCode") String areaCode) { + return comActService.listCommunityAll(areaCode); } /** @@ -2217,10 +2258,11 @@ String openid = map.get("openid"); try { WxXCXTempSend util = new WxXCXTempSend(); - String accessToken = util.getAppAccessToken(); + R<SysTemplateConfigVO> sysTemplateConfigVO=userService.selectTemplate(eldersAuthFeedbackAddDTO.getAreaCode(),5); + String accessToken = util.getAccessToken(); WxUtil.sendSubscribeRZSH(openid, accessToken, "高龄认证", DateUtils.format(eldersAuthDO.getCreateAt(), DateUtils.ymdhms_format), - eldersAuthFeedbackAddDTO.getFeedBack()); + eldersAuthFeedbackAddDTO.getFeedBack(),sysTemplateConfigVO.getData().getTemplateId()); } catch (Exception e) { log.error("推送审核状态订阅消息失败,失败原因:" + e.getMessage()); } @@ -2284,6 +2326,16 @@ @GetMapping("/eventgrid/community/list") public R getCommunityLists() { return comActService.getCommunityLists(); + } + + /** + * 查询西区社区列表 + * + * @return 社区列表 + */ + @GetMapping("/eventgrid/community/westList") + public R getWestCommunityLists(@RequestParam(value = "areaCode",required = false)String areaCode) { + return comActService.getWestCommunityLists(areaCode); } /** @@ -2434,4 +2486,196 @@ public R easyPhotoNoHandleList(@RequestParam("communityId") Long communityId) { return comActEasyPhotoService.easyPhotoNoHandleList(communityId); } + + /** + * 微心愿处理人列表 + * @param communityId 社区id + * @param type 处理人类型(1.后台用户 2.党员 3.志愿者) + * @return 处理人列表 + */ + @GetMapping("wish/handle/list/admin") + public R wishHandleListAdmin(@RequestParam(value = "communityId") Long communityId,@RequestParam("type") Integer type){ + return R.ok(comActMicroWishService.wishHandleListAdmin(communityId,type)); + } + + /** + * 社区后台分页查询微心愿 + * @param comActMicroWishVO 请求参数 + * @return 微心愿列表 + */ + @PostMapping("pagemicrowishAdmin") + public R pageMicroWishAdmin(@RequestBody ComActMicroWishVO comActMicroWishVO) { + return comActMicroWishService.pageMicroWishAdmin(comActMicroWishVO); + } + + /** + * 活动报名签到情况 + * @param id 活动主键id + * @return + */ + @GetMapping("activity/sign-in/list") + public R listSignInRecord(@RequestParam("id") Long id) { + return comActActivityService.listSignInRecord(id); + } + + /** + * 活动签到记录 + * @param id 活动主键 + * @param userId 用户id + * @return + */ + @GetMapping("activity/regist/list") + public R listRegistRecord(@RequestParam("id") Long id, @RequestParam("userId") Long userId) { + return comActActivityService.listRegistRecord(id, userId); + } + + /** + * 获取活动类型(目前只有志愿者活动需要获取) + * @param communityId + * @param type + * @return + */ + @GetMapping("activity/type/list") + public R listActivityType(@RequestParam("communityId") Long communityId, @RequestParam("type") Integer type) { + return comActActivityService.listActivityType(communityId, type); + } + + /** + * 添加活动类型 + * @param comActActivityTypeVO + * @return + */ + @PostMapping("activity/type/add") + public R addActivityType(@RequestBody ComActActivityTypeVO comActActivityTypeVO) { + return comActActivityService.addActivityType(comActActivityTypeVO); + } + + /** + * 我的评价 + * @param userId + * @param activityId 活动id + * @return + */ + @GetMapping("activity/my-evaluate") + public R listMyActivityEvaluate(@RequestParam("userId") Long userId, @RequestParam("activityId") Long activityId) { + return comActActEvaluateService.listMyActivityEvaluate(userId, activityId); + } + + /** + * 志愿者导入 + * + * @param list 志愿者数据列表 + * @param communityId 社区id + * @param userId 用户id + * @return 导入结果 + */ + @PostMapping("/volunteer/import/admin") + public R importVolunteerAdmin(@RequestBody List<ComMngVolunteerExcelVO> list, + @RequestParam(value = "communityId") Long communityId, @RequestParam(value = "userId") Long userId) { + return comMngVolunteerMngService.importVolunteerAdmin(list,communityId,userId); + } + + /** + * [方法描述] 根据社区ID查询所属城市所在区区域代码, + * + * @param communityId + * 社区ID + * @return String 区域code + * @author manailin + * @date 2022/2/17 10:09 + */ + @GetMapping("act/getActBelongRegionCode") + public String getActBelongRegionCode(@RequestParam("communityId") Long communityId) { + return comActActivityService.getActBelongRegionCode(communityId); + } + + /** + * 党员活动统计 + * @param communityId + * @param year + * @return + */ + @GetMapping("activity/partyMemberCount") + public R partyMemberCount(@RequestParam("communityId")Long communityId,@RequestParam("year")String year){ + return comActActivityService.partyMemberCount(communityId,year); + } + + /** + * 党员活动详情数据 + * @return + */ + @PostMapping("activity/partyMemberDetail") + public R partyMemberDetail(@RequestBody CommonPage commonPage){ + return comActActivityService.partyMemberDetail(commonPage); + } + + + /** + * 导出党员活动详情数据 + * @return + */ + @PostMapping("activity/exportPartyMemberDetail") + public R exportPartyMemberDetail(@RequestBody CommonPage commonPage){ + return comActActivityService.exportPartyMemberDetail(commonPage); + } + + /** + * 批量删除活动 + * @param ids + * @return + */ + @PostMapping("batchDel") + public R deleteActivities(@RequestBody List<Long> ids) { + return R.ok(comActActivityService.removeByIds(ids)); + } + + /** + * 获取人大代表反馈记录 + * @param id + * @return + */ + @GetMapping("dpc/feedback") + public R getFeedbackList(@RequestParam("id") Long id) { + return comActEasyPhotoService.getFeedbackList(id); + } + + /** + * 人大代表反馈随手拍 + * @param comActEasyPhotoVO + * @return + */ + @PostMapping("dpc/feedback") + public R addEasyPhotoFeedbackForDpc(@RequestBody ComActEasyPhotoVO comActEasyPhotoVO) { + return comActEasyPhotoService.addEasyPhotoFeedbackForDpc(comActEasyPhotoVO); + } + + /** + * 活动邀请列表 + * @param pageActivityInviteDTO + * @return + */ + @PostMapping("activity/invite/list") + public R pageActivityInviteList(@RequestBody PageActivityInviteDTO pageActivityInviteDTO) { + return comActActivityInviteService.pageActivityInviteList(pageActivityInviteDTO); + } + + /** + * 添加邀请人员 + * @param list + * @return + */ + @PostMapping("activity/invite/add") + public R activityInviteAdd(@RequestBody List<ActivityInviteDTO> list) { + return comActActivityInviteService.activityInviteAdd(list); + } + + /** + * 删除邀请人员 + * @param id + * @return + */ + @DeleteMapping("activity/invite/delete") + public R activityInviteDelete(@RequestParam("id") Long id) { + return comActActivityInviteService.activityInviteDelete(id); + } } -- Gitblit v1.7.1