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;
@@ -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));
        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);
                partyBuildingMemberVOS.add(partyBuildingMemberVO);
            });
            partyBuildingActivityVO.setPartyBuildingMemberVOS(partyBuildingMemberVOS);
            partyBuildingActivityVO.setParticipationActualNum(partyBuildingMemberVOS.size());
            partyBuildingActivityVO.setParticipationActualNum(size);
        }else{
            partyBuildingActivityVO.setParticipationActualNum(0);
        }
        partyBuildingActivityVO.setPartyBuildingMemberVOS(partyBuildingMemberVOS);
        return R.ok(partyBuildingActivityVO);
    }
@@ -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();
    }
}