Просмотр исходного кода

上传文件文件名&类型表码

yonghuifan 1 год назад
Родитель
Сommit
6e623c33e4

+ 15 - 2
src/main/java/com/dragon/tj/portal/component/interceptor/FileInterceptor.java

@@ -1,6 +1,9 @@
 package com.dragon.tj.portal.component.interceptor;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.dragon.tj.portal.entity.SysDictItem;
 import com.dragon.tj.portal.service.FileManageService;
+import com.dragon.tj.portal.service.SysDictItemService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.HandlerInterceptor;
@@ -8,6 +11,8 @@ import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Component
 public class FileInterceptor implements HandlerInterceptor {
@@ -15,13 +20,21 @@ public class FileInterceptor implements HandlerInterceptor {
     @Autowired
     FileManageService fileManageService;
 
+    @Autowired
+    private SysDictItemService sysDictItemService;
+
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
 
         String requestURI = request.getRequestURI();
         String ip = request.getRemoteAddr();
-        //写入日志
-        fileManageService.fileLog(requestURI,ip);
+        List<Integer> softwareIdList = sysDictItemService.list(Wrappers.<SysDictItem>query().lambda().eq(SysDictItem::getType, "software_type"))
+                .stream().map(s -> s.getId()).collect(Collectors.toList());
+        String[] split = requestURI.split("/");
+        if (split.length > 2 && softwareIdList.contains(Integer.parseInt(split[2]))) {
+            //写入日志
+            fileManageService.fileLog(requestURI, ip);
+        }
 
         return true;
     }

+ 8 - 8
src/main/java/com/dragon/tj/portal/service/impl/AppServiceImpl.java

@@ -3,6 +3,7 @@ package com.dragon.tj.portal.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dragon.tj.portal.auth.model.LoginUser;
 import com.dragon.tj.portal.common.base.R;
@@ -11,7 +12,6 @@ import com.dragon.tj.portal.mapper.app.AppInfoMapper;
 import com.dragon.tj.portal.mapper.app.InstallInfoMapper;
 import com.dragon.tj.portal.service.AppService;
 import com.dragon.tj.portal.service.SysDictItemService;
-import com.dragon.tj.portal.service.SysDictService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,14 +32,14 @@ public class AppServiceImpl implements AppService {
     private InstallInfoMapper installInfoMapper;
 
     @Autowired
-    private SysDictService sysDictService;
+    private SysDictItemService sysDictItemService;
 
 
-    private static List<SysDict> appTypeDict;
+    private static List<SysDictItem> appTypeDict;
 
-    public List<SysDict> getAppTypeDict(){
+    public List<SysDictItem> getAppTypeDict(){
         if (appTypeDict == null || appTypeDict.size() == 0) {
-            appTypeDict = sysDictService.getDict("app_type");
+            appTypeDict = sysDictItemService.list(Wrappers.<SysDictItem>query().lambda().eq(SysDictItem::getType, "app_type").orderByAsc(SysDictItem::getSort));
         }
 
         return appTypeDict;
@@ -79,7 +79,7 @@ public class AppServiceImpl implements AppService {
      * */
     @Override
     public R getType() {
-        return R.ok(sysDictService.getDict("app_type"));
+        return R.ok(getAppTypeDict());
     }
 
     /*
@@ -161,8 +161,8 @@ public class AppServiceImpl implements AppService {
         map.put("delFlag", params.getDelFlag());
         Integer appType = params.getAppType();
         if (appType != null){
-            List<SysDict> appTypeList = getAppTypeDict();
-            SysDict  specialToolDict = appTypeList.stream().filter(item -> "专项工具".equals(item.getDescription())).findFirst().get();
+            List<SysDictItem> appTypeList = getAppTypeDict();
+            SysDictItem  specialToolDict = appTypeList.stream().filter(item -> "专项工具".equals(item.getLabel())).findFirst().get();
             map.put("std", specialToolDict.getId());//专项工具
 
             if (appType == specialToolDict.getId()){

+ 2 - 13
src/main/java/com/dragon/tj/portal/service/impl/FileManageServiceImpl.java

@@ -44,16 +44,13 @@ public class FileManageServiceImpl implements FileManageService {
     @Override
     public FileInfo upload(MultipartFile file,Integer type) {
         String originalFilename = file.getOriginalFilename();
-        System.out.println(originalFilename);
-
-        String uuidFilename = UploadUtils.getUUIDName(originalFilename);
 
         File dateDir = new File(localPath + type);
         if (!dateDir.exists()) {
             dateDir.mkdirs();
         }
 
-        File newFile = new File(dateDir.getPath(),uuidFilename);
+        File newFile = new File(dateDir.getPath(),originalFilename);
 
         try {
             file.transferTo(newFile);
@@ -72,15 +69,7 @@ public class FileManageServiceImpl implements FileManageService {
         fileInfo.setContentType(file.getContentType());
         LoginUser loginUser = SecurityUtils.getLoginUser();
         fileInfo.setCreateUser(loginUser.getUsername());
-
-        try {
-            String hostAddress = InetAddress.getLocalHost().getHostAddress();
-            String port = applicationContext.getEnvironment().getProperty("server.port");
-            String url = "http://"+ hostAddress + ":" + port + "/file/" + type + "/" +uuidFilename;
-            fileInfo.setUrl(url);
-        } catch (UnknownHostException e) {
-            e.printStackTrace();
-        }
+        fileInfo.setUrl("/file/" + type + "/" + originalFilename);
 
         //save to db
         fileManageMapper.insert(fileInfo);