bluebirds 4 years ago
parent
commit
1f6883f648

+ 1 - 1
src/main/java/com/migao/config/authority/AuthenticationProperties.java

@@ -21,7 +21,7 @@ import java.util.List;
 @AllArgsConstructor
 @NoArgsConstructor
 @Component
-@ConfigurationProperties(prefix = "cn.jihengcc.auth")
+@ConfigurationProperties(prefix = "com.migao.auth")
 public class AuthenticationProperties {
     private Long expireTime;
 

+ 0 - 120
src/main/java/com/migao/config/jpa/SnowFlake.java

@@ -1,120 +0,0 @@
-package com.migao.config.jpa;
-
-/**
- * Twitter的分布式自增ID雪花算法snowflake
- * https://juejin.im/post/5c75132f51882562276c5065
- */
-public class SnowFlake {
-
-    /**
-     * 起始的时间戳:这个时间戳自己随意获取,比如自己代码的时间戳
-     */
-    private final static long START_STMP = 1543903501000L;
-
-    /**
-     * 每一部分占用的位数
-     */
-    private final static long SEQUENCE_BIT = 12; //序列号占用的位数
-    private final static long MACHINE_BIT = 5;  //机器标识占用的位数
-    private final static long DATACENTER_BIT = 5;//数据中心占用的位数
-
-    /**
-     * 每一部分的最大值:先进行左移运算,再同-1进行异或运算;异或:相同位置相同结果为0,不同结果为1
-     */
-    /**
-     * 用位运算计算出最大支持的数据中心数量:31
-     */
-    private final static long MAX_DATACENTER_NUM = -1L ^ (-1L << DATACENTER_BIT);
-
-    /**
-     * 用位运算计算出最大支持的机器数量:31
-     */
-    private final static long MAX_MACHINE_NUM = -1L ^ (-1L << MACHINE_BIT);
-
-    /**
-     * 用位运算计算出12位能存储的最大正整数:4095
-     */
-    private final static long MAX_SEQUENCE = -1L ^ (-1L << SEQUENCE_BIT);
-
-    /**
-     * 每一部分向左的位移
-     */
-
-    /**
-     * 机器标志较序列号的偏移量
-     */
-    private final static long MACHINE_LEFT = SEQUENCE_BIT;
-
-    /**
-     * 数据中心较机器标志的偏移量
-     */
-    private final static long DATACENTER_LEFT = SEQUENCE_BIT + MACHINE_BIT;
-
-    /**
-     * 时间戳较数据中心的偏移量
-     */
-    private final static long TIMESTMP_LEFT = DATACENTER_LEFT + DATACENTER_BIT;
-
-    private static long datacenterId;  //数据中心
-    private static long machineId;    //机器标识
-    private static long sequence = 0L; //序列号
-    private static long lastStmp = -1L;//上一次时间戳
-
-    /**
-     * 此处无参构造私有,同时没有给出有参构造,在于避免以下两点问题:
-     * 1、私有化避免了通过new的方式进行调用,主要是解决了在for循环中通过new的方式调用产生的id不一定唯一问题问题,因为用于			 记录上一次时间戳的lastStmp永远无法得到比对;
-     * 2、没有给出有参构造在第一点的基础上考虑了一套分布式系统产生的唯一序列号应该是基于相同的参数
-     */
-    private SnowFlake() {
-    }
-
-    /**
-     * 产生下一个ID
-     *
-     * @return
-     */
-    public static synchronized long nextId() {
-        /** 获取当前时间戳 */
-        long currStmp = getNewstmp();
-
-        /** 如果当前时间戳小于上次时间戳则抛出异常 */
-        if (currStmp < lastStmp) {
-            throw new RuntimeException("Clock moved backwards.  Refusing to generate id");
-        }
-        /** 相同毫秒内 */
-        if (currStmp == lastStmp) {
-            //相同毫秒内,序列号自增
-            sequence = (sequence + 1) & MAX_SEQUENCE;
-            //同一毫秒的序列数已经达到最大
-            if (sequence == 0L) {
-
-                /** 获取下一时间的时间戳并赋值给当前时间戳 */
-                currStmp = getNextMill();
-            }
-        } else {
-            //不同毫秒内,序列号置为0
-            sequence = 0L;
-        }
-        /** 当前时间戳存档记录,用于下次产生id时对比是否为相同时间戳 */
-        lastStmp = currStmp;
-
-
-        return (currStmp - START_STMP) << TIMESTMP_LEFT //时间戳部分
-                | datacenterId << DATACENTER_LEFT      //数据中心部分
-                | machineId << MACHINE_LEFT            //机器标识部分
-                | sequence;                            //序列号部分
-    }
-
-    private static long getNextMill() {
-        long mill = getNewstmp();
-        while (mill <= lastStmp) {
-            mill = getNewstmp();
-        }
-        return mill;
-    }
-
-    private static long getNewstmp() {
-        return System.currentTimeMillis();
-    }
-
-}

+ 0 - 18
src/main/java/com/migao/config/jpa/SnowIdentityGenerator.java

@@ -1,18 +0,0 @@
-package com.migao.config.jpa;
-
-import org.hibernate.engine.spi.SharedSessionContractImplementor;
-import org.hibernate.id.IdentityGenerator;
-
-import java.io.Serializable;
-
-/**
- * @version 1.0
- * @Author mwh
- * @Date 2020/1/21 10:11
- */
-public class SnowIdentityGenerator extends IdentityGenerator {
-    @Override
-    public Serializable generate(SharedSessionContractImplementor s, Object obj) {
-        return SnowFlake.nextId();
-    }
-}

+ 163 - 0
src/main/java/com/migao/config/listener/PermissionInsertListener.java

@@ -0,0 +1,163 @@
+package com.migao.config.listener;
+
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.migao.config.properties.SystemProperties;
+import lombok.extern.slf4j.Slf4j;
+import okhttp3.*;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.context.annotation.Configuration;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+//@Configuration
+@Slf4j
+public class PermissionInsertListener implements ApplicationRunner {
+
+    @Resource
+    private SystemProperties systemProperties;
+
+
+    @Override
+    public void run(ApplicationArguments args) {
+        String url = "http://localhost:30000/v2/api-docs?";
+        //getSwaggerAllMethod(StringUtils.join(url, "group=admin"));
+        //getSwaggerAllMethod(StringUtils.join(url, "group=common"));
+        //getSwaggerAllMethod(StringUtils.join(url, "group=mobile"));
+        //getParentPermission();
+    }
+
+    /*public void getSwaggerAllMethod(String url) {
+        try {
+            //查询所有角色
+            List<Role> roles = roleMapper.selectList(Wrappers.emptyWrapper());
+            OkHttpClient okHttpClient = new OkHttpClient();
+            Request request = new Request.Builder()
+                    .url(url)
+                    .build();
+            Call call = okHttpClient.newCall(request);
+            String swaggerJson = "{}";
+            try {
+                Response response = call.execute();
+                ResponseBody body = response.body();
+                if (body != null) {
+                    swaggerJson = body.string();
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            JSONObject swaggerMap = JSONObject.parseObject(swaggerJson);
+            // 所有方法
+            if (swaggerMap == null) {
+                return;
+            }
+            JSONObject pathsMap = swaggerMap.getJSONObject("paths");
+            if (pathsMap == null) {
+                return;
+            }
+            pathsMap.forEach((method, value) -> {
+                String uri = StringUtils.join(method, "**");
+                Integer count = permissionMapper.selectCount(
+                        Wrappers.<Permission>lambdaQuery().eq(Permission::getUrl, uri)
+                );
+                Permission permission = Permission.builder().type(PermissionType.URL).name("").description("").url(uri).build();
+                // 所有請求方式GET、POST等
+                JSONObject methodMode = pathsMap.getJSONObject(method);
+                if (methodMode == null) {
+                    return;
+                }
+                methodMode.entrySet().stream()
+                        .filter(model -> "get".equals(model.getKey()) || "post".equals(model.getKey()))
+                        .forEach(m -> {
+                            JSONObject methodBody = methodMode.getJSONObject(m.getKey());
+                            if (methodBody != null) {
+                                if (methodBody.containsKey("tags")) {
+                                    JSONArray tags = methodBody.getJSONArray("tags");
+                                    tags.forEach(
+                                            tag -> {
+                                                permission.setDescription(StringUtils.join(permission.getDescription(), tag.toString().replaceAll("\\d|\\.", "")));
+                                                permission.setModule(tag.toString().replaceAll("\\d|\\.", ""));
+                                            }
+                                    );
+                                }
+                                String methodName = methodBody.getString("summary");
+                                permission.setDescription(StringUtils.join(permission.getDescription(), "-", methodName));
+                                permission.setName(methodName);
+                            }
+                        });
+                if (count == 0) {
+                    permissionMapper.insert(permission);
+                    roles.forEach(
+                            role -> {
+                                userMapper.insertRolePermission(role.getId(), permission.getId());
+                            }
+                    );
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("通过Swagger解析所有接口异常", e);
+        }
+    }
+
+
+    public void getParentPermission() {
+        List<Permission> permissionList = permissionMapper.selectList(Wrappers.emptyWrapper());
+        List<Permission> parents = permissionList.stream().map(
+                Permission::getModule
+        ).distinct().map(
+                moduleName -> {
+                    Permission newPermission = Permission
+                            .builder()
+                            .module(moduleName)
+                            .description(StringUtils.join(moduleName, "父节点"))
+                            .parentId(0L)
+                            .build();
+                    return newPermission;
+                }
+        ).collect(Collectors.toList());
+
+        LambdaQueryWrapper<Permission> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(Permission::getParentId, 0L);
+        wrapper.isNull(Permission::getUrl);
+        wrapper.eq(Permission::getType, PermissionType.URL);
+        List<Permission> permissions = permissionMapper.selectList(wrapper);
+
+        parents.forEach(
+                permission -> {
+                    if (permissions.size() == 0 || permissions.stream().noneMatch(i -> i.getModule().equals(permission.getModule()))) {
+                        permissionMapper.insert(permission);
+                    }
+                }
+        );
+
+        List<Permission> nowPermissions = permissionMapper.selectList(wrapper);
+
+        nowPermissions.forEach(
+                permission -> {
+                    LambdaQueryWrapper<Permission> queryWrapper = Wrappers.lambdaQuery(Permission.class);
+                    queryWrapper.eq(Permission::getModule, permission.getModule());
+                    queryWrapper.eq(Permission::getType, PermissionType.URL);
+                    queryWrapper.isNull(Permission::getParentId);
+                    queryWrapper.isNotNull(Permission::getUrl);
+                    permissionMapper.selectList(queryWrapper).forEach(
+                            oldPermission -> {
+                                oldPermission.setParentId(permission.getParentId());
+                            }
+                    );
+                }
+        );
+
+
+    }*/
+
+}

+ 74 - 0
src/main/java/com/migao/config/listener/UpdateFileStoreDirListener.java

@@ -0,0 +1,74 @@
+package com.migao.config.listener;
+
+
+import com.migao.config.constant.SystemConstant;
+import com.migao.config.properties.SystemProperties;
+import com.migao.util.FileUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.context.ApplicationListener;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.event.ContextRefreshedEvent;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.IOException;
+
+
+@Configuration
+@Slf4j
+public class UpdateFileStoreDirListener implements ApplicationListener<ContextRefreshedEvent> {
+
+    @Resource
+    private SystemProperties systemProperties;
+
+    @Override
+    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
+        log.debug("重启完成后重置文件下载、存储路径");
+        String applicationRootPath = FileUtils.getApplicationRootPath();
+        systemProperties.setApplicationRootPath(applicationRootPath);
+        //重置下载url
+        String downLoadPrefix = StringUtils.join(
+                systemProperties.getDownloadPrefix(),
+                SystemConstant.URI_CONCAT_SYMBOL,
+                systemProperties.getFileStoreDir(),
+                SystemConstant.URI_CONCAT_SYMBOL
+        );
+        systemProperties.setDownloadPrefix(
+                downLoadPrefix
+        );
+        //重置文件下载路径
+        String fileStoreDirPath = StringUtils.join(
+                systemProperties.getApplicationRootPath(),
+                File.separator,
+                systemProperties.getFileStoreDir(),
+                File.separator
+        );
+        systemProperties.setFileStoreDirPath(
+                fileStoreDirPath
+        );
+        String tempDir = StringUtils.join(
+                systemProperties.getApplicationRootPath(),
+                File.separator,
+                systemProperties.getFileStoreDir(),
+                File.separator,
+                systemProperties.getFileTempDir(),
+                File.separator
+        );
+        //zip文件解压路径
+        String zipOutDir = StringUtils.join(
+                systemProperties.getApplicationRootPath(),
+                File.separator,
+                systemProperties.getFileStoreDir(),
+                File.separator,
+                systemProperties.getFileZipDir(),
+                File.separator
+        );
+        systemProperties.setFileZipPath(
+                zipOutDir
+        );
+        FileUtils.mkdirs(fileStoreDirPath);
+        FileUtils.mkdirs(zipOutDir);
+        FileUtils.mkdirs(tempDir);
+    }
+}

+ 70 - 0
src/main/java/com/migao/config/mvc/WebMvcConfig.java

@@ -0,0 +1,70 @@
+package com.migao.config.mvc;
+
+
+import com.migao.config.authority.AuthenticationInterceptor;
+import com.migao.config.authority.AuthenticationProperties;
+import com.migao.config.authority.AuthorityInterceptor;
+import com.migao.config.constant.SystemConstant;
+import com.migao.config.properties.SystemProperties;
+import com.migao.util.FileUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.format.FormatterRegistry;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.IOException;
+
+@Configuration
+@Slf4j
+public class WebMvcConfig implements WebMvcConfigurer {
+
+    @Autowired
+    private AuthenticationInterceptor authenticationInterceptor;
+    @Autowired
+    private AuthorityInterceptor authorityInterceptor;
+    @Autowired
+    private AuthenticationProperties authenticationProperties;
+    @Resource
+    private SystemProperties systemProperties;
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        //认证
+        registry.addInterceptor(authenticationInterceptor).order(Ordered.LOWEST_PRECEDENCE - 1)
+                .addPathPatterns("/**")
+                .excludePathPatterns(authenticationProperties.getPermitUrlList());
+        //鉴权
+        registry.addInterceptor(authorityInterceptor).order(Ordered.LOWEST_PRECEDENCE)
+                .addPathPatterns("/**")
+                .excludePathPatterns(authenticationProperties.getPermitUrlList());
+
+    }
+
+    @Override
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        registry
+                .addResourceHandler(
+                        StringUtils.join(
+                                SystemConstant.URI_CONCAT_SYMBOL,
+                                systemProperties.getFileStoreDir(),
+                                SystemConstant.URI_CONCAT_SYMBOL,
+                                SystemConstant.URI_FULL_PATTERN_SYMBOL
+                        )
+                ).addResourceLocations(
+                StringUtils.join(
+                        SystemConstant.WEB_MVC_STATIC_RESOURCE_MAPPING_PREFIX,
+                        FileUtils.getApplicationRootPath(),
+                        SystemConstant.URI_CONCAT_SYMBOL,
+                        systemProperties.getFileStoreDir(),
+                        SystemConstant.URI_CONCAT_SYMBOL
+                ));
+    }
+
+}

+ 1 - 1
src/main/java/com/migao/config/properties/ServerInfo.java

@@ -27,7 +27,7 @@ public class ServerInfo {
     /**
      * 文件文件夹路径
      */
-    public String serverHost;
+    public String serverAddress;
 
 
 }

+ 21 - 15
src/main/java/com/migao/config/properties/SystemProperties.java

@@ -7,6 +7,7 @@ import lombok.NoArgsConstructor;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -20,35 +21,40 @@ import java.util.List;
 @AllArgsConstructor
 @NoArgsConstructor
 @Component
-@ConfigurationProperties(prefix = "cn.jihengcc.ypd")
+@ConfigurationProperties(prefix = "com.migao.project")
 public class SystemProperties {
 
     /**
      * 文件下载前缀
      */
     public String downloadPrefix;
-
     /**
-     * 文件文件夹名称
+     * 文件存储路径 注意最后的斜杠
      */
     public String fileStoreDir;
-
     /**
-     * 文件存储路径 注意最后的斜杠
+     * 解压文件存储文件夹名 注意最后的斜杠
      */
-    public String fileStoreDirPath;
-
+    public String fileZipDir;
     /**
-     * 文件解压后的路径
+     * 文解压件存储路径 注意最后的斜杠
      */
-    public String zipOutDir;
-
+    public String fileZipPath;
     /**
-     * 文件临时路径
+     * 文件临时文件夹
      */
-    private String fileTempDir;
-
-
-    private List<ServerInfo> serverInfo;
+    public String fileTempDir;
+    /**
+     * 系统部署根路径
+     */
+    public String applicationRootPath;
+    /**
+     * 文件存储绝对路径
+     */
+    public String fileStoreDirPath;
+    /**
+     * 负载服务器配置
+     */
+    private List<ServerInfo> serverInfo = new ArrayList<>();
 
 }

+ 6 - 1
src/main/java/com/migao/controller/FileInfoController.java

@@ -16,7 +16,6 @@ import javax.annotation.Resource;
 
 
 /**
- *
  * @author : lcl
  * @date : 2020/10/14 9:24
  */
@@ -34,4 +33,10 @@ public class FileInfoController {
         return fileInfoService.upload(file);
     }
 
+    @ApiOperation(value = "02.服务器文件同步", hidden = true)
+    @PostMapping(value = "/serverUpload")
+    public ResponseBean<FileRes> serverUpload(@RequestPart MultipartFile file) {
+        return fileInfoService.serverUpload(file);
+    }
+
 }

+ 2 - 0
src/main/java/com/migao/service/FileService.java

@@ -5,5 +5,7 @@ import com.migao.entity.vo.res.FileRes;
 import org.springframework.web.multipart.MultipartFile;
 
 public interface FileService {
+    ResponseBean<FileRes> serverUpload(MultipartFile file);
+
     ResponseBean<FileRes> upload(MultipartFile file);
 }

+ 53 - 4
src/main/java/com/migao/service/impl/FileServiceImpl.java

@@ -1,8 +1,13 @@
 package com.migao.service.impl;
 
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.http.Header;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.migao.config.authority.AuthenticationProperties;
+import com.migao.config.authority.LoginUtils;
 import com.migao.config.constant.SystemConstant;
-import com.migao.config.jpa.SnowFlake;
 import com.migao.config.properties.SystemProperties;
 import com.migao.config.response.ResponseBean;
 import com.migao.config.response.ResponseBuilder;
@@ -19,8 +24,11 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
 
 @Slf4j
 @Service
@@ -30,12 +38,54 @@ public class FileServiceImpl implements FileService {
     private SystemProperties systemProperties;
     @Resource
     private FileInfoMapper fileInfoMapper;
+    @Resource
+    private AuthenticationProperties authenticationProperties;
+
     @Override
     public ResponseBean<FileRes> upload(MultipartFile file) {
+        String diskPath = StringUtils.join(
+                FileUtils.getApplicationRootPath(),
+                systemProperties.getFileTempDir(),
+                File.separator,
+                file.getOriginalFilename()
+        );
+        //写入temp
+        try {
+            FileUtils.storeFileByInputStream(
+                    file.getInputStream(),
+                    diskPath
+            );
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        String token = LoginUtils.getToken();
+        Map<String, Object> form = new HashMap<>();
+        form.put("file", FileUtil.file(diskPath));
+        systemProperties.getServerInfo().forEach(
+                serverInfo -> {
+                    HttpRequest.post(
+                            StringUtils.join(
+                                    "http://",
+                                    serverInfo.getServerAddress(),
+                                    SystemConstant.URI_CONCAT_SYMBOL,
+                                    "serverUpload"
+                            )
+                    )
+                            .header(authenticationProperties.getHeaderName(), LoginUtils.getToken())//头信息,多个头信息多次调用此方法即可
+                            .form(form)//表单内容
+                            .timeout(20000)//超时,毫秒
+                            .execute().body();
+                }
+        );
+        return ResponseBuilder.ok();
+    }
+
+    @Override
+    public ResponseBean<FileRes> serverUpload(MultipartFile file) {
         String originalFilename = file.getOriginalFilename();
         String prefix = FileUtils.getPrefix(originalFilename, SystemConstant.FILE_NAME_SPLIT_SYMBOL);
         String suffix = FileUtils.getSuffix(originalFilename, SystemConstant.FILE_NAME_SPLIT_SYMBOL);
-        String fileNo = String.valueOf(SnowFlake.nextId());
+        String fileNo = FileUtils.getFileNo();
         String uri = StringUtils.join(
                 systemProperties.getFileTempDir(),
                 SystemConstant.URI_CONCAT_SYMBOL,
@@ -49,9 +99,8 @@ public class FileServiceImpl implements FileService {
                 SystemConstant.FILE_NAME_CONCAT_SYMBOL,
                 suffix
         );
-        System.out.println(finalName);
         String diskPath = StringUtils.join(
-                systemProperties.getFileStoreDirPath(),
+                FileUtils.getApplicationRootPath(),
                 systemProperties.getFileTempDir(),
                 File.separator,
                 finalName

+ 15 - 8
src/main/java/com/migao/util/FileUtils.java

@@ -47,8 +47,8 @@ public class FileUtils {
     public static String getSuffix(String fileFullName, String spliter) {
         if (StringUtils.isNotBlank(fileFullName)) {
             String[] split = fileFullName.split(spliter);
-            if (split.length > 1) {
-                return split[1];
+            if (split.length >= 1) {
+                return split[split.length - 1];
             }
         }
         return "";
@@ -60,13 +60,20 @@ public class FileUtils {
      * @return
      */
     public static String getPrefix(String fileFullName, String spliter) {
-        if (StringUtils.isNotBlank(fileFullName)) {
-            String[] split = fileFullName.split(spliter);
-            if (split.length > 1) {
-                return split[0];
-            }
+        String suffix = getSuffix(fileFullName, spliter);
+        return fileFullName.replaceAll(suffix, "");
+    }
+
+
+    public static String getApplicationRootPath() {
+        String canonicalPath = "./";
+        try {
+            File file = new File("");
+            canonicalPath = file.getCanonicalPath();
+        } catch (IOException e) {
+            e.printStackTrace();
         }
-        return "";
+        return canonicalPath;
     }
 
     public static void deleteDirFiles(String fileDirPath) {

+ 34 - 4
src/main/resources/application.yml

@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: dev
+    active: ma
 
   servlet:
     multipart:
@@ -19,7 +19,7 @@ spring:
         format_sql: true
     open-in-view: false
     generate-ddl: true
-    database-platform: org.hibernate.dialect.MySQLDialect
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
 
 # swagger配置
 swagger:
@@ -43,5 +43,35 @@ logging:
 
 com:
   migao:
-    download-prefix: http://127.0.0.1:${server.port}
-    file-store-dir: download
+   project:
+      download-prefix: http://127.0.0.1:${server.port}
+      file-store-dir: upload
+      file-temp-dir: temp
+      file-zip-dir: zip
+      server-info:
+        - server-name: master
+          server-address: 127.0.0.1
+        - server-name: slave
+          server-address: 127.0.0.1
+  auth:
+    permit-url-list:
+      # swagger
+      - /swagger-ui.html
+      - /webjars/**
+      - /swagger-resources/**
+      - /v2/**
+      - /favicon.ico
+      - /doc.html
+      - /
+      - /csrf
+      - /error
+      - /SendSheet**
+      # 登录
+      - /api/user/login/**
+      - /admin/user/login/**
+      - /download/**
+      - /user/login/**
+    token-prefix: Bearer
+    log-ignore-param-list:
+      - /file/**
+