package com.panzhihua.service_community.service.impl; import java.util.ArrayList; import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.panzhihua.common.constants.HttpStatus; import com.panzhihua.service_community.dao.ComActActSignDAO; import com.panzhihua.service_community.dao.ComActActivityDAO; import com.panzhihua.service_community.model.dos.ComActActSignDO; import com.panzhihua.service_community.model.dos.ComActActivityDO; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.community.ActivityInviteDTO; import com.panzhihua.common.model.dtos.community.PageActivityInviteDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.dao.ComActActivityInviteDAO; import com.panzhihua.service_community.entity.ComActActivityInvite; import com.panzhihua.service_community.service.ComActActivityInviteService; import javax.annotation.Resource; import static java.util.Objects.isNull; import static java.util.Objects.nonNull; /** * 活动邀请表(ComActActivityInvite)表服务实现类 * * @author makejava * @since 2022-08-01 15:54:12 */ @Service("comActActivityInviteService") public class ComActActivityInviteServiceImpl extends ServiceImpl implements ComActActivityInviteService { @Resource private ComActActivityDAO comActActivityDAO; @Resource private ComActActSignDAO comActActSignDAO; /** * 活动邀请列表 * @param dto * @return */ @Override public R pageActivityInviteList(PageActivityInviteDTO dto) { return R.ok(this.baseMapper.pageActivityInviteList(new Page<>(dto.getPageNum(), dto.getPageSize()), dto)); } /** * 添加邀请人员 * @param list * @return */ @Override public R activityInviteAdd(List list) { ComActActivityDO activityDO = comActActivityDAO.selectById(list.get(0).getActivityId()); if (isNull(activityDO)) { return R.fail(HttpStatus.NOT_FOUND, "活动不存在"); } if (activityDO.getStatus().intValue() > 3) { return R.fail(HttpStatus.NOT_ACCEPTABLE, "报名已结束,操作失败"); } List inviteEntityList = new ArrayList<>(); list.forEach(e -> { ComActActivityInvite inviteEntity = new ComActActivityInvite(); BeanUtils.copyProperties(e, inviteEntity); inviteEntityList.add(inviteEntity); }); this.saveBatch(inviteEntityList); return R.ok(); } /** * 删除邀请人员 * @param id * @return */ @Override public R activityInviteDelete(Long id) { ComActActivityInvite activityInvite = this.baseMapper.selectById(id); ComActActSignDO signDO = comActActSignDAO.selectOne(new LambdaQueryWrapper() .eq(ComActActSignDO::getActivityId, activityInvite.getActivityId()) .eq(ComActActSignDO::getUserId, activityInvite.getUserId()) .eq(ComActActSignDO::getStatus, 1)); if (nonNull(signDO)) { return R.fail(HttpStatus.NOT_ACCEPTABLE, "已报名,不可删除"); } return R.ok(this.removeById(id)); } }