2 Revize a849ae7f3f ... 0535f8f972

Autor SHA1 Zpráva Datum
  yonghuifan 0535f8f972 应用搜索专项与非专项 před 1 rokem
  yonghuifan ba14055737 软件删除 před 1 rokem

+ 1 - 0
src/main/java/com/dragon/tj/portal/common/enums/log/ModuleEnum.java

@@ -27,6 +27,7 @@ public enum ModuleEnum {
 
     FILE_UPLOAD("5001", "文件上传"),
     FILE_QUERY("5002", "文件查询"),
+    FILE_DELETE("5003", "文件删除"),
 
     ISSUE_ADD("6001", "问题添加"),
     ISSUE_DELETE("6002", "问题删除"),

+ 10 - 0
src/main/java/com/dragon/tj/portal/controller/FileManageController.java

@@ -79,4 +79,14 @@ public class FileManageController {
                 .contentType(MediaType.parseMediaType("application/octet-stream"))
                 .body(new InputStreamResource(inputStream));
     }
+
+    /*
+     * 软件删除
+     * */
+    @SysLog(value = "软件删除", module = ModuleEnum.FILE_DELETE)
+    @GetMapping("/delete/{id}")
+    public R delete(@PathVariable("id") Integer id){
+
+        return R.ok(fileManageService.delete(id));
+    }
 }

+ 8 - 0
src/main/java/com/dragon/tj/portal/entity/AppInfo.java

@@ -129,4 +129,12 @@ public class AppInfo implements Serializable {
      */
     @TableField(exist = false)
     private int seq;
+
+    /*
+     * 0: 非专项
+     * 1: 专项
+     * null: 所有任意
+     * */
+    @TableField(exist = false)
+    private Integer isSpecial;
 }

+ 2 - 0
src/main/java/com/dragon/tj/portal/service/FileManageService.java

@@ -17,4 +17,6 @@ public interface FileManageService {
     List<FileInfo> top(String type, Integer num);
 
     void fileLog(String uri,String ip);
+
+    boolean delete(Integer id);
 }

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

@@ -114,6 +114,14 @@ public class AppServiceImpl implements AppService {
         //应用事权单位名称
         queryWrapper.like(StringUtils.isNotEmpty(appInfo.getDeptName()), AppInfo::getDeptName, appInfo.getDeptName());
         //应用类型
+        if (appInfo.getIsSpecial() != null) {
+            List<SysDictItem> appTypeDict = getAppTypeDict();
+            SysDictItem specialToolDict = appTypeDict.stream().filter(item -> "专项工具".equals(item.getLabel())).findFirst().get();
+            //专项工具
+            queryWrapper.eq(appInfo.getIsSpecial() == 1, AppInfo::getAppType, specialToolDict.getId());
+            //非专项
+            queryWrapper.ne(appInfo.getIsSpecial() == 0, AppInfo::getAppType, specialToolDict.getId());
+        }
         queryWrapper.eq(appInfo.getAppType() != null, AppInfo::getAppType, appInfo.getAppType());
         queryWrapper.eq(appInfo.getDelFlag() != null, AppInfo::getDelFlag, appInfo.getDelFlag());
 

+ 28 - 0
src/main/java/com/dragon/tj/portal/service/impl/FileManageServiceImpl.java

@@ -18,6 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
@@ -158,4 +160,30 @@ public class FileManageServiceImpl implements FileManageService {
         sysLogServices.save(sysLog);
 
     }
+
+    @Transactional
+    @Override
+    public boolean delete(Integer id) {
+        //删除磁盘文件
+        FileInfo fileInfo = fileManageMapper.selectById(id);
+        //DB删除
+        try {
+            int i = fileManageMapper.deleteById(fileInfo);
+            boolean b = false;
+            if (i==1) {
+                String path = localPath + fileInfo.getUrl().replaceFirst("/file/","");
+                b = Files.deleteIfExists(Paths.get(path));
+                if (!b){
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                }
+            }
+
+            return b;
+        } catch (IOException e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return false;
+        }
+
+    }
 }