青羊经侦大队-数据平台
wl
2022-07-29 53d6e1f54ec17280a4a20e8701787e814e74f135
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -9,6 +9,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.jz.dao.*;
import com.example.jz.enums.CauseEnums;
import com.example.jz.exception.BusinessException;
import com.example.jz.modle.PageParam;
import com.example.jz.modle.dto.AddReportDto;
import com.example.jz.modle.dto.CauseDto;
@@ -25,9 +26,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -126,8 +125,10 @@
    }
    @Override
    public List<CauseReportVo> getReporterList(Integer causeId) {
        return reportDao.selectList(new QueryWrapper<Report>().eq("cause_id", causeId)).stream()
    public PageParam<CauseReportVo> getReporterList(Integer causeId) {
        PageParam<Report> PageParam = new PageParam<>();
        PageParam<Report> reportPageParam = reportDao.selectPage(PageParam, new QueryWrapper<Report>().eq("cause_id", causeId));
        List<CauseReportVo> causeReportVos = reportPageParam.getRecords().stream()
                .map(
                        a -> {
                            CauseReportVo causeReportVo = new CauseReportVo();
@@ -137,9 +138,20 @@
                            causeReportVo.setUserMobile(user.getUserMobile());
                            causeReportVo.setUserIdcard(causeReportVo.getUserIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*"));
                            causeReportVo.setUserName(user.getRealName());
                            if (groupUserDao.selectOne(new QueryWrapper<GroupUser>().eq("user_id", a.getId())) == null) {
                                causeReportVo.setIsIntoGroup("0");
                            } else {
                                causeReportVo.setIsIntoGroup("1");
                                causeReportVo.setGroupId(groupDao.selectOne(new QueryWrapper<Group>().eq("cause_id",causeId)).getId());
                            }
                            return causeReportVo;
                        }
                ).collect(Collectors.toList());
        PageParam<CauseReportVo> causeReportVoPageParam = new PageParam<>();
        BeanUtils.copyProperties(reportPageParam, causeReportVoPageParam);
        causeReportVoPageParam.setRecords(causeReportVos);
        return causeReportVoPageParam;
    }
    @Override
@@ -150,16 +162,20 @@
    @Override
    public void deleteCause(Integer id) {
        causeDao.deleteById(id);
        groupDao.delete(new QueryWrapper<Group>().eq("cause_id", id));
    }
    @Override
    @SneakyThrows
    @Transactional(rollbackFor = BusinessException.class)
    public void loadFile(MultipartFile multipartFile) {
        ArrayList<CauseLoadDto> causeLoadDtos = new ArrayList<>();
        EasyExcel.read(multipartFile.getInputStream(),CauseLoadDto.class, new AnalysisEventListener<CauseLoadDto>() {
        EasyExcel.read(multipartFile.getInputStream(), CauseLoadDto.class, new AnalysisEventListener<CauseLoadDto>() {
                    @Override
                    public void invoke(CauseLoadDto data, AnalysisContext context) {
                        causeLoadDtos.add(data);
                        if (StringUtils.isNotBlank(data.getName()) && StringUtils.isNotBlank(data.getUserName())) {
                            causeLoadDtos.add(data);
                        }
                    }
                    @Override
@@ -173,6 +189,9 @@
                a -> {
                    Cause cause = new Cause();
                    BeanUtils.copyProperties(a, cause);
                    if (StringUtils.isBlank(a.getStatus())) {
                        throw new BusinessException("状态不能为空");
                    }
                    if (a.getStatus().equals(CauseEnums.UNCHECKED.getMsg())) {
                        cause.setStatus(CauseEnums.UNCHECKED.value());
                    }
@@ -189,8 +208,21 @@
                        cause.setStatus(CauseEnums.HASBEENDROPPED.value());
                    }
                    cause.setCtime(new Date());
                    cause.setUserId(userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())).getId());
                    causeDao.insert(cause);
                    if (StringUtils.isBlank(a.getUserName())) {
                        throw new BusinessException("负责人不允许为空");
                    }
                    if (userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())) == null) {
                        throw new BusinessException("负责人不存在");
                    }
                    Integer id = userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())).getId();
                    cause.setUserId(id);
                    causeService.save(cause);
                    Group group = new Group();
                    group.setCtime(new Date());
                    group.setUserId(id);
                    group.setGroupName(a.getName());
                    group.setCauseId(cause.getId());
                    groupDao.insert(group);
                });
    }
@@ -218,4 +250,16 @@
                .setCauseId(groupDao.selectOne(new QueryWrapper<Group>().eq("id", addReportDto.getGroupId())).getCauseId());
        return reportDao.insert(report) > 0;
    }
    @Override
    public List<Map<String, String>> getCauseIdAndName() {
        ArrayList<Map<String, String>> maps = new ArrayList<>();
        causeDao.selectList(null).stream().forEach(a -> {
            Map<String, String> map = new HashMap<>();
            map.put("id", a.getId().toString());
            map.put("name", a.getName());
            maps.add(map);
        });
        return maps;
    }
}