Browse Source

逻辑删除

caozj 1 năm trước cách đây
mục cha
commit
9e59a2fb67

+ 56 - 0
hx-file/src/main/java/com/fjhx/file/enums/FileTypeEnums.java

@@ -0,0 +1,56 @@
+package com.fjhx.file.enums;
+
+import org.apache.commons.collections4.MapUtils;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+public enum FileTypeEnums {
+    FILE_TYPE_0(0, "待定"),
+    FILE_TYPE_1(0, "待定"),
+    FILE_TYPE_2(0, "待定"),
+    FILE_TYPE_10(10, "到货检验-样品采集记录文件"),
+    FILE_TYPE_20(20, "到货检验-工序照片文件"),
+    FILE_TYPE_30(30, "到货检验-物品缺陷照片文件"),
+    FILE_TYPE_40(40, "到货检验-支持文档视频文件"),
+    FILE_TYPE_50(50, "待定"),
+    FILE_TYPE_60(60, "待定"),
+    FILE_TYPE_70(70, "待定"),
+    FILE_TYPE_80(80, "待定"),
+    FILE_TYPE_90(90, "待定"),
+    FILE_TYPE_99(99, "其他"),
+    ;
+    private Integer key;
+
+    private String value;
+
+    private static Map<Integer, String> map = new LinkedHashMap<>();
+
+    FileTypeEnums(Integer key, String value) {
+        this.key = key;
+        this.value = value;
+    }
+
+    /**
+     * 获取枚举map
+     *
+     * @return
+     */
+    public static Map<Integer, String> getMap() {
+        if (MapUtils.isNotEmpty(map)) {
+            return map;
+        }
+        for (FileTypeEnums ms : values()) {
+            map.put(ms.key, ms.value);
+        }
+        return map;
+    }
+
+    public Integer getKey() {
+        return key;
+    }
+
+    public String getValue() {
+        return value;
+    }
+}

+ 28 - 7
ruoyi-framework/src/main/java/com/ruoyi/framework/aspect/LogicAspect.java

@@ -1,5 +1,6 @@
 package com.ruoyi.framework.aspect;
 
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.ruoyi.common.annotation.LogicIgnore;
 import com.ruoyi.framework.mybatis.holder.LogicHolder;
 import org.aspectj.lang.ProceedingJoinPoint;
@@ -14,18 +15,38 @@ import org.springframework.stereotype.Component;
 @Component
 public class LogicAspect {
 
+    /**
+     * 去除逻辑删除
+     * @param point
+     * @param logicIgnore
+     * @return
+     * @throws Throwable
+     */
     @Around("@annotation(logicIgnore) || @within(logicIgnore)")
     public Object around(ProceedingJoinPoint point, LogicIgnore logicIgnore) throws Throwable {
         try {
-            String[] alias = logicIgnore.alias();
-            String[] tableName = logicIgnore.tableName();
-            LogicHolder logicHolder = new LogicHolder();
-            logicHolder.setAliases(alias);
-            logicHolder.setTableNames(tableName);
-            // 开启忽略
-            LogicHolder.setLogicHolder(logicHolder);
+            //TODO 这里通过切面进来logicIgnore 一直是null  问题待排查......
+            if(ObjectUtils.isNotEmpty(logicIgnore)){
+                String[] alias = logicIgnore.alias();
+                String[] tableName = logicIgnore.tableName();
+                LogicHolder logicHolder = new LogicHolder();
+                logicHolder.setAliases(alias);
+                logicHolder.setTableNames(tableName);
+                // 开启忽略
+                LogicHolder.setLogicHolder(logicHolder);
+            }else{
+                String[] alias = {};
+                String[] tableName = {};
+                LogicHolder logicHolder = new LogicHolder();
+                logicHolder.setAliases(alias);
+                logicHolder.setTableNames(tableName);
+                // 开启忽略
+                LogicHolder.setLogicHolder(logicHolder);
+            }
+
             // 执行方法
             return point.proceed();
+
         } finally {
             // 关闭忽略
             LogicHolder.clear();