src/main/java/cc/mrbird/febs/ai/controller/fileUpload/FileUploadController.java
@@ -30,10 +30,10 @@ public class FileUploadController extends BaseController { // 基础上传目录 private String baseUploadDir = "/home/javaweb/webresource/ai/file"; public static String baseUploadDir = "/home/javaweb/webresource/ai/file"; // 分片存储目录 private String baseChunkDir = "/home/javaweb/webresource/ai/file/chunks"; public static String baseChunkDir = "/home/javaweb/webresource/ai/file/chunks"; /** * 上传文件分片 @@ -84,7 +84,7 @@ } // 生成唯一文件名 String uniqueFileName = UUID.randomUUID().toString() + "_" + fileName; String uniqueFileName = fileName+ "_" + UUID.randomUUID().toString() ; Path targetFilePath = uploadPath.resolve(uniqueFileName); // 构建公司专属分片目录 src/main/java/cc/mrbird/febs/ai/controller/productPoint/AiProductPointController.java
@@ -1,5 +1,7 @@ package cc.mrbird.febs.ai.controller.productPoint; import cc.mrbird.febs.ai.controller.fileUpload.FileUploadController; import cc.mrbird.febs.ai.entity.AiProductCategory; import cc.mrbird.febs.ai.entity.AiProductPoint; import cc.mrbird.febs.ai.service.AiProductPointService; import cc.mrbird.febs.common.annotation.ControllerEndpoint; @@ -13,6 +15,13 @@ import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** @@ -67,4 +76,36 @@ String companyId = getCurrentUserCompanyId(); return new FebsResponse().success().data(service.pointTree(companyId)); } @GetMapping("fileList/parent") @ControllerEndpoint(exceptionMessage = "获取文件列表失败") public List<FileUploadController.FileInfo> parent(){ List<FileUploadController.FileInfo> list = new ArrayList<>(); try { String companyId = getCurrentUserCompanyId(); String uploadDir = FileUploadController.baseUploadDir + "/" + companyId; Path uploadPath = Paths.get(uploadDir); if (!Files.exists(uploadPath)) { return list; } Files.list(uploadPath).forEach(path -> { if (Files.isRegularFile(path)) { try { FileUploadController.FileInfo fileInfo = new FileUploadController.FileInfo(); fileInfo.setFileName(path.getFileName().toString()); list.add(fileInfo); } catch (Exception e) { e.printStackTrace(); } } }); return list; } catch (Exception e) { e.printStackTrace(); return list; } } } src/main/java/cc/mrbird/febs/ai/entity/AiProductPoint.java
@@ -54,6 +54,11 @@ */ private String description; /** * 视屏名称 */ private String videoName; @TableField(exist = false) private String productCategoryName; } src/main/java/cc/mrbird/febs/ai/service/impl/AiProductPointServiceImpl.java
@@ -81,11 +81,14 @@ entity.setCompanyId(dto.getCompanyId()); entity.setIsNormal(dto.getIsNormal() ); entity.setFinderUserName(dto.getFinderUserName()); entity.setFeedId(dto.getFeedId()); entity.setFeedImg(dto.getFeedImg()); entity.setTitle(dto.getTitle()); entity.setVideoName(dto.getVideoName()); entity.setDescription(dto.getDescription()); entity.setCreatedTime(new Date()); this.save(entity); return new FebsResponse().success().message("操作成功"); } @@ -104,6 +107,7 @@ .set(AiProductPoint::getTitle, dto.getTitle()) .set(AiProductPoint::getFeedImg, dto.getFeedImg()) .set(AiProductPoint::getDescription, dto.getDescription()) .set(AiProductPoint::getVideoName, dto.getVideoName()) .set(AiProductPoint::getUpdatedTime, new Date()) .eq(AiProductPoint::getId, id) ); src/main/resources/templates/febs/views/modules/ai/productPoint/add.html
@@ -20,6 +20,16 @@ </div> <div class="layui-row layui-col-space10 layui-form-item"> <div class="layui-col-lg6"> <label class="layui-form-label">视屏选择:</label> <div class="layui-input-block"> <select name="videoName" class="video-add-productCategory"> <option value="">请选择</option> </select> </div> </div> </div> <div class="layui-row layui-col-space10 layui-form-item"> <div class="layui-col-lg6"> <label class="layui-form-label febs-form-item-require">类型:</label> <div class="layui-input-block"> <select name="isNormal" class="point-type" lay-filter="point-type-select"> @@ -192,6 +202,18 @@ } }); //(下拉框) $.get(ctx + 'admin/fileList/parent', function (data) { for (var k in data) { $(".video-add-productCategory").append("<option value='" + data[k].fileName + "'>" + data[k].fileName + "</option>"); } layui.use('form', function () { var form = layui.form; form.render(); }); }); form.on('submit(productPoint-add-form-submit)', function (data) { data.field.description = editor.txt.html(); $.ajax({ src/main/resources/templates/febs/views/modules/ai/productPoint/info.html
@@ -19,6 +19,17 @@ </select> </div> </div> <div class="layui-row layui-col-space10 layui-form-item"> <div class="layui-col-lg6"> <label class="layui-form-label">视屏选择:</label> <div class="layui-input-block"> <select name="videoName" class="video-add-productCategory" id="video-add-productCategory-select"> <option value="">请选择</option> </select> </div> </div> </div> <div class="layui-row layui-col-space10 layui-form-item"> <div class="layui-col-lg6"> <label class="layui-form-label febs-form-item-require">类型:</label> @@ -200,6 +211,19 @@ } }); //(下拉框) $.get(ctx + 'admin/fileList/parent', function (data) { for (var k in data) { $(".video-add-productCategory").append("<option value='" + data[k].fileName + "'>" + data[k].fileName + "</option>"); } layui.use('form', function () { var form = layui.form; $("#video-add-productCategory-select").val(aiProductPoint.videoName) form.render(); }); }); setTimeout(() => { initProductPointInfo(); }, 500); @@ -210,6 +234,7 @@ "isNormal": aiProductPoint.isNormal, "finderUserName": aiProductPoint.finderUserName, "productCategoryId": aiProductPoint.productCategoryId, "videoName": aiProductPoint.videoName, "feedId": aiProductPoint.feedId, });