浏览代码

上传图片或者视频

Althars123 2 年之前
父节点
当前提交
aaec7240fe

+ 113 - 0
xxgl-admin/src/main/java/com/miaxis/pc/controller/FileInfoController.java

@@ -0,0 +1,113 @@
+package com.miaxis.pc.controller;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.miaxis.common.config.MiaxisConfig;
+import com.miaxis.common.utils.file.FileUploadUtils;
+import com.miaxis.framework.config.ServerConfig;
+import com.miaxis.system.dto.common.UploadFileDTO;
+import io.swagger.annotations.*;
+import com.miaxis.common.core.domain.Response;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.miaxis.common.annotation.Log;
+import com.miaxis.common.core.controller.BaseController;
+import com.miaxis.common.enums.BusinessTypeEnum;
+import com.miaxis.file.domain.FileInfo;
+import com.miaxis.file.service.IFileInfoService;
+import com.miaxis.common.utils.poi.ExcelUtil;
+import com.miaxis.common.core.page.ResponsePageInfo;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * 【文件】Controller
+ *
+ * @author miaxis
+ * @date 2023-01-12
+ */
+@RestController
+@RequestMapping("/file/info")
+@Api(tags={"【pc-报价相关文件】"})
+public class FileInfoController extends BaseController{
+    @Autowired
+    private IFileInfoService fileInfoService;
+    @Autowired
+    private ServerConfig serverConfig;
+
+
+    /**
+     * 查询文件列表
+     */
+    @PreAuthorize("@ss.hasPermi('file:info:list')")
+    @GetMapping("/list")
+    @ApiOperation("查询文件列表")
+        @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
+            @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
+    })
+    public ResponsePageInfo<FileInfo> list(@ModelAttribute FileInfo fileInfo){
+        startPage();
+        List<FileInfo> list = fileInfoService.selectFileInfoList(fileInfo);
+        return toResponsePageInfo(list);
+    }
+
+
+    /**
+     * 获取文件详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('file:info:query')")
+    @GetMapping(value = "/{fileId}")
+    @ApiOperation("获取文件详细信息")
+    public Response<FileInfo> getInfo(
+            @ApiParam(name = "fileId", value = "文件参数", required = true)
+            @PathVariable("fileId") Long fileId
+    ){
+        return Response.success(fileInfoService.getById(fileId));
+    }
+
+    /**
+     * 上传文件
+     */
+    @PreAuthorize("@ss.hasPermi('file:info:add')")
+    @Log(title = "上传文件", businessType = BusinessTypeEnum.INSERT)
+    @PostMapping
+    @ApiOperation("上传文件")
+    public Response add(@RequestPart("file") MultipartFile file,Long priceId){
+        try
+        {
+            // 上传文件路径
+            String filePath = MiaxisConfig.getUploadPath();
+            // 上传并返回新文件名称
+            String fileName = FileUploadUtils.upload(filePath, file);
+            String url = serverConfig.getUrl() + fileName;
+            FileInfo fileInfo = new FileInfo();
+            fileInfo.setFilePath(fileName);
+            fileInfo.setFileUrl(url);
+            fileInfo.setPriceId(priceId);
+            fileInfoService.save(fileInfo);
+            return Response.success();
+        }
+        catch (Exception e)
+        {
+            return Response.error().setMsg(e.getMessage());
+        }
+
+    }
+
+
+    /**
+     * 删除文件
+     */
+    @PreAuthorize("@ss.hasPermi('file:info:remove')")
+    @Log(title = "文件", businessType = BusinessTypeEnum.DELETE)
+	@DeleteMapping("/{fileIds}")
+    @ApiOperation("删除文件")
+    public  Response<Integer> remove(
+            @ApiParam(name = "fileIds", value = "文件ids参数", required = true)
+            @PathVariable Long[] fileIds
+    ){
+        return toResponse(fileInfoService.removeByIds(Arrays.asList(fileIds)) ? 1 : 0);
+    }
+}

+ 93 - 0
xxgl-service/src/main/java/com/miaxis/file/domain/FileInfo.java

@@ -0,0 +1,93 @@
+package com.miaxis.file.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.miaxis.common.annotation.Excel;
+import com.miaxis.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import lombok.Data;
+/**
+ * 文件对象 file_info
+ *
+ * @author miaxis
+ * @date 2023-01-12
+ */
+@Data
+@TableName("file_info")
+@ApiModel(value = "FileInfo", description = "文件对象 file_info")
+public class FileInfo extends BaseBusinessEntity{
+    private static final long serialVersionUID = 1L;
+
+    /** 自增id */
+    @TableId(value = "file_id")
+    @ApiModelProperty(value = "自增id")
+    private Long fileId;
+
+    /** 报价id */
+    @Excel(name = "报价id")
+    @TableField("price_id")
+    @ApiModelProperty(value = "报价id")
+    private Long priceId;
+
+    /** 顺序 */
+    @Excel(name = "顺序")
+    @TableField("seq")
+    @ApiModelProperty(value = "顺序")
+    private Long seq;
+
+    /** 文件url(访问地址) */
+    @Excel(name = "文件url(访问地址)")
+    @TableField("file_url")
+    @ApiModelProperty(value = "文件url(访问地址)")
+    private String fileUrl;
+
+    /** 文件路径 */
+    @Excel(name = "文件路径")
+    @TableField("file_path")
+    @ApiModelProperty(value = "文件路径")
+    private String filePath;
+
+    public void setFileId(Long fileId){
+        this.fileId = fileId;
+    }
+
+    public Long getFileId(){
+        return fileId;
+    }
+    public void setPriceId(Long priceId){
+        this.priceId = priceId;
+    }
+
+    public Long getPriceId(){
+        return priceId;
+    }
+    public void setSeq(Long seq){
+        this.seq = seq;
+    }
+
+    public Long getSeq(){
+        return seq;
+    }
+    public void setFileUrl(String fileUrl){
+        this.fileUrl = fileUrl;
+    }
+
+    public String getFileUrl(){
+        return fileUrl;
+    }
+    public void setFilePath(String filePath){
+        this.filePath = filePath;
+    }
+
+    public String getFilePath(){
+        return filePath;
+    }
+
+
+}

+ 22 - 0
xxgl-service/src/main/java/com/miaxis/file/mapper/FileInfoMapper.java

@@ -0,0 +1,22 @@
+package com.miaxis.file.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.file.domain.FileInfo;
+
+/**
+ * 文件Mapper接口
+ *
+ * @author miaxis
+ * @date 2023-01-12
+ */
+public interface FileInfoMapper extends BaseMapper<FileInfo> {
+    /**
+     * 查询文件列表
+     *
+     * @param fileInfo 文件
+     * @return 文件集合
+     */
+    public List<FileInfo> selectFileInfoList(FileInfo fileInfo);
+
+}

+ 21 - 0
xxgl-service/src/main/java/com/miaxis/file/service/IFileInfoService.java

@@ -0,0 +1,21 @@
+package com.miaxis.file.service;
+
+import java.util.List;
+import com.miaxis.file.domain.FileInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 文件Service接口
+ *
+ * @author miaxis
+ * @date 2023-01-12
+ */
+public interface IFileInfoService extends IService<FileInfo>{
+    /**
+     * 查询文件列表
+     *
+     * @param fileInfo 文件
+     * @return 文件集合
+     */
+    public List<FileInfo> selectFileInfoList(FileInfo fileInfo);
+}

+ 36 - 0
xxgl-service/src/main/java/com/miaxis/file/service/impl/FileInfoServiceImpl.java

@@ -0,0 +1,36 @@
+package com.miaxis.file.service.impl;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.miaxis.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.apache.commons.lang3.StringUtils;
+import com.miaxis.file.mapper.FileInfoMapper;
+import com.miaxis.file.domain.FileInfo;
+import com.miaxis.file.service.IFileInfoService;
+
+/**
+ * 文件Service业务层处理
+ *
+ * @author miaxis
+ * @date 2023-01-12
+ */
+@Service
+public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> implements IFileInfoService {
+    @Autowired
+    private FileInfoMapper fileInfoMapper;
+
+    /**
+     * 查询文件列表
+     *
+     * @param fileInfo 文件
+     * @return 文件
+     */
+    @Override
+    public List<FileInfo> selectFileInfoList(FileInfo fileInfo){
+        return fileInfoMapper.selectFileInfoList(fileInfo);
+    }
+}

+ 32 - 0
xxgl-service/src/main/resources/mapper/file/FileInfoMapper.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.miaxis.file.mapper.FileInfoMapper">
+
+    <resultMap type="FileInfo" id="FileInfoResult">
+        <result property="fileId"    column="file_id"    />
+        <result property="priceId"    column="price_id"    />
+        <result property="seq"    column="seq"    />
+        <result property="fileUrl"    column="file_url"    />
+        <result property="remark"    column="remark"    />
+        <result property="filePath"    column="file_path"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectFileInfoVo">
+        select * from file_info
+    </sql>
+
+    <select id="selectFileInfoList" parameterType="FileInfo" resultMap="FileInfoResult">
+        <include refid="selectFileInfoVo"/>
+        <where>
+            <if test="priceId != null "> and price_id = #{priceId}</if>
+            <if test="seq != null "> and seq = #{seq}</if>
+            <if test="fileUrl != null  and fileUrl != ''"> and file_url = #{fileUrl}</if>
+            <if test="filePath != null  and filePath != ''"> and file_path = #{filePath}</if>
+        </where>
+    </select>
+
+</mapper>