From fa31c6f51e3669e292b06a31be95c6336521a22c Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期四, 20 十月 2022 15:53:46 +0800
Subject: [PATCH] #feat 修复bug
---
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java | 501 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 440 insertions(+), 61 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 f4e020f..185499d 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
@@ -1,28 +1,42 @@
package com.panzhihua.service_dangjian.service.impl;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
+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 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;
-import com.panzhihua.service_dangjian.model.dos.ComBpActivityDO;
+import com.panzhihua.service_dangjian.model.dos.ComPbActivityDO;
import com.panzhihua.service_dangjian.model.dos.ComPbActivityMemberDO;
import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO;
import com.panzhihua.service_dangjian.service.ComBpActivityService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.util.ObjectUtils;
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.stream.Collectors;
+import lombok.extern.slf4j.Slf4j;
+
+import static java.util.Objects.nonNull;
/**
* @program: springcloud_k8s_panzhihuazhihuishequ
@@ -30,6 +44,7 @@
* @author: huang.hongfa weixin hhf9596 qq 959656820
* @create: 2020-12-01 09:16
**/
+@Slf4j
@Service
public class ComBpActivityServiceImpl implements ComBpActivityService {
@Resource
@@ -39,22 +54,31 @@
@Resource
private ComPbMemberDAO comPbMemberDAO;
+ public static void main(String[] args) {
+ DateFormat formatTo = new SimpleDateFormat("M月d ahh:mm");
+ String format = formatTo.format(new Date());
+ System.out.println(format);
+ }
+
/**
* 查询某个党员加入的所有党员活动
*
- * @param partyBuildingActivityVO 查询参数
+ * @param partyBuildingActivityVO
+ * 查询参数
* @return 活动集合
*/
@Override
public R listPartyMemberActivities(PartyBuildingActivityVO partyBuildingActivityVO) {
- List<PartyBuildingActivityVO> partyBuildingActivityVOS = comBpActivityDAO.listPartyMemberActivities(partyBuildingActivityVO);
+ List<PartyBuildingActivityVO> partyBuildingActivityVOS =
+ comBpActivityDAO.listPartyMemberActivities(partyBuildingActivityVO);
return R.ok(partyBuildingActivityVOS);
}
/**
* 活动报名名单分页查询
*
- * @param pageActivityMembersVO 查询参数 手机号 名字
+ * @param pageActivityMembersVO
+ * 查询参数 手机号 名字
* @return 分页数据
*/
@Override
@@ -62,60 +86,131 @@
Page page = new Page<>();
Long pageNum = pageActivityMembersVO.getPageNum();
Long pageSize = pageActivityMembersVO.getPageSize();
- if (ObjectUtils.isEmpty(pageNum)) {
+ Long activityId = pageActivityMembersVO.getActivityId();
+ if (null == pageNum) {
pageNum = 1l;
}
- if (ObjectUtils.isEmpty(pageSize)) {
+ if (null == pageSize) {
pageSize = 10l;
}
page.setSize(pageSize);
page.setCurrent(pageNum);
IPage<PageActivityMembersVO> iPage = comPbActivityMemberDAO.pageActivityMembers(page, pageActivityMembersVO);
- return R.ok(iPage);
+ 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);
+ map.put("name", comPbActivityDO.getName());
+ map.put("createAt", DateUtils.formatDate(comPbActivityDO.getCreateAt(), "yyyy-MM-dd HH:mm:ss"));
+ return R.ok(map);
}
/**
* 党员活动详情
*
- * @param id 活动id
+ * @param id
+ * 活动id
* @return 活动详情内容
*/
@Override
- public R activityinfo(Long id) {
- ComBpActivityDO comBpActivityDO = comBpActivityDAO.selectById(id);
- if (ObjectUtils.isEmpty(comBpActivityDO)) {
- return R.fail();
+ public R activityinfo(Long id, Long userId) {
+ ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(id);
+ if (ObjectUtils.isEmpty(comPbActivityDO)) {
+ return R.fail("活动不存在");
}
- PartyBuildingActivityVO partyBuildingActivityVO=new PartyBuildingActivityVO();
- BeanUtils.copyProperties(comBpActivityDO,partyBuildingActivityVO);
- List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getActivityId, id));
+ 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<PartyBuildingMemberVO> partyBuildingMemberVOS = new ArrayList<>();
+ List<ComPbActivityMemberDO> comPbActivityMemberDOS =
+ comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda()
+ .eq(ComPbActivityMemberDO::getActivityId, id).orderByDesc(ComPbActivityMemberDO::getCreateAt));
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));
- List<PartyBuildingMemberVO> partyBuildingMemberVOS=new ArrayList<>();
- comPbMemberDOS.forEach(comPbMemberDO -> {
- PartyBuildingMemberVO partyBuildingMemberVO=new PartyBuildingMemberVO();
- BeanUtils.copyProperties(comPbMemberDO,partyBuildingMemberVO);
+ 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.setPartyBuildingMemberVOS(partyBuildingMemberVOS);
+ 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();
+ if (size>=6) {
+ collect=collect.subList(0,6);
+ }
+ List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda().in(ComPbMemberDO::getId, collect));
+ comPbMemberDOS.forEach(comPbMemberDO -> {
+ PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO();
+ BeanUtils.copyProperties(comPbMemberDO, partyBuildingMemberVO);
+ partyBuildingMemberVOS.add(partyBuildingMemberVO);
+ });
+ partyBuildingActivityVO.setParticipationActualNum(size);
+ } else {
+ partyBuildingActivityVO.setParticipationActualNum(0);
+ }*/
+ ComPbActivityMemberDO comPbActivityMemberDO = comPbActivityMemberDAO.selectByUserIdActivityId(id, userId);
+ if (ObjectUtils.isEmpty(comPbActivityMemberDO)) {
+ partyBuildingActivityVO.setIsSign(0);
+ } else {
+ partyBuildingActivityVO.setIsSign(1);
+ }
+ partyBuildingActivityVO.setPartyBuildingMemberVOS(partyBuildingMemberVOS);
+ partyBuildingActivityVO.setIsPerson(isPerson);
+ partyBuildingActivityVO.setCreateByName(loginUserInfoVO.getName());
+
+ // 查询社区名称
+ if (partyBuildingActivityVO.getCommunityId() != null) {
+ partyBuildingActivityVO.setCommunityName(
+ comBpActivityDAO.selectCommunityNameByCommunityId(partyBuildingActivityVO.getCommunityId()));
+ }
+
+ partyBuildingActivityVO.setCodeType(2);
return R.ok(partyBuildingActivityVO);
}
/**
* 新增党员活动
*
- * @param partyBuildingActivityVO 参数
+ * @param partyBuildingActivityVO
+ * 参数
* @return 新增结果
*/
@Override
public R addactivity(PartyBuildingActivityVO partyBuildingActivityVO) {
- ComBpActivityDO comBpActivityDO=new ComBpActivityDO();
- BeanUtils.copyProperties(partyBuildingActivityVO,comBpActivityDO);
- comBpActivityDO.setCreateAt(new Date());
- int insert = comBpActivityDAO.insert(comBpActivityDO);
- if (insert>0) {
+ ComPbActivityDO comPbActivityDO = new ComPbActivityDO();
+ BeanUtils.copyProperties(partyBuildingActivityVO, comPbActivityDO);
+ 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();
}
return R.fail();
@@ -124,15 +219,16 @@
/**
* 编辑党员活动
*
- * @param partyBuildingActivityVO 编辑内容
+ * @param partyBuildingActivityVO
+ * 编辑内容
* @return 编辑结果
*/
@Override
public R updateActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
- ComBpActivityDO comBpActivityDO=new ComBpActivityDO();
- BeanUtils.copyProperties(partyBuildingActivityVO,comBpActivityDO);
- int update = comBpActivityDAO.updateById(comBpActivityDO);
- if (update>0) {
+ ComPbActivityDO comPbActivityDO = new ComPbActivityDO();
+ BeanUtils.copyProperties(partyBuildingActivityVO, comPbActivityDO);
+ int update = comBpActivityDAO.updateById(comPbActivityDO);
+ if (update > 0) {
return R.ok();
}
return R.fail();
@@ -141,17 +237,18 @@
/**
* 发布党员活动
*
- * @param id 主键id
+ * @param id
+ * 主键id
* @return 发布结果
*/
@Override
public R releaseActivity(Long id) {
- ComBpActivityDO comBpActivityDO=new ComBpActivityDO();
- comBpActivityDO.setId(id);
- comBpActivityDO.setStatus(2);
- comBpActivityDO.setReleaseTime(new Date());
- int update = comBpActivityDAO.updateById(comBpActivityDO);
- if (update>0) {
+ ComPbActivityDO comPbActivityDO = new ComPbActivityDO();
+ comPbActivityDO.setId(id);
+ comPbActivityDO.setStatus(2);
+ comPbActivityDO.setReleaseTime(new Date());
+ int update = comBpActivityDAO.updateById(comPbActivityDO);
+ if (update > 0) {
return R.ok();
}
return R.fail();
@@ -160,13 +257,14 @@
/**
* 删除党员活动
*
- * @param id 主键id
+ * @param id
+ * 主键id
* @return 删除结果
*/
@Override
public R deleteActivity(Long id) {
int delete = comBpActivityDAO.deleteById(id);
- if (delete>0) {
+ if (delete > 0) {
return R.ok();
}
return R.fail();
@@ -175,7 +273,8 @@
/**
* 分页查询党员活动
*
- * @param partyBuildingActivityVO 查询条件
+ * @param partyBuildingActivityVO
+ * 查询条件
* @return 查询结果
*/
@Override
@@ -183,36 +282,316 @@
Page page = new Page<>();
Long pageNum = partyBuildingActivityVO.getPageNum();
Long pageSize = partyBuildingActivityVO.getPageSize();
- if (ObjectUtils.isEmpty(pageNum)) {
+ if (null == pageNum) {
pageNum = 1l;
}
- if (ObjectUtils.isEmpty(pageSize)) {
+ if (null == pageSize) {
pageSize = 10l;
}
page.setSize(pageSize);
page.setCurrent(pageNum);
- IPage<PageActivityMembersVO> iPage = comBpActivityDAO.pageActivity(page, partyBuildingActivityVO);
+ 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);
}
/**
* 取消活动
*
- * @param partyBuildingActivityVO 取消原因
+ * @param partyBuildingActivityVO
+ * 取消原因
* @return 操作结果
*/
@Override
public R cancelActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
- ComBpActivityDO comBpActivityDO=new ComBpActivityDO();
- comBpActivityDO.setId(partyBuildingActivityVO.getId());
- comBpActivityDO.setCancelReason(partyBuildingActivityVO.getCancelReason());
- comBpActivityDO.setCreateBy(partyBuildingActivityVO.getCreateBy());
- int update = comBpActivityDAO.updateById(comBpActivityDO);
- if (update>0) {
+ ComPbActivityDO comPbActivityDO = new ComPbActivityDO();
+ comPbActivityDO.setId(partyBuildingActivityVO.getId());
+ comPbActivityDO.setCancelReason(partyBuildingActivityVO.getCancelReason());
+ comPbActivityDO.setStatus(6);
+ int update = comBpActivityDAO.updateById(comPbActivityDO);
+ if (update > 0) {
return R.ok();
}
return R.fail();
}
+ /**
+ * 用户的所有党建活动
+ *
+ * @param userId
+ * 用户id
+ * @param communityId
+ * 社区id
+ * @param status
+ * @return 党建活动列表
+ */
+ @Override
+ public R listActivity(Long userId, Long communityId, Integer status) {
+ 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);
+ if (nonNull(status)) {
+ comPbActivityDOS = comPbActivityDOS.stream()
+ .filter(activityDO -> activityDO.getStatus().equals(status)).collect(Collectors.toList());
+ }
+ if (!comPbActivityDOS.isEmpty()) {
+ 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 activityStatus = comPbActivityDO.getStatus();
+ if (activityStatus.intValue() == 3) {
+ activityStatus = 4;
+ }
+ comActActivityVO.setType(3);
+ comActActivityVO.setId(comPbActivityDO.getId());
+ comActActivityVO.setStatus(activityStatus);
+ 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);
+ }
+
+ /**
+ * 党员活动人员参入列表
+ *
+ * @param id
+ * 活动id
+ * @return 党员集合
+ */
+ @Override
+ public R listPartyBuildingMember(Long id) {
+ 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);
+ }
+
+ /**
+ * 报名、取消报名党员活动
+ *
+ * @param activitySignUpDTO
+ * 操作参数
+ * @return 操作结果
+ */
+ @Override
+ public R putActivitySignUp(ActivitySignUpDTO activitySignUpDTO) {
+ Long id = activitySignUpDTO.getId();
+ Long userId = activitySignUpDTO.getUserId();
+ ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(id);
+ if (ObjectUtils.isEmpty(comPbActivityDO)) {
+ return R.fail("活动不存在");
+ }
+ ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectByUserId(userId);
+ if (ObjectUtils.isEmpty(comPbMemberDO)) {
+ return R.fail("您不是党员");
+ }
+ Integer type = activitySignUpDTO.getType();
+ ComPbActivityMemberDO comPbActivityMemberDO =
+ comPbActivityMemberDAO.selectOne(new QueryWrapper<ComPbActivityMemberDO>().lambda()
+ .eq(ComPbActivityMemberDO::getMemberId, comPbMemberDO.getId())
+ .eq(ComPbActivityMemberDO::getActivityId, id));
+ boolean empty = ObjectUtils.isEmpty(comPbActivityMemberDO);
+ int mum = 0;
+ if (type.intValue() == 1) {
+ if (empty) {
+ 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 {
+ return R.ok(null, "已经加入了");
+ }
+ } else {
+ if (empty) {
+ return R.ok(null, "已经取消");
+ } else {
+ Long createBy = comPbActivityDO.getCreateBy();
+ if (createBy.equals(userId)) {
+ return R.fail("发起者不能取消报名");
+ }
+ mum = comPbActivityMemberDAO.deleteById(comPbActivityMemberDO.getId());
+ }
+ }
+ if (mum > 0) {
+ return R.ok();
+ }
+ 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);
+ // 查询已结束的活动id,便于计算用户积分
+ List<Long> pbActivityEndIds = comBpActivityDAO.getTaskPbActivityEndIds();
+ // 修改进行状态为进行中 或者已结束
+ int num2 = comBpActivityDAO.updateStatusToActiveOrEnd();
+ log.info("定时任务修改党建活动--修改进行状态为进行中 或者已结束数量【{}】", num2);
+ return R.ok(pbActivityEndIds);
+ }
+
+ /**
+ * 创建党员活动 小程序创建党员活动
+ *
+ * @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();
+ }
+
+ /**
+ * 根据党员活动id查询活动下报名人员
+ *
+ * @param activityId
+ * 党员活动id
+ * @return 活动下报名人员
+ */
+ @Override
+ public R getTaskPbActivityPeopleList(Long activityId) {
+ return R.ok(this.comBpActivityDAO.getTaskPbActivityPeopleList(activityId));
+ }
}
--
Gitblit v1.7.1