青羊经侦大队-数据平台
wl
2022-07-21 48e1a3658117ebda9270d87092cfb0d31a634b92
bug修改
7个文件已修改
1个文件已添加
138 ■■■■ 已修改文件
src/main/java/com/example/jz/controller/ReportController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/modle/dto/UploadExcelReportDto.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/modle/entity/Report.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/modle/vo/CauseVo.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/impl/ReportServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/controller/ReportController.java
@@ -13,7 +13,9 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import lombok.SneakyThrows;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@@ -64,7 +66,7 @@
    /**
     * 报案
     *
     * @param AddReportDto 实体对象
     * @param addReportDto 实体对象
     * @return 新增结果
     */
    @PostMapping
@@ -116,5 +118,14 @@
    public void exportReport(@RequestParam(value = "id") Integer id, HttpServletResponse response) {
        reportService.exportReporter(id, response);
    }
    @ApiOperation(httpMethod = "POST", value = "案件台-报案人员-报案人员导入")
    @PostMapping("/upload")
    @ApiResponse(message = "执行成功", code = 200)
    @SneakyThrows
    public R upload(@RequestParam(value = "multipartFile") MultipartFile multipartFile) {
        reportService.loadFile(multipartFile);
        return R.ok();
    }
}
src/main/java/com/example/jz/modle/dto/UploadExcelReportDto.java
New file
@@ -0,0 +1,51 @@
package com.example.jz.modle.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.BooleanEnum;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
import com.alibaba.excel.metadata.data.ImageData;
import com.alibaba.excel.metadata.data.WriteCellData;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(description = "案件区-案件人员-导入", value = "ExportExcelReportVo")
public class UploadExcelReportDto {
    // TODO: 2022/7/19 人照片
    @ExcelProperty(value = "报案人", index = 0)
    private String realName;
    @ExcelProperty(value = "手机号码", index = 1)
    private String userMobile;
    @ExcelProperty(value = "身份证号", index = 2)
    private String userIdcard;
    //是否代办 1(代办) 0(不是代办)
    private String isCommission;
    //被骗时间
    @ExcelProperty(value = "被骗时间", index = 3)
    private Date Time;
    //涉案金额
    @ExcelProperty(value = "涉案金额", index = 4)
    private Double amountInvolved;
    //补充信息
    @ExcelProperty(value = "补充信息", index = 5)
    @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
    private String information;
    @ExcelProperty(value = "关联案件",index = 7)
    private String causeName;
    @ExcelProperty(value = "案件材料", index = 6)
    private WriteCellData<List<ImageData>> writeCellData;
}
src/main/java/com/example/jz/modle/entity/Report.java
@@ -58,6 +58,8 @@
    private String information;
    //案件Id
    private Integer causeId;
    //案件描述
    private String reportDescription;
    /**
     * 获取主键值
src/main/java/com/example/jz/modle/vo/CauseVo.java
@@ -1,5 +1,6 @@
package com.example.jz.modle.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -23,6 +24,7 @@
    //第一次案发时间
    @ApiModelProperty(dataType = "Date", value = "第一次案发时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date firstTime;
    //创建时间
@@ -31,7 +33,7 @@
    //状态 0未审核 1不予立案 2受理中 3已结案
    @ApiModelProperty(dataType = "String", value = "状态 0未审核 1不予立案 2受理中 3已结案")
    private String status;
    private Integer status;
    //负责人id
    @ApiModelProperty(dataType = "Integer", value = "负责人名称")
src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java
@@ -27,7 +27,7 @@
    @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
    private String realName;
    @ExcelProperty(value = "手机号", index = 1)
    @ExcelProperty(value = "手机号码", index = 1)
    @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
    private String userMobile;
@@ -44,12 +44,15 @@
    @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
    private Double amountInvolved;
    @ExcelProperty(value = "案件描述",index = 5)
    @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
    private String reportDescription;
    //补充信息
    @ExcelProperty(value = "补充信息", index = 5)
    @ExcelProperty(value = "补充信息", index = 6)
    @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
    private String information;
    @ExcelProperty(value = "案件材料", index = 6)
    @ExcelProperty(value = "案件材料", index = 7)
    @ColumnWidth(120)
    private WriteCellData<List<ImageData>> writeCellData;
}
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -161,7 +161,9 @@
        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
@@ -200,8 +202,15 @@
                    if (userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName()))==null){
                        throw new BusinessException("负责人不存在");
                    }
                    cause.setUserId(userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())).getId());
                    causeDao.insert(cause);
                    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);
                });
    }
src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
@@ -3,31 +3,21 @@
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.metadata.data.ImageData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.util.IoUtils;
import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.example.jz.dao.GroupDao;
import com.example.jz.dao.GroupUserDao;
import com.example.jz.dao.ReportDao;
import com.example.jz.dao.UserDao;
import com.example.jz.dao.*;
import com.example.jz.modle.dto.AddReportDto;
import com.example.jz.modle.dto.ReportParamDto;
import com.example.jz.modle.entity.Group;
import com.example.jz.modle.entity.GroupUser;
import com.example.jz.modle.entity.Report;
import com.example.jz.modle.entity.User;
import com.example.jz.modle.vo.ReportListVo;
import com.example.jz.dao.*;
import com.example.jz.modle.entity.*;
import com.example.jz.modle.vo.ExportExcelReportVo;
import com.example.jz.modle.vo.ReportListVo;
import com.example.jz.service.MinIOService;
import com.example.jz.service.ReportService;
import lombok.SneakyThrows;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -35,13 +25,12 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.Serializable;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@@ -113,17 +102,17 @@
                    ArrayList<ImageData> imageDataList = new ArrayList<>();
                    if (StringUtils.isNotBlank(a.getReportMaterials())) {
                        String[] urls = a.getReportMaterials().split(",");
                        if (urls.length==1){
                            int width=600;
                        if (urls.length == 1) {
                            int width = 600;
                            try {
                                ImageData imageData = new ImageData();
                                imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[0])).openConnection().getInputStream()));
                                imageData.setRight(width/2);
                                imageData.setRight(width / 2);
                                imageDataList.add(imageData);
                            } catch (Exception e) {
                                throw new RuntimeException(e);
                            }
                        }else {
                        } else {
                            for (int i = 0; i < urls.length; i++) {
                                int width = 600;
                                try {
@@ -137,16 +126,16 @@
                                }
                            }
                        }
                        }
                        objectWriteCellData.setImageDataList(imageDataList);
                        exportExcelReportVo.setWriteCellData(objectWriteCellData);
                        exportExcelReportVos.add(exportExcelReportVo);
                    }
                    objectWriteCellData.setImageDataList(imageDataList);
                    exportExcelReportVo.setWriteCellData(objectWriteCellData);
                    exportExcelReportVos.add(exportExcelReportVo);
                }
        );
        String name = causeDao.selectOne(new QueryWrapper<Cause>().eq("id", id)).getName();
        response.setHeader("Content-disposition", "attachment;filename="+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))+URLEncoder.encode(name+".xlsx","utf-8"));
        response.setCharacterEncoding("utf-8");
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        response.setHeader("Content-disposition", "attachment;filename=" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + URLEncoder.encode(name + ".xlsx", "utf-8"));
        EasyExcel.write(response.getOutputStream(), ExportExcelReportVo.class).sheet("材料导出").doWrite(exportExcelReportVos);
    }
@@ -164,7 +153,7 @@
    @Override
    public Page<ReportListVo> getPageByGroupId(Page<ReportListVo> page, ReportParamDto reportParamDto, Integer groupId) {
        Page<ReportListVo> aaa = reportDao.getPageByGroupId(page, reportParamDto,groupId);
        Page<ReportListVo> aaa = reportDao.getPageByGroupId(page, reportParamDto, groupId);
        aaa.getRecords().stream().forEach(x -> x.setIdcard(x.getIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*")));
        return aaa;
    }
@@ -190,5 +179,4 @@
                .setIsCommission("0").setReportTime(new Date());
        return reportDao.insert(report) > 0;
    }
}
}
src/main/resources/application.yml
@@ -1,6 +1,6 @@
# 端口号
server:
  port: 8080
  port: 8081
# spring配置
spring: