huanghongfa
2022-02-22 206aa4bf5fd44e9b31d7284d6be8dc60b90a73ae
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -2,30 +2,17 @@
import static java.util.stream.Collectors.toList;
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.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import javax.annotation.Resource;
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;
@@ -33,62 +20,27 @@
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.ComActEasyPhotoCommentDTO;
import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthAddByFamilyDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthAddDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthDeleteDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthEditDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthFeedbackAddDTO;
import com.panzhihua.common.model.dtos.community.GrantRewardDTO;
import com.panzhihua.common.model.dtos.community.PageComActDTO;
import com.panzhihua.common.model.dtos.community.PageComActEasyPhotoCommentDTO;
import com.panzhihua.common.model.dtos.community.PageEldersAuthDTO;
import com.panzhihua.common.model.dtos.community.PageQuestnaireAnswerDTO;
import com.panzhihua.common.model.dtos.community.PageQuestnaireDTO;
import com.panzhihua.common.model.dtos.community.PageQuestnaireSubDetailsDTO;
import com.panzhihua.common.model.dtos.community.*;
import com.panzhihua.common.model.dtos.community.easyPhoto.ExportEasyPhotoDTO;
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.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;
import com.panzhihua.common.model.vos.community.ComActMessageBackVO;
import com.panzhihua.common.model.vos.community.ComActMessageVO;
import com.panzhihua.common.model.vos.community.ComActMicroWishVO;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.community.ComMngStructAreaVO;
import com.panzhihua.common.model.vos.community.ComMngStructHouseVO;
import com.panzhihua.common.model.vos.community.ComMngStructOtherBuildVO;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngAppletsVO;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO;
import com.panzhihua.common.model.vos.community.EldersAuthVO;
import com.panzhihua.common.model.vos.community.ResetComActMessageVO;
import com.panzhihua.common.model.vos.community.SignactivityVO;
import com.panzhihua.common.model.vos.community.TodoEventsVO;
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.SysTemplateConfigVO;
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.AgeUtils;
import com.panzhihua.common.utlis.ClazzUtils;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.IdCard;
import com.panzhihua.common.utlis.WxUtil;
import com.panzhihua.common.utlis.WxXCXTempSend;
import com.panzhihua.common.utlis.*;
import com.panzhihua.service_community.dao.ComActActEvaluateDAO;
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.*;
import com.panzhihua.service_community.service.*;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdcardUtil;
@@ -277,8 +229,8 @@
                        });
                    }
                    comActActivityVO1.setComActActPrizeVOList(comActActPrizeVOList);
                    Integer participantMax = comActActivityVO1.getParticipantMax();
                    if (participantMax.intValue() == 0) {
                    Integer volunteerMax = comActActivityVO1.getVolunteerMax();
                    if (volunteerMax.intValue() != 0) {
                        comActActivityVO1.setType(1);
                    } else {
                        comActActivityVO1.setType(2);
@@ -361,6 +313,23 @@
        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){
@@ -380,6 +349,7 @@
        //活动报名名单
        ActivitySignVO activitySignVO = new ActivitySignVO();
        activitySignVO.setActivityId(activityId);
        activitySignVO.setStatus(1);
        R r = comActActivityService.listActivitySigns(activitySignVO);
        if (R.isOk(r)) {
            List<ActivitySignVO> activitySignVOS =
@@ -1386,8 +1356,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) {
        return comActActivityService.listActivity(userId, status);
    }
    /**
@@ -1493,8 +1464,8 @@
     * @return 社区集合 按照创建顺序倒序排列
     */
    @PostMapping("listcommunityall")
    public R listCommunityAll() {
        return comActService.listCommunityAll();
    public R listCommunityAll(@RequestParam("areaCode") String areaCode) {
        return comActService.listCommunityAll(areaCode);
    }
    /**
@@ -2218,10 +2189,11 @@
                String openid = map.get("openid");
                try {
                    WxXCXTempSend util = new WxXCXTempSend();
                    R<SysTemplateConfigVO> sysTemplateConfigVO=userService.selectTemplate(eldersAuthFeedbackAddDTO.getAreaCode(),5);
                    String accessToken = util.getAppAccessToken();
                    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());
                }
@@ -2293,8 +2265,8 @@
     * @return 社区列表
     */
    @GetMapping("/eventgrid/community/westList")
    public R getWestCommunityLists() {
        return comActService.getWestCommunityLists();
    public R getWestCommunityLists(@RequestParam("areaCode")String areaCode) {
        return comActService.getWestCommunityLists(areaCode);
    }
    /**
@@ -2466,4 +2438,71 @@
    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);
    }
    /**
     * [方法描述] 根据社区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);
    }
}