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<ComActActivityInviteDAO, ComActActivityInvite>
|
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<ActivityInviteDTO> 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<ComActActivityInvite> 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<ComActActSignDO>()
|
.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));
|
}
|
}
|