Browse Source

档案脱机工具基础类信息

qianxb 1 year ago
parent
commit
73085425d7

+ 3 - 0
blade-ops/blade-swagger/src/main/resources/application-dev.yml

@@ -19,3 +19,6 @@ knife4j:
       - name: 业务接口
         uri: 127.0.0.1:8090
         location: /blade-business/v2/api-docs
+      - name: 档案接口
+        uri: 127.0.0.1:8090
+        location: /blade-archive/v2/api-docs

+ 30 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/entity/ArchiveOfflineVersionInfo.java

@@ -0,0 +1,30 @@
+package org.springblade.archive.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.time.LocalDateTime;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/3/30 18:26
+ **/
+@Data
+@TableName("u_archive_offline_version_info")
+public class ArchiveOfflineVersionInfo extends BaseEntity {
+    private Long id;
+    private Long projectId;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "发布时间")
+    private LocalDateTime uploadDate;
+    @ApiModelProperty(value = "文件路径")
+    private String fileUrl;
+    @ApiModelProperty(value = "文件名称")
+    private String fileName;
+    @ApiModelProperty(value = "文件大小")
+    private String fileSize;
+}

+ 74 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveOfflineVersionInfoController.java

@@ -0,0 +1,74 @@
+package org.springblade.archive.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
+import org.springblade.archive.entity.ArchiveOfflineVersionInfo;
+import org.springblade.archive.mapper.ArchiveOfflineVersionInfoMapper;
+import org.springblade.archive.service.IArchiveOfflineVersionInfoService;
+import org.springblade.common.utils.CommonUtil;
+import org.springblade.core.oss.model.BladeFile;
+import org.springblade.core.tool.api.R;
+import org.springblade.resource.vo.NewBladeFile;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.text.DecimalFormat;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/3/30 18:28
+ **/
+@RestController
+@AllArgsConstructor
+@RequestMapping("/archiveOfflineVersionInfo")
+@Api(value = "档案离线版本信息", tags = "档案离线版本信息")
+public class ArchiveOfflineVersionInfoController {
+
+    private final ArchiveOfflineVersionInfoMapper mapper;
+
+    /**
+     * 打包数据
+     */
+    @ApiOperation(value = "打包数据")
+    @GetMapping("/packData")
+    public R<String> packData(Long projectId){
+        //异步调用自动打包上传,完成后修改数据库信息
+        return R.data("最新数据后台自动打包中,打包完成后会更新打包日期");
+    }
+    /**
+     * 脱机载体工具
+     */
+    @ApiOperation(value = "脱机载体工具")
+    @GetMapping("/getVersionInfo")
+    public R<ArchiveOfflineVersionInfo> getVersionInfo(Long projectId){
+        ArchiveOfflineVersionInfo versionInfo = mapper.selectVersionInfo(111L);
+        String size = this.formatSize(Long.parseLong(versionInfo.getFileSize()));
+        versionInfo.setFileSize(size);
+        return R.data(versionInfo);
+    }
+    /**
+     * 根据字节返回文件大小
+     */
+    private String formatSize(long fileS) {
+        DecimalFormat df = new DecimalFormat("#.00");
+        String fileSizeString = "";
+        String wrongSize = "0B";
+        if (fileS == 0) {
+            return wrongSize;
+        }
+        if (fileS < 1024) {
+            fileSizeString = df.format((double) fileS) + "B";
+        } else if (fileS < 1048576) {
+            fileSizeString = df.format((double) fileS / 1024) + "KB";
+        } else if (fileS < 1073741824) {
+            fileSizeString = df.format((double) fileS / 1048576) + "MB";
+        } else {
+            fileSizeString = df.format((double) fileS / 1073741824) + "GB";
+        }
+        return fileSizeString;
+    }
+}

+ 14 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchiveOfflineVersionInfoMapper.java

@@ -0,0 +1,14 @@
+package org.springblade.archive.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.archive.entity.ArchiveOfflineVersionInfo;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/3/31 10:09
+ **/
+public interface ArchiveOfflineVersionInfoMapper extends BaseMapper<ArchiveOfflineVersionInfo> {
+    ArchiveOfflineVersionInfo selectVersionInfo(@Param("projectId") Long projectId);
+}

+ 20 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchiveOfflineVersionInfoMapper.xml

@@ -0,0 +1,20 @@
+<?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="org.springblade.archive.mapper.ArchiveOfflineVersionInfoMapper">
+
+    <resultMap id="ResultMap" type="org.springblade.archive.entity.ArchiveOfflineVersionInfo">
+        <result column="id" property="id"/>
+        <result column="project_id" property="projectId"/>
+        <result column="upload_date" property="uploadDate"/>
+        <result column="file_url" property="fileUrl"/>
+        <result column="file_name" property="fileName"/>
+        <result column="file_size" property="fileSize"/>
+    </resultMap>
+    <select id="selectVersionInfo" resultMap="ResultMap">
+        SELECT id, project_id, upload_date, file_url, file_name, file_size
+        FROM bladex.u_archive_offline_version_info
+        where project_id = #{projectId}
+        order by upload_date desc
+        limit 1;
+    </select>
+</mapper>

+ 12 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchiveOfflineVersionInfoService.java

@@ -0,0 +1,12 @@
+package org.springblade.archive.service;
+
+import org.springblade.archive.entity.ArchiveOfflineVersionInfo;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/3/31 10:09
+ **/
+public interface IArchiveOfflineVersionInfoService extends BaseService<ArchiveOfflineVersionInfo> {
+}

+ 16 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveOfflineVersionInfoServiceImpl.java

@@ -0,0 +1,16 @@
+package org.springblade.archive.service.impl;
+
+import org.springblade.archive.entity.ArchiveOfflineVersionInfo;
+import org.springblade.archive.mapper.ArchiveOfflineVersionInfoMapper;
+import org.springblade.archive.service.IArchiveOfflineVersionInfoService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/3/31 10:09
+ **/
+@Service
+public class ArchiveOfflineVersionInfoServiceImpl extends BaseServiceImpl<ArchiveOfflineVersionInfoMapper, ArchiveOfflineVersionInfo> implements IArchiveOfflineVersionInfoService {
+}