package com.panzhihua.service_dangjian.service.impl;
|
|
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.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.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.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;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 党员活动
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-12-01 09:16
|
**/
|
@Service
|
public class ComBpActivityServiceImpl implements ComBpActivityService {
|
@Resource
|
private ComBpActivityDAO comBpActivityDAO;
|
@Resource
|
private ComPbActivityMemberDAO comPbActivityMemberDAO;
|
@Resource
|
private ComPbMemberDAO comPbMemberDAO;
|
|
/**
|
* 查询某个党员加入的所有党员活动
|
*
|
* @param partyBuildingActivityVO 查询参数
|
* @return 活动集合
|
*/
|
@Override
|
public R listPartyMemberActivities(PartyBuildingActivityVO partyBuildingActivityVO) {
|
List<PartyBuildingActivityVO> partyBuildingActivityVOS = comBpActivityDAO.listPartyMemberActivities(partyBuildingActivityVO);
|
return R.ok(partyBuildingActivityVOS);
|
}
|
|
/**
|
* 活动报名名单分页查询
|
*
|
* @param pageActivityMembersVO 查询参数 手机号 名字
|
* @return 分页数据
|
*/
|
@Override
|
public R pageActivityMembers(PageActivityMembersVO pageActivityMembersVO) {
|
Page page = new Page<>();
|
Long pageNum = pageActivityMembersVO.getPageNum();
|
Long pageSize = pageActivityMembersVO.getPageSize();
|
if (null==pageNum) {
|
pageNum = 1l;
|
}
|
if (null==pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<PageActivityMembersVO> iPage = comPbActivityMemberDAO.pageActivityMembers(page, pageActivityMembersVO);
|
return R.ok(iPage);
|
}
|
|
/**
|
* 党员活动详情
|
*
|
* @param id 活动id
|
* @return 活动详情内容
|
*/
|
@Override
|
public R activityinfo(Long id) {
|
ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(id);
|
if (ObjectUtils.isEmpty(comPbActivityDO)) {
|
return R.fail();
|
}
|
PartyBuildingActivityVO partyBuildingActivityVO=new PartyBuildingActivityVO();
|
BeanUtils.copyProperties(comPbActivityDO,partyBuildingActivityVO);
|
List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getActivityId, id));
|
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);
|
partyBuildingMemberVOS.add(partyBuildingMemberVO);
|
});
|
partyBuildingActivityVO.setPartyBuildingMemberVOS(partyBuildingMemberVOS);
|
partyBuildingActivityVO.setParticipationActualNum(partyBuildingMemberVOS.size());
|
}else{
|
partyBuildingActivityVO.setParticipationActualNum(0);
|
}
|
return R.ok(partyBuildingActivityVO);
|
}
|
|
/**
|
* 新增党员活动
|
*
|
* @param partyBuildingActivityVO 参数
|
* @return 新增结果
|
*/
|
@Override
|
public R addactivity(PartyBuildingActivityVO partyBuildingActivityVO) {
|
ComPbActivityDO comPbActivityDO =new ComPbActivityDO();
|
BeanUtils.copyProperties(partyBuildingActivityVO, comPbActivityDO);
|
comPbActivityDO.setCreateAt(new Date());
|
int insert = comBpActivityDAO.insert(comPbActivityDO);
|
if (insert>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 编辑党员活动
|
*
|
* @param partyBuildingActivityVO 编辑内容
|
* @return 编辑结果
|
*/
|
@Override
|
public R updateActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
|
ComPbActivityDO comPbActivityDO =new ComPbActivityDO();
|
BeanUtils.copyProperties(partyBuildingActivityVO, comPbActivityDO);
|
int update = comBpActivityDAO.updateById(comPbActivityDO);
|
if (update>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 发布党员活动
|
*
|
* @param id 主键id
|
* @return 发布结果
|
*/
|
@Override
|
public R releaseActivity(Long id) {
|
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();
|
}
|
|
/**
|
* 删除党员活动
|
*
|
* @param id 主键id
|
* @return 删除结果
|
*/
|
@Override
|
public R deleteActivity(Long id) {
|
int delete = comBpActivityDAO.deleteById(id);
|
if (delete>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 分页查询党员活动
|
*
|
* @param partyBuildingActivityVO 查询条件
|
* @return 查询结果
|
*/
|
@Override
|
public R pageActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
|
Page page = new Page<>();
|
Long pageNum = partyBuildingActivityVO.getPageNum();
|
Long pageSize = partyBuildingActivityVO.getPageSize();
|
if (null==pageNum) {
|
pageNum = 1l;
|
}
|
if (null==pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<PartyBuildingActivityVO> iPage = comBpActivityDAO.pageActivity(page, partyBuildingActivityVO);
|
return R.ok(iPage);
|
}
|
|
/**
|
* 取消活动
|
*
|
* @param partyBuildingActivityVO 取消原因
|
* @return 操作结果
|
*/
|
@Override
|
public R cancelActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
|
ComPbActivityDO comPbActivityDO =new ComPbActivityDO();
|
comPbActivityDO.setId(partyBuildingActivityVO.getId());
|
comPbActivityDO.setCancelReason(partyBuildingActivityVO.getCancelReason());
|
comPbActivityDO.setCreateBy(partyBuildingActivityVO.getCreateBy());
|
int update = comBpActivityDAO.updateById(comPbActivityDO);
|
if (update>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 用户的所有党建活动
|
*
|
* @param userId 用户id
|
* @return 党建活动列表
|
*/
|
@Override
|
public R listActivity(Long userId) {
|
List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getMemberId, 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();
|
comActActivityVO.setType(3);
|
comActActivityVO.setId(comPbActivityDO.getId());
|
comActActivityVO.setStatus(comPbActivityDO.getStatus());
|
comActActivityVO.setActivityName(comPbActivityDO.getName());
|
comActActivityVO.setCover(comPbActivityDO.getCover());
|
comActActivityVO.setBeginAt(comPbActivityDO.getActivityTimeBegin());
|
comActActivityVOS.add(comActActivityVO);
|
});
|
return R.ok(comActActivityVOS);
|
}
|
|
|
}
|