From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java | 281 ++++++++++++++++++++++--------------------------------- 1 files changed, 114 insertions(+), 167 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java index 936a414..f8bb4ae 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java @@ -1,5 +1,13 @@ package com.panzhihua.service_community.service.impl; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -14,7 +22,6 @@ import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComActDAO; -import com.panzhihua.service_community.dao.ComActIntegralRuleMapper; import com.panzhihua.service_community.dao.ComActIntegralUserMapper; import com.panzhihua.service_community.dao.ComActUserWalletMapper; import com.panzhihua.service_community.model.dos.ComActDO; @@ -24,15 +31,11 @@ import com.panzhihua.service_community.service.ComActIntegralRuleService; import com.panzhihua.service_community.service.ComActIntegralUserService; import com.panzhihua.service_community.service.ComActIntegralUserTradeService; -import com.panzhihua.service_community.service.ComActService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import lombok.extern.slf4j.Slf4j; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; /** * @auther lyq @@ -41,7 +44,8 @@ */ @Slf4j @Service -public class ComActIntegralUserServiceImpl extends ServiceImpl<ComActIntegralUserMapper, ComActIntegralUserDO> implements ComActIntegralUserService { +public class ComActIntegralUserServiceImpl extends ServiceImpl<ComActIntegralUserMapper, ComActIntegralUserDO> + implements ComActIntegralUserService { @Resource private ComActUserWalletMapper comActUserWalletMapper; @@ -54,21 +58,22 @@ /** * 小程序-查询积分说明 - * @return 积分说明 + * + * @return 积分说明 */ @Override - public R getIntegralExplainApplets(){ + public R getIntegralExplainApplets() { String result = ""; - Map<String,String> resultMap = comActUserWalletMapper.getAgreementContent(0L,6); - if(resultMap != null){ - if(StringUtils.isEmpty(resultMap.get("content"))){ - comActUserWalletMapper.insertSysAgreement(Constants.INTEGRAL_EXPLAIN,"积分规则说明",0L,6); + Map<String, String> resultMap = comActUserWalletMapper.getAgreementContent(0L, 6); + if (resultMap != null) { + if (StringUtils.isEmpty(resultMap.get("content"))) { + comActUserWalletMapper.insertSysAgreement(Constants.INTEGRAL_EXPLAIN, "积分规则说明", 0L, 6); result = Constants.INTEGRAL_EXPLAIN; - }else{ + } else { result = resultMap.get("content"); } - }else{ - comActUserWalletMapper.insertSysAgreement(Constants.INTEGRAL_EXPLAIN,"积分规则说明",0L,6); + } else { + comActUserWalletMapper.insertSysAgreement(Constants.INTEGRAL_EXPLAIN, "积分规则说明", 0L, 6); result = Constants.INTEGRAL_EXPLAIN; } return R.ok(result); @@ -76,41 +81,45 @@ /** * 用户查询当前社区可领取积分规则列表 - * @param userId 用户id - * @param communityId 社区id - * @return 可领取积分规则列表 + * + * @param userId + * 用户id + * @param communityId + * 社区id + * @return 可领取积分规则列表 */ @Override - public R getIntegralReceiveApplets(Long userId,Long communityId){ + public R getIntegralReceiveApplets(Long userId, Long communityId) { - List<ComActIntegralUserRuleVO> integralUserRuleList = comActIntegralRuleService.getIntegralReceiveApplets(communityId); - if(integralUserRuleList.isEmpty()){ - //如果没有查询到列表数据,增给社区增加默认规则列表再查询 - List<ComActIntegralRuleDO> integralRuleList = getIntegralRuleList(communityId); + List<ComActIntegralUserRuleVO> integralUserRuleList = + comActIntegralRuleService.getIntegralReceiveApplets(communityId); + if (integralUserRuleList.isEmpty()) { + // 如果没有查询到列表数据,增给社区增加默认规则列表再查询 + List<ComActIntegralRuleDO> integralRuleList = comActIntegralRuleService.getIntegralRuleList(communityId); comActIntegralRuleService.saveBatch(integralRuleList); integralUserRuleList = comActIntegralRuleService.getIntegralReceiveApplets(communityId); } - if(!integralUserRuleList.isEmpty()){ + if (!integralUserRuleList.isEmpty()) { integralUserRuleList.forEach(integralUserRule -> { - if(integralUserRule.getIsRestrict().equals(ComActIntegralRuleDO.isRestrict.no)){ + if (integralUserRule.getIsRestrict().equals(ComActIntegralRuleDO.isRestrict.no)) { integralUserRule.setIsComplete(ComActIntegralUserRuleVO.isComplete.no); - }else{ + } else { ComActIntegralCountDTO integralCountDTO = new ComActIntegralCountDTO(); integralCountDTO.setUserId(userId); integralCountDTO.setCommunityId(communityId); integralCountDTO.setType(ComActIntegralUserTradeDO.changeType.add); integralCountDTO.setServiceType(integralUserRule.getIntegralType()); - if(integralUserRule.getType().equals(ComActIntegralRuleDO.type.month)){ + if (integralUserRule.getType().equals(ComActIntegralRuleDO.type.month)) { integralCountDTO.setStartTime(DateUtils.getFirstDayOfMonthString()); integralCountDTO.setEndTime(DateUtils.getLastDayOfMonthString()); - }else if(integralUserRule.getType().equals(ComActIntegralRuleDO.type.day)){ + } else if (integralUserRule.getType().equals(ComActIntegralRuleDO.type.day)) { integralCountDTO.setStartTime(DateUtils.getDayOfMonthString() + " 00:00:00"); integralCountDTO.setEndTime(DateUtils.getDayOfMonthString() + " 23:59:59"); } Integer count = comActIntegralUserTradeService.getIntegralCount(integralCountDTO); - if(count >= integralUserRule.getCount()){ + if (count >= integralUserRule.getCount()) { integralUserRule.setIsComplete(ComActIntegralUserRuleVO.isComplete.yes); - }else{ + } else { integralUserRule.setIsComplete(ComActIntegralUserRuleVO.isComplete.no); } } @@ -120,159 +129,97 @@ } /** - * 小程序-查询用户积分列表 - * @param userId 用户id - * @return 用户积分列表 + * 小程序-积分统计 + * + * @param userId + * 用户id + * @return 用户积分列表 */ @Override - public R getIntegralUserListApplets(Long userId,Long communityId){ + public R getIntegralUserListApplets(Long userId, Long communityId) { + if (nonNull(communityId)) { + // 查询该用户在本社区下的积分账户是否存在,不存在则需要给用户创建 + ComActIntegralUserDO integralUserDO = + this.baseMapper.selectOne(new QueryWrapper<ComActIntegralUserDO>().lambda() + .eq(ComActIntegralUserDO::getCommunityId, communityId).eq(ComActIntegralUserDO::getUserId, userId)); + if (integralUserDO == null) { + integralUserDO = new ComActIntegralUserDO(); + integralUserDO.setCommunityId(communityId); + integralUserDO.setUserId(userId); + integralUserDO.setCreateAt(new Date()); + this.baseMapper.insert(integralUserDO); + } + } + ComActIntegralUserVO integralUserVO = this.baseMapper.getUserIntegralStatistics(userId, communityId); + if (isNull(communityId)) { + // 各社区已获积分统计 + List<ComActIntegralUserListVO> integralUserList = this.baseMapper.getIntegralUserListApplets(userId); + integralUserVO.setIntegralUserList(integralUserList); + } + return R.ok(integralUserVO); + } + + /** + * 查询社区积分账户排行榜 + * + * @param communityRankDTO + * 请求参数 + * @return 社区积分账户排行榜 + */ + @Override + public R getIntegralCommunityRankApplets(ComActIntegralCommunityRankDTO communityRankDTO) { + return R.ok(this.baseMapper.getIntegralCommunityRankApplets( + new Page(communityRankDTO.getPageNum(), communityRankDTO.getPageSize()), communityRankDTO)); + } + + /** + * 根据社区活动id查询社区活动报名且未参与人员列表 + * + * @param activityId + * 活动id + * @return 社区活动报名且未参与人员列表 + */ + @Override + public R getTaskActivityPeopleList(Long activityId) { + return R.ok(this.baseMapper.getTaskActivityPeopleList(activityId)); + } + + @Override + public R getUserIntegralBalance(Long userId, Long communityId) { ComActIntegralUserVO integralUserVO = new ComActIntegralUserVO(); - Integer amount = 0; - //查询该用户在本社区下的积分账户是否存在,不存在则需要给用户创建 - ComActIntegralUserDO integralUserDO = this.baseMapper.selectOne(new QueryWrapper<ComActIntegralUserDO>().lambda() - .eq(ComActIntegralUserDO::getCommunityId,communityId).eq(ComActIntegralUserDO::getUserId,userId)); - if(integralUserDO == null){ + // 查询该用户在本社区下的积分账户是否存在,不存在则需要给用户创建 + ComActIntegralUserDO integralUserDO = + this.baseMapper.selectOne(new QueryWrapper<ComActIntegralUserDO>().lambda() + .eq(ComActIntegralUserDO::getCommunityId, communityId).eq(ComActIntegralUserDO::getUserId, userId)); + if (integralUserDO == null) { integralUserDO = new ComActIntegralUserDO(); integralUserDO.setCommunityId(communityId); integralUserDO.setUserId(userId); integralUserDO.setCreateAt(new Date()); this.baseMapper.insert(integralUserDO); } - - //查询用户积分账户列表 - List<ComActIntegralUserListVO> integralUserList = this.baseMapper.getIntegralUserListApplets(userId); - if(!integralUserList.isEmpty()){ - for (ComActIntegralUserListVO integralUser:integralUserList) { - //查询用户在本社区积分排行 - IntegralUserRankVO userRank = this.baseMapper.getIntegralUserRank(integralUser.getCommunityId(),userId); - if(userRank != null){ - integralUser.setRank(userRank.getRank()); - amount += integralUser.getAmount(); - } - } - } - //查询用户绑定社区名字 + // 查询用户绑定社区名字 ComActDO actDO = comActDAO.selectById(communityId); - if(actDO != null){ + if (actDO != null) { integralUserVO.setCommunityName(actDO.getName()); } - - integralUserVO.setAmount(amount); - integralUserVO.setIntegralUserList(integralUserList); + integralUserVO.setAmount(integralUserDO.getIntegralSum()); return R.ok(integralUserVO); } /** - * 加载默认社区积分规则列表 - * @param communityId 社区id - * @return 默认积分规则列表 - */ - private List<ComActIntegralRuleDO> getIntegralRuleList(Long communityId){ - List<ComActIntegralRuleDO> integralRuleList = new ArrayList<>(); - - //随手拍默认积分规则 - ComActIntegralRuleDO integralRuleSSPDO = new ComActIntegralRuleDO(); - integralRuleSSPDO.setCommunityId(communityId); - integralRuleSSPDO.setName("发布随手拍"); - integralRuleSSPDO.setAmount(0); - integralRuleSSPDO.setIntegralDescribe("发布随手拍并被公示后"); - integralRuleSSPDO.setIsRestrict(1); - integralRuleSSPDO.setType(ComActIntegralRuleDO.type.month); - integralRuleSSPDO.setCount(0); - integralRuleSSPDO.setIntegralType(ComActIntegralRuleDO.integralType.fbssp); - integralRuleList.add(integralRuleSSPDO); - - //微心愿默认积分规则 - ComActIntegralRuleDO integralRuleWXYDO = new ComActIntegralRuleDO(); - integralRuleWXYDO.setCommunityId(communityId); - integralRuleWXYDO.setName("发布微心愿"); - integralRuleWXYDO.setAmount(0); - integralRuleWXYDO.setIntegralDescribe("发布微心愿并完成后"); - integralRuleWXYDO.setIsRestrict(1); - integralRuleWXYDO.setType(ComActIntegralRuleDO.type.month); - integralRuleWXYDO.setCount(0); - integralRuleWXYDO.setIntegralType(ComActIntegralRuleDO.integralType.fbwxy); - integralRuleList.add(integralRuleWXYDO); - - //议事投票默认积分规则 - ComActIntegralRuleDO integralRuleYSTPDO = new ComActIntegralRuleDO(); - integralRuleYSTPDO.setCommunityId(communityId); - integralRuleYSTPDO.setName("参与议事投票"); - integralRuleYSTPDO.setAmount(0); - integralRuleYSTPDO.setIntegralDescribe("参与议事投票"); - integralRuleYSTPDO.setIsRestrict(1); - integralRuleYSTPDO.setType(ComActIntegralRuleDO.type.day); - integralRuleYSTPDO.setCount(0); - integralRuleYSTPDO.setIntegralType(ComActIntegralRuleDO.integralType.cyystp); - integralRuleList.add(integralRuleYSTPDO); - - //志愿者活动默认积分规则 - ComActIntegralRuleDO integralRuleZYZDO = new ComActIntegralRuleDO(); - integralRuleZYZDO.setCommunityId(communityId); - integralRuleZYZDO.setName("参与志愿者活动"); - integralRuleZYZDO.setAmount(0); - integralRuleZYZDO.setIntegralDescribe("报名参加志愿者活动,仅限志愿者"); - integralRuleZYZDO.setIsRestrict(1); - integralRuleZYZDO.setType(ComActIntegralRuleDO.type.month); - integralRuleZYZDO.setCount(0); - integralRuleZYZDO.setIntegralType(ComActIntegralRuleDO.integralType.cyzyzhd); - integralRuleList.add(integralRuleZYZDO); - - //社区活动默认积分规则 - ComActIntegralRuleDO integralRuleSQHDDO = new ComActIntegralRuleDO(); - integralRuleSQHDDO.setCommunityId(communityId); - integralRuleSQHDDO.setName("参与社区活动"); - integralRuleSQHDDO.setAmount(0); - integralRuleSQHDDO.setIntegralDescribe("报名参加社区活动,所有人可参与"); - integralRuleSQHDDO.setIsRestrict(1); - integralRuleSQHDDO.setType(ComActIntegralRuleDO.type.month); - integralRuleSQHDDO.setCount(0); - integralRuleSQHDDO.setIntegralType(ComActIntegralRuleDO.integralType.cysqhd); - integralRuleList.add(integralRuleSQHDDO); - - //党员活动默认积分规则 - ComActIntegralRuleDO integralRuleDYHDDO = new ComActIntegralRuleDO(); - integralRuleDYHDDO.setCommunityId(communityId); - integralRuleDYHDDO.setName("参与党员活动"); - integralRuleDYHDDO.setAmount(0); - integralRuleDYHDDO.setIntegralDescribe("报名参加社区党员活动,党员可参与"); - integralRuleDYHDDO.setIsRestrict(1); - integralRuleDYHDDO.setType(ComActIntegralRuleDO.type.day); - integralRuleDYHDDO.setCount(0); - integralRuleDYHDDO.setIntegralType(ComActIntegralRuleDO.integralType.cydyhd); - integralRuleList.add(integralRuleDYHDDO); - - //党员活动默认积分规则 - ComActIntegralRuleDO integralRuleWJDCDO = new ComActIntegralRuleDO(); - integralRuleWJDCDO.setCommunityId(communityId); - integralRuleWJDCDO.setName("参与问卷调查"); - integralRuleWJDCDO.setAmount(0); - integralRuleWJDCDO.setIntegralDescribe("参与问卷调查"); - integralRuleWJDCDO.setIsRestrict(1); - integralRuleWJDCDO.setType(ComActIntegralRuleDO.type.day); - integralRuleWJDCDO.setCount(0); - integralRuleWJDCDO.setIntegralType(ComActIntegralRuleDO.integralType.cydcwj); - integralRuleList.add(integralRuleWJDCDO); - return integralRuleList; - } - - /** - * 查询社区积分账户排行榜 - * @param communityRankDTO 请求参数 - * @return 社区积分账户排行榜 + * 获取积分详情 + * @param id + * @return */ @Override - public R getIntegralCommunityRankApplets(ComActIntegralCommunityRankDTO communityRankDTO){ - return R.ok(this.baseMapper.getIntegralCommunityRankApplets(new Page(communityRankDTO.getPageNum(),communityRankDTO.getPageSize()),communityRankDTO)); + public R getUserIntegralDetail(Long id) { + return comActIntegralUserTradeService.getUserIntegralDetail(id); } - /** - * 根据社区活动id查询社区活动报名人员列表 - * @param activityId 活动id - * @return 社区活动报名人员列表 - */ @Override - public R getTaskActivityPeopleList(Long activityId){ - return R.ok(this.baseMapper.getTaskActivityPeopleList(activityId)); + public IntegralUserRankVO getIntegralUserRank(Long communityId, Long userId) + { + return baseMapper.getIntegralUserRank(communityId,userId); } } -- Gitblit v1.7.1