puhanshu
2022-03-10 4feaef5e35f0dad7cc3f05e32fc7e3e52fa9396d
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -15,6 +15,7 @@
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.property.CommonPage;
import com.panzhihua.common.model.vos.community.*;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
@@ -303,10 +304,22 @@
                    comActActivityVO.setIsVolunteer(comActActSignDO.getIsVolunteer());
                }
                List<ComActActRegistDO> regList = comActActRegistDAO.selectList(new QueryWrapper<ComActActRegistDO>().lambda()
                        .eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getActivityId, id).eq(ComActActRegistDO::getType, 1));
                        .eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getActivityId, id));
                if (!regList.isEmpty()) {
                    List<ComActActRegistDO> collect = regList.stream().sorted(Comparator.comparing(ComActActRegistDO::getId).reversed()).collect(Collectors.toList());
                    comActActivityVO.setTimes(collect.get(0).getTimes());
                    ComActActRegistDO comActActRegistDO=collect.get(0);
                    if(comActActRegistDO.getType()==2){
                        if(comActActRegistDO.getEndTime()==null){
                            comActActivityVO.setSignType(2);
                        }
                        else {
                            comActActivityVO.setSignType(1);
                        }
                    }
                }
                else {
                    comActActivityVO.setSignType(1);
                }
            }
        }
@@ -468,6 +481,7 @@
                return R.fail("已经报名过了,请勿重复提交");
            }
            Integer volunteerMax = actActivityDO.getVolunteerMax();
            Integer activityType = actActivityDO.getType();
            Integer residentMax = actActivityDO.getParticipantMax();
            R<LoginUserInfoVO> userInfoR = userService.getUserInfoByUserId(String.valueOf(userId));
            LoginUserInfoVO loginUserInfoVO =
@@ -475,7 +489,7 @@
            // 查询当前活动下参与居民
            Integer residentCount = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda()
                    .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, 0).eq(ComActActSignDO::getStatus, 1));
            if (volunteerMax != 0) {
            if (activityType.equals(1)) {
                //志愿者活动
                boolean userIsVolunteer = loginUserInfoVO.getIsVolunteer() == 1;
                // 查询当前活动下参与志愿者
@@ -563,7 +577,7 @@
                AddComActIntegralUserDTO addComActIntegralUserDTO = new AddComActIntegralUserDTO();
                addComActIntegralUserDTO.setUserId(userId);
                addComActIntegralUserDTO.setIntegralType(8);
                addComActIntegralUserDTO.setActivityType(1);
                addComActIntegralUserDTO.setActivityType(actActivityDO.getType());
                addComActIntegralUserDTO.setIsVolunteer(comActActSignDO.getIsVolunteer());
                addComActIntegralUserDTO.setCommunityId(actActivityDO.getCommunityId());
                addComActIntegralUserDTO.setServiceId(activityId);
@@ -585,7 +599,7 @@
     * @return 活动列表
     */
    @Override
    public R listActivity(Long userId, Integer status) {
    public R listActivity(Long userId, Integer status,Integer type) {
        List<ActivitySignVO> activitySignVOList = comActActSignDAO.selectList(userId);
        if (ObjectUtils.isEmpty(activitySignVOList)) {
            return R.ok();
@@ -603,20 +617,19 @@
                        .filter(activityDO -> activityDO.getStatus().equals(status)).collect(Collectors.toList());
            }
        }
        if(!isNull(type)){
            comActActivityDOS=comActActivityDOS.stream().filter(comActActivityDO -> comActActivityDO.getType().equals(type)).collect(Collectors.toList());
        }
        if (!comActActivityDOS.isEmpty()) {
            comActActivityDOS.forEach(comActActivityDO -> {
                ComActActivityVO comActActivityVO = new ComActActivityVO();
                BeanUtils.copyProperties(comActActivityDO, comActActivityVO);
                List<ActivitySignVO> collect = activitySignVOList.stream()
                        .filter(activitySignVO -> activitySignVO.getActivityId().equals(comActActivityVO.getId())).limit(1)
                        .filter(activitySignVO -> activitySignVO.getActivityId().equals(comActActivityVO.getId()))
                        .collect(Collectors.toList());
                comActActivityVO.setSignCount(collect.size());
                comActActivityVO.setIsComment(1);
                ActivitySignVO activitySignVO = collect.get(0);
                Integer isVolunteer = activitySignVO.getIsVolunteer();
                if (isVolunteer.intValue() == 1) {
                    comActActivityVO.setType(1);
                } else {
                    comActActivityVO.setType(2);
                }
                Integer activityStatus = comActActivityVO.getStatus();
                if (activityStatus.intValue() == 3) {
                    comActActivityVO.setStatus(4);
@@ -914,7 +927,7 @@
//            return R.fail("你已签到,如要再次签到请三十分钟后尝试!");
//        }
            ComActActRegistDO comActActRegistDO = new ComActActRegistDO();
            if(comActActRegistVO.getType()!=null&&comActActRegistVO.getType()==2){
            if(comActActRegistVO.getSignType()!=null&&comActActRegistVO.getSignType()==2){
                ComActActRegistDO comActActActRegistDO=comActActRegistDAO.selectOne(new QueryWrapper<ComActActRegistDO>()
                        .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId()));
                if(comActActActRegistDO==null){
@@ -923,7 +936,7 @@
                if(comActActActRegistDO.getEndTime()!=null){
                    return R.fail("无法重复签退");
                }
                comActActRegistDO.setId(comActActRegistVO.getId());
                comActActRegistDO.setId(comActActActRegistDO.getId());
                comActActRegistDO.setEndTime(new Date());
                int result=comActActRegistDAO.updateById(comActActRegistDO);
                if (result > 0) {
@@ -966,7 +979,7 @@
                comActActRegistDO.setPosition(comActActRegistVO.getPosition());
                comActActRegistDO.setTimes(signAllCount+1);
                int result = comActActRegistDAO.insert(comActActRegistDO);
                if (result > 0&&comActActRegistDO.getType()==1) {
                if (result > 0&&comActActRegistDO.getType()==1&&comActActivityDO.getType()!=3) {
                    if (isHave) {
                        boolean isVolunteerAct = comActActivityDO.getVolunteerMax() != 0;
                        AddComActIntegralUserDTO addComActIntegralUserDTO=new AddComActIntegralUserDTO();
@@ -981,6 +994,9 @@
                    } else {
                        return R.ok();
                    }
                }
                else {
                    return R.ok();
                }
            }
            return R.fail("网络错误,请重试");
@@ -1123,6 +1139,17 @@
        partyActivityStatics.setPartyActivityLines(getPoints(communityId,year));
        return R.ok(partyActivityStatics);
    }
    @Override
    public R partyMemberDetail(CommonPage commonPage) {
        return R.ok(comActActivityDAO.partyMemberDetail(new Page<>(commonPage.getPage(),commonPage.getSize()),commonPage));
    }
    @Override
    public R exportPartyMemberDetail(CommonPage commonPage) {
        return R.ok(comActActivityDAO.exportPartyMemberDetail(commonPage));
    }
    public List<PartyActivityLine> getPoints(Long communityId,String year){
        List<PartyActivityLine> partyActivityLines=new ArrayList<>();
        for(int i=1;i<=12;i++){