青羊经侦大队-数据平台
wl
2022-07-15 2918688dff476da47f17723ad136149f3bde4add
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -3,30 +3,26 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.jz.dao.CauseDao;
import com.example.jz.dao.GroupDao;
import com.example.jz.dao.ReportDao;
import com.example.jz.dao.UserDao;
import com.example.jz.dao.*;
import com.example.jz.modle.PageParam;
import com.example.jz.modle.dto.CauseDto;
import com.example.jz.modle.entity.Cause;
import com.example.jz.modle.entity.Group;
import com.example.jz.modle.entity.Report;
import com.example.jz.modle.entity.User;
import com.example.jz.modle.entity.*;
import com.example.jz.modle.vo.AnnouncementVo;
import com.example.jz.modle.vo.CauseReportVo;
import com.example.jz.modle.vo.CauseVo;
import com.example.jz.modle.vo.UserVo;
import com.example.jz.service.CauseService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
 * 案件表(Cause)表服务实现类
 * 案件表(Cause)表服务实现类
 *
 * @author makejava
 * @since 2022-07-13 11:52:58
@@ -45,14 +41,18 @@
    @Resource
    GroupDao groupDao;
    @Resource
    AnnouncementDao announcementDao;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Integer addCause(CauseDto causeDto) {
        //创建案件
        //创建案件
        Cause cause = new Cause();
        BeanUtils.copyProperties(causeDto, cause);
        cause.setCtime(new Date());
        causeService.save(cause);
        //创建群组
        //创建群组
        Group group = new Group();
        group.setCtime(new Date());
        group.setGroupName(causeDto.getName());
@@ -87,6 +87,7 @@
                    BeanUtils.copyProperties(a, causeVo);
                    causeVo.setUserName(userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId())).getRealName());
                    causeVo.setReportNumber(reportDao.selectCount(new QueryWrapper<Report>().eq("cause_id", a.getId())));
                    causeVo.setGroupId(groupDao.selectOne(new QueryWrapper<Group>().eq("cause_id", a.getId())).getId());
                    return causeVo;
                }).collect(Collectors.toList());
        PageParam<CauseVo> causeVoPageParam = new PageParam<>();
@@ -106,11 +107,44 @@
    }
    @Override
    public Integer updateCause(CauseDto causeDto,Integer id) {
    public Integer updateCause(CauseDto causeDto, Integer id) {
        Cause cause = new Cause();
        BeanUtils.copyProperties(causeDto,cause);
        BeanUtils.copyProperties(causeDto, cause);
        cause.setId(id);
        return causeDao.updateById(cause);
    }
}
    @Override
    public List<CauseReportVo> getReporterList(Integer causeId) {
        return reportDao.selectList(new QueryWrapper<Report>().eq("cause_id", causeId)).stream()
                .map(
                        a -> {
                            CauseReportVo causeReportVo = new CauseReportVo();
                            User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId()));
                            BeanUtils.copyProperties(a, causeReportVo);
                            causeReportVo.setUserIdcard(user.getUserIdcard());
                            causeReportVo.setUserMobile(user.getUserMobile());
                            causeReportVo.setUserIdcard(causeReportVo.getUserIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*"));
                            causeReportVo.setUserName(user.getRealName());
                            return causeReportVo;
                        }
                ).collect(Collectors.toList());
    }
    @Override
    public List<AnnouncementVo> getGroupAnnouncement(Integer groupId) {
        return announcementDao.selectList(new QueryWrapper<Announcement>().eq("group_id", groupId)).stream()
                .map(
                        a -> {
                            AnnouncementVo announcementVo = new AnnouncementVo();
                            BeanUtils.copyProperties(a, announcementVo);
                            return announcementVo;
                        }
                ).collect(Collectors.toList());
    }
    @Override
    public void deleteCause(Integer id) {
         causeDao.deleteById(id);
    }
}