zxl
2026-03-23 74af7e7e3ee39e25f73525391b13face373e350e
3.23
4个文件已修改
82 ■■■■■ 已修改文件
jyz-base-start/src/main/java/com/tievd/jyz/config/MyWebMvcConfig.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jyz-base-start/src/main/java/com/tievd/jyz/controller/OilRecordController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-quick-start/src/main/resources/application-dev.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-quick-start/src/main/resources/application.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jyz-base-start/src/main/java/com/tievd/jyz/config/MyWebMvcConfig.java
@@ -1,5 +1,6 @@
package com.tievd.jyz.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
@@ -8,16 +9,23 @@
/**
 * @author yang'zhi'shui
 */
@Slf4j
@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer {
    @Value("${jeecg.path.upload:D:/usr/local/uploadFile}")
    private String uploadFilePath;
    @Value("${init.local.image-path}")
    private String localImagePath;
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("配置静态资源路径: {}", localImagePath);
        registry.addResourceHandler("/sysLogo/**")
                .addResourceLocations("file:" + uploadFilePath + "/sysLogo/");
        registry.addResourceHandler("/images/**")
                .addResourceLocations("file:" + localImagePath + "/");
    }
}
jyz-base-start/src/main/java/com/tievd/jyz/controller/OilRecordController.java
@@ -22,14 +22,17 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
/**
 * OilRecord
@@ -48,6 +51,38 @@
  @Autowired
  private IOilRecordService oilRecordService;
  
  @Value("${init.local.image-path}")
  private String localImagePath;
  @Value("${server.port:8080}")
  private String serverPort;
  private Random random = new Random();
  private String getRandomImagePath() {
    File imageDir = new File(localImagePath);
    if (!imageDir.exists() || !imageDir.isDirectory()) {
      log.warn("本地图片目录不存在: {}", localImagePath);
      return null;
    }
    File[] imageFiles = imageDir.listFiles((dir, name) -> {
      String lowerName = name.toLowerCase();
      return lowerName.endsWith(".jpg") || lowerName.endsWith(".jpeg")
          || lowerName.endsWith(".png") || lowerName.endsWith(".bmp");
    });
    if (imageFiles == null || imageFiles.length == 0) {
      log.warn("本地图片目录中没有图片文件: {}", localImagePath);
      return null;
    }
    int randomIndex = random.nextInt(imageFiles.length);
    File selectedFile = imageFiles[randomIndex];
    String fileName = selectedFile.getName();
    return "http://localhost:" + serverPort + "/cube/jyz/images/" + fileName;
  }
  /**
   * 分页列表查询
   */
@@ -61,20 +96,41 @@
    Page<OilRecord> page = new Page<>(pageNo, pageSize);
    queryWrapper.orderByDesc("start_time");
    IPage<OilRecord> pageList = oilRecordService.page(page, queryWrapper);
//
//    for(OilRecord tmpOilRecord:pageList.getRecords()){
//      try{
//        if(StringUtils.isNotEmpty(tmpOilRecord.getImgPath())){
//          String[] arr = tmpOilRecord.getImgPath().split(":");
//          tmpOilRecord.setImgPath(MultiMinioUtil.getObjectURL(arr[0],arr[1],3600));
//        }
//        if(StringUtils.isNotEmpty(tmpOilRecord.getOutImgPath())){
//          String[] arr = tmpOilRecord.getOutImgPath().split(":");
//          tmpOilRecord.setOutImgPath(MultiMinioUtil.getObjectURL(arr[0],arr[1],3600));
//        }
//      }catch (Exception ex){
//        log.error("生成s3资源链接地址失败",ex);
//      }
//    }
    for(OilRecord tmpOilRecord:pageList.getRecords()){
      try{
        if(StringUtils.isNotEmpty(tmpOilRecord.getImgPath())){
          String[] arr = tmpOilRecord.getImgPath().split(":");
          tmpOilRecord.setImgPath(MultiMinioUtil.getObjectURL(arr[0],arr[1],3600));
          String randomImagePath = getRandomImagePath();
          if(randomImagePath != null){
            tmpOilRecord.setImgPath(randomImagePath);
          }
        }
        if(StringUtils.isNotEmpty(tmpOilRecord.getOutImgPath())){
          String[] arr = tmpOilRecord.getOutImgPath().split(":");
          tmpOilRecord.setOutImgPath(MultiMinioUtil.getObjectURL(arr[0],arr[1],3600));
          String randomImagePath = getRandomImagePath();
          if(randomImagePath != null){
            tmpOilRecord.setOutImgPath(randomImagePath);
          }
        }
      }catch (Exception ex){
        log.error("生成s3资源链接地址失败",ex);
        log.error("生成图片路径失败",ex);
      }
    }
    return Result.ok(pageList);
  }
  
system-quick-start/src/main/resources/application-dev.yml
@@ -6,6 +6,8 @@
    upload-path: /app/files
    #webapp文件路径
    webapp: /app/webapp
    #本地图片路径
    local-images: E:\yclCode\DEV_ZHJYZ\DEV_ZHJYZ\images
  apr:
    enable-tomcat-native: false
  crypto:
@@ -65,6 +67,9 @@
    minio_name: minioadmin
    minio_pass: minioadmin
    bucketName: aio
  # 本地图片路径
  local:
    image-path: E:/yclCode/DEV_ZHJYZ/DEV_ZHJYZ/images
mqtt:
  serverURIs: tcp://127.0.0.1:1888
system-quick-start/src/main/resources/application.yml
@@ -15,7 +15,7 @@
  mvc:
    static-path-pattern: /**
  resources:
    static-locations: classpath:/static/,classpath:/public/,file:${cube.resources.upload-path},file:${cube.resources.webapp}
    static-locations: classpath:/static/,classpath:/public/,file:${cube.resources.upload-path},file:${cube.resources.webapp},file:${init.local.image-path}
  datasource:
    dynamic:
      primary: master #设置默认的数据源或者数据源组,默认值即为master
@@ -87,6 +87,7 @@
          - /sysLogo/**
          - /jyz/sysInfo/localInfo
          - /jyz/video/**
          - /jyz/images/**
  mybatis-plus:
    plugin:
      enable-tenant: false