puhanshu
2021-12-23 40ff51856a11151ab3f0154a1ae3530e00dafff7
修改活动bug
14个文件已修改
262 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/integral/admin/AddComActIntegralUserDTO.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActRegistVO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActIntegralUserApi.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActIntegralUserMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActIntegralUserService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActRegistMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActivityMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActIntegralUserDOMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/timejob/src/main/java/com/panzhihua/timejob/jobhandler/CommunityJobHandler.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/integral/admin/AddComActIntegralUserDTO.java
@@ -11,7 +11,7 @@
    @ApiModelProperty("业务id")
    private Long serviceId;
    @ApiModelProperty("积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参与志愿者活动 5.参与社区活动 6.参与党员活动 7.参与调查问卷 8.活动签到 9.取消活动)")
    @ApiModelProperty("积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参加居民活动 5.参加志愿者活动 6.参与党员活动 7.参与调查问卷 8.取消活动 )")
    private Integer integralType;
    @ApiModelProperty(value = "社区id")
@@ -26,6 +26,9 @@
    @ApiModelProperty(value = "签到类型 1居民 志愿者签到 2党员签到")
    private Integer activityType;
    @ApiModelProperty(value = "是否是志愿者 0 不是 1 是")
    private Integer isVolunteer;
    public AddComActIntegralUserDTO(Long serviceId, Integer integralType, Long communityId, Long userId) {
        this.serviceId = serviceId;
        this.integralType = integralType;
@@ -36,17 +39,16 @@
    public AddComActIntegralUserDTO() {}
    /**
     * 积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参与志愿者活动 5.参与社区活动 6.参与党员活动 7.参与调查问卷 8.活动签到 9.取消活动)
     * 积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参加居民活动 5.参加志愿者活动 6.参与党员活动 7.参与调查问卷 8.取消活动 )
     */
    public interface integralType {
        int fbssp = 1;
        int fbwxy = 2;
        int cyystp = 3;
        int cyzyzhd = 4;
        int cysqhd = 5;
        int cyjmhd = 4;
        int cyzyzhd = 5;
        int cydyhd = 6;
        int cydcwj = 7;
        int hdqd = 8;
        int qxhd = 9;
        int qxhd = 8;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActRegistVO.java
@@ -80,4 +80,12 @@
    @ApiModelProperty(value = "活动类型 1居民,志愿者 2党员")
    private Integer activityType;
    @ApiModelProperty("签到开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @ApiModelProperty("签到结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -5304,11 +5304,11 @@
    R addIntegralTradeAdmin(@RequestBody AddComActIntegralUserDTO integralUserDTO);
    /**
     * 根据社区活动id查询社区活动报名人员列表
     * 根据社区活动id查询社区活动报名且未参与人员列表
     *
     * @param activityId
     *            活动id
     * @return 社区活动报名人员列表
     * @return 社区活动报名且未参与人员列表
     */
    @PostMapping("/integral/act/activity/admin")
    R getTaskActivityPeopleList(@RequestParam("activityId") Long activityId);
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActIntegralUserApi.java
@@ -142,11 +142,11 @@
    }
    /**
     * 根据社区活动id查询社区活动报名人员列表
     * 根据社区活动id查询社区活动报名且未参与人员列表
     * 
     * @param activityId
     *            活动id
     * @return 社区活动报名人员列表
     * @return 社区活动报名且未参与人员列表
     */
    @PostMapping("/act/activity/admin")
    public R getTaskActivityPeopleList(@RequestParam("activityId") Long activityId) {
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java
@@ -45,7 +45,7 @@
        + "count(if(s.is_volunteer=1,s.id,null))volunteer_now, "
        + "count(if(s.is_volunteer=0,s.id,null))participant_now, " + "a.participant_max, " + "a.sign_up_begin, "
        + "a.sign_up_end, " + "ca.name as communityName  " + "FROM " + "com_act_activity a  "
        + "left join sys_user u on a.sponsor_id=u.user_id " + "left join com_act_act_sign s on a.id=s.activity_id  "
        + "left join sys_user u on a.sponsor_id=u.user_id " + "left join (select * from com_act_act_sign where `status` = 1) s on a.id=s.activity_id  "
        + "left join com_act ca on a.community_id=ca.community_id  " + " where 1=1 " +
        "<if test='comActActivityVO.choice == 0 '>" + "AND a.community_id=#{comActActivityVO.communityId} " + " </if> "
@@ -79,12 +79,12 @@
     */
    ComActActivityVO inforActivity(@Param("id") Long id);
    @Select("SELECT " + "a.*  " + "FROM " + "com_act_act_sign s " + "JOIN com_act_activity a ON s.activity_id = a.id  "
    @Select("SELECT " + "a.*  " + "FROM " + "(select * from com_act_act_sign where `status` = 1) s " + "JOIN com_act_activity a ON s.activity_id = a.id  "
        + "WHERE " + "s.user_id = #{comActActivityVO.sponsorId}  " + "ORDER BY " + "s.create_at DESC")
    IPage<ComActActivityVO> pageMyActivity(Page page, @Param("comActActivityVO") ComActActivityVO comActActivityVO);
    @Select("select " + "t.activity_name," + "t.id," + "t.end_at," + "t.begin_at," + "t.cover," + "t.status "
        + "from com_act_act_sign s  "
        + "from (select * from com_act_act_sign where `status` = 1) s  "
        + "join sys_user u on s.user_id=u.user_id and u.phone=#{phone} and s.is_volunteer=1 "
        + "join com_act_activity t on s.activity_id=t.id and t.status=5")
    List<ComActActivityVO> listActivityByPhone(String phone);
@@ -92,7 +92,7 @@
    @Select("select t.id from ( " + "SELECT  " + "a.id, " + "a.activity_name, "
        + "COUNT(case when s.is_volunteer=1 then s.id else null end )volunteernum, "
        + "COUNT(case when s.is_volunteer=0 then s.id else null end)usernum, " + "a.participant_min, "
        + "a.volunteer_min " + "FROM " + "com_act_activity a  " + "LEFT JOIN com_act_act_sign s on a.id=s.activity_id  "
        + "a.volunteer_min " + "FROM " + "com_act_activity a  " + "LEFT JOIN (select * from com_act_act_sign where `status` = 1) s on a.id=s.activity_id  "
        + "WHERE " + "a.`status` in(3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),a.sign_up_end)<=0 "
        + "GROUP BY a.id)t WHERE t.usernum<participant_min or t.volunteernum<volunteer_min")
    List<Long> selectTimedTaskActActivity();
@@ -170,8 +170,8 @@
    @Select("SELECT " + " count( caa.id ) as totalNum, "
        + " (select count(id) from com_act_activity where `status` IN (1,2,3,4,5) and volunteer_min = 0 and community_id = #{communityId}) as commonNum, "
        + " (select count(id) from com_act_activity where `status` IN (1,2,3,4,5) and volunteer_min > 0 and community_id = #{communityId}) as volunteerNum, "
        + " (select count(caas.user_id) from com_act_act_sign as caas left join com_act_activity as caa on caa.id = caas.activity_id where caa.`status` IN (1,2,3,4,5) and is_volunteer = 0 and caa.community_id = #{communityId}) as commonPeopleNum, "
        + " (select count(caas.user_id) from com_act_act_sign as caas left join com_act_activity as caa on caa.id = caas.activity_id where caa.`status` IN (1,2,3,4,5) and is_volunteer = 1 and caa.community_id = #{communityId}) as volunteerPeopleNum, "
        + " (select count(caas.user_id) from (select * from com_act_act_sign where `status` = 1) as caas left join com_act_activity as caa on caa.id = caas.activity_id where caa.`status` IN (1,2,3,4,5) and is_volunteer = 0 and caa.community_id = #{communityId}) as commonPeopleNum, "
        + " (select count(caas.user_id) from (select * from com_act_act_sign where `status` = 1) as caas left join com_act_activity as caa on caa.id = caas.activity_id where caa.`status` IN (1,2,3,4,5) and is_volunteer = 1 and caa.community_id = #{communityId}) as volunteerPeopleNum, "
        + " (select count(id) from com_act_activity where `status` IN (1,2,3,4,5) and community_id = #{communityId} and create_at between date_sub(curdate() - day(curdate()) +1,interval 1 month) and now()) as currentNum "
        + "FROM " + " com_act_activity AS caa  " + "WHERE "
        + " caa.`status` IN (1,2,3,4,5) and community_id = #{communityId}")
@@ -202,9 +202,9 @@
        @Param("actActivityListDTO") ScreenActActivityListDTO actActivityListDTO);
    @Select("SELECT " + " count( caas.id ) AS volunteerCount,( " + " SELECT " + "  count( caas1.id )  " + " FROM "
        + "  com_act_act_sign AS caas1 " + "  LEFT JOIN sys_user AS su1 ON su1.user_id = caas1.user_id  " + " WHERE "
        + "  (select * from com_act_act_sign where `status` = 1) AS caas1 " + "  LEFT JOIN sys_user AS su1 ON su1.user_id = caas1.user_id  " + " WHERE "
        + "  su1.is_volunteer = 0  " + "  AND caas1.activity_id = #{activityId}  " + " ) AS participantCount  "
        + "FROM " + " com_act_act_sign AS caas " + " LEFT JOIN sys_user AS su ON su.user_id = caas.user_id  " + "WHERE "
        + "FROM " + " (select * from com_act_act_sign where `status` = 1) AS caas " + " LEFT JOIN sys_user AS su ON su.user_id = caas.user_id  " + "WHERE "
        + " su.is_volunteer = 1  " + " AND activity_id = #{activityId} ")
    ActActivityListVO getScreenActActivityPeopleCount(@Param("activityId") Long activityId);
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActIntegralUserMapper.java
@@ -54,11 +54,11 @@
        @Param("communityRankDTO") ComActIntegralCommunityRankDTO communityRankDTO);
    /**
     * 根据社区活动id查询社区活动报名人员列表
     * 根据社区活动id查询社区活动报名且未参与人员列表
     * 
     * @param activityId
     *            活动id
     * @return 社区活动报名人员列表
     * @return 社区活动报名且未参与人员列表
     */
    List<ComActActivityPeopleVO> getTaskActivityPeopleList(@Param("activityId") Long activityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActIntegralUserService.java
@@ -49,11 +49,11 @@
    R getIntegralCommunityRankApplets(ComActIntegralCommunityRankDTO communityRankDTO);
    /**
     * 根据社区活动id查询社区活动报名人员列表
     * 根据社区活动id查询社区活动报名且未参与人员列表
     * 
     * @param activityId
     *            活动id
     * @return 社区活动报名人员列表
     * @return 社区活动报名且未参与人员列表
     */
    R getTaskActivityPeopleList(Long activityId);
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -483,13 +483,13 @@
                    JSONObject.parseObject(JSONObject.toJSONString(userInfoR.getData()), LoginUserInfoVO.class);
            // 查询当前活动下参与居民
            Integer residentCount = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda()
                    .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, 0));
                    .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, 0).eq(ComActActSignDO::getStatus, 1));
            if (volunteerMax != 0) {
                //志愿者活动
                boolean userIsVolunteer = loginUserInfoVO.getIsVolunteer() == 1;
                // 查询当前活动下参与志愿者
                Integer volunteerCount = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda()
                        .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, 1));
                        .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, 1).eq(ComActActSignDO::getStatus, 1));
                if (userIsVolunteer) {
                    //用户是志愿者以志愿者身份参加
                    if (volunteerMax > volunteerCount || volunteerMax.equals(-1)) {
@@ -550,9 +550,14 @@
                num = comActActSignDAO.insert(comActActSignDO);
            }
        } else {
            Integer regTimes = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>().lambda()
                    .eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getType, 1));
            Integer canCancel = actActivityDO.getCanCancel();
            if (nonNull(canCancel) && canCancel.equals(2)) {
                return R.fail("该活动暂不支持取消");
            }
            if (regTimes > 0) {
                return R.fail("您已参与活动,不可取消");
            }
            if (isNull(signactivityVO.getReason())) {
                return R.fail("缺少取消原因");
@@ -566,8 +571,9 @@
            if (num > 0) {
                AddComActIntegralUserDTO addComActIntegralUserDTO = new AddComActIntegralUserDTO();
                addComActIntegralUserDTO.setUserId(userId);
                addComActIntegralUserDTO.setIntegralType(9);
                addComActIntegralUserDTO.setIntegralType(8);
                addComActIntegralUserDTO.setActivityType(1);
                addComActIntegralUserDTO.setIsVolunteer(comActActSignDO.getIsVolunteer());
                addComActIntegralUserDTO.setCommunityId(actActivityDO.getCommunityId());
                addComActIntegralUserDTO.setServiceId(activityId);
                comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO);
@@ -895,6 +901,12 @@
                return R.fail("活动不存在!");
            }
            ComActActSignDO comActActSignDO = comActActSignDAO.selectOne(new QueryWrapper<ComActActSignDO>().lambda()
                    .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getUserId, userId).eq(ComActActSignDO::getStatus, 1));
            if (isNull(comActActSignDO)) {
                return R.fail("活动未报名");
            }
            Date beginAt = comActActivityDO.getBeginAt();
            Date endAt = comActActivityDO.getEndAt();
            Date nowDate = new Date();
@@ -926,7 +938,7 @@
            comActActRegistDO.setActivityId(activityId);
            comActActRegistDO.setType(1);
            comActActRegistDO.setUserId(userId);
            comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer());
            comActActRegistDO.setIsVolunteer(comActActSignDO.getIsVolunteer());
            comActActRegistDO.setCreateAt(nowDate);
            comActActRegistDO.setCodeId(comActActRegistVO.getCodeId());
            comActActRegistDO.setAward(isHave ? comActActivityDO.getRewardIntegral() : 0);
@@ -935,10 +947,12 @@
            int result = comActActRegistDAO.insert(comActActRegistDO);
            if (result > 0) {
                if (isHave) {
                    boolean isVolunteerAct = comActActivityDO.getVolunteerMax() != 0;
                    AddComActIntegralUserDTO addComActIntegralUserDTO=new AddComActIntegralUserDTO();
                    addComActIntegralUserDTO.setUserId(userId);
                    addComActIntegralUserDTO.setIntegralType(8);
                    addComActIntegralUserDTO.setIntegralType(isVolunteerAct ? 5 : 4);
                    addComActIntegralUserDTO.setActivityType(1);
                    addComActIntegralUserDTO.setIsVolunteer(comActActSignDO.getIsVolunteer());
                    addComActIntegralUserDTO.setCommunityId(comActActivityDO.getCommunityId());
                    addComActIntegralUserDTO.setServiceId(activityId);
                    comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO);
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java
@@ -186,11 +186,11 @@
    }
    /**
     * 根据社区活动id查询社区活动报名人员列表
     * 根据社区活动id查询社区活动报名且未参与人员列表
     * 
     * @param activityId
     *            活动id
     * @return 社区活动报名人员列表
     * @return 社区活动报名且未参与人员列表
     */
    @Override
    public R getTaskActivityPeopleList(Long activityId) {
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java
@@ -29,6 +29,8 @@
import lombok.extern.slf4j.Slf4j;
import static java.util.Objects.nonNull;
/**
 * @auther lyq
 * @create 2021-07-28 16:03:18
@@ -177,7 +179,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R addIntegralTradeAdmin(AddComActIntegralUserDTO integralUserDTO) {
        // 判断增加积分类型 积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参与志愿者活动 5.参与社区活动 6.参与党员活动 7.参与调查问卷 8.活动签到 9.取消活动)
        // 判断增加积分类型 积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参加居民活动 5.参加志愿者活动 6.参与党员活动 7.参与调查问卷 8.取消活动)
        Integer type = integralUserDTO.getIntegralType();
        // 业务id
        Long serviceId = integralUserDTO.getServiceId();
@@ -194,24 +196,28 @@
        // 当前时间
        Date nowDate = new Date();
        // 查询随手拍增加积分数量
        ComActIntegralRuleDO integralRuleDO =
            comActIntegralRuleService.getOne(new QueryWrapper<ComActIntegralRuleDO>().lambda()
                .eq(ComActIntegralRuleDO::getIntegralType, type).eq(ComActIntegralRuleDO::getCommunityId, communityId));
        if (integralRuleDO == null) {
            log.error("未查询到该社区积分规则,社区id:" + communityId);
            return R.fail("未查询到该社区积分规则,社区id:" + communityId);
        }
        // 判断规则是否有次数限制
        if (integralRuleDO.getIsRestrict().equals(ComActIntegralRuleDO.isRestrict.yes)) {
            Integer count = this.baseMapper.getIntegralCount(
                getIntegralCountDTO(integralRuleDO.getType(), userId, communityId, integralRuleDO.getIntegralType()));
            if (count >= integralRuleDO.getCount()) {
                log.error("该用户参加任务次数已达上限");
                return R.fail("该用户参加任务次数已达上限");
        Integer isVolunteer = integralUserDTO.getIsVolunteer();
        if (!type.equals(8)) {
            // 查询随手拍增加积分数量
            ComActIntegralRuleDO integralRuleDO =
                    comActIntegralRuleService.getOne(new QueryWrapper<ComActIntegralRuleDO>().lambda()
                            .eq(ComActIntegralRuleDO::getIntegralType, type).eq(ComActIntegralRuleDO::getCommunityId, communityId));
            if (integralRuleDO == null) {
                log.error("未查询到该社区积分规则,社区id:" + communityId);
                return R.fail("未查询到该社区积分规则,社区id:" + communityId);
            }
            // 判断规则是否有次数限制
            if (integralRuleDO.getIsRestrict().equals(ComActIntegralRuleDO.isRestrict.yes)) {
                Integer count = this.baseMapper.getIntegralCount(
                        getIntegralCountDTO(integralRuleDO.getType(), userId, communityId, integralRuleDO.getIntegralType()));
                if (count >= integralRuleDO.getCount()) {
                    log.error("该用户参加任务次数已达上限");
                    return R.fail("该用户参加任务次数已达上限");
                }
            }
            amount = integralRuleDO.getAmount();
        }
        amount = integralRuleDO.getAmount();
        switch (type) {
            case 1:
@@ -254,27 +260,32 @@
                }
                break;
            case 4:
                identityType = 3;
                remark.append("参与志愿者活动奖励积分");
                ComActActivityDO actActivityZYZDO = comActActivityService.getById(serviceId);
                if (actActivityZYZDO != null) {
                    remark.append("【");
                    remark.append(actActivityZYZDO.getActivityName());
                    remark.append("】");
                if (nonNull(isVolunteer) && isVolunteer.equals(1)) {
                    identityType = 3;
                } else {
                    identityType = 1;
                }
                remark.append("成功参加居民活动奖励积分");
                ComActActivityDO actActivityDO1 = comActActivityService.getById(serviceId);
                if(actActivityDO1 != null) {
                    amount = actActivityDO1.getRewardIntegral();
                }
                break;
            case 5:
                remark.append("参与社区活动奖励积分");
                if (nonNull(isVolunteer) && isVolunteer.equals(0)) {
                    identityType = 1;
                } else {
                    identityType = 3;
                }
                remark.append("成功参加志愿者活动奖励积分");
                ComActActivityDO actActivityDO = comActActivityService.getById(serviceId);
                if (actActivityDO != null) {
                    remark.append("【");
                    remark.append(actActivityDO.getActivityName());
                    remark.append("】");
                if(actActivityDO != null) {
                    amount = actActivityDO.getRewardIntegral();
                }
                break;
            case 6:
                identityType = 2;
                remark.append("参与党员活动奖励积分");
                remark.append("参与党员活动");
                break;
            case 7:
                // 查询调查问卷
@@ -305,16 +316,20 @@
                remark.append("】");
                break;
            case 8:
                remark.append("成功参加活动奖励积分");
                if(integralUserDTO.getActivityType()==1){
                    ComActActivityDO actActivityDO1 = comActActivityService.getById(serviceId);
                    if(actActivityDO1!=null){
                        amount=actActivityDO1.getRewardIntegral();
                        if(actActivityDO1.getVolunteerMax()!=0){
                            identityType=3;
                        }else {
                            identityType=1;
                if (integralUserDTO.getActivityType() == 1) {
                    ComActActivityDO actActivityDO2 = comActActivityService.getById(serviceId);
                    if (actActivityDO2 != null) {
                        amount = -actActivityDO2.getCancelDeduct();
                        if (actActivityDO2.getVolunteerMax() != 0) {
                            remark.append("取消志愿者活动扣除积分");
                        } else {
                            remark.append("取消居民活动扣除积分");
                        }
                    }
                    if (nonNull(isVolunteer) && isVolunteer.equals(1)) {
                        identityType = 3;
                    } else {
                        identityType = 1;
                    }
                }
//                else {
@@ -325,19 +340,6 @@
//                    }
//                }
                break;
            case 9:
                remark.append("取消活动扣除积分");
                if (integralUserDTO.getActivityType() == 1) {
                    ComActActivityDO actActivityDO1 = comActActivityService.getById(serviceId);
                    if (actActivityDO1 != null) {
                        amount = -actActivityDO1.getCancelDeduct();
                        if (actActivityDO1.getVolunteerMax() != 0) {
                            identityType = 3;
                        } else {
                            identityType = 1;
                        }
                    }
                }
            default:
                break;
        }
@@ -385,20 +387,39 @@
        Integer integralAvailableResident = integralUserDO.getIntegralAvailableResident();
        Integer integralFrozenResident = integralUserDO.getIntegralFrozenResident();
        integralUserDO.setIntegralSum(addIntegral(integralUserDO.getIntegralSum() + amount));
        integralUserDO.setIntegralAvailableSum(addIntegral(integralUserDO.getIntegralAvailableSum() + amount));
        integralUserDO.setUpdateAt(nowDate);
        // 根据不同身份,计算钱包金额
        int reduceAmount = 0;
        if (identityType.equals(ComActIntegralUserTradeDO.identityType.jm)) {
            integralUserDO.setIntegralResident(addIntegral(integralUserDO.getIntegralResident() + amount));
            int integralResidentNow = addIntegral(integralResident + amount);
            if (amount < 0) {
                reduceAmount = integralResident - integralResidentNow;
            }
            integralUserDO.setIntegralResident(integralResidentNow);
            integralUserDO.setIntegralAvailableResident(addIntegral(integralUserDO.getIntegralAvailableResident() + amount));
        } else if (identityType.equals(ComActIntegralUserTradeDO.identityType.dy)) {
            integralUserDO.setIntegralParty(addIntegral(integralUserDO.getIntegralParty() + amount));
            int integralPartyNow = addIntegral(integralParty + amount);
            if (amount < 0) {
                reduceAmount = integralParty - integralPartyNow;
            }
            integralUserDO.setIntegralParty(integralPartyNow);
            integralUserDO.setIntegralAvailableParty(addIntegral(integralUserDO.getIntegralAvailableParty() + amount));
        } else if (identityType.equals(ComActIntegralUserTradeDO.identityType.zyz)) {
            integralUserDO.setIntegralVolunteer(addIntegral(integralUserDO.getIntegralVolunteer() + amount));
            int integralVolunteerNow = addIntegral(integralVolunteer + amount);
            if (amount < 0) {
                reduceAmount = integralVolunteer - integralVolunteerNow;
            }
            integralUserDO.setIntegralVolunteer(integralVolunteerNow);
            integralUserDO.setIntegralAvailableVolunteer(addIntegral(integralUserDO.getIntegralAvailableVolunteer() + amount));
        }
        if (reduceAmount > 0) {
            integralUserDO.setIntegralSum(addIntegral(integralSum + reduceAmount));
            integralUserDO.setIntegralAvailableSum(addIntegral(integralAvailableSum + reduceAmount));
        } else {
            integralUserDO.setIntegralSum(addIntegral(integralSum + amount));
            integralUserDO.setIntegralAvailableSum(addIntegral(integralAvailableSum + amount));
        }
        integralUserDO.setUpdateAt(nowDate);
        // 更新钱包
        comActIntegralUserService.updateById(integralUserDO);
        // 增加积分账户交易记录
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActRegistMapper.xml
@@ -55,6 +55,12 @@
        <if test="comActActRegistVO.createAt != null">
            AND caar.create_at = #{comActActRegistVO.createAt}
        </if>
        <if test="comActActRegistVO.startTime != null">
            AND caar.create_at &gt;= #{comActActRegistVO.startTime}
        </if>
        <if test="comActActRegistVO.endTime != null">
            AND caar.create_at &lt;= #{comActActRegistVO.endTime}
        </if>
        <if test="comActActRegistVO.type != null">
            AND caar.type = #{comActActRegistVO.type}
        </if>
@@ -117,7 +123,7 @@
                '志愿者' ELSE '居民'
            END identity
        FROM
        `com_act_act_sign` caas
        (SELECT * FROM com_act_act_sign WHERE `status` = 1) caas
        LEFT JOIN sys_user su ON caas.user_id = su.user_id
        WHERE NOT EXISTS ( SELECT 1 FROM com_act_act_regist caar WHERE caas.user_id = caar.user_id )
        AND caas.activity_id = #{comActActRegistVO.activityId}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActivityMapper.xml
@@ -55,13 +55,13 @@
    <select id="activityStatistics" resultType="com.panzhihua.common.model.vos.community.ComActActivityStatisticsVO">
        SELECT IFNULL(volunteer_max,0) + IFNULL(participant_max,0) as signTotal
             ,(SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId}) as reallySignTotal
             ,(SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId}) as registTotal
             ,(SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId} AND `status` = 1) as reallySignTotal
             ,(SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId} AND `status` = 1) as registTotal
             ,(SELECT count(id) FROM com_act_act_regist WHERE activity_id = #{activityId}) as reallyRegistTotal
             ,((SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId}) - (SELECT count(id) FROM com_act_act_regist WHERE activity_id = #{activityId})) as noRegistTotal
             ,(SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId}) as evaluateTotal
             ,((SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId} AND `status` = 1) - (SELECT count(id) FROM com_act_act_regist WHERE activity_id = #{activityId})) as noRegistTotal
             ,(SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId} AND `status` = 1) as evaluateTotal
             ,(SELECT count(id) FROM com_act_act_evaluate WHERE activity_id = #{activityId}) as reallyEvaluateTotal
             ,((SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId}) - (SELECT count(id) FROM com_act_act_evaluate WHERE activity_id = #{activityId})) as noEvaluateTotal
             ,((SELECT count(id) FROM com_act_act_sign WHERE activity_id = #{activityId} AND `status` = 1) - (SELECT count(id) FROM com_act_act_evaluate WHERE activity_id = #{activityId})) as noEvaluateTotal
        FROM com_act_activity where id = #{activityId}
    </select>
    <select id="getIndexTopActivityList" resultMap="BaseResultMap">
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActIntegralUserDOMapper.xml
@@ -114,7 +114,11 @@
    </select>
    <select id="getTaskActivityPeopleList" resultType="com.panzhihua.common.model.vos.community.integral.admin.ComActActivityPeopleVO">
        select caas.user_id,caas.activity_id,caa.community_id,caas.is_volunteer from com_act_act_sign as caas left join com_act_activity as caa on caa.id = caas.activity_id where caa.id = #{activityId}
        select caas.user_id,caas.activity_id,caa.community_id,caas.is_volunteer
        from (SELECT * FROM com_act_act_sign WHERE `status` = 1) as caas
        left join com_act_activity as caa on caa.id = caas.activity_id
        left join com_act_act_regist AS caar ON caas.user_id = caar.user_id AND caas.activity_id = caar.activity_id
        where caa.id = #{activityId}  AND caar.id IS NULL
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/timejob/src/main/java/com/panzhihua/timejob/jobhandler/CommunityJobHandler.java
@@ -130,7 +130,7 @@
            // 获取待结束的活动列表
            List<Long> activityList = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), Long.class);
            if (!activityList.isEmpty()) {
                log.info("社区活动结束时计算积分");
                log.info("社区活动结束时扣减未参与用户积分");
                activityList.forEach(activityId -> {
                    R r1 = communityService.getTaskActivityPeopleList(activityId);
                    if (R.isOk(r1)) {
@@ -138,15 +138,14 @@
                            JSONArray.parseArray(JSONArray.toJSONString(r1.getData()), ComActActivityPeopleVO.class);
                        if (!peopleList.isEmpty()) {
                            peopleList.forEach(people -> {
                                if (people.getIsVolunteer().equals(1)) {
                                    communityService.addIntegralTradeAdmin(new AddComActIntegralUserDTO(
                                        people.getActivityId(), AddComActIntegralUserDTO.integralType.cyzyzhd,
                                        people.getCommunityId(), people.getUserId()));
                                } else {
                                    communityService.addIntegralTradeAdmin(new AddComActIntegralUserDTO(
                                        people.getActivityId(), AddComActIntegralUserDTO.integralType.cysqhd,
                                        people.getCommunityId(), people.getUserId()));
                                }
                                AddComActIntegralUserDTO addComActIntegralUserDTO = new AddComActIntegralUserDTO();
                                addComActIntegralUserDTO.setUserId(people.getUserId());
                                addComActIntegralUserDTO.setIntegralType(AddComActIntegralUserDTO.integralType.qxhd);
                                addComActIntegralUserDTO.setActivityType(1);
                                addComActIntegralUserDTO.setIsVolunteer(people.getIsVolunteer());
                                addComActIntegralUserDTO.setCommunityId(people.getCommunityId());
                                addComActIntegralUserDTO.setServiceId(activityId);
                                communityService.addIntegralTradeAdmin(addComActIntegralUserDTO);
                            });
                        }
                    }