From 4105f520eaf7e1875a3d314dbaacf78064d07d35 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期一, 21 六月 2021 12:29:16 +0800 Subject: [PATCH] 修改bug --- springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 216 insertions(+), 8 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java index 8224b63..1d6ac06 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java @@ -3,12 +3,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.exceptions.PartyBuildingMemberException; import com.panzhihua.common.model.dtos.partybuilding.ActivitySignUpDTO; +import com.panzhihua.common.model.dtos.partybuilding.ComPbActivityDTO; +import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActActivityVO; import com.panzhihua.common.model.vos.partybuilding.PageActivityMembersVO; import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO; import com.panzhihua.common.model.vos.partybuilding.PartyBuildingMemberVO; +import com.panzhihua.common.utlis.SensitiveUtil; import com.panzhihua.service_dangjian.dao.ComBpActivityDAO; import com.panzhihua.service_dangjian.dao.ComPbActivityMemberDAO; import com.panzhihua.service_dangjian.dao.ComPbMemberDAO; @@ -16,12 +20,16 @@ import com.panzhihua.service_dangjian.model.dos.ComPbActivityMemberDO; import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO; import com.panzhihua.service_dangjian.service.ComBpActivityService; +import lombok.extern.slf4j.Slf4j; import org.apache.http.client.utils.DateUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -31,6 +39,7 @@ * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-12-01 09:16 **/ +@Slf4j @Service public class ComBpActivityServiceImpl implements ComBpActivityService { @Resource @@ -39,6 +48,7 @@ private ComPbActivityMemberDAO comPbActivityMemberDAO; @Resource private ComPbMemberDAO comPbMemberDAO; + /** * 查询某个党员加入的所有党员活动 @@ -73,6 +83,9 @@ page.setSize(pageSize); page.setCurrent(pageNum); IPage<PageActivityMembersVO> iPage = comPbActivityMemberDAO.pageActivityMembers(page, pageActivityMembersVO); + iPage.getRecords().forEach(record->{ + record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone())); + }); Map<String,Object> map=new HashMap<>(3); ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(activityId); map.put("page",iPage); @@ -93,10 +106,34 @@ if (ObjectUtils.isEmpty(comPbActivityDO)) { return R.fail("活动不存在"); } + LoginUserInfoVO loginUserInfoVO=comBpActivityDAO.selectUserInfoByUserId(comPbActivityDO.getCreateBy()); + Integer type = loginUserInfoVO.getType(); + int isPerson=0; + if (type.intValue()==1) { + isPerson=1; + } PartyBuildingActivityVO partyBuildingActivityVO = new PartyBuildingActivityVO(); BeanUtils.copyProperties(comPbActivityDO, partyBuildingActivityVO); - List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getActivityId, id).orderByDesc(ComPbActivityMemberDO::getCreateAt)); + List<PartyBuildingMemberVO> partyBuildingMemberVOS = new ArrayList<>(); + List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getActivityId, id).orderByDesc(ComPbActivityMemberDO::getCreateAt)); + if (!ObjectUtils.isEmpty(comPbActivityMemberDOS)) { + int size = comPbActivityMemberDOS.size(); + if (size>=6) { + comPbActivityMemberDOS = comPbActivityMemberDOS.subList(0,6); + } + comPbActivityMemberDOS.forEach(member->{ + PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO(); + BeanUtils.copyProperties(member, partyBuildingMemberVO); + partyBuildingMemberVO.setCreateAt(member.getCreateAt()); + partyBuildingMemberVOS.add(partyBuildingMemberVO); + }); + partyBuildingActivityVO.setParticipationActualNum(comPbActivityMemberDOS.size()); + }else{ + partyBuildingActivityVO.setParticipationActualNum(0); + } + //List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getActivityId, id).orderByDesc(ComPbActivityMemberDO::getCreateAt)); + /* List<PartyBuildingMemberVO> partyBuildingMemberVOS = new ArrayList<>(); if (!ObjectUtils.isEmpty(comPbActivityMemberDOS)) { List<Long> collect = comPbActivityMemberDOS.stream().map(ComPbActivityMemberDO::getMemberId).collect(Collectors.toList()); int size = collect.size(); @@ -112,7 +149,7 @@ partyBuildingActivityVO.setParticipationActualNum(size); } else { partyBuildingActivityVO.setParticipationActualNum(0); - } + }*/ ComPbActivityMemberDO comPbActivityMemberDO=comPbActivityMemberDAO.selectByUserIdActivityId(id,userId); if (ObjectUtils.isEmpty(comPbActivityMemberDO)) { partyBuildingActivityVO.setIsSign(0); @@ -120,6 +157,14 @@ partyBuildingActivityVO.setIsSign(1); } partyBuildingActivityVO.setPartyBuildingMemberVOS(partyBuildingMemberVOS); + partyBuildingActivityVO.setIsPerson(isPerson); + partyBuildingActivityVO.setCreateByName(loginUserInfoVO.getName()); + + //查询社区名称 + if(partyBuildingActivityVO.getCommunityId() != null){ + partyBuildingActivityVO.setCommunityName(comBpActivityDAO.selectCommunityNameByCommunityId(partyBuildingActivityVO.getCommunityId())); + } + return R.ok(partyBuildingActivityVO); } @@ -133,7 +178,16 @@ public R addactivity(PartyBuildingActivityVO partyBuildingActivityVO) { ComPbActivityDO comPbActivityDO = new ComPbActivityDO(); BeanUtils.copyProperties(partyBuildingActivityVO, comPbActivityDO); - comPbActivityDO.setCreateAt(new Date()); + Date now = new Date(); + comPbActivityDO.setEnrollTimeBegin(now); + comPbActivityDO.setCreateAt(now); + + Integer status = partyBuildingActivityVO.getStatus(); + if(status!=null && status.intValue()==2) {//点击'保存并发布' 按钮 + //默认设置为“进行中” + comPbActivityDO.setStatus(4); + } + int insert = comBpActivityDAO.insert(comPbActivityDO); if (insert > 0) { return R.ok(); @@ -212,6 +266,26 @@ page.setSize(pageSize); page.setCurrent(pageNum); IPage<PartyBuildingActivityVO> iPage = comBpActivityDAO.pageActivity(page, partyBuildingActivityVO); + List<PartyBuildingActivityVO> records = iPage.getRecords(); + if (!ObjectUtils.isEmpty(records)) { + DateFormat formatTo = new SimpleDateFormat("M月d ahh:mm"); + records.forEach(partyBuildingActivityVO1 -> { + Date activityTimeBegin = partyBuildingActivityVO1.getActivityTimeBegin(); + Integer status = partyBuildingActivityVO1.getStatus(); + String createByName = partyBuildingActivityVO1.getCreateByName(); + if (!ObjectUtils.isEmpty(activityTimeBegin)) { + partyBuildingActivityVO1.setActivityTimeBeginFormat(formatTo.format(activityTimeBegin)); + } + if(status.intValue()==3){ + partyBuildingActivityVO1.setStatus(4); + } + if(!ObjectUtils.isEmpty(createByName)&&createByName.equals("管理员")){ + partyBuildingActivityVO1.setIsPerson(0); + }else{ + partyBuildingActivityVO1.setIsPerson(1); + } + }); + } return R.ok(iPage); } @@ -238,25 +312,44 @@ * 用户的所有党建活动 * * @param userId 用户id + * @param communityId 社区id * @return 党建活动列表 */ @Override - public R listActivity(Long userId) { - List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getMemberId, userId)); + public R listActivity(Long userId, Long communityId) { + List<ComActActivityVO> comActActivityVOS = new ArrayList<>(); + /*Long memberId=comPbActivityMemberDAO.selectMemberIdByUserId(userId,communityId); + if (ObjectUtils.isEmpty(memberId)) { + return R.fail(); + }*/ + List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getUserId, userId)); if (ObjectUtils.isEmpty(comPbActivityMemberDOS)) { return R.fail(); } List<Long> collect = comPbActivityMemberDOS.stream().map(comPbActivityMemberDO -> comPbActivityMemberDO.getActivityId()).collect(Collectors.toList()); List<ComPbActivityDO> comPbActivityDOS = comBpActivityDAO.selectBatchIds(collect); - List<ComActActivityVO> comActActivityVOS = new ArrayList<>(); + comPbActivityDOS.forEach(comPbActivityDO -> { ComActActivityVO comActActivityVO = new ComActActivityVO(); + Long createBy = comPbActivityDO.getCreateBy(); + LoginUserInfoVO loginUserInfoVO=comPbActivityMemberDAO.selectUserInfo(createBy); + Integer type = loginUserInfoVO.getType(); + if (type==1) { + comActActivityVO.setIsPerson(1); + }else{ + comActActivityVO.setIsPerson(0); + } + Integer status = comPbActivityDO.getStatus(); + if (status.intValue()==3) { + status=4; + } comActActivityVO.setType(3); comActActivityVO.setId(comPbActivityDO.getId()); - comActActivityVO.setStatus(comPbActivityDO.getStatus()); + comActActivityVO.setStatus(status); comActActivityVO.setActivityName(comPbActivityDO.getName()); comActActivityVO.setCover(comPbActivityDO.getCover()); comActActivityVO.setBeginAt(comPbActivityDO.getActivityTimeBegin()); + comActActivityVO.setSingDate(comPbActivityMemberDOS.stream().filter(comPbActivityMemberDO -> comPbActivityMemberDO.getActivityId().equals(comActActivityVO.getId())).collect(Collectors.toList()).get(0).getCreateAt()); comActActivityVOS.add(comActActivityVO); }); return R.ok(comActActivityVOS); @@ -273,14 +366,24 @@ List<PartyBuildingMemberVO> partyBuildingMemberVOS = new ArrayList<>(); List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getActivityId, id).orderByDesc(ComPbActivityMemberDO::getCreateAt)); if (!ObjectUtils.isEmpty(comPbActivityMemberDOS)) { + comPbActivityMemberDOS.forEach(member->{ + PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO(); + BeanUtils.copyProperties(member, partyBuildingMemberVO); + partyBuildingMemberVO.setCreateAt(member.getCreateAt()); + partyBuildingMemberVOS.add(partyBuildingMemberVO); + }); + } + /*if (!ObjectUtils.isEmpty(comPbActivityMemberDOS)) { List<Long> collect = comPbActivityMemberDOS.stream().map(ComPbActivityMemberDO::getMemberId).collect(Collectors.toList()); List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda().in(ComPbMemberDO::getId, collect)); comPbMemberDOS.forEach(comPbMemberDO -> { PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO(); BeanUtils.copyProperties(comPbMemberDO, partyBuildingMemberVO); + ComPbActivityMemberDO comPbActivityMemberDO1 = comPbActivityMemberDOS.stream().filter(comPbActivityMemberDO -> comPbActivityMemberDO.getMemberId().equals(comPbMemberDO.getId())).collect(Collectors.toList()).get(0); + partyBuildingMemberVO.setCreateAt(comPbActivityMemberDO1.getCreateAt()); partyBuildingMemberVOS.add(partyBuildingMemberVO); }); - } + }*/ return R.ok(partyBuildingMemberVOS); } @@ -311,6 +414,10 @@ ComPbActivityMemberDO comPbActivityMemberDO1=new ComPbActivityMemberDO(); comPbActivityMemberDO1.setActivityId(id); comPbActivityMemberDO1.setMemberId(comPbMemberDO.getId()); + comPbActivityMemberDO1.setUserId(userId); + //添加参加活动的党员快照信息,防止党员信息删除后无法显示 + comPbActivityMemberDO1.setName(comPbMemberDO.getName()); + comPbActivityMemberDO1.setPhotoPath(comPbMemberDO.getPhotoPath()); comPbActivityMemberDO1.setCreateAt(new Date()); mum=comPbActivityMemberDAO.insert(comPbActivityMemberDO1); } else { @@ -320,6 +427,10 @@ if (empty) { return R.ok(null,"已经取消"); }else{ + Long createBy = comPbActivityDO.getCreateBy(); + if (createBy.equals(userId)) { + return R.fail("发起者不能取消报名"); + } mum=comPbActivityMemberDAO.deleteById(comPbActivityMemberDO.getId()); } } @@ -328,4 +439,101 @@ } return R.fail(); } + + /** + * 获取党建活动所有参入人员的id集合 + * + * @param id 党建活动id + * @return 人员id集合 + */ + @Override + public R selectAllPartyBuildingActivityMembers(Long id) { + List<Long> longs=comPbActivityMemberDAO.selectAllPartyBuildingActivityMembers(id); + return R.ok(longs); + } + + /** + * 定时任务取消党建活动 + * + * @return 取消党建活动数量 + */ + @Override + public R timedTaskPartyBuildingActivity() { + List<Long> ids=comBpActivityDAO.selectTimedTaskPartyBuildingActivity(); + List<PartyBuildingActivityVO> partyBuildingActivityVOS = new ArrayList<>(); + if (!ObjectUtils.isEmpty(ids)) { + List<ComPbActivityDO> comPbActivityDOS = comBpActivityDAO.selectBatchIds(ids); + comPbActivityDOS.forEach(comPbActivityDO -> { + PartyBuildingActivityVO partyBuildingActivityVO = new PartyBuildingActivityVO(); + BeanUtils.copyProperties(comPbActivityDO,partyBuildingActivityVO); + List<Long> userIdS=comBpActivityDAO.selectTimedTaskPartyBuildingActivityUserids(comPbActivityDO.getId()); + partyBuildingActivityVO.setUserIds(userIdS); + partyBuildingActivityVOS.add(partyBuildingActivityVO); + }); + int i = comBpActivityDAO.updateBatchIds(ids); + log.info("定时任务取消党建活动数量【{}】",i); + } + return R.ok(partyBuildingActivityVOS); + } + + /** + * 定时任务刷新党建活动的各个状态 除取消外 + * + * @return 修改结果 + */ + @Override + public R timedTaskPartyBuildingActivityAll() { +// 修改发布状态为未开始 + int num=comBpActivityDAO.updateStatusToNotBegin(); + log.info("定时任务修改党建活动--修改发布状态为未开始数量【{}】",num); +// 修改报名状态为报名中 + int num1=comBpActivityDAO.updateStatusToSign(); + log.info("定时任务修改党建活动--修改报名状态为报名中始数量【{}】",num1); +// 修改进行状态为进行中 或者已结束 + int num2=comBpActivityDAO.updateStatusToActiveOrEnd(); + log.info("定时任务修改党建活动--修改进行状态为进行中 或者已结束数量【{}】",num2); + return R.ok(); + } + + /** + * 创建党员活动 小程序创建党员活动 + * + * @param comPbActivityDTO 创建内容 + * @return 创建结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R addActivityApplets(ComPbActivityDTO comPbActivityDTO) { + ComPbActivityDO comPbActivityDO=new ComPbActivityDO(); + Long createBy = comPbActivityDTO.getCreateBy(); + BeanUtils.copyProperties(comPbActivityDTO,comPbActivityDO); + int insert = comBpActivityDAO.insert(comPbActivityDO); + if (insert>0) { + ComPbActivityDO comPbActivityDO1 = comBpActivityDAO.selectOne(new QueryWrapper<ComPbActivityDO>().lambda().eq(ComPbActivityDO::getName, comPbActivityDTO.getName()).eq(ComPbActivityDO::getCover, comPbActivityDTO.getCover()).last(" order by create_at desc limit 1 ")); + Long comPbActivityDO1Id = comPbActivityDO1.getId(); + ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectByUserId(createBy); + if (ObjectUtils.isEmpty(comPbMemberDO)) { + log.error("【{}】不是党员",createBy); + throw new PartyBuildingMemberException("用户不是党员"); + } + Long comPbMemberDOId = comPbMemberDO.getId(); + ComPbActivityMemberDO comPbActivityMemberDO=new ComPbActivityMemberDO(); + comPbActivityMemberDO.setMemberId(comPbMemberDOId); + comPbActivityMemberDO.setActivityId(comPbActivityDO1Id); + comPbActivityMemberDO.setCreateAt(new Date()); + comPbActivityMemberDO.setUserId(comPbActivityDTO.getCreateBy()); + comPbActivityMemberDO.setName(comPbMemberDO.getName()); + comPbActivityMemberDO.setPhotoPath(comPbMemberDO.getPhotoPath()); + comPbActivityMemberDAO.insert(comPbActivityMemberDO); + return R.ok(); + } + return R.fail(); + } + + public static void main(String[] args) { + DateFormat formatTo = new SimpleDateFormat("M月d ahh:mm"); + String format = formatTo.format(new Date()); + System.out.println(format); + } + } -- Gitblit v1.7.1