Browse Source

功能修改

LIVE_YE 1 year ago
parent
commit
09a5fc130a

+ 47 - 0
ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java

@@ -13,11 +13,13 @@ import me.zhyd.oauth.utils.AuthStateUtils;
 import org.dromara.common.core.domain.AjaxResult;
 import org.dromara.common.core.domain.AjaxResult;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.domain.model.LoginBody;
 import org.dromara.common.core.domain.model.LoginBody;
+import org.dromara.common.core.domain.model.LoginUser;
 import org.dromara.common.core.domain.model.RegisterBody;
 import org.dromara.common.core.domain.model.RegisterBody;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.MessageUtils;
 import org.dromara.common.core.utils.MessageUtils;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.common.social.config.properties.SocialLoginConfigProperties;
 import org.dromara.common.social.config.properties.SocialLoginConfigProperties;
 import org.dromara.common.social.config.properties.SocialProperties;
 import org.dromara.common.social.config.properties.SocialProperties;
 import org.dromara.common.social.utils.SocialUtils;
 import org.dromara.common.social.utils.SocialUtils;
@@ -27,7 +29,12 @@ import org.dromara.system.domain.SysClient;
 import org.dromara.system.domain.bo.SysTenantBo;
 import org.dromara.system.domain.bo.SysTenantBo;
 import org.dromara.system.domain.school.bo.SysSchoolNameBo;
 import org.dromara.system.domain.school.bo.SysSchoolNameBo;
 import org.dromara.system.domain.school.vo.SysSchoolNameVo;
 import org.dromara.system.domain.school.vo.SysSchoolNameVo;
+import org.dromara.system.domain.vo.FormalParentsStudentVo;
+import org.dromara.system.domain.vo.SysRoleVo;
 import org.dromara.system.domain.vo.SysTenantVo;
 import org.dromara.system.domain.vo.SysTenantVo;
+import org.dromara.system.domain.vo.SysUserVo;
+import org.dromara.system.mapper.FormalParentsStudentMapper;
+import org.dromara.system.mapper.SysUserMapper;
 import org.dromara.system.service.ISysClientService;
 import org.dromara.system.service.ISysClientService;
 import org.dromara.system.service.ISysConfigService;
 import org.dromara.system.service.ISysConfigService;
 import org.dromara.system.service.ISysSocialService;
 import org.dromara.system.service.ISysSocialService;
@@ -43,8 +50,10 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import java.net.URL;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -68,6 +77,8 @@ public class AuthController {
     private final ISysSocialService socialUserService;
     private final ISysSocialService socialUserService;
     private final ISysClientService clientService;
     private final ISysClientService clientService;
     private final ISysSchoolNameService sysSchoolNameService;
     private final ISysSchoolNameService sysSchoolNameService;
+    private final SysUserMapper sysUserMapper;
+    private final FormalParentsStudentMapper formalParentsStudentMapper;
 
 
 
 
     /**
     /**
@@ -219,6 +230,42 @@ public class AuthController {
     }
     }
 
 
 
 
+    /**
+     * 返回家长所在班级
+     *
+     * @return 租户列表
+     */
+    @GetMapping("/parents/tenant/list")
+    public R<LoginTenantVo> parentsTenantList(HttpServletRequest request) throws Exception {
+        //查询账号的租户id
+        LoginUser user = LoginHelper.getLoginUser();
+        List<SysUserVo> userList = sysUserMapper.selectUserListByUserName(user.getUsername());
+        List<String> tList = new ArrayList<>();
+        for (SysUserVo sysUserVo : userList) {
+            boolean bl = false;
+            for (SysRoleVo role : sysUserVo.getRoles()) {
+                if("parents".equals(role.getRoleKey())){
+                    bl = true ;
+                    break;
+                }
+            }
+            if(bl){
+                tList.add(sysUserVo.getTenantId());
+            }
+
+        }
+        SysTenantBo tenantBo = new SysTenantBo();
+        tenantBo.setTenantList(tList);
+        List<SysTenantVo> tenantList = tenantService.queryList(tenantBo);
+        List<TenantListVo> voList = MapstructUtils.convert(tenantList, TenantListVo.class);
+        // 返回对象
+        LoginTenantVo vo = new LoginTenantVo();
+        vo.setVoList(voList);
+        vo.setTenantEnabled(TenantHelper.isEnable());
+        return R.ok(vo);
+    }
+
+
     /**
     /**
      * 注册页获取学校下拉框
      * 注册页获取学校下拉框
      *
      *

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -14,7 +14,7 @@ captcha:
 # 开发环境配置
 # 开发环境配置
 server:
 server:
   # 服务器的HTTP端口,默认为8080
   # 服务器的HTTP端口,默认为8080
-  port: 8030
+  port: 8080
   servlet:
   servlet:
     # 应用的访问路径
     # 应用的访问路径
     context-path: /
     context-path: /

+ 7 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantController.java

@@ -3,6 +3,7 @@ package org.dromara.system.controller.system;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.annotation.SaCheckRole;
 import cn.dev33.satoken.annotation.SaCheckRole;
 import com.baomidou.lock.annotation.Lock4j;
 import com.baomidou.lock.annotation.Lock4j;
+import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotBlank;
@@ -11,6 +12,8 @@ import jakarta.validation.constraints.NotNull;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.constant.TenantConstants;
 import org.dromara.common.core.constant.TenantConstants;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.domain.R;
+import org.dromara.common.core.domain.model.LoginUser;
+import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.validate.AddGroup;
 import org.dromara.common.core.validate.AddGroup;
 import org.dromara.common.core.validate.EditGroup;
 import org.dromara.common.core.validate.EditGroup;
 import org.dromara.common.excel.utils.ExcelUtil;
 import org.dromara.common.excel.utils.ExcelUtil;
@@ -19,10 +22,12 @@ import org.dromara.common.log.annotation.Log;
 import org.dromara.common.log.enums.BusinessType;
 import org.dromara.common.log.enums.BusinessType;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.common.web.core.BaseController;
 import org.dromara.common.web.core.BaseController;
 import org.dromara.system.domain.bo.SysTenantBo;
 import org.dromara.system.domain.bo.SysTenantBo;
 import org.dromara.system.domain.vo.SysTenantVo;
 import org.dromara.system.domain.vo.SysTenantVo;
+import org.dromara.system.domain.vo.SysUserVo;
 import org.dromara.system.service.ISysTenantService;
 import org.dromara.system.service.ISysTenantService;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -35,6 +40,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * 租户管理
  * 租户管理
@@ -147,7 +153,7 @@ public class SysTenantController extends BaseController {
      *
      *
      * @param tenantId 租户ID
      * @param tenantId 租户ID
      */
      */
-    @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
+    //@SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
     @GetMapping("/dynamic/{tenantId}")
     @GetMapping("/dynamic/{tenantId}")
     public R<Void> dynamicTenant(@NotBlank(message = "租户ID不能为空") @PathVariable String tenantId) {
     public R<Void> dynamicTenant(@NotBlank(message = "租户ID不能为空") @PathVariable String tenantId) {
         TenantHelper.setDynamic(tenantId);
         TenantHelper.setDynamic(tenantId);

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java

@@ -125,7 +125,7 @@ public class SysUserController extends BaseController {
             TenantHelper.clearDynamic();
             TenantHelper.clearDynamic();
         }
         }
 
 
-        SysUserVo user = userService.selectUserById(loginUser.getUserId());
+        SysUserVo user = userService.selectUserByUserName(loginUser.getUsername());
         SysDeptVo dept = new SysDeptVo();
         SysDeptVo dept = new SysDeptVo();
         dept.setDeptId(loginUser.getDeptId());
         dept.setDeptId(loginUser.getDeptId());
         dept.setDeptName(loginUser.getDeptName());
         dept.setDeptName(loginUser.getDeptName());

+ 6 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java

@@ -1,5 +1,6 @@
 package org.dromara.system.domain.bo;
 package org.dromara.system.domain.bo;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import org.dromara.common.core.validate.AddGroup;
 import org.dromara.common.core.validate.AddGroup;
 import org.dromara.common.core.validate.EditGroup;
 import org.dromara.common.core.validate.EditGroup;
 import org.dromara.system.domain.SysTenant;
 import org.dromara.system.domain.SysTenant;
@@ -9,6 +10,7 @@ import lombok.EqualsAndHashCode;
 import jakarta.validation.constraints.*;
 import jakarta.validation.constraints.*;
 
 
 import java.util.Date;
 import java.util.Date;
+import java.util.List;
 
 
 import org.dromara.common.mybatis.core.domain.BaseEntity;
 import org.dromara.common.mybatis.core.domain.BaseEntity;
 
 
@@ -111,4 +113,8 @@ public class SysTenantBo extends BaseEntity {
     private String status;
     private String status;
 
 
 
 
+    @TableField(exist = false)
+    private List<String> tenantList;
+
+
 }
 }

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

@@ -66,7 +66,7 @@ public interface FormalParentsStudentMapper extends BaseMapperPlus<FormalParents
     void deleteFormalParentsStudentByParentsId(Long userId);
     void deleteFormalParentsStudentByParentsId(Long userId);
 
 
     @InterceptorIgnore(tenantLine = "true")
     @InterceptorIgnore(tenantLine = "true")
-    List<FormalParentsStudentVo> getStudentByParentId(String valueOf);
+    List<FormalParentsStudentVo> getStudentByParentId(@Param("parentsId") String valueOf);
 
 
     @InterceptorIgnore(tenantLine = "true")
     @InterceptorIgnore(tenantLine = "true")
     void updateIsDelByStudent(@Param("userId") Long userId, @Param("classId")Long classId, @Param("studentName")String studentName);
     void updateIsDelByStudent(@Param("userId") Long userId, @Param("classId")Long classId, @Param("studentName")String studentName);

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java

@@ -143,4 +143,9 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
     })
     })
     int updateById(@Param(Constants.ENTITY) SysUser user);
     int updateById(@Param(Constants.ENTITY) SysUser user);
 
 
+    @InterceptorIgnore(tenantLine = "1")
+    SysUserVo selectUserMapperById(Long userId);
+
+    @InterceptorIgnore(tenantLine = "1")
+    List<SysUserVo> selectUserListByUserName(String username);
 }
 }

+ 1 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java

@@ -103,6 +103,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
         lqw.eq(bo.getExpireTime() != null, SysTenant::getExpireTime, bo.getExpireTime());
         lqw.eq(bo.getExpireTime() != null, SysTenant::getExpireTime, bo.getExpireTime());
         lqw.eq(bo.getAccountCount() != null, SysTenant::getAccountCount, bo.getAccountCount());
         lqw.eq(bo.getAccountCount() != null, SysTenant::getAccountCount, bo.getAccountCount());
         lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysTenant::getStatus, bo.getStatus());
         lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysTenant::getStatus, bo.getStatus());
+        lqw.in(bo.getTenantList()!=null && bo.getTenantList().size()>0,SysTenant::getTenantId,bo.getTenantList());
         return lqw;
         return lqw;
     }
     }
 
 

+ 9 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -138,5 +138,14 @@
         where u.del_flag = '0' and u.user_id = #{userId}
         where u.del_flag = '0' and u.user_id = #{userId}
     </select>
     </select>
 
 
+    <select id="selectUserMapperById" parameterType="Long" resultMap="SysUserResult">
+        <include refid="selectUserVo"/>
+        where u.del_flag = '0' and u.user_id = #{userId}
+    </select>
+    <select id="selectUserListByUserName" resultMap="SysUserResult">
+        <include refid="selectUserVo"/>
+        where u.del_flag = '0' and u.user_name = #{userName}
+    </select>
+
 
 
 </mapper>
 </mapper>