package org.jeecg.modules.system.controller; import cn.hutool.core.util.RandomUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.PermissionData; import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.PasswordUtil; import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; import org.jeecg.config.mybatis.MybatisPlusSaasConfig; import org.jeecg.modules.system.entity.*; import org.jeecg.modules.system.service.ISysTenantPackService; import org.jeecg.modules.system.service.ISysTenantService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.service.ISysUserTenantService; import org.jeecg.modules.system.vo.SysUserTenantVo; import org.jeecg.modules.system.vo.tenant.TenantDepartAuthInfo; import org.jeecg.modules.system.vo.tenant.TenantPackModel; import org.jeecg.modules.system.vo.tenant.TenantPackUser; import org.jeecg.modules.system.vo.tenant.TenantPackUserCount; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.*; /** * 租户配置信息 * @author: jeecg-boot */ @Slf4j @RestController @RequestMapping("/sys/tenant") public class SysTenantController { @Autowired private ISysTenantService sysTenantService; @Autowired private ISysUserService sysUserService; @Autowired private ISysUserTenantService relationService; @Autowired private ISysTenantPackService sysTenantPackService; /** * 获取列表数据 * @param sysTenant * @param pageNo * @param pageSize * @param req * @return */ @RequiresPermissions("system:tenant:list") @PermissionData(pageComponent = "system/TenantList") @RequestMapping(value = "/list", method = RequestMethod.GET) public Result> queryPageList(SysTenant sysTenant,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) { Result> result = new Result>(); //---author:zhangyafei---date:20210916-----for: 租户管理添加日期范围查询--- Date beginDate=null; Date endDate=null; if(oConvertUtils.isNotEmpty(sysTenant)) { beginDate=sysTenant.getBeginDate(); endDate=sysTenant.getEndDate(); sysTenant.setBeginDate(null); sysTenant.setEndDate(null); } //---author:zhangyafei---date:20210916-----for: 租户管理添加日期范围查询--- QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysTenant, req.getParameterMap()); //---author:zhangyafei---date:20210916-----for: 租户管理添加日期范围查询--- if(oConvertUtils.isNotEmpty(sysTenant)){ queryWrapper.ge(oConvertUtils.isNotEmpty(beginDate),"begin_date",beginDate); queryWrapper.le(oConvertUtils.isNotEmpty(endDate),"end_date",endDate); } //---author:zhangyafei---date:20210916-----for: 租户管理添加日期范围查询--- Page page = new Page(pageNo, pageSize); IPage pageList = sysTenantService.page(page, queryWrapper); result.setSuccess(true); result.setResult(pageList); return result; } /** * 获取租户删除的列表 * @param sysTenant * @param pageNo * @param pageSize * @param req * @return */ @GetMapping("/recycleBinPageList") @RequiresPermissions("system:tenant:recycleBinPageList") public Result> recycleBinPageList(SysTenant sysTenant,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req){ Result> result = new Result>(); Page page = new Page(pageNo, pageSize); IPage pageList = sysTenantService.getRecycleBinPageList(page, sysTenant); result.setSuccess(true); result.setResult(pageList); return result; } /** * 添加 * @param * @return */ @RequiresPermissions("system:tenant:add") @RequestMapping(value = "/add", method = RequestMethod.POST) public Result add(@RequestBody SysTenant sysTenant) { Result result = new Result(); if(sysTenantService.getById(sysTenant.getId())!=null){ return result.error500("该编号已存在!"); } try { sysTenantService.saveTenant(sysTenant); result.success("添加成功!"); } catch (Exception e) { log.error(e.getMessage(), e); result.error500("操作失败"); } return result; } /** * 编辑 * @param * @return */ @RequiresPermissions("system:tenant:edit") @RequestMapping(value = "/edit", method ={RequestMethod.PUT, RequestMethod.POST}) public Result edit(@RequestBody SysTenant tenant) { Result result = new Result(); SysTenant sysTenant = sysTenantService.getById(tenant.getId()); if(sysTenant==null) { return result.error500("未找到对应实体"); } if(oConvertUtils.isEmpty(sysTenant.getHouseNumber())){ tenant.setHouseNumber(RandomUtil.randomStringUpper(6)); } boolean ok = sysTenantService.updateById(tenant); if(ok) { result.success("修改成功!"); } return result; } /** * 通过id删除 * @param id * @return */ @RequiresPermissions("system:tenant:delete") @RequestMapping(value = "/delete", method ={RequestMethod.DELETE, RequestMethod.POST}) public Result delete(@RequestParam(name="id",required=true) String id) { sysTenantService.removeTenantById(id); return Result.ok("删除成功"); } /** * 批量删除 * @param ids * @return */ @RequiresPermissions("system:tenant:deleteBatch") @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { Result result = new Result<>(); if(oConvertUtils.isEmpty(ids)) { result.error500("未选中租户!"); }else { String[] ls = ids.split(","); // 过滤掉已被引用的租户 List idList = new ArrayList<>(); for (String id : ls) { Long userCount = sysTenantService.countUserLinkTenant(id); if (userCount == 0) { idList.add(Integer.parseInt(id)); } } if (idList.size() > 0) { sysTenantService.removeByIds(idList); if (ls.length == idList.size()) { result.success("删除成功!"); } else { result.success("部分删除成功!(被引用的租户无法删除)"); } }else { result.error500("选择的租户都已被引用,无法删除!"); } } return result; } /** * 通过id查询 * @param id * @return */ @RequestMapping(value = "/queryById", method = RequestMethod.GET) public Result queryById(@RequestParam(name="id",required=true) String id) { Result result = new Result(); if(oConvertUtils.isEmpty(id)){ result.error500("参数为空!"); } //------------------------------------------------------------------------------------------------ //是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】 if(MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL){ Integer loginSessionTenant = oConvertUtils.getInt(TenantContext.getTenant()); if(loginSessionTenant!=null && !loginSessionTenant.equals(Integer.valueOf(id))){ result.error500("无权限访问他人租户!"); return result; } } //------------------------------------------------------------------------------------------------ SysTenant sysTenant = sysTenantService.getById(id); if(sysTenant==null) { result.error500("未找到对应实体"); }else { result.setResult(sysTenant); result.setSuccess(true); } return result; } /** * 查询有效的 租户数据 * @return */ @RequiresPermissions("system:tenant:queryList") @RequestMapping(value = "/queryList", method = RequestMethod.GET) public Result> queryList(@RequestParam(name="ids",required=false) String ids) { Result> result = new Result>(); LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(SysTenant::getStatus, 1); if(oConvertUtils.isNotEmpty(ids)){ query.in(SysTenant::getId, ids.split(",")); } //此处查询忽略时间条件 List ls = sysTenantService.list(query); result.setSuccess(true); result.setResult(ls); return result; } /** * 产品包分页列表查询 * * @param sysTenantPack * @param pageNo * @param pageSize * @param req * @return */ @GetMapping(value = "/packList") @RequiresPermissions("system:tenant:packList") public Result> queryPackPageList(SysTenantPack sysTenantPack, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysTenantPack, req.getParameterMap()); Page page = new Page(pageNo, pageSize); IPage pageList = sysTenantPackService.page(page, queryWrapper); List records = pageList.getRecords(); if (null != records && records.size() > 0) { pageList.setRecords(sysTenantPackService.setPermissions(records)); } return Result.OK(pageList); } /** * 创建租户产品包 * * @param sysTenantPack * @return */ @PostMapping(value = "/addPackPermission") @RequiresPermissions("system:tenant:add:pack") public Result addPackPermission(@RequestBody SysTenantPack sysTenantPack) { sysTenantPackService.addPackPermission(sysTenantPack); return Result.ok("创建租户产品包成功"); } /** * 创建租户产品包 * * @param sysTenantPack * @return */ @PutMapping(value = "/editPackPermission") @RequiresPermissions("system:tenant:edit:pack") public Result editPackPermission(@RequestBody SysTenantPack sysTenantPack) { sysTenantPackService.editPackPermission(sysTenantPack); return Result.ok("修改租户产品包成功"); } /** * 批量删除用户菜单 * * @param ids * @return */ @DeleteMapping("/deletePackPermissions") @RequiresPermissions("system:tenant:delete:pack") public Result deletePackPermissions(@RequestParam(value = "ids") String ids) { sysTenantPackService.deletePackPermissions(ids); return Result.ok("删除租户产品包成功"); } //===========【低代码应用,前端专用接口 —— 加入限制只能维护和查看自己拥有的租户】========================================================== /** * 查询当前用户的所有有效租户【低代码应用专用接口】 * @return */ @RequestMapping(value = "/getCurrentUserTenant", method = RequestMethod.GET) public Result> getCurrentUserTenant() { Result> result = new Result>(); try { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //update-begin---author:wangshuai ---date:20221223 for:[QQYUN-3371]租户逻辑改造,改成关系表------------ List tenantIdList = relationService.getTenantIdsByUserId(sysUser.getId()); Map map = new HashMap(5); if (null!=tenantIdList && tenantIdList.size()>0) { //update-end---author:wangshuai ---date:20221223 for:[QQYUN-3371]租户逻辑改造,改成关系表------------ // 该方法仅查询有效的租户,如果返回0个就说明所有的租户均无效。 List tenantList = sysTenantService.queryEffectiveTenant(tenantIdList); map.put("list", tenantList); } result.setSuccess(true); result.setResult(map); }catch(Exception e) { log.error(e.getMessage(), e); result.error500("查询失败!"); } return result; } /** * 邀请用户【低代码应用专用接口】 * @param ids * @param userIds * @return */ @PutMapping("/invitationUserJoin") @RequiresPermissions("system:tenant:invitation:user") public Result invitationUserJoin(@RequestParam("ids") String ids,@RequestParam("userIds") String userIds){ sysTenantService.invitationUserJoin(ids,userIds); return Result.ok("邀请用户成功"); } /** * 获取用户列表数据【低代码应用专用接口】 * @param user * @param pageNo * @param pageSize * @param req * @return */ @RequestMapping(value = "/getTenantUserList", method = RequestMethod.GET) @RequiresPermissions("system:tenant:user:list") public Result> getTenantUserList(SysUser user, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="userTenantId") String userTenantId, HttpServletRequest req) { Result> result = new Result<>(); Page page = new Page<>(pageNo, pageSize); Page pageList = relationService.getPageUserList(page,Integer.valueOf(userTenantId),user); result.setSuccess(true); result.setResult(pageList); return result; } /** * 请离用户租户【低代码应用专用接口】 * @param userIds * @param tenantId * @return */ @PutMapping("/leaveTenant") @RequiresPermissions("system:tenant:leave") public Result leaveTenant(@RequestParam("userIds") String userIds, @RequestParam("tenantId") String tenantId){ Result result = new Result<>(); //是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】 if(MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL){ Integer loginSessionTenant = oConvertUtils.getInt(TenantContext.getTenant()); if(loginSessionTenant!=null && !loginSessionTenant.equals(Integer.valueOf(tenantId))){ result.error500("无权限访问他人租户!"); return result; } } sysTenantService.leaveTenant(userIds,tenantId); return Result.ok("请离成功"); } /** * 编辑(只允许修改自己拥有的租户)【低代码应用专用接口】 * @param * @return */ @RequestMapping(value = "/editOwnTenant", method ={RequestMethod.PUT, RequestMethod.POST}) public Result editOwnTenant(@RequestBody SysTenant tenant,HttpServletRequest req) { Result result = new Result(); String tenantId = TokenUtils.getTenantIdByRequest(req); if(!tenantId.equals(tenant.getId().toString())){ return result.error500("无权修改他人租户!"); } SysTenant sysTenant = sysTenantService.getById(tenant.getId()); if(sysTenant==null) { return result.error500("未找到对应实体"); } if(oConvertUtils.isEmpty(sysTenant.getHouseNumber())){ tenant.setHouseNumber(RandomUtil.randomStringUpper(6)); } boolean ok = sysTenantService.updateById(tenant); if(ok) { result.success("修改成功!"); } return result; } /** * 创建租户并且将用户保存到中间表【低代码应用专用接口】 * @param sysTenant */ @PostMapping("/saveTenantJoinUser") public Result saveTenantJoinUser(@RequestBody SysTenant sysTenant){ Result result = new Result<>(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //------------------------------------------------------------------------------------------------ //是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】 if(MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL){ //---author:scott---date:20220111-----for: 限制免费用户只能创建两个租户-- Integer count = sysTenantService.countCreateTenantNum(sysUser.getUsername()); if (count > 2) { Set roles = sysUserService.getUserRolesSet(sysUser.getUsername()); //创建一个付费角色 paymember if (roles==null || (!roles.contains("paymember") && !roles.contains("admin"))) { return result.error500("免费用户最多创建两个租户!"); } } //---author:scott---date:20220111-----for: 限制免费用户只能创建两个租户-- } //------------------------------------------------------------------------------------------------ Integer tenantId = sysTenantService.saveTenantJoinUser(sysTenant, sysUser.getId()); result.setSuccess(true); result.setMessage("创建成功"); result.setResult(tenantId); return result; } /** * 加入租户通过门牌号【低代码应用专用接口】 * @param sysTenant */ @PostMapping("/joinTenantByHouseNumber") public Result joinTenantByHouseNumber(@RequestBody SysTenant sysTenant){ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); Integer tenantId = sysTenantService.joinTenantByHouseNumber(sysTenant, sysUser.getId()); Result result = new Result<>(); if(tenantId != 0){ result.setMessage("申请租户成功"); result.setSuccess(true); result.setResult(tenantId); return result; }else{ result.setMessage("该门牌号不存在"); result.setSuccess(false); return result; } } //update-begin---author:wangshuai ---date:20230107 for:[QQYUN-3725]申请加入租户,审核中状态增加接口------------ /** * 分页获取租户用户数据(vue3用户租户页面)【低代码应用专用接口】 * * @param pageNo * @param pageSize * @param userTenantStatus * @param type * @param req * @return */ @GetMapping("/getUserTenantPageList") //@RequiresPermissions("system:tenant:tenantPageList") public Result> getUserTenantPageList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "userTenantStatus") String userTenantStatus, @RequestParam(name = "type", required = false) String type, SysUser user, HttpServletRequest req) { Page page = new Page(pageNo, pageSize); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String tenantId = oConvertUtils.getString(TenantContext.getTenant(), "0"); IPage list = relationService.getUserTenantPageList(page, Arrays.asList(userTenantStatus.split(SymbolConstant.COMMA)), user, Integer.valueOf(tenantId)); return Result.ok(list); } /** * 通过用户id获取租户列表【低代码应用专用接口】 * * @param userTenantStatus 关系表的状态 * @return */ @GetMapping("/getTenantListByUserId") //@RequiresPermissions("system:tenant:getTenantListByUserId") public Result> getTenantListByUserId(@RequestParam(name = "userTenantStatus", required = false) String userTenantStatus) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); List list = null; if (oConvertUtils.isNotEmpty(userTenantStatus)) { list = Arrays.asList(userTenantStatus.split(SymbolConstant.COMMA)); } //租户状态,用户id,租户用户关系状态 List sysTenant = relationService.getTenantListByUserId(sysUser.getId(), list); return Result.ok(sysTenant); } /** * 更新用户租户关系状态【低代码应用专用接口】 */ @PutMapping("/updateUserTenantStatus") //@RequiresPermissions("system:tenant:updateUserTenantStatus") public Result updateUserTenantStatus(@RequestBody SysUserTenant userTenant) { String tenantId = TenantContext.getTenant(); if (oConvertUtils.isEmpty(tenantId)) { return Result.error("未找到当前租户信息"); } relationService.updateUserTenantStatus(userTenant.getUserId(), tenantId, userTenant.getStatus()); return Result.ok("更新用户租户状态成功"); } /** * 注销租户【低代码应用专用接口】 * * @param sysTenant * @return */ @PutMapping("/cancelTenant") //@RequiresPermissions("system:tenant:cancelTenant") public Result cancelTenant(@RequestBody SysTenant sysTenant,HttpServletRequest request) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); SysTenant tenant = sysTenantService.getById(sysTenant.getId()); if (null == tenant) { return Result.error("未找到当前租户信息"); } if (!sysUser.getUsername().equals(tenant.getCreateBy())) { return Result.error("没有权限"); } SysUser userById = sysUserService.getById(sysUser.getId()); String loginPassword = request.getParameter("loginPassword"); String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(),loginPassword, userById.getSalt()); if (!passwordEncode.equals(userById.getPassword())) { return Result.error("密码不正确"); } sysTenantService.removeById(sysTenant.getId()); return Result.ok("注销成功"); } //update-end---author:wangshuai ---date:20230107 for:[QQYUN-3725]申请加入租户,审核中状态增加接口------------ /** * 获取租户用户不同状态下的数量【低代码应用专用接口】 * @return */ @GetMapping("/getTenantStatusCount") public Result getTenantStatusCount(@RequestParam(value = "status",defaultValue = "1") String status, HttpServletRequest req){ String tenantId = TokenUtils.getTenantIdByRequest(req); if (null == tenantId) { return Result.error("未找到当前租户信息"); } LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(SysUserTenant::getTenantId,tenantId); query.eq(SysUserTenant::getStatus,status); long count = relationService.count(query); return Result.ok(count); } /** * 用户取消租户申请【低代码应用专用接口】 * @param tenantId * @return */ @PutMapping("/cancelApplyTenant") public Result cancelApplyTenant(@RequestParam("tenantId") String tenantId){ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); sysTenantService.leaveTenant(sysUser.getId(),tenantId); return Result.ok("取消申请成功"); } //===========【低代码应用,前端专用接口 —— 加入限制只能维护和查看自己拥有的租户】========================================================== /** * 彻底删除租户 * @param ids * @return */ @DeleteMapping("/deleteLogicDeleted") @RequiresPermissions("system:tenant:deleteTenantLogic") public Result deleteTenantLogic(@RequestParam("ids") String ids){ sysTenantService.deleteTenantLogic(ids); return Result.ok("彻底删除成功"); } /** * 还原删除的租户 * @param ids * @return */ @PutMapping("/revertTenantLogic") @RequiresPermissions("system:tenant:revertTenantLogic") public Result revertTenantLogic(@RequestParam("ids") String ids){ sysTenantService.revertTenantLogic(ids); return Result.ok("还原成功"); } /** * 退出租户【低代码应用专用接口】 * @param sysTenant * @param request * @return */ @DeleteMapping("/exitUserTenant") public Result exitUserTenant(@RequestBody SysTenant sysTenant,HttpServletRequest request){ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //验证用户是否已存在 Integer count = relationService.userTenantIzExist(sysUser.getId(),sysTenant.getId()); if (count == 0) { return Result.error("此租户下没有当前用户"); } //验证密码 String loginPassword = request.getParameter("loginPassword"); SysUser userById = sysUserService.getById(sysUser.getId()); String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(),loginPassword, userById.getSalt()); if (!passwordEncode.equals(userById.getPassword())) { return Result.error("密码不正确"); } //退出登录 sysTenantService.exitUserTenant(sysUser.getId(),sysUser.getUsername(),String.valueOf(sysTenant.getId())); return Result.ok("退出租户成功"); } /** * 变更租户拥有者【低代码应用专用接口】 * @param userId * @return */ @PostMapping("/changeOwenUserTenant") public Result changeOwenUserTenant(@RequestParam("userId") String userId){ sysTenantService.changeOwenUserTenant(userId); return Result.ok("退出租户成功"); } /** * 邀请用户到租户,通过手机号匹配 【低代码应用专用接口】 * @param phone * @return */ @PostMapping("/invitationUser") public Result invitationUser(@RequestParam(name="phone") String phone){ return sysTenantService.invitationUser(phone); } /** * 获取 租户产品包-3个默认admin的人员数量 * @param tenantId * @return */ @GetMapping("/loadAdminPackCount") public Result> loadAdminPackCount(@RequestParam("tenantId") Integer tenantId){ List list = sysTenantService.queryTenantPackUserCount(tenantId); return Result.ok(list); } /** * 查询租户产品包信息 * @param packModel * @return */ @GetMapping("/getTenantPackInfo") public Result getTenantPackInfo(TenantPackModel packModel){ TenantPackModel tenantPackModel = sysTenantService.queryTenantPack(packModel); return Result.ok(tenantPackModel); } /** * 添加用户和产品包的关系数据 * @param sysTenantPackUser * @return */ @PostMapping("/addTenantPackUser") public Result addTenantPackUser(@RequestBody SysTenantPackUser sysTenantPackUser){ sysTenantService.addBatchTenantPackUser(sysTenantPackUser); return Result.ok("操作成功!"); } /** * 从产品包移除用户 * @param sysTenantPackUser * @return */ @PutMapping("/deleteTenantPackUser") public Result deleteTenantPackUser(@RequestBody SysTenantPackUser sysTenantPackUser){ sysTenantService.deleteTenantPackUser(sysTenantPackUser); return Result.ok("操作成功!"); } /** * 修改申请状态 * @param sysTenant * @return */ @PutMapping("/updateApplyStatus") public Result updateApplyStatus(@RequestBody SysTenant sysTenant){ SysTenant entity = this.sysTenantService.getById(sysTenant.getId()); if(entity==null){ return Result.error("租户不存在!"); } entity.setApplyStatus(sysTenant.getApplyStatus()); sysTenantService.updateById(entity); return Result.ok(""); } /** * 获取产品包人员申请列表 * @param tenantId * @return */ @GetMapping("/getTenantPackApplyUsers") public Result getTenantPackApplyUsers(@RequestParam("tenantId") Integer tenantId){ List list = sysTenantService.getTenantPackApplyUsers(tenantId); return Result.ok(list); } /** * 个人 申请成为管理员 * @param sysTenantPackUser * @return */ @PostMapping("/doApplyTenantPackUser") public Result doApplyTenantPackUser(@RequestBody SysTenantPackUser sysTenantPackUser){ sysTenantService.doApplyTenantPackUser(sysTenantPackUser); return Result.ok("申请成功!"); } /** * 申请通过 成为管理员 * @param sysTenantPackUser * @return */ @PutMapping("/passApply") public Result passApply(@RequestBody SysTenantPackUser sysTenantPackUser){ sysTenantService.passApply(sysTenantPackUser); return Result.ok("操作成功!"); } /** * 拒绝申请 成为管理员 * @param sysTenantPackUser * @return */ @PutMapping("/deleteApply") public Result deleteApply(@RequestBody SysTenantPackUser sysTenantPackUser){ sysTenantService.deleteApply(sysTenantPackUser); return Result.ok(""); } /** * 进入应用组织页面 查询租户信息及当前用户是否有 管理员的权限-- * @param id * @return */ @RequestMapping(value = "/queryTenantAuthInfo", method = RequestMethod.GET) public Result queryTenantAuthInfo(@RequestParam(name="id",required=true) String id) { TenantDepartAuthInfo info = sysTenantService.getTenantDepartAuthInfo(Integer.parseInt(id)); return Result.ok(info); } /** * 获取所有租户列表 */ @GetMapping("/listAll") public Result> listAll(){ List list = sysTenantService.listAllTenant(); return Result.OK(list); } }