| | |
| | | @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") |
| | |
| | | @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; |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | |
| | | @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; |
| | | } |
| | |
| | | R addIntegralTradeAdmin(@RequestBody AddComActIntegralUserDTO integralUserDTO); |
| | | |
| | | /** |
| | | * 根据社区活动id查询社区活动报名人员列表 |
| | | * 根据社区活动id查询社区活动报名且未参与人员列表 |
| | | * |
| | | * @param activityId |
| | | * 活动id |
| | | * @return 社区活动报名人员列表 |
| | | * @return 社区活动报名且未参与人员列表 |
| | | */ |
| | | @PostMapping("/integral/act/activity/admin") |
| | | R getTaskActivityPeopleList(@RequestParam("activityId") Long activityId); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 根据社区活动id查询社区活动报名人员列表 |
| | | * 根据社区活动id查询社区活动报名且未参与人员列表 |
| | | * |
| | | * @param activityId |
| | | * 活动id |
| | | * @return 社区活动报名人员列表 |
| | | * @return 社区活动报名且未参与人员列表 |
| | | */ |
| | | @PostMapping("/act/activity/admin") |
| | | public R getTaskActivityPeopleList(@RequestParam("activityId") Long activityId) { |
| | |
| | | + "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> " |
| | |
| | | */ |
| | | 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); |
| | |
| | | @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(); |
| | |
| | | @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}") |
| | |
| | | @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); |
| | | |
| | |
| | | @Param("communityRankDTO") ComActIntegralCommunityRankDTO communityRankDTO); |
| | | |
| | | /** |
| | | * 根据社区活动id查询社区活动报名人员列表 |
| | | * 根据社区活动id查询社区活动报名且未参与人员列表 |
| | | * |
| | | * @param activityId |
| | | * 活动id |
| | | * @return 社区活动报名人员列表 |
| | | * @return 社区活动报名且未参与人员列表 |
| | | */ |
| | | List<ComActActivityPeopleVO> getTaskActivityPeopleList(@Param("activityId") Long activityId); |
| | | } |
| | |
| | | R getIntegralCommunityRankApplets(ComActIntegralCommunityRankDTO communityRankDTO); |
| | | |
| | | /** |
| | | * 根据社区活动id查询社区活动报名人员列表 |
| | | * 根据社区活动id查询社区活动报名且未参与人员列表 |
| | | * |
| | | * @param activityId |
| | | * 活动id |
| | | * @return 社区活动报名人员列表 |
| | | * @return 社区活动报名且未参与人员列表 |
| | | */ |
| | | R getTaskActivityPeopleList(Long activityId); |
| | | |
| | |
| | | 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)) { |
| | |
| | | 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("缺少取消原因"); |
| | |
| | | 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); |
| | |
| | | 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(); |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 根据社区活动id查询社区活动报名人员列表 |
| | | * 根据社区活动id查询社区活动报名且未参与人员列表 |
| | | * |
| | | * @param activityId |
| | | * 活动id |
| | | * @return 社区活动报名人员列表 |
| | | * @return 社区活动报名且未参与人员列表 |
| | | */ |
| | | @Override |
| | | public R getTaskActivityPeopleList(Long activityId) { |
| | |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import static java.util.Objects.nonNull; |
| | | |
| | | /** |
| | | * @auther lyq |
| | | * @create 2021-07-28 16:03:18 |
| | |
| | | @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(); |
| | |
| | | // 当前时间 |
| | | Date nowDate = new Date(); |
| | | |
| | | Integer isVolunteer = integralUserDTO.getIsVolunteer(); |
| | | |
| | | if (!type.equals(8)) { |
| | | // 查询随手拍增加积分数量 |
| | | ComActIntegralRuleDO integralRuleDO = |
| | | comActIntegralRuleService.getOne(new QueryWrapper<ComActIntegralRuleDO>().lambda() |
| | |
| | | } |
| | | } |
| | | amount = integralRuleDO.getAmount(); |
| | | } |
| | | |
| | | switch (type) { |
| | | case 1: |
| | |
| | | } |
| | | break; |
| | | case 4: |
| | | if (nonNull(isVolunteer) && isVolunteer.equals(1)) { |
| | | identityType = 3; |
| | | remark.append("参与志愿者活动奖励积分"); |
| | | ComActActivityDO actActivityZYZDO = comActActivityService.getById(serviceId); |
| | | if (actActivityZYZDO != null) { |
| | | remark.append("【"); |
| | | remark.append(actActivityZYZDO.getActivityName()); |
| | | remark.append("】"); |
| | | } 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("】"); |
| | | amount = actActivityDO.getRewardIntegral(); |
| | | } |
| | | break; |
| | | case 6: |
| | | identityType = 2; |
| | | remark.append("参与党员活动奖励积分"); |
| | | remark.append("参与党员活动"); |
| | | break; |
| | | case 7: |
| | | // 查询调查问卷 |
| | |
| | | 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){ |
| | | 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 { |
| | |
| | | // } |
| | | // } |
| | | 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; |
| | | } |
| | |
| | | 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); |
| | | // 增加积分账户交易记录 |
| | |
| | | <if test="comActActRegistVO.createAt != null"> |
| | | AND caar.create_at = #{comActActRegistVO.createAt} |
| | | </if> |
| | | <if test="comActActRegistVO.startTime != null"> |
| | | AND caar.create_at >= #{comActActRegistVO.startTime} |
| | | </if> |
| | | <if test="comActActRegistVO.endTime != null"> |
| | | AND caar.create_at <= #{comActActRegistVO.endTime} |
| | | </if> |
| | | <if test="comActActRegistVO.type != null"> |
| | | AND caar.type = #{comActActRegistVO.type} |
| | | </if> |
| | |
| | | '志愿者' 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} |
| | |
| | | |
| | | <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"> |
| | |
| | | </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> |
| | |
| | | // 获取待结束的活动列表 |
| | | 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)) { |
| | |
| | | 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); |
| | | }); |
| | | } |
| | | } |