package com.panzhihua.service_community.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.panzhihua.common.model.dtos.common.*;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.common.ComMngVolunteerOrgTeamVo;
|
import com.panzhihua.common.utlis.Snowflake;
|
import com.panzhihua.service_community.dao.ComMngVolunteerMngDAO;
|
import com.panzhihua.service_community.dao.ComMngVolunteerOrgTeamMapper;
|
import com.panzhihua.service_community.model.dos.ComMngVolunteerMngDO;
|
import com.panzhihua.service_community.model.dos.ComMngVolunteerOrgTeam;
|
import com.panzhihua.service_community.service.ComMngVolunteerOrgTeamService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
|
/**
|
* 志愿者组织队伍表(ComMngVolunteerOrgTeam)表服务实现类
|
*
|
* @author lyq
|
* @since 2021-10-30 16:32:54
|
*/
|
@Service
|
public class ComMngVolunteerOrgTeamServiceImpl extends ServiceImpl<ComMngVolunteerOrgTeamMapper, ComMngVolunteerOrgTeam> implements ComMngVolunteerOrgTeamService {
|
|
@Resource
|
private ComMngVolunteerMngDAO comMngVolunteerMngDAO;
|
|
|
/**
|
* 通过ID查询单条数据
|
*
|
* @param id 主键
|
* @return 实例对象
|
*/
|
@Override
|
public R queryById(Long id) {
|
return R.ok(this.baseMapper.queryById(id));
|
}
|
|
/**
|
* 分页查询
|
*
|
* @param comMngVolunteerOrgTeam 筛选条件
|
* @return 查询结果
|
*/
|
@Override
|
public R queryByPage(PageComMngVolunteerOrgTeamDto comMngVolunteerOrgTeam) {
|
return R.ok(this.baseMapper.queryAllByLimit(comMngVolunteerOrgTeam,new Page(comMngVolunteerOrgTeam.getPageNum(), comMngVolunteerOrgTeam.getPageSize())));
|
}
|
|
/**
|
* 新增数据
|
*
|
* @param comMngVolunteerOrgTeam 实例对象
|
* @return 实例对象
|
*/
|
@Override
|
public R insert(AddComMngVolunteerOrgTeamDto comMngVolunteerOrgTeam) {
|
ComMngVolunteerOrgTeam entity = new ComMngVolunteerOrgTeam();
|
BeanUtils.copyProperties(comMngVolunteerOrgTeam, entity);
|
if (this.baseMapper.insert(entity) > 0) {
|
return R.ok();
|
}
|
return R.fail("添加失败");
|
}
|
|
/**
|
* 修改数据
|
*
|
* @param editDto 实例对象
|
* @return 实例对象
|
*/
|
@Override
|
public R update(EditComMngVolunteerOrgTeamDto editDto) {
|
ComMngVolunteerOrgTeam entity = this.baseMapper.selectById(editDto.getId());
|
if(entity == null){
|
return R.fail("未查询到该记录");
|
}
|
BeanUtils.copyProperties(editDto, entity);
|
if (this.baseMapper.updateById(entity) > 0) {
|
return R.ok();
|
}
|
return R.fail("修改失败");
|
}
|
|
/**
|
* 通过主键删除数据
|
*
|
* @param id 主键
|
* @return 是否成功
|
*/
|
@Override
|
public R deleteById(Long id) {
|
ComMngVolunteerOrgTeam volunteerOrgTeam = this.baseMapper.selectById(id);
|
if(volunteerOrgTeam != null){
|
//组织
|
if(volunteerOrgTeam.getParentId().equals(0L)){
|
Integer count = this.baseMapper.selectCount(new QueryWrapper<ComMngVolunteerOrgTeam>().lambda()
|
.eq(ComMngVolunteerOrgTeam::getParentId,id));
|
if(count > 0){
|
return R.fail("内容已引用,无法删除!");
|
}
|
Integer volunteerCount = comMngVolunteerMngDAO.selectCount(new QueryWrapper<ComMngVolunteerMngDO>().lambda()
|
.eq(ComMngVolunteerMngDO::getOrgId,id).ne(ComMngVolunteerMngDO::getState,3));
|
if(volunteerCount > 0){
|
return R.fail("内容已引用,无法删除!");
|
}
|
}else{//队伍
|
Integer volunteerCount = comMngVolunteerMngDAO.selectCount(new QueryWrapper<ComMngVolunteerMngDO>().lambda()
|
.eq(ComMngVolunteerMngDO::getTeamId,id).ne(ComMngVolunteerMngDO::getState,3));
|
if(volunteerCount > 0){
|
return R.fail("内容已引用,无法删除!");
|
}
|
}
|
}
|
if(this.baseMapper.deleteById(id) > 0){
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 社区后台-查询志愿者组织列表
|
* @param comMngVolunteerOrgTeam 请求参数
|
* @return 志愿者组织列表
|
*/
|
@Override
|
public R queryByList(PageComMngVolunteerOrgTeamDto comMngVolunteerOrgTeam){
|
//查询所有组织列表
|
List<ComMngVolunteerOrgTeamVo> orgList = this.baseMapper.queryAll(comMngVolunteerOrgTeam);
|
for (ComMngVolunteerOrgTeamVo org : orgList) {
|
comMngVolunteerOrgTeam = new PageComMngVolunteerOrgTeamDto();
|
comMngVolunteerOrgTeam.setParentId(org.getId());
|
comMngVolunteerOrgTeam.setCommunityId(org.getCommunityId());
|
List<ComMngVolunteerOrgTeamVo> teamList = this.baseMapper.queryAll(comMngVolunteerOrgTeam);
|
if(!teamList.isEmpty()){
|
org.setChildList(teamList);
|
}
|
}
|
return R.ok(orgList);
|
}
|
|
/**
|
* 社区后台-志愿者组织统计
|
* @param communityId 社区id
|
* @return 志愿者组织统计
|
*/
|
@Override
|
public R statisticsVolunteerOrgAdmin(Long communityId){
|
return R.ok(this.baseMapper.statisticsVolunteerOrgAdmin(communityId));
|
}
|
}
|