青羊经侦大队-数据平台
wl
2022-07-25 39f55c08933e7f0292c325f41b0f55390a4acc69
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;
/**
@@ -150,16 +149,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 +176,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 +195,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 +237,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;
    }
}