From de91c84954157bb9f8b6d938cbe0b1b51fb6e65d Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期五, 07 五月 2021 15:23:57 +0800
Subject: [PATCH] bugfixed:新增便民服务商家 报错
---
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java | 239 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 226 insertions(+), 13 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 898f03c..80cd0a2 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,14 +20,17 @@
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.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -32,6 +39,7 @@
* @author: huang.hongfa weixin hhf9596 qq 959656820
* @create: 2020-12-01 09:16
**/
+@Slf4j
@Service
public class ComBpActivityServiceImpl implements ComBpActivityService {
@Resource
@@ -40,6 +48,7 @@
private ComPbActivityMemberDAO comPbActivityMemberDAO;
@Resource
private ComPbMemberDAO comPbMemberDAO;
+
/**
* 查询某个党员加入的所有党员活动
@@ -64,6 +73,7 @@
Page page = new Page<>();
Long pageNum = pageActivityMembersVO.getPageNum();
Long pageSize = pageActivityMembersVO.getPageSize();
+ Long activityId = pageActivityMembersVO.getActivityId();
if (null == pageNum) {
pageNum = 1l;
}
@@ -73,7 +83,15 @@
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);
}
/**
@@ -83,15 +101,39 @@
* @return 活动详情内容
*/
@Override
- public R activityinfo(Long id) {
+ public R activityinfo(Long id,Long userId) {
ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(id);
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();
@@ -107,8 +149,22 @@
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()));
+ }
+
return R.ok(partyBuildingActivityVO);
}
@@ -122,7 +178,13 @@
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);
+
+ //默认设置为“进行中”
+ comPbActivityDO.setStatus(4);
+
int insert = comBpActivityDAO.insert(comPbActivityDO);
if (insert > 0) {
return R.ok();
@@ -201,6 +263,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);
}
@@ -215,7 +297,7 @@
ComPbActivityDO comPbActivityDO = new ComPbActivityDO();
comPbActivityDO.setId(partyBuildingActivityVO.getId());
comPbActivityDO.setCancelReason(partyBuildingActivityVO.getCancelReason());
- comPbActivityDO.setCreateBy(partyBuildingActivityVO.getCreateBy());
+ comPbActivityDO.setStatus(6);
int update = comBpActivityDAO.updateById(comPbActivityDO);
if (update > 0) {
return R.ok();
@@ -227,25 +309,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);
@@ -262,14 +363,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);
}
@@ -300,6 +411,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 {
@@ -309,6 +424,10 @@
if (empty) {
return R.ok(null,"已经取消");
}else{
+ Long createBy = comPbActivityDO.getCreateBy();
+ if (createBy.equals(userId)) {
+ return R.fail("发起者不能取消报名");
+ }
mum=comPbActivityMemberDAO.deleteById(comPbActivityMemberDO.getId());
}
}
@@ -317,4 +436,98 @@
}
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());
+ 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