puhanshu
2021-10-22 f8b116ce4c5edea7e33c31347d2065ce33fa5f53
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java
@@ -1,15 +1,8 @@
package com.panzhihua.service_dangjian.service.impl;
import static java.util.Objects.isNull;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
@@ -42,6 +35,8 @@
import com.panzhihua.service_dangjian.service.ComBpActivityService;
import lombok.extern.slf4j.Slf4j;
import static java.util.Objects.nonNull;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -189,6 +184,7 @@
                comBpActivityDAO.selectCommunityNameByCommunityId(partyBuildingActivityVO.getCommunityId()));
        }
        partyBuildingActivityVO.setCodeType(2);
        return R.ok(partyBuildingActivityVO);
    }
@@ -215,7 +211,6 @@
        int insert = comBpActivityDAO.insert(comPbActivityDO);
        if (insert > 0) {
            comPbActivityMemberDAO.insertComActActivityCode(comPbActivityDO.getId());
            return R.ok();
        }
        return R.fail();
@@ -346,58 +341,55 @@
     *            用户id
     * @param communityId
     *            社区id
     * @param status
     * @return 党建活动列表
     */
    @Override
    public R listActivity(Long userId, Long communityId) {
    public R listActivity(Long userId, Long communityId, Integer status) {
        List<ComActActivityVO> comActActivityVOS = new ArrayList<>();
        /*Long memberId=comPbActivityMemberDAO.selectMemberIdByUserId(userId,communityId);
        if (ObjectUtils.isEmpty(memberId)) {
            return R.fail();
        }*/
        List<PageActivityMembersVO> membersVOS = comPbActivityMemberDAO.selectList(userId);
        if (ObjectUtils.isEmpty(membersVOS)) {
        List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(
            new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getUserId, userId));
        if (ObjectUtils.isEmpty(comPbActivityMemberDOS)) {
            return R.fail();
        }
        List<Long> collect = membersVOS.stream()
            .map(membersVO -> membersVO.getActivityId()).collect(Collectors.toList());
        List<Long> collect = comPbActivityMemberDOS.stream()
            .map(comPbActivityMemberDO -> comPbActivityMemberDO.getActivityId()).collect(Collectors.toList());
        List<ComPbActivityDO> comPbActivityDOS = comBpActivityDAO.selectBatchIds(collect);
        if (nonNull(status)) {
            comPbActivityDOS = comPbActivityDOS.stream()
                    .filter(activityDO -> activityDO.getStatus().equals(status)).collect(Collectors.toList());
        }
        if (!comPbActivityDOS.isEmpty()) {
        comPbActivityDOS.forEach(comPbActivityDO -> {
            ComActActivityVO comActActivityVO = new ComActActivityVO();
            Long createBy = comPbActivityDO.getCreateBy();
            LoginUserInfoVO loginUserInfoVO = comPbActivityMemberDAO.selectUserInfo(createBy);
            List<PageActivityMembersVO> collect1 = membersVOS.stream()
                    .filter(membersVO -> membersVO.getActivityId().equals(comActActivityVO.getId())).limit(1)
                    .collect(Collectors.toList());
            PageActivityMembersVO activityMembersVO = collect1.get(0);
            Integer type = loginUserInfoVO.getType();
            if (type == 1) {
                comActActivityVO.setIsPerson(1);
            } else {
                comActActivityVO.setIsPerson(0);
            }
            Integer status = comPbActivityDO.getStatus();
            if (status.intValue() == 3) {
                status = 4;
            }
            Date createAt = null;
            try {
                createAt = org.apache.commons.lang3.time.DateUtils.parseDate(activityMembersVO.getRegistrationTime());
            } catch (ParseException e) {
                log.error("时间转换异常{【】}", e.getMessage());
                Integer activityStatus = comPbActivityDO.getStatus();
                if (activityStatus.intValue() == 3) {
                    activityStatus = 4;
            }
            comActActivityVO.setType(3);
            comActActivityVO.setId(comPbActivityDO.getId());
            comActActivityVO.setStatus(status);
                comActActivityVO.setStatus(activityStatus);
            comActActivityVO.setActivityName(comPbActivityDO.getName());
            comActActivityVO.setCover(comPbActivityDO.getCover());
            comActActivityVO.setBeginAt(comPbActivityDO.getActivityTimeBegin());
            comActActivityVO.setSingDate(createAt);
            comActActivityVO.setTimes(activityMembersVO.getTimes());
            comActActivityVO.setAward(activityMembersVO.getAward());
                comActActivityVO.setSingDate(comPbActivityMemberDOS.stream()
                        .filter(comPbActivityMemberDO -> comPbActivityMemberDO.getActivityId().equals(comActActivityVO.getId()))
                        .collect(Collectors.toList()).get(0).getCreateAt());
            comActActivityVOS.add(comActActivityVO);
        });
        }
        return R.ok(comActActivityVOS);
    }
@@ -477,9 +469,6 @@
                return R.ok(null, "已经加入了");
            }
        } else {
            if (isNull(activitySignUpDTO.getReason())) {
                return R.fail("取消原因不能为空");
            }
            if (empty) {
                return R.ok(null, "已经取消");
            } else {
@@ -487,9 +476,7 @@
                if (createBy.equals(userId)) {
                    return R.fail("发起者不能取消报名");
                }
                comPbActivityMemberDO.setStatus(0);
                comPbActivityMemberDO.setReason(activitySignUpDTO.getReason());
                mum = comPbActivityMemberDAO.updateById(comPbActivityMemberDO);
                mum = comPbActivityMemberDAO.deleteById(comPbActivityMemberDO.getId());
            }
        }
        if (mum > 0) {
@@ -605,27 +592,6 @@
    @Override
    public R getTaskPbActivityPeopleList(Long activityId) {
        return R.ok(this.comBpActivityDAO.getTaskPbActivityPeopleList(activityId));
    }
    /**
     * 活动签到记录
     * @param id 活动主键
     * @param userId 用户id
     * @return
     */
    @Override
    public R listRegistRecord(Long id, Long userId) {
        return R.ok(comPbActivityMemberDAO.listRegistRecord(id, userId));
    }
    /**
     * 活动报名签到情况
     * @param id 活动主键id
     * @return
     */
    @Override
    public R listSignInRecord(Long id) {
        return R.ok(comPbActivityMemberDAO.listSignInRecord(id));
    }
}