whycxzp
2023-02-07 77c0c5ccd349fd1919518daeee6a21d50c497b2b
图片及图纸更新接口
2个文件已修改
47 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/MaterialController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/MaterialService.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/MaterialController.java
@@ -89,4 +89,12 @@
    public Response dwgCompare(@RequestParam int materialId,@RequestParam int materialId2) throws IOException {
        return service.dwgCompare(materialId,materialId2);
    }
    /**物料id-物料编码-物料型号*/
    @ApiOperation(value = "更新图片或者图纸",notes = "materialStr为json字符串,包含id,subCode,subModel")
    @PutMapping("picOrDwg")
    public Response updatePicOrDwg(@RequestParam String materialStr, @RequestPart MultipartFile file) throws IOException {
        Material material = ActionUtil.getGson().fromJson(materialStr, Material.class);
        return service.updatePicOrDwg(file,material);
    }
}
src/main/java/com/whyc/service/MaterialService.java
@@ -434,6 +434,45 @@
        return new Response().set(1,true,"上传完成");
    }
    /**
     * @param multipartFile 更新的图纸或图片
     * @param material
     */
    @Transactional
    public Response updatePicOrDwg(MultipartFile multipartFile, Material material) throws IOException {
        List<String> currentFileList = new LinkedList<>();
        List<String> uploadingFileList = new LinkedList<>();
        String dirPathDB = "doc_file" + File.separator + "material" + File.separator + material.getId() + "-" + material.getSubCode() + "-" + material.getSubModel();
        String dirPath = CommonUtil.getRootFile() + "material" + File.separator + material.getId() + "-" + material.getSubCode() + "-" + material.getSubModel();
        File dirFile = new File(dirPath);
        Date now = new Date();
        //long timestamp = now.getTime();
        String formattedTimestamp = DateUtil.YYYY_MM_DD_HH_MM_SS_UNION.format(now);
        if (!dirFile.exists()) {
            dirFile.mkdirs();
        }
        String originalFilename = multipartFile.getOriginalFilename();
        String fileSuffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
        String fileFullName = File.separator + originalFilename.substring(0, originalFilename.lastIndexOf(".")) + "_" + formattedTimestamp + originalFilename.substring(originalFilename.lastIndexOf("."));
        File zipFile = new File(dirPath + fileFullName);
        multipartFile.transferTo(zipFile);
        //路径不存在,说明是首次上传,设置物料对应的fileUrl
        Material temp = new Material();
        temp.setId(material.getId());
        if(fileSuffix.equals("dwg")){
            temp.setDwgUrl(dirPathDB + fileFullName);
        }else {
            temp.setPictureUrl(dirPathDB + fileFullName);
        }
        mapper.updateById(temp);
        return new Response().set(1, true, "上传完成");
    }
    public Response dwgCompare(int materialId, int materialId2) throws IOException {
        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletResponse response = servletRequestAttributes.getResponse();