From a0a525d59f1cb3167a54af9309c8dab162e89005 Mon Sep 17 00:00:00 2001 From: whycxzp <glperry@163.com> Date: 星期四, 12 六月 2025 19:23:32 +0800 Subject: [PATCH] 优化巡检和维修器件的图片路径 --- src/main/java/com/whyc/service/DeviceSpareService.java | 39 +++++++++++++++++++ src/main/java/com/whyc/service/AlarmInspectionService.java | 15 ++++++- src/main/java/com/whyc/controller/DeviceSpareController.java | 8 +++- src/main/java/com/whyc/util/ThreadLocalUtil.java | 1 4 files changed, 57 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/whyc/controller/DeviceSpareController.java b/src/main/java/com/whyc/controller/DeviceSpareController.java index 70892c6..11c6ebe 100644 --- a/src/main/java/com/whyc/controller/DeviceSpareController.java +++ b/src/main/java/com/whyc/controller/DeviceSpareController.java @@ -4,11 +4,14 @@ import com.whyc.dto.Response; import com.whyc.pojo.web_site.DeviceSpare; import com.whyc.service.DeviceSpareService; +import com.whyc.util.JsonUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.List; @RestController @@ -34,8 +37,9 @@ @PostMapping("add") @ApiOperation("娣诲姞") - public Response add(@RequestBody DeviceSpare spare) { - return service.add(spare); + public Response add(@RequestPart(value = "file",required = false) List<MultipartFile> file,@RequestParam String deviceSpareJsonStr) throws IOException { + DeviceSpare spare = JsonUtil.getGson().fromJson(deviceSpareJsonStr, DeviceSpare.class); + return service.add(spare,file); } @PostMapping("update") diff --git a/src/main/java/com/whyc/service/AlarmInspectionService.java b/src/main/java/com/whyc/service/AlarmInspectionService.java index decc0bb..1f90efa 100644 --- a/src/main/java/com/whyc/service/AlarmInspectionService.java +++ b/src/main/java/com/whyc/service/AlarmInspectionService.java @@ -48,7 +48,9 @@ String stationName = result.getStationName(); Date now = new Date(); String timeFormat = ThreadLocalUtil.format(ThreadLocalUtil.TIME_YYYY_MM_DD_HH_MM_SS_UNION, now); - String fileDirPath = CommonUtil.getRootFile() + "alarmInspection" + File.separator + stationName + "_" + timeFormat; + String dirMonth = ThreadLocalUtil.format(ThreadLocalUtil.TIME_YYYY_MM, now); + + String fileDirPath = CommonUtil.getRootFile() + "alarmInspection" + File.separator + dirMonth + File.separator + stationName + "_" + timeFormat; File fileDir = new File(fileDirPath); //濡傛灉鏂囦欢澶逛笉瀛樺湪鍒欏垱寤� if (!fileDir.exists()) { @@ -56,7 +58,8 @@ } StringBuilder pictureUrlSb = new StringBuilder(); if (file != null && file.size() > 0) { - for (MultipartFile multipartFile : file) { + for (int j = 0; j < file.size(); j++) { + MultipartFile multipartFile = file.get(j); String fileName = multipartFile.getOriginalFilename(); //灏唂ileName涓彲鑳藉瓨鍦ㄧ殑,鍘绘帀 fileName = fileName.replace(",",""); @@ -64,7 +67,13 @@ multipartFile.transferTo(new File(filePath)); String split = "pis_file"+File.separator+"alarmInspection"; - pictureUrlSb.append(File.separator + filePath.substring(filePath.indexOf(split))).append(","); + String picUrl = File.separator + filePath.substring(filePath.indexOf(split)); + //鏈�鍚庝竴涓厓绱� + if (j == file.size() - 1) { + pictureUrlSb.append(picUrl); + }else { + pictureUrlSb.append(picUrl).append(","); + } } } result.setPictureUrl(pictureUrlSb.toString()); diff --git a/src/main/java/com/whyc/service/DeviceSpareService.java b/src/main/java/com/whyc/service/DeviceSpareService.java index 2b54345..9fbf916 100644 --- a/src/main/java/com/whyc/service/DeviceSpareService.java +++ b/src/main/java/com/whyc/service/DeviceSpareService.java @@ -7,10 +7,16 @@ import com.whyc.dto.Response; import com.whyc.mapper.DeviceSpareMapper; import com.whyc.pojo.web_site.DeviceSpare; +import com.whyc.util.CommonUtil; +import com.whyc.util.ThreadLocalUtil; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.File; +import java.io.IOException; +import java.util.Date; import java.util.List; @Service @@ -34,7 +40,38 @@ return new Response<List<DeviceSpare>>().set(1, mapper.selectList(query)); } - public Response add(DeviceSpare spare) { + public Response add(DeviceSpare spare, List<MultipartFile> file) throws IOException { + //瀵筬ile杩涜澶勭悊,淇濆瓨鍒版枃浠跺す涓� + //瀵瑰瓨鍌ㄨ矾寰勮繘琛屽畾涔� + Date now = new Date(); + String timeFormat = ThreadLocalUtil.format(ThreadLocalUtil.TIME_YYYY_MM_DD_HH_MM_SS_UNION, now); + String dirMonth = ThreadLocalUtil.format(ThreadLocalUtil.TIME_YYYY_MM, now); + String fileDirPath = CommonUtil.getRootFile() + "deviceSpare" + File.separator + dirMonth; + File fileDir = new File(fileDirPath); + //濡傛灉鏂囦欢澶逛笉瀛樺湪鍒欏垱寤� + if (!fileDir.exists()) { + fileDir.mkdirs(); + } + StringBuilder pictureUrlSb = new StringBuilder(); + if (file != null && file.size() > 0) { + for (int i = 0; i < file.size(); i++) { + MultipartFile multipartFile = file.get(i); + String fileName = multipartFile.getOriginalFilename(); + //灏唂ileName涓彲鑳藉瓨鍦ㄧ殑,鍘绘帀 + fileName = fileName.replace(",",""); + String filePath = fileDirPath + File.separator + timeFormat+"_"+fileName; + + multipartFile.transferTo(new File(filePath)); + String split = "pis_file"+File.separator+"deviceSpare"; + String picUrl = File.separator + filePath.substring(filePath.indexOf(split)); + if(i == file.size()-1) { + pictureUrlSb.append(picUrl); + }else { + pictureUrlSb.append(picUrl).append(","); + } + } + } + spare.setPictureUrl(pictureUrlSb.toString()); mapper.insert(spare); return new Response().setII(1,"澧炲姞瀹屾垚"); } diff --git a/src/main/java/com/whyc/util/ThreadLocalUtil.java b/src/main/java/com/whyc/util/ThreadLocalUtil.java index bcc0576..c41c568 100644 --- a/src/main/java/com/whyc/util/ThreadLocalUtil.java +++ b/src/main/java/com/whyc/util/ThreadLocalUtil.java @@ -8,6 +8,7 @@ public static String TIME_YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; public static String TIME_YYYY_MM_DD = "yyyy-MM-dd"; + public static String TIME_YYYY_MM = "yyyy-MM"; public static String TIME_YYYY_MM_DD_HH_MM_SS_UNION = "yyyyMMddHHmmss"; public static String TIME_YYYY_MM_DD_HH_MM_SS_UNION2 = "yyyy-MM-dd_HH_mm_ss"; -- Gitblit v1.9.1