|
@@ -1,5 +1,6 @@
|
|
package com.ruoyi.framework.aspect;
|
|
package com.ruoyi.framework.aspect;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
import com.ruoyi.common.annotation.LogicIgnore;
|
|
import com.ruoyi.common.annotation.LogicIgnore;
|
|
import com.ruoyi.framework.mybatis.holder.LogicHolder;
|
|
import com.ruoyi.framework.mybatis.holder.LogicHolder;
|
|
import org.aspectj.lang.ProceedingJoinPoint;
|
|
import org.aspectj.lang.ProceedingJoinPoint;
|
|
@@ -14,18 +15,38 @@ import org.springframework.stereotype.Component;
|
|
@Component
|
|
@Component
|
|
public class LogicAspect {
|
|
public class LogicAspect {
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 去除逻辑删除
|
|
|
|
+ * @param point
|
|
|
|
+ * @param logicIgnore
|
|
|
|
+ * @return
|
|
|
|
+ * @throws Throwable
|
|
|
|
+ */
|
|
@Around("@annotation(logicIgnore) || @within(logicIgnore)")
|
|
@Around("@annotation(logicIgnore) || @within(logicIgnore)")
|
|
public Object around(ProceedingJoinPoint point, LogicIgnore logicIgnore) throws Throwable {
|
|
public Object around(ProceedingJoinPoint point, LogicIgnore logicIgnore) throws Throwable {
|
|
try {
|
|
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();
|
|
return point.proceed();
|
|
|
|
+
|
|
} finally {
|
|
} finally {
|
|
// 关闭忽略
|
|
// 关闭忽略
|
|
LogicHolder.clear();
|
|
LogicHolder.clear();
|