huanghongfa
2020-12-30 9840d5b42aeb53f9ac7e4121101913592ca6da5f
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java
@@ -3,6 +3,7 @@
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.dtos.partybuilding.ActivitySignUpDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActActivityVO;
import com.panzhihua.common.model.vos.partybuilding.PageActivityMembersVO;
@@ -63,10 +64,10 @@
        Page page = new Page<>();
        Long pageNum = pageActivityMembersVO.getPageNum();
        Long pageSize = pageActivityMembersVO.getPageSize();
        if (null==pageNum) {
        if (null == pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize) {
        if (null == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
@@ -85,25 +86,29 @@
    public R activityinfo(Long id) {
        ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(id);
        if (ObjectUtils.isEmpty(comPbActivityDO)) {
            return R.fail();
            return R.fail("活动不存在");
        }
        PartyBuildingActivityVO partyBuildingActivityVO=new PartyBuildingActivityVO();
        BeanUtils.copyProperties(comPbActivityDO,partyBuildingActivityVO);
        List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getActivityId, id));
        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<>();
        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));
            List<PartyBuildingMemberVO> partyBuildingMemberVOS=new ArrayList<>();
            comPbMemberDOS.forEach(comPbMemberDO -> {
                PartyBuildingMemberVO partyBuildingMemberVO=new PartyBuildingMemberVO();
                BeanUtils.copyProperties(comPbMemberDO,partyBuildingMemberVO);
                PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO();
                BeanUtils.copyProperties(comPbMemberDO, partyBuildingMemberVO);
                partyBuildingMemberVOS.add(partyBuildingMemberVO);
            });
            partyBuildingActivityVO.setPartyBuildingMemberVOS(partyBuildingMemberVOS);
            partyBuildingActivityVO.setParticipationActualNum(partyBuildingMemberVOS.size());
        }else{
            partyBuildingActivityVO.setParticipationActualNum(size);
        } else {
            partyBuildingActivityVO.setParticipationActualNum(0);
        }
        partyBuildingActivityVO.setPartyBuildingMemberVOS(partyBuildingMemberVOS);
        return R.ok(partyBuildingActivityVO);
    }
@@ -115,11 +120,11 @@
     */
    @Override
    public R addactivity(PartyBuildingActivityVO partyBuildingActivityVO) {
        ComPbActivityDO comPbActivityDO =new ComPbActivityDO();
        ComPbActivityDO comPbActivityDO = new ComPbActivityDO();
        BeanUtils.copyProperties(partyBuildingActivityVO, comPbActivityDO);
        comPbActivityDO.setCreateAt(new Date());
        int insert = comBpActivityDAO.insert(comPbActivityDO);
        if (insert>0) {
        if (insert > 0) {
            return R.ok();
        }
        return R.fail();
@@ -133,10 +138,10 @@
     */
    @Override
    public R updateActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
        ComPbActivityDO comPbActivityDO =new ComPbActivityDO();
        ComPbActivityDO comPbActivityDO = new ComPbActivityDO();
        BeanUtils.copyProperties(partyBuildingActivityVO, comPbActivityDO);
        int update = comBpActivityDAO.updateById(comPbActivityDO);
        if (update>0) {
        if (update > 0) {
            return R.ok();
        }
        return R.fail();
@@ -150,12 +155,12 @@
     */
    @Override
    public R releaseActivity(Long id) {
        ComPbActivityDO comPbActivityDO =new ComPbActivityDO();
        ComPbActivityDO comPbActivityDO = new ComPbActivityDO();
        comPbActivityDO.setId(id);
        comPbActivityDO.setStatus(2);
        comPbActivityDO.setReleaseTime(new Date());
        int update = comBpActivityDAO.updateById(comPbActivityDO);
        if (update>0) {
        if (update > 0) {
            return R.ok();
        }
        return R.fail();
@@ -170,7 +175,7 @@
    @Override
    public R deleteActivity(Long id) {
        int delete = comBpActivityDAO.deleteById(id);
        if (delete>0) {
        if (delete > 0) {
            return R.ok();
        }
        return R.fail();
@@ -187,10 +192,10 @@
        Page page = new Page<>();
        Long pageNum = partyBuildingActivityVO.getPageNum();
        Long pageSize = partyBuildingActivityVO.getPageSize();
        if (null==pageNum) {
        if (null == pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize) {
        if (null == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
@@ -207,12 +212,12 @@
     */
    @Override
    public R cancelActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
        ComPbActivityDO comPbActivityDO =new ComPbActivityDO();
        ComPbActivityDO comPbActivityDO = new ComPbActivityDO();
        comPbActivityDO.setId(partyBuildingActivityVO.getId());
        comPbActivityDO.setCancelReason(partyBuildingActivityVO.getCancelReason());
        comPbActivityDO.setCreateBy(partyBuildingActivityVO.getCreateBy());
        int update = comBpActivityDAO.updateById(comPbActivityDO);
        if (update>0) {
        if (update > 0) {
            return R.ok();
        }
        return R.fail();
@@ -232,9 +237,9 @@
        }
        List<Long> collect = comPbActivityMemberDOS.stream().map(comPbActivityMemberDO -> comPbActivityMemberDO.getActivityId()).collect(Collectors.toList());
        List<ComPbActivityDO> comPbActivityDOS = comBpActivityDAO.selectBatchIds(collect);
        List<ComActActivityVO>comActActivityVOS=new ArrayList<>();
        List<ComActActivityVO> comActActivityVOS = new ArrayList<>();
        comPbActivityDOS.forEach(comPbActivityDO -> {
            ComActActivityVO comActActivityVO=new ComActActivityVO();
            ComActActivityVO comActActivityVO = new ComActActivityVO();
            comActActivityVO.setType(3);
            comActActivityVO.setId(comPbActivityDO.getId());
            comActActivityVO.setStatus(comPbActivityDO.getStatus());
@@ -246,5 +251,70 @@
        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)) {
            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);
                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.setCreateAt(new Date());
                mum=comPbActivityMemberDAO.insert(comPbActivityMemberDO1);
            } else {
                return R.ok(null,"已经加入了");
            }
        }else{
            if (empty) {
                return R.ok(null,"已经取消");
            }else{
                mum=comPbActivityMemberDAO.deleteById(comPbActivityMemberDO.getId());
            }
        }
        if (mum>0) {
            return R.ok();
        }
        return R.fail();
    }
}