gongchunyi
11 小时以前 08dfae25f54066a6f298eae90244d6d51dff7aa7
feat: 附件新增link字段
已修改3个文件
32 ■■■■ 文件已修改
doc/河南鹤壁天沐钢化玻璃厂.sql 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/CommonFile.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/ºÓÄϺױÚÌìãå¸Ö»¯²£Á§³§.sql
@@ -167,4 +167,7 @@
ALTER TABLE `quality_inspect`
    ADD COLUMN `approval_status` bigint DEFAULT '1' COMMENT '入库审批状态:1-待审核,2-审批中,3-审批通过,4-审批失败' AFTER `inspect_state`,
    ADD COLUMN `approve_user_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '入库审批人id,逗号分隔' AFTER `approval_status`;
    ADD COLUMN `approve_user_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '入库审批人id,逗号分隔' AFTER `approval_status`;
ALTER TABLE `product-inventory-management-hbtmblc`.`common_file`
    ADD COLUMN `link` varchar(255) NULL COMMENT '访问路径' AFTER `update_time`;
src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
@@ -2,23 +2,22 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.config.RuoYiConfig;
import com.ruoyi.other.mapper.TempFileMapper;
import com.ruoyi.other.pojo.TempFile;
import com.ruoyi.other.service.TempFileService;
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.pojo.CommonFile;
import lombok.extern.slf4j.Slf4j;
import org.apache.catalina.util.URLEncoder;
import org.apache.commons.io.FilenameUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -149,6 +148,7 @@
                fileRecord.setCommonId(businessId);
                fileRecord.setName(originalFilename);
                fileRecord.setUrl(formalFilePath.toString());
                fileRecord.setLink(buildAccessLink(formalFilePath));
                fileRecord.setCreateTime(LocalDateTime.now());
                fileRecord.setType(fileType);
                commonFileMapper.insert(fileRecord);
@@ -185,4 +185,20 @@
        }
        log.info("过期临时文件清理完成,共清理 {} ä¸ªæ–‡ä»¶", expiredFiles.size());
    }
    private String buildAccessLink(Path formalFilePath) {
        String normalizedPath = formalFilePath.toString().replace("\\", "/");
        String profile = RuoYiConfig.getProfile();
        String normalizedProfile = profile == null ? "" : profile.replace("\\", "/");
        String relativePath = normalizedPath;
        if (StringUtils.hasText(normalizedProfile) && normalizedPath.startsWith(normalizedProfile)) {
            relativePath = normalizedPath.substring(normalizedProfile.length());
        }
        if (!relativePath.startsWith("/")) {
            relativePath = "/" + relativePath;
        }
        return Constants.RESOURCE_PREFIX + relativePath;
    }
}
src/main/java/com/ruoyi/sales/pojo/CommonFile.java
@@ -37,4 +37,9 @@
    /** æ›´æ–°æ—¶é—´ */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    /**
     * è®¿é—®è·¯å¾„
     */
    private String link;
}