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 >= #{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> @@ -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); }); } }