瀏覽代碼

操作日志加操作人

qianxb 1 年之前
父節點
當前提交
265addcc8f

+ 20 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/OperationLogController.java

@@ -28,6 +28,7 @@ import org.jetbrains.annotations.NotNull;
 import org.springblade.business.wrapper.OperationLogWrapper;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
@@ -59,6 +60,8 @@ public class OperationLogController extends BladeController {
 
     private final IDictBizClient dictBizClient;
 
+
+
     /**
      * 获取操作类型
      */
@@ -123,7 +126,21 @@ public class OperationLogController extends BladeController {
         if ("".equals(operationLog.getOperationMedium())) {
             operationLog.setOperationMedium(null);
         }
-        operationLog.setCreateUser(AuthUtil.getUserId());
+        //判断当前用户是否是超级管理员
+        Long adminId = operationLogService.getAdminId();
+        BladeUser user = AuthUtil.getUser();
+        if (user.getRoleId().contains(adminId+"")){
+//            //超级管理员
+//            if (operationLog.getCreateUser() == null){
+//                operationLog.setCreateUser(AuthUtil.getUserId());
+//            }
+        }else {
+            if (operationLog.getCreateUser() != null){
+                return R.fail("只有超级管理员才能搜索用户操作日志");
+            }
+            operationLog.setCreateUser(AuthUtil.getUserId());
+        }
+
         QueryWrapper<OperationLog> wrapper = Condition.getQueryWrapper(operationLog);
         if (StringUtils.isNotEmpty(operationLog.getStartTime()) && StringUtils.isNotEmpty(operationLog.getEndTime())) {
             String endTime = operationLog.getEndTime();
@@ -138,6 +155,8 @@ public class OperationLogController extends BladeController {
             wrapper.lambda().like(OperationLog::getOperationContent, operationLog.getQueryValue());
         }
 
+
+
         IPage<OperationLog> pages = operationLogService.page(Condition.getPage(query), wrapper.lambda().orderBy(true, false, OperationLog::getCreateTime));
 
         //获取业务字典

+ 1 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/OperationLogMapper.java

@@ -36,4 +36,5 @@ public interface OperationLogMapper extends BaseMapper<OperationLog> {
 
     List<String> queryBusinessModule(@Param("userId") Long userId);
 
+    Long getAdminId();
 }

+ 3 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/OperationLogMapper.xml

@@ -49,5 +49,8 @@
           and is_deleted = 0
         group by operation_module
     </select>
+    <select id="getAdminId" resultType="java.lang.Long">
+        select id from blade_role WHERE role_name = '超级管理员'
+    </select>
 
 </mapper>

+ 1 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/IOperationLogService.java

@@ -37,4 +37,5 @@ public interface IOperationLogService extends BaseService<OperationLog> {
 
     List<String> queryBusinessModule();
 
+    Long getAdminId();
 }

+ 5 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/OperationLogServiceImpl.java

@@ -50,4 +50,9 @@ public class OperationLogServiceImpl extends BaseServiceImpl<OperationLogMapper,
     public List<String> queryBusinessModule() {
         return this.baseMapper.queryBusinessModule(AuthUtil.getUserId());
     }
+
+    @Override
+    public Long getAdminId() {
+        return baseMapper.getAdminId();
+    }
 }