瀏覽代碼

Merge branch 'dev' into dev-web

贾小兵 5 月之前
父節點
當前提交
abfbd1bb59
共有 17 個文件被更改,包括 103 次插入92 次删除
  1. 2 2
      ele6-catalyzer-ruoyi-vue/pom.xml
  2. 0 8
      ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/custom/RuoYiResponse.java
  3. 5 5
      ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/custom/Ele6RYBaseService.java
  4. 8 0
      ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/custom/Ele6RYResponse.java
  5. 3 3
      ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/AjaxResult.java
  6. 1 4
      ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/BaseController.java
  7. 1 1
      ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/BaseEntity.java
  8. 1 1
      ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/BaseException.java
  9. 3 3
      ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/TableDataInfo.java
  10. 2 2
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
  11. 2 2
      ruoyi-sim/pom.xml
  12. 1 3
      ruoyi-sim/src/main/java/com/ruoyi/sim/controller/RealExamCollectionController.java
  13. 1 1
      ruoyi-sim/src/main/java/com/ruoyi/sim/controller/StudentController.java
  14. 1 1
      ruoyi-sim/src/main/java/com/ruoyi/sim/controller/TeacherController.java
  15. 3 3
      ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/RealExamCollectionService.java
  16. 38 19
      ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/StudentService.java
  17. 31 34
      ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/TeacherService.java

+ 2 - 2
ele6-catalyzer-ruoyi-vue/pom.xml

@@ -10,8 +10,8 @@
     </parent>
     </parent>
 
 
     <groupId>cn.ele6</groupId>
     <groupId>cn.ele6</groupId>
-    <artifactId>catalyzer-ruoyi-vue</artifactId>
-    <version>0.0.2-SNAPSHOT</version>
+    <artifactId>ele6-catalyzer-ruoyi-vue</artifactId>
+    <version>0.1-SNAPSHOT</version>
 
 
     <dependencies>
     <dependencies>
         <!-- ruoyi 通用工具-->
         <!-- ruoyi 通用工具-->

+ 0 - 8
ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/custom/RuoYiResponse.java

@@ -1,8 +0,0 @@
-package cn.ele6.catalyzer.ruoyi.custom;
-
-/**
- * RuoYiResponse tag interface.
- */
-public interface RuoYiResponse {
-
-}

+ 5 - 5
ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/custom/BaseService.java → ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/custom/Ele6RYBaseService.java

@@ -1,7 +1,7 @@
-package cn.ele6.catalyzer.ruoyi.custom;
+package cn.ele6.catalyzer.ruoyi.vue.custom;
 
 
-import cn.ele6.catalyzer.ruoyi.enhance.AjaxResult;
-import cn.ele6.catalyzer.ruoyi.enhance.TableDataInfo;
+import cn.ele6.catalyzer.ruoyi.vue.enhance.AjaxResult;
+import cn.ele6.catalyzer.ruoyi.vue.enhance.TableDataInfo;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.common.constant.HttpStatus;
 import com.ruoyi.common.constant.HttpStatus;
@@ -17,9 +17,9 @@ import org.slf4j.LoggerFactory;
 
 
 import java.util.List;
 import java.util.List;
 
 
-public abstract class BaseService {
+public abstract class Ele6RYBaseService {
 
 
-    protected Logger l = LoggerFactory.getLogger(BaseService.class);
+    protected Logger l = LoggerFactory.getLogger(Ele6RYBaseService.class);
 
 
     /**
     /**
      * 设置请求分页数据
      * 设置请求分页数据

+ 8 - 0
ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/custom/Ele6RYResponse.java

@@ -0,0 +1,8 @@
+package cn.ele6.catalyzer.ruoyi.vue.custom;
+
+/**
+ * RuoYiResponse tag interface.
+ */
+public interface Ele6RYResponse {
+
+}

+ 3 - 3
ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/enhance/AjaxResult.java → ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/AjaxResult.java

@@ -1,6 +1,6 @@
-package cn.ele6.catalyzer.ruoyi.enhance;
+package cn.ele6.catalyzer.ruoyi.vue.enhance;
 
 
-import cn.ele6.catalyzer.ruoyi.custom.RuoYiResponse;
+import cn.ele6.catalyzer.ruoyi.vue.custom.Ele6RYResponse;
 import com.ruoyi.common.constant.HttpStatus;
 import com.ruoyi.common.constant.HttpStatus;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 
 
@@ -9,7 +9,7 @@ import java.io.Serializable;
 /**
 /**
  * 同名类增强改造。
  * 同名类增强改造。
  */
  */
-public class AjaxResult extends com.ruoyi.common.core.domain.AjaxResult implements Serializable, RuoYiResponse {
+public class AjaxResult extends com.ruoyi.common.core.domain.AjaxResult implements Serializable, Ele6RYResponse {
 
 
     /**
     /**
      * 返回成功消息
      * 返回成功消息

+ 1 - 4
ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/enhance/BaseController.java → ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/BaseController.java

@@ -1,13 +1,10 @@
-package cn.ele6.catalyzer.ruoyi.enhance;
+package cn.ele6.catalyzer.ruoyi.vue.enhance;
 
 
 /**
 /**
  *
  *
  */
  */
 public class BaseController extends com.ruoyi.common.core.controller.BaseController {
 public class BaseController extends com.ruoyi.common.core.controller.BaseController {
 
 
-
-
-
     public static AjaxResult convert(com.ruoyi.common.core.domain.AjaxResult o) {
     public static AjaxResult convert(com.ruoyi.common.core.domain.AjaxResult o) {
         return AjaxResult.convert(o);
         return AjaxResult.convert(o);
     }
     }

+ 1 - 1
ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/enhance/BaseEntity.java → ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/BaseEntity.java

@@ -1,4 +1,4 @@
-package cn.ele6.catalyzer.ruoyi.enhance;
+package cn.ele6.catalyzer.ruoyi.vue.enhance;
 
 
 /**
 /**
  *
  *

+ 1 - 1
ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/enhance/BaseException.java → ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/BaseException.java

@@ -1,4 +1,4 @@
-package cn.ele6.catalyzer.ruoyi.enhance;
+package cn.ele6.catalyzer.ruoyi.vue.enhance;
 
 
 /**
 /**
  *
  *

+ 3 - 3
ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/enhance/TableDataInfo.java → ele6-catalyzer-ruoyi-vue/src/main/java/cn/ele6/catalyzer/ruoyi/vue/enhance/TableDataInfo.java

@@ -1,6 +1,6 @@
-package cn.ele6.catalyzer.ruoyi.enhance;
+package cn.ele6.catalyzer.ruoyi.vue.enhance;
 
 
-import cn.ele6.catalyzer.ruoyi.custom.RuoYiResponse;
+import cn.ele6.catalyzer.ruoyi.vue.custom.Ele6RYResponse;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
@@ -8,7 +8,7 @@ import java.io.Serializable;
 /**
 /**
  * 同名类增强改造。
  * 同名类增强改造。
  */
  */
-public class TableDataInfo extends com.ruoyi.common.core.page.TableDataInfo implements Serializable, RuoYiResponse {
+public class TableDataInfo extends com.ruoyi.common.core.page.TableDataInfo implements Serializable, Ele6RYResponse {
 
 
 
 
     /**
     /**

+ 2 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java

@@ -120,11 +120,11 @@ public class SysDeptController extends BaseController
     {
     {
         if (deptService.hasChildByDeptId(deptId))
         if (deptService.hasChildByDeptId(deptId))
         {
         {
-            return warn("存在下级部门,不允许删除");
+            return warn("存在下级组织,不允许删除");
         }
         }
         if (deptService.checkDeptExistUser(deptId))
         if (deptService.checkDeptExistUser(deptId))
         {
         {
-            return warn("部门存在用户,不允许删除");
+            return warn("该组织存在用户,不允许删除");
         }
         }
         deptService.checkDeptDataScope(deptId);
         deptService.checkDeptDataScope(deptId);
         return toAjax(deptService.deleteDeptById(deptId));
         return toAjax(deptService.deleteDeptById(deptId));

+ 2 - 2
ruoyi-sim/pom.xml

@@ -35,8 +35,8 @@
 
 
         <dependency>
         <dependency>
             <groupId>cn.ele6</groupId>
             <groupId>cn.ele6</groupId>
-            <artifactId>catalyzer-ruoyi-vue</artifactId>
-            <version>0.0.2-SNAPSHOT</version>
+            <artifactId>ele6-catalyzer-ruoyi-vue</artifactId>
+            <version>0.1-SNAPSHOT</version>
         </dependency>
         </dependency>
 
 
         <!-- hutool -->
         <!-- hutool -->

+ 1 - 3
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/RealExamCollectionController.java

@@ -1,6 +1,6 @@
 package com.ruoyi.sim.controller;
 package com.ruoyi.sim.controller;
 
 
-import cn.ele6.catalyzer.ruoyi.enhance.TableDataInfo;
+import cn.ele6.catalyzer.ruoyi.vue.enhance.TableDataInfo;
 import com.ruoyi.sim.domain.vo.RealExamCollectionVo;
 import com.ruoyi.sim.domain.vo.RealExamCollectionVo;
 import com.ruoyi.sim.service.impl.RealExamCollectionService;
 import com.ruoyi.sim.service.impl.RealExamCollectionService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
@@ -14,10 +14,8 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
-import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.sim.domain.RealExamCollection;
 import com.ruoyi.sim.domain.RealExamCollection;
 
 
 /**
 /**

+ 1 - 1
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/StudentController.java

@@ -55,7 +55,7 @@ public class StudentController extends BaseController {
         // 覆盖data
         // 覆盖data
         // ajax.put(AjaxResult.DATA_TAG, student);
         // ajax.put(AjaxResult.DATA_TAG, student);
         // -------------------------------- tom add  --------------------------------
         // -------------------------------- tom add  --------------------------------
-        return success(studentService.selectStudentByUserId(userId));
+        return success(studentService.getInfo(userId));
     }
     }
 
 
 
 

+ 1 - 1
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/TeacherController.java

@@ -63,7 +63,7 @@ public class TeacherController extends BaseController {
         // 覆盖data
         // 覆盖data
         // ajax.put(AjaxResult.DATA_TAG, student);
         // ajax.put(AjaxResult.DATA_TAG, student);
         // -------------------------------- tom add  --------------------------------
         // -------------------------------- tom add  --------------------------------
-        return success(teacherService.selectTeacherByUserId(userId));
+        return teacherService.selectTeacherByUserId(userId);
     }
     }
 
 
     @PostMapping
     @PostMapping

+ 3 - 3
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/RealExamCollectionService.java

@@ -3,8 +3,8 @@ package com.ruoyi.sim.service.impl;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
-import cn.ele6.catalyzer.ruoyi.custom.BaseService;
-import cn.ele6.catalyzer.ruoyi.enhance.TableDataInfo;
+import cn.ele6.catalyzer.ruoyi.vue.custom.Ele6RYBaseService;
+import cn.ele6.catalyzer.ruoyi.vue.enhance.TableDataInfo;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.sim.domain.vo.RealExamCollectionVo;
 import com.ruoyi.sim.domain.vo.RealExamCollectionVo;
@@ -24,7 +24,7 @@ import org.springframework.web.bind.annotation.RequestBody;
  * @date 2024-12-17
  * @date 2024-12-17
  */
  */
 @Service
 @Service
-public class RealExamCollectionService extends BaseService {
+public class RealExamCollectionService extends Ele6RYBaseService {
     @Autowired
     @Autowired
     private RealExamCollectionMapper realExamCollectionMapper;
     private RealExamCollectionMapper realExamCollectionMapper;
 
 

+ 38 - 19
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/StudentService.java

@@ -1,25 +1,29 @@
 package com.ruoyi.sim.service.impl;
 package com.ruoyi.sim.service.impl;
 
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.sim.constant.Consts;
 import com.ruoyi.sim.constant.Consts;
 import com.ruoyi.sim.domain.AddOnDept;
 import com.ruoyi.sim.domain.AddOnDept;
 import com.ruoyi.sim.domain.Major;
 import com.ruoyi.sim.domain.Major;
 import com.ruoyi.sim.domain.Student;
 import com.ruoyi.sim.domain.Student;
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.mapper.*;
+import com.ruoyi.system.service.ISysPostService;
+import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.ISysUserService;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.GetMapping;
 
 
-import javax.validation.Validator;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Objects;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 
 @Service
 @Service
 public class StudentService {
 public class StudentService {
@@ -28,21 +32,18 @@ public class StudentService {
 
 
     @Autowired
     @Autowired
     private SysUserMapper userMapper;
     private SysUserMapper userMapper;
-
     @Autowired
     @Autowired
     private SysRoleMapper roleMapper;
     private SysRoleMapper roleMapper;
-
     @Autowired
     @Autowired
     private AddOnDeptService addOnDeptService;
     private AddOnDeptService addOnDeptService;
-
     @Autowired
     @Autowired
     private MajorService majorService;
     private MajorService majorService;
-
     @Autowired
     @Autowired
-    protected Validator validator;
-
+    private ISysUserService userService;
+    @Autowired
+    private ISysRoleService roleService;
     @Autowired
     @Autowired
-    private ISysUserService sysUserService;
+    private ISysPostService postService;
 
 
     // @DataScope(deptAlias = "d", userAlias = "u")
     // @DataScope(deptAlias = "d", userAlias = "u")
     public List<Student> selectStudentListOld() {
     public List<Student> selectStudentListOld() {
@@ -80,11 +81,10 @@ public class StudentService {
         // 分页
         // 分页
         PageUtils.startPage();
         PageUtils.startPage();
         suQ.setRoleId(Consts.ROLE_ID_STUDENT);
         suQ.setRoleId(Consts.ROLE_ID_STUDENT);
-        List<SysUser> listSu = sysUserService.selectAllocatedListV2(suQ);
+        List<SysUser> listSu = userService.selectAllocatedListV2(suQ);
         List<Student> listSt = new ArrayList<>(listSu.size());
         List<Student> listSt = new ArrayList<>(listSu.size());
         listSu.forEach(su -> {
         listSu.forEach(su -> {
             Student st = new Student();
             Student st = new Student();
-            su.setPassword("~~~~");
             BeanUtils.copyProperties(su, st);
             BeanUtils.copyProperties(su, st);
             listSt.add(st);
             listSt.add(st);
         });
         });
@@ -106,16 +106,16 @@ public class StudentService {
             }
             }
             break;
             break;
             case 3: {
             case 3: {
-                list = sysUserService.selectUserList(new SysUser());
+                list = userService.selectUserList(new SysUser());
             }
             }
             break;
             break;
             case 4: {
             case 4: {
                 PageUtils.startPage();
                 PageUtils.startPage();
-                list = sysUserService.selectUserList(new SysUser());
+                list = userService.selectUserList(new SysUser());
             }
             }
             break;
             break;
             case 5: {
             case 5: {
-                list = sysUserService.selectAllocatedList(new SysUser());
+                list = userService.selectAllocatedList(new SysUser());
             }
             }
             break;
             break;
             case 6: {
             case 6: {
@@ -123,16 +123,16 @@ public class StudentService {
                 PageUtils.startPage();
                 PageUtils.startPage();
                 SysUser su = new SysUser();
                 SysUser su = new SysUser();
                 su.setRoleId(Consts.ROLE_ID_STUDENT);
                 su.setRoleId(Consts.ROLE_ID_STUDENT);
-                list = sysUserService.selectAllocatedList(su);
+                list = userService.selectAllocatedList(su);
             }
             }
             break;
             break;
             case 7: {
             case 7: {
-                list = sysUserService.selectUnallocatedList(new SysUser());
+                list = userService.selectUnallocatedList(new SysUser());
             }
             }
             break;
             break;
             case 8: {
             case 8: {
                 PageUtils.startPage();
                 PageUtils.startPage();
-                list = sysUserService.selectUnallocatedList(new SysUser());
+                list = userService.selectUnallocatedList(new SysUser());
             }
             }
             break;
             break;
         }
         }
@@ -141,14 +141,12 @@ public class StudentService {
         }
         }
     }
     }
 
 
-
     public Student selectStudentByUserId(Long userId) {
     public Student selectStudentByUserId(Long userId) {
         SysUser sysUser = userMapper.selectUserById(userId);
         SysUser sysUser = userMapper.selectUserById(userId);
         Student student = new Student();
         Student student = new Student();
         // todo:用户角色判断。
         // todo:用户角色判断。
         // 屏蔽密码
         // 屏蔽密码
         if (Objects.nonNull(sysUser)) {
         if (Objects.nonNull(sysUser)) {
-            sysUser.setPassword("");
             BeanUtils.copyProperties(sysUser, student);
             BeanUtils.copyProperties(sysUser, student);
             Major m = getMajorByDeptId(sysUser.getDeptId());
             Major m = getMajorByDeptId(sysUser.getDeptId());
             if (Objects.nonNull(m)) {
             if (Objects.nonNull(m)) {
@@ -159,6 +157,27 @@ public class StudentService {
         return student;
         return student;
     }
     }
 
 
+    /**
+     * 根据用户编号获取详细信息
+     */
+    @GetMapping(value = {"/", "/{userId}"})
+    public AjaxResult getInfo(Long userId) {
+        // 不校验数据权限
+        // userService.checkUserDataScope(userId);
+
+        AjaxResult ajax = AjaxResult.success();
+        List<SysRole> roles = roleService.selectRoleAll();
+        ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
+        ajax.put("posts", postService.selectPostAll());
+        if (StringUtils.isNotNull(userId)) {
+            SysUser sysUser = userService.selectUserById(userId);
+            ajax.put(AjaxResult.DATA_TAG, sysUser);
+            ajax.put("postIds", postService.selectPostListByUserId(userId));
+            ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
+        }
+        return ajax;
+    }
+
     public Major getMajorByDeptId(Long deptId) {
     public Major getMajorByDeptId(Long deptId) {
         AddOnDept a = addOnDeptService.selectAddOnDeptByDeptId(deptId);
         AddOnDept a = addOnDeptService.selectAddOnDeptByDeptId(deptId);
         Major m = null;
         Major m = null;

+ 31 - 34
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/TeacherService.java

@@ -1,15 +1,15 @@
 package com.ruoyi.sim.service.impl;
 package com.ruoyi.sim.service.impl;
 
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.sim.constant.Consts;
 import com.ruoyi.sim.constant.Consts;
-import com.ruoyi.sim.domain.Major;
-import com.ruoyi.sim.domain.Student;
 import com.ruoyi.sim.domain.Teacher;
 import com.ruoyi.sim.domain.Teacher;
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.mapper.*;
-import com.ruoyi.system.service.ISysConfigService;
-import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysPostService;
+import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.ISysUserService;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
@@ -17,10 +17,10 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
-import javax.validation.Validator;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Objects;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 
 @Service
 @Service
 public class TeacherService {
 public class TeacherService {
@@ -32,26 +32,12 @@ public class TeacherService {
 
 
     @Autowired
     @Autowired
     private SysRoleMapper roleMapper;
     private SysRoleMapper roleMapper;
-
-    @Autowired
-    private SysPostMapper postMapper;
-
     @Autowired
     @Autowired
-    private SysUserRoleMapper userRoleMapper;
-
+    private ISysUserService userService;
     @Autowired
     @Autowired
-    private SysUserPostMapper userPostMapper;
-
+    private ISysRoleService roleService;
     @Autowired
     @Autowired
-    private ISysConfigService configService;
-
-    @Autowired
-    private ISysDeptService deptService;
-
-    @Autowired
-    protected Validator validator;
-    @Autowired
-    private ISysUserService sysUserService;
+    private ISysPostService postService;
 
 
     // @DataScope(deptAlias = "d", userAlias = "u")
     // @DataScope(deptAlias = "d", userAlias = "u")
     public List<SysUser> selectTeacherList() {
     public List<SysUser> selectTeacherList() {
@@ -82,7 +68,7 @@ public class TeacherService {
         // 分页
         // 分页
         PageUtils.startPage();
         PageUtils.startPage();
         suQ.setRoleId(Consts.ROLE_ID_TEACHER);
         suQ.setRoleId(Consts.ROLE_ID_TEACHER);
-        List<SysUser> listSu = sysUserService.selectAllocatedList(suQ);
+        List<SysUser> listSu = userService.selectAllocatedList(suQ);
         List<Teacher> listSt = new ArrayList<>(listSu.size());
         List<Teacher> listSt = new ArrayList<>(listSu.size());
         listSu.forEach(su -> {
         listSu.forEach(su -> {
             Teacher t = new Teacher();
             Teacher t = new Teacher();
@@ -104,26 +90,37 @@ public class TeacherService {
         // 分页
         // 分页
         PageUtils.startPage();
         PageUtils.startPage();
         suQ.setRoleId(Consts.ROLE_ID_TEACHER);
         suQ.setRoleId(Consts.ROLE_ID_TEACHER);
-        List<SysUser> listSu = sysUserService.selectAllocatedListV2(suQ);
+        List<SysUser> listSu = userService.selectAllocatedListV2(suQ);
         List<Teacher> listT = new ArrayList<>(listSu.size());
         List<Teacher> listT = new ArrayList<>(listSu.size());
         listSu.forEach(su -> {
         listSu.forEach(su -> {
             Teacher t = new Teacher();
             Teacher t = new Teacher();
-            su.setPassword("~~~~");
             BeanUtils.copyProperties(su, t);
             BeanUtils.copyProperties(su, t);
             listT.add(t);
             listT.add(t);
         });
         });
         return listT;
         return listT;
     }
     }
 
 
-    public Teacher selectTeacherByUserId(Long userId) {
-        SysUser sysUser = userMapper.selectUserById(userId);
-        Teacher t = new Teacher();
-        // todo:用户角色判断。
-        // 屏蔽密码
-        if (Objects.nonNull(sysUser)) {
-            sysUser.setPassword("~~~~");
-            BeanUtils.copyProperties(sysUser, t);
+    public AjaxResult selectTeacherByUserId(Long userId) {
+        // 不校验数据权限
+        // userService.checkUserDataScope(userId);
+
+        AjaxResult ajax = AjaxResult.success();
+        List<SysRole> roles = roleService.selectRoleAll();
+        ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
+        ajax.put("posts", postService.selectPostAll());
+        if (StringUtils.isNotNull(userId)) {
+            SysUser sysUser = userService.selectUserById(userId);
+            ajax.put(AjaxResult.DATA_TAG, sysUser);
+            ajax.put("postIds", postService.selectPostListByUserId(userId));
+            ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
         }
         }
-        return t;
+        return ajax;
+//        Teacher t = new Teacher();
+//        // todo:用户角色判断。
+//        // 屏蔽密码
+//        if (Objects.nonNull(sysUser)) {
+//            BeanUtils.copyProperties(sysUser, t);
+//        }
+//        return t;
     }
     }
 }
 }