puhanshu
2021-10-19 8961d05a46aa30c73c3b85cd25da884a17c00e67
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java
@@ -1,8 +1,15 @@
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.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
@@ -208,6 +215,7 @@
        int insert = comBpActivityDAO.insert(comPbActivityDO);
        if (insert > 0) {
            comPbActivityMemberDAO.insertComActActivityCode(comPbActivityDO.getId());
            return R.ok();
        }
        return R.fail();
@@ -347,19 +355,22 @@
        if (ObjectUtils.isEmpty(memberId)) {
            return R.fail();
        }*/
        List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(
            new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getUserId, userId));
        if (ObjectUtils.isEmpty(comPbActivityMemberDOS)) {
        List<PageActivityMembersVO> membersVOS = comPbActivityMemberDAO.selectList(userId);
        if (ObjectUtils.isEmpty(membersVOS)) {
            return R.fail();
        }
        List<Long> collect = comPbActivityMemberDOS.stream()
            .map(comPbActivityMemberDO -> comPbActivityMemberDO.getActivityId()).collect(Collectors.toList());
        List<Long> collect = membersVOS.stream()
            .map(membersVO -> membersVO.getActivityId()).collect(Collectors.toList());
        List<ComPbActivityDO> comPbActivityDOS = comBpActivityDAO.selectBatchIds(collect);
        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);
@@ -370,15 +381,21 @@
            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());
            }
            comActActivityVO.setType(3);
            comActActivityVO.setId(comPbActivityDO.getId());
            comActActivityVO.setStatus(status);
            comActActivityVO.setActivityName(comPbActivityDO.getName());
            comActActivityVO.setCover(comPbActivityDO.getCover());
            comActActivityVO.setBeginAt(comPbActivityDO.getActivityTimeBegin());
            comActActivityVO.setSingDate(comPbActivityMemberDOS.stream()
                .filter(comPbActivityMemberDO -> comPbActivityMemberDO.getActivityId().equals(comActActivityVO.getId()))
                .collect(Collectors.toList()).get(0).getCreateAt());
            comActActivityVO.setSingDate(createAt);
            comActActivityVO.setTimes(activityMembersVO.getTimes());
            comActActivityVO.setAward(activityMembersVO.getAward());
            comActActivityVOS.add(comActActivityVO);
        });
        return R.ok(comActActivityVOS);
@@ -460,6 +477,9 @@
                return R.ok(null, "已经加入了");
            }
        } else {
            if (isNull(activitySignUpDTO.getReason())) {
                return R.fail("取消原因不能为空");
            }
            if (empty) {
                return R.ok(null, "已经取消");
            } else {
@@ -467,7 +487,9 @@
                if (createBy.equals(userId)) {
                    return R.fail("发起者不能取消报名");
                }
                mum = comPbActivityMemberDAO.deleteById(comPbActivityMemberDO.getId());
                comPbActivityMemberDO.setStatus(0);
                comPbActivityMemberDO.setReason(activitySignUpDTO.getReason());
                mum = comPbActivityMemberDAO.updateById(comPbActivityMemberDO);
            }
        }
        if (mum > 0) {
@@ -585,4 +607,25 @@
        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));
    }
}