Преглед изворни кода

Merge remote-tracking branch 'origin/master'

Administrator пре 1 година
родитељ
комит
8bf1406871

+ 12 - 0
ruoyi-admin/src/main/resources/application.yml

@@ -127,6 +127,18 @@ security:
     # actuator 监控配置
     - /actuator
     - /actuator/**
+    # 开放接口
+    - /register
+    - /captchaImage
+    - /weChatLogin
+    - /weChatOpenid
+    - /common/upload
+    - /flowable/definition/**
+    - /register/**
+    - /system/dept/list/**
+    - /system/xiaoYuanInfo/**
+    - /xiaoYuan/notice/**
+    - /system/dict/data/type/**
 
 # 多租户配置
 tenant:

+ 21 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDeptController.java

@@ -40,6 +40,27 @@ public class SysDeptController extends BaseController {
         return R.ok(depts);
     }
 
+    /**
+     * 获取部门列表
+     */
+    @SaCheckPermission("system:dept:list")
+    @GetMapping("/old/list")
+    public R<List<SysDeptVo>> oldList(SysDeptBo dept)
+    {
+        List<SysDeptVo> depts = deptService.selectDeptOldList(dept);
+        return R.ok(depts);
+    }
+
+    /**
+     * 获取部门列表(无权限控制)
+     */
+    @GetMapping("/noAuthority/list")
+    public R<List<SysDeptVo>> noAuthorityList(SysDeptBo dept)
+    {
+        List<SysDeptVo> depts = deptService.selectDeptList(dept);
+        return R.ok(depts);
+    }
+
     /**
      * 查询部门列表(排除节点)
      *

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysDeptBo.java

@@ -29,6 +29,11 @@ public class SysDeptBo extends BaseEntity {
     @NotNull(message = "部门id不能为空", groups = { EditGroup.class })
     private Long deptId;
 
+    /**
+     * 租户编号
+     */
+    private String tenantId;
+
     /**
      * 父部门ID
      */

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/FormalTeacherClassVo.java

@@ -51,7 +51,7 @@ public class FormalTeacherClassVo implements Serializable {
      * 学校id
      */
     @ExcelProperty(value = "学校id")
-    private String schoolId;
+    private Long schoolId;
 
     /**
      * 学校名称

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/FormalTeacherClassMapper.java

@@ -62,7 +62,7 @@ public interface FormalTeacherClassMapper extends BaseMapperPlus<FormalTeacherCl
      */
     public int deleteFormalTeacherClassByIds(Long[] ids);
 
-    public List<FormalTeacherClass> getTeacherClass(String teacherId);
+    public List<FormalTeacherClassVo> getTeacherClass(String teacherId);
 
     void deleteFormalTeacherClassByTeacherId(Long userId);
 }

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IFormalTeacherClassService.java

@@ -52,4 +52,6 @@ public interface IFormalTeacherClassService {
     R<Void> updateFormalTeacherClassList(FormalTeacherClassListVo formalTeacherClassListVo);
 
     TableDataInfo<FormalTeacherClassVo> selectFormalTeacherClassListNoPage(FormalTeacherClassBo bo);
+
+    List<FormalTeacherClassVo> getTeacherClass(String teacherId);
 }

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java

@@ -114,4 +114,6 @@ public interface ISysDeptService {
      * @return 结果
      */
     int deleteDeptById(Long deptId);
+
+    List<SysDeptVo> selectDeptOldList(SysDeptBo dept);
 }

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/FormalTeacherClassServiceImpl.java

@@ -148,4 +148,9 @@ public class FormalTeacherClassServiceImpl implements IFormalTeacherClassService
         List<FormalTeacherClassVo> list = baseMapper.selectVoList(lqw);
         return TableDataInfo.build(list);
     }
+
+    @Override
+    public List<FormalTeacherClassVo> getTeacherClass(String teacherId) {
+        return baseMapper.getTeacherClass(teacherId);
+    }
 }

+ 20 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.dromara.common.core.constant.CacheNames;
 import org.dromara.common.core.constant.UserConstants;
+import org.dromara.common.core.domain.model.LoginUser;
 import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.service.DeptService;
 import org.dromara.common.core.utils.MapstructUtils;
@@ -22,10 +23,12 @@ import org.dromara.system.domain.SysDept;
 import org.dromara.system.domain.SysRole;
 import org.dromara.system.domain.SysUser;
 import org.dromara.system.domain.bo.SysDeptBo;
+import org.dromara.system.domain.vo.FormalTeacherClassVo;
 import org.dromara.system.domain.vo.SysDeptVo;
 import org.dromara.system.mapper.SysDeptMapper;
 import org.dromara.system.mapper.SysRoleMapper;
 import org.dromara.system.mapper.SysUserMapper;
+import org.dromara.system.service.IFormalTeacherClassService;
 import org.dromara.system.service.ISysDeptService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.cache.annotation.CacheEvict;
@@ -49,6 +52,8 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
     private final SysRoleMapper roleMapper;
     private final SysUserMapper userMapper;
 
+    private IFormalTeacherClassService formalTeacherClassService;
+
     /**
      * 查询部门管理数据
      *
@@ -324,4 +329,19 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
         return baseMapper.deleteById(deptId);
     }
 
+    @Override
+    public List<SysDeptVo> selectDeptOldList(SysDeptBo dept) {
+        LoginUser loginUser = LoginHelper.getLoginUser();
+        if(!"admin".equals(loginUser.getUsername())){
+            dept.setTenantId(loginUser.getTenantId());
+            dept.setParentId(loginUser.getDeptId());
+            if(loginUser.getDeptId()==null || loginUser.getDeptId() == 0L){
+                List<FormalTeacherClassVo> teacherClass = formalTeacherClassService.getTeacherClass(String.valueOf(loginUser.getUserId()));
+                dept.setParentId(teacherClass.get(0).getSchoolId());
+            }
+
+        }
+        return baseMapper.selectDeptOldList(dept);
+    }
+
 }

+ 3 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -50,6 +50,9 @@
         <if test="status != null and status != ''">
             AND status = #{status}
         </if>
+        <if test="tenantId != null and tenantId != ''">
+            and tenant_id = #{tenantId}
+        </if>
         order by parent_id, order_num
     </select>