diff --git a/src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java b/src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java index 81f9d6d..5f5f363 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java @@ -2,9 +2,10 @@ package com.yxt.portal.apiadmin; import com.yxt.portal.biz.sysmenu.*; //import com.yxt.user.biz.sysmenurole.SysMenuRoleQuery; -import com.yxt.portal.biz.sysmenurole.SysMenuRoleQuery; -import com.yxt.portal.biz.sysmenurole.SysMenuRoleService; + import com.yxt.portal.biz.sysrole.SysRole; +import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeQuery; +import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeService; import com.yxt.portal.biz.syssource.SysSource; import com.yxt.portal.biz.syssource.SysSourceVo; //import com.yxt.user.biz.syssourcemenu.SysSourceMenu; @@ -58,11 +59,11 @@ public class SysMenuRest { @Autowired private SysUserRoleService sysUserRoleService; @Autowired - private SysMenuRoleService sysMenuRoleService; - @Autowired private SysUserService sysUserService; @Autowired private SysRoleService sysRoleService; + @Autowired + SysRoleAuthorizeService sysRoleAuthorizeService; @ApiOperation("根据条件分页查询数据的列表") @@ -129,46 +130,46 @@ public class SysMenuRest { } } - @ApiOperation("根据用户sid查询所有数据列表 ") - @PostMapping("/sourceMenuTreeByUserSid") - public ResultBean>> sourceMenuTreeByUserSid(@RequestBody SysMenuQuery query) { - ResultBean>> rb = ResultBean.fireFail(); - SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery(); - List> list = new ArrayList<>(); - if (null == query) - return rb.setData(list); - - //if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表 - List userRole = sysUserRoleService.selectByUserSid(query.getUserSid()); - List roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList()); - for (String roleSid : roleSids) { - SysRole sysRole = sysRoleService.fetchBySid(roleSid); - if(sysRole == null){ - continue; - } - Integer type = sysRoleService.fetchBySid(roleSid).getType(); - if (type == 1){ - orgRoleMenuQuery.setIsAdmin("1"); - }else { - orgRoleMenuQuery.setIsAdmin("0"); - } - } - orgRoleMenuQuery.setRoleSids(roleSids); - orgRoleMenuQuery.setSourceSid(query.getSourceSid()); - list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null); - return rb.success().setData(list); - } +// @ApiOperation("根据用户sid查询所有数据列表 ") +// @PostMapping("/sourceMenuTreeByUserSid") +// public ResultBean>> sourceMenuTreeByUserSid(@RequestBody SysMenuQuery query) { +// ResultBean>> rb = ResultBean.fireFail(); +// SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery(); +// List> list = new ArrayList<>(); +// if (null == query) +// return rb.setData(list); +// +// //if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表 +// List userRole = sysUserRoleService.selectByUserSid(query.getUserSid(),"",""); +// List roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList()); +// for (String roleSid : roleSids) { +// SysRole sysRole = sysRoleService.fetchBySid(roleSid); +// if(sysRole == null){ +// continue; +// } +// Integer type = sysRoleService.fetchBySid(roleSid).getType(); +// if (type == 1){ +// orgRoleMenuQuery.setIsAdmin("1"); +// }else { +// orgRoleMenuQuery.setIsAdmin("0"); +// } +// } +// orgRoleMenuQuery.setRoleSids(roleSids); +// orgRoleMenuQuery.setSourceSid(query.getSourceSid()); +// list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null); +// return rb.success().setData(list); +// } @ApiOperation("根据资源sid查询所有数据列表 ") @PostMapping("/sourcemenutree") public ResultBean>> sourcemenutree(@RequestBody SysMenuQuery query) { ResultBean>> rb = ResultBean.fireFail(); -// SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery(); + SysRoleAuthorizeQuery sysRoleAuthorizeQuery = new SysRoleAuthorizeQuery(); List> list = new ArrayList<>(); if (null == query) return rb.setData(list); - //if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表 - List userRole = sysUserRoleService.selectByUserSid(query.getUserSid()); + //根据用户和资源查询 这个资源下的菜单 + List userRole = sysUserRoleService.selectByUserSid(query.getUserSid(), query.getOrgSid(),query.getSourceSid()); List roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList()); for (String roleSid : roleSids) { SysRole sysRole = sysRoleService.fetchBySid(roleSid); @@ -177,14 +178,14 @@ public class SysMenuRest { } Integer type = sysRoleService.fetchBySid(roleSid).getType(); if (type == 1){ -// orgRoleMenuQuery.setIsAdmin("1"); + sysRoleAuthorizeQuery.setIsAdmin("1"); }else { -// orgRoleMenuQuery.setIsAdmin("0"); + sysRoleAuthorizeQuery.setIsAdmin("0"); } } -// orgRoleMenuQuery.setRoleSids(roleSids); -// orgRoleMenuQuery.setSourceSid(query.getSourceSid()); -// list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null); + sysRoleAuthorizeQuery.setRoleSids(roleSids); + sysRoleAuthorizeQuery.setSourceSid(query.getSourceSid()); + list = sysRoleAuthorizeService.getSourceMenuTreeOfRoles(sysRoleAuthorizeQuery, null); return rb.success().setData(list); } @@ -228,6 +229,7 @@ public class SysMenuRest { if (sysSource == null) { return rb.setMsg("资源不存在"); } + dto.setMenuType("0"); sysMenuService.saveMenu(dto); return rb.success(); } @@ -242,15 +244,8 @@ public class SysMenuRest { return rb.setMsg("菜单不存在"); } String sourceSid = dto.getSourceSid(); -// SysSourceMenuVo vo = sysSourceMenuService.fetchByMenuSid(sid); -// if (!sourceSid.equals(vo.getSourceSid())) { -// sysSourceMenuService.delByMenuSid(sid); -// SysSourceMenu sysSourceMenu = new SysSourceMenu(); -// sysSourceMenu.setMenuSid(sid); -// sysSourceMenu.setSourceSid(dto.getSourceSid()); -// sysSourceMenu.setMenuRootSid(vo.getMenuRootSid()); -// sysSourceMenuService.save(sysSourceMenu); -// } + + dto.setMenuType("0"); sysMenuService.updateBySid(dto, sid); return rb.success(); } diff --git a/src/main/java/com/yxt/portal/apiadmin/SysMenuRoleRest.java b/src/main/java/com/yxt/portal/apiadmin/SysMenuRoleRest.java deleted file mode 100644 index e29369b..0000000 --- a/src/main/java/com/yxt/portal/apiadmin/SysMenuRoleRest.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.yxt.portal.apiadmin; - -import com.yxt.portal.biz.sysmenurole.*; -import com.yxt.portal.biz.sysrole.SysRole; -import com.yxt.portal.biz.sysrole.SysRoleService; -import com.yxt.common.base.utils.StringUtils; -import com.yxt.common.core.query.PagerQuery; -import com.yxt.common.core.result.ResultBean; -import com.yxt.common.core.vo.PagerVo; -import com.yxt.portal.biz.sysmenurole.*; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Objects; - -/** - * Project: anrui_portal(门户建设)
- * File: SysMenuRoleFeignFallback.java
- * Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleRest
- * Description: 菜单与角色关联表.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2021-08-03 00:24:28
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ -@Api(tags = "菜单与角色关联表") -@RestController -@RequestMapping("v1/sysmenurole") -public class SysMenuRoleRest { - - @Autowired - private SysMenuRoleService sysMenuRoleService; - @Autowired - private SysRoleService sysRoleService; - - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = sysMenuRoleService.listPageVo(pq); - return rb.success().setData(pv); - } - - - @ApiOperation("根据条件查询所有数据列表") - @PostMapping("/listAll") - public ResultBean> listAll(@RequestBody SysMenuRoleQuery query){ - ResultBean rb = ResultBean.fireFail(); - List list = sysMenuRoleService.listAllVo(query); - return rb.success().setData(list); - } - - @ApiOperation("根据角色查询授权的菜单列表(PC)") - @PostMapping("/selMenuByRole") - public ResultBean> selMenuByRole(@RequestBody SysMenuRoleDataQuery query) { - return sysMenuRoleService.selMenuByRole(query); - } - - @ApiOperation("根据角色查询授权的菜单列表(APP)") - @PostMapping("/selMenuByRoleApp") - public ResultBean> selMenuByRoleApp(@RequestBody SysMenuRoleDataQuery query) { - return sysMenuRoleService.selMenuByRoleApp(query); - } - - @ApiOperation("修改角色菜单的数据权限(PC)") - @PostMapping("/updateDataByRoleMenu") - public ResultBean updateDataByRoleMenu(@RequestBody List dtos) { - return sysMenuRoleService.updateDataByRoleMenu(dtos); - } - - @ApiOperation("修改角色菜单的数据权限(移动端)") - @PostMapping("/updateDataByRoleMenuApp") - public ResultBean updateDataByRoleMenuApp(@RequestBody List dtos) { - return sysMenuRoleService.updateDataByRoleMenuApp(dtos); - } - - - @ApiOperation("所有数据列表") - @GetMapping("/list") - public ResultBean> list(){ - ResultBean rb = ResultBean.fireFail(); - List list = sysMenuRoleService.listVo(); - return rb.success().setData(list); - } - - - @ApiOperation("新增保存") - @PostMapping("/save") - public ResultBean save(@RequestBody SysMenuRoleDto dto){ - ResultBean rb = ResultBean.fireFail(); - sysMenuRoleService.saveOrUpdateDto(dto); - return rb.success(); - } - - @ApiOperation("修改保存") - @PostMapping("/update/{sid}") - public ResultBean update(@RequestBody SysMenuRoleDto dto,@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - sysMenuRoleService.updateBySid(dto.toMap(),sid); - return rb.success(); - } - - - @ApiOperation("修改角色的菜单配置") - @PostMapping("/updateRoleAndMenu") - public ResultBean updateRoleAndMenu(@RequestBody SysMenuRoleDto dto) { - String roleSid=dto.getRoleSid(); - String menuSid=dto.getMenuSid(); - if(StringUtils.isBlank(roleSid)){ - return ResultBean.fireFail().setMessage("角色sid不能为空"); - }else{ - SysRole sysRole = sysRoleService.fetchBySid(roleSid); - if(sysRole==null||StringUtils.isBlank(sysRole.getSid())){ - return ResultBean.fireFail().setMessage("角色sid不存在"); - } - } - List menuRoleList = sysMenuRoleService.selectByRoleSid(roleSid); - sysMenuRoleService.delByRoleSid(roleSid); - ResultBean rb = ResultBean.fireFail(); - if(!StringUtils.isBlank(menuSid)){ - String[] sids = menuSid.split(","); - for(String sid:sids){ - MenuRoleVo menuRoleVo = menuRoleList.stream().filter(s -> Objects.equals(s.getMenuSid(), sid)).findFirst().orElse(null); - SysMenuRole sysMenuRole = new SysMenuRole(); - sysMenuRole.setRoleSid(roleSid); - sysMenuRole.setMenuSid(sid); - if(menuRoleVo != null){ - sysMenuRole.setDataRuleId(menuRoleVo.getDataRuleId()); - } - sysMenuRoleService.save(sysMenuRole); - } - } - return rb.success(); - } - - - @ApiOperation("删除记录") - @GetMapping("/del/{ids}") - public ResultBean del(@PathVariable("ids") String ids){ - ResultBean rb = ResultBean.fireFail(); - sysMenuRoleService.delByIds(ids); - return rb.success(); - } - - - @ApiOperation("获取一条记录") - @GetMapping("/fetch/{id}") - public ResultBean fetch(@PathVariable("id") String id){ - ResultBean rb = ResultBean.fireFail(); - SysMenuRoleVo vo = sysMenuRoleService.fetchByIdVo(id); - return rb.success().setData(vo); - } -} diff --git a/src/main/java/com/yxt/portal/apiadmin/SysOrgAuthorizeRest.java b/src/main/java/com/yxt/portal/apiadmin/SysOrgAuthorizeRest.java new file mode 100644 index 0000000..443903a --- /dev/null +++ b/src/main/java/com/yxt/portal/apiadmin/SysOrgAuthorizeRest.java @@ -0,0 +1,15 @@ +package com.yxt.portal.apiadmin; + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2024/5/16 11:32 + */ +@Api(tags = "组织授权表") +@RestController +@RequestMapping("apiadmin/sysorgauthorize") +public class SysOrgAuthorizeRest { +} diff --git a/src/main/java/com/yxt/portal/apiadmin/SysRoleAuthorizeRest.java b/src/main/java/com/yxt/portal/apiadmin/SysRoleAuthorizeRest.java new file mode 100644 index 0000000..d5c0cf9 --- /dev/null +++ b/src/main/java/com/yxt/portal/apiadmin/SysRoleAuthorizeRest.java @@ -0,0 +1,29 @@ +package com.yxt.portal.apiadmin; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeDto; +import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2024/5/15 16:00 + */ +@Api(tags = "角色授权表") +@RestController +@RequestMapping("apiadmin/sysroleauthorize") +public class SysRoleAuthorizeRest { + @Autowired + SysRoleAuthorizeService sysRoleAuthorizeService; + @ApiOperation("修改角色的菜单配置") + @PostMapping("/updateRoleAndMenu") + public ResultBean updateRoleAndMenu(@RequestBody SysRoleAuthorizeDto dto){ + return sysRoleAuthorizeService.updateRoleAndMenu(dto); + } +} diff --git a/src/main/java/com/yxt/portal/apiadmin/SysRoleRest.java b/src/main/java/com/yxt/portal/apiadmin/SysRoleRest.java index bd010e9..7ff570b 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysRoleRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysRoleRest.java @@ -114,7 +114,8 @@ public class SysRoleRest { } } ResultBean rb = ResultBean.fireFail(); - sysRoleService.updateBySid(dto.toMap(),sid); + sysRoleService.updateBySid(dto,sid); +// sysRoleService.updateBySid(dto.toMap(),sid); return rb.success(); } diff --git a/src/main/java/com/yxt/portal/apiadmin/SysStaffOrgRest.java b/src/main/java/com/yxt/portal/apiadmin/SysStaffOrgRest.java index db22782..4a065be 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysStaffOrgRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysStaffOrgRest.java @@ -1,15 +1,15 @@ package com.yxt.portal.apiadmin; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.yxt.portal.biz.sysstafforg.*; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -151,8 +151,8 @@ public class SysStaffOrgRest { } - public ResultBean selectAllByStaffSid(String staffSid) { - return sysStaffOrgService.selectAllByStaffSid(staffSid); + public ResultBean selectAllByStaffSid(String staffSid,String orgSid) { + return sysStaffOrgService.selectAllByStaffSid(staffSid,""); } diff --git a/src/main/java/com/yxt/portal/apiadmin/SysUserRest.java b/src/main/java/com/yxt/portal/apiadmin/SysUserRest.java index c79d5b9..b63594f 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysUserRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysUserRest.java @@ -17,6 +17,7 @@ import com.yxt.portal.biz.sysstaffinfo.SysStaffinfoService; import com.yxt.portal.biz.sysstaffinfo.SysStaffinfoVo; import com.yxt.portal.biz.sysstafforg.SysStaffOrg; import com.yxt.portal.biz.sysstafforg.SysStaffOrgService; +import com.yxt.portal.biz.sysstafforg.SysStaffOrgVo; import com.yxt.portal.biz.sysstaffpost.SysStaffPost; import com.yxt.portal.biz.sysstaffpost.SysStaffPostService; import com.yxt.portal.biz.sysuser.*; @@ -111,7 +112,7 @@ public class SysUserRest { //岗位sid String postSid = dto.getPostSid(); //验证码 - String verificationCode = dto.getVerificationCode(); + String verificationCode = dto.getCode(); if (StringUtils.isBlank(mobile)) { return new ResultBean().fail().setMsg("手机号不能为空"); @@ -366,7 +367,7 @@ public class SysUserRest { @ResponseBody @ApiOperation(value = "3、登录") @ApiOperationSupport(order = 30) - public ResultBean login(@RequestBody SysUserQuery userQuery) { + public ResultBean login(@RequestBody SysUserQuery userQuery) { String userName = userQuery.getUserName(); String password = userQuery.getPassword(); String verifyCode = userQuery.getVerifyCode(); @@ -380,7 +381,6 @@ public class SysUserRest { if (StringUtils.isBlank(password)) { return new ResultBean().fail().setMsg("密码不能为空"); } - // 验证通过之后删除redis上的验证过的该条uuid user = sysUserService.selectByUserName(userName); String md5 = Encodes.md5(password); @@ -416,11 +416,34 @@ public class SysUserRest { } } // 根据用户信息查询用户的角色信息 - SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(user); - if (userInfoOneVo == null) { - return new ResultBean().fail().setMsg("该用户不是公司员工"); - } - return new ResultBean().success().setData(userInfoOneVo); + ListsysStaffOrgVos= sysStaffOrgService.fetchOrgsByStaffSid(user.getStaffSid()); + SysUserVo userInfoOneVo = new SysUserVo(); +// if(sysStaffOrgVos.size()>1){ +// userInfoOneVo.setSid(user.getSid()); +// userInfoOneVo.setSysOrganizationVos(sysStaffOrgVos); +// }else if(sysStaffOrgVos.size()==1){ +// userInfoOneVo = sysUserService.setUserRedisSessionToken(user); +// if (userInfoOneVo == null) { +// return new ResultBean().fail().setMsg("该用户不是公司员工"); +// } +// } + userInfoOneVo.setSid(user.getSid()); + userInfoOneVo.setSysOrganizationVos(sysStaffOrgVos); +// sysStaffOrgService.get + + return new ResultBean<>().success().setData(userInfoOneVo); + } + @PostMapping("/selOrganization") + @ResponseBody + @ApiOperation(value = "选择所登录的组织") + @ApiOperationSupport(order = 30) + public ResultBean selOrganization(@RequestBody SysUserDto dto){ + SysUser sysUser=sysUserService.getOne(new QueryWrapper().eq("sid",dto.getUserSid())); + sysUser.setOrgSid(dto.getOrgSid()); + SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(sysUser); + userInfoOneVo.setOrgSid(dto.getOrgSid()); + userInfoOneVo.setOrgName(userInfoOneVo.getOrganizationName()); + return new ResultBean<>().success().setData(userInfoOneVo); } @PostMapping("/register") @ResponseBody @@ -429,19 +452,12 @@ public class SysUserRest { public ResultBean register(@RequestBody SysUserDto dto) { ResultBean rb = ResultBean.fireFail(); SysUserVo userInfoOneVo =new SysUserVo(); - //手机号 String mobile = dto.getMobile(); //姓名 String name = dto.getName(); - //用户类型 - int userType = dto.getUserType(); - //部门sid - String deptSid = dto.getDeptSid(); - //岗位sid - String postSid = dto.getPostSid(); //验证码 - String verificationCode = dto.getVerificationCode(); + String verificationCode = dto.getCode(); if (StringUtils.isBlank(mobile)) { return new ResultBean().fail().setMsg("手机号不能为空"); @@ -452,12 +468,10 @@ public class SysUserRest { if (StringUtils.isBlank(verificationCode)) { return new ResultBean().fail().setMsg("验证码不能为空"); } else { -// Map stringObjectMap = sysUserService.mobileValidateRegister(mobile, verificationCode); - Map stringObjectMap = new HashMap<>(); -// String code = stringObjectMap.get("code").toString(); -// String details = stringObjectMap.get("details").toString(); - String code = "200"; - String details=""; + Map stringObjectMap = sysUserService.mobileValidateRegister(mobile, verificationCode); +// Map stringObjectMap = new HashMap<>(); + String code = stringObjectMap.get("code").toString(); + String details = stringObjectMap.get("details").toString(); if (Tools.CODE_FAIL.equals(code)) { return ResultBean.fireFail().setMessage(details).setMsg(details); } @@ -465,16 +479,25 @@ public class SysUserRest { String ssSid=""; SysUser one = sysUserService.fetchByUserName(mobile); if (null != one) { - SysOrganization s=sysOrganizationService.getOne(new QueryWrapper().eq("name",dto.getCompanyName())); - if(s!=null){ - return new ResultBean().fail().setMsg("公司重复!`"); + userInfoOneVo.setSid(one.getSid()); + List list=sysStaffOrgService.fetchOrgsByStaffSid(one.getStaffSid()); + if(list.size()!=0){ + userInfoOneVo.setSysOrganizationVos(list); + return rb.success().setData(userInfoOneVo); }else{ - ssSid=one.getStaffSid(); + userInfoOneVo.setSysOrganizationVos(new ArrayList<>()); + return rb.success().setData(userInfoOneVo); } +// SysOrganization s=sysOrganizationService.getOne(new QueryWrapper().eq("name",dto.getCompanyName())); +// if(s!=null){ +// return new ResultBean().fail().setMsg("公司重复!`"); +// }else{ +// ssSid=one.getStaffSid(); +// } }else{ //"15097329653"; - String password = mobile.substring(5, 11); - String md5 = Encodes.md5(password); +// String password = mobile.substring(5, 11); + String md5 = Encodes.md5(dto.getPassword()); SysStaffinfo ssi = new SysStaffinfo(); SysUser su = new SysUser(); dto.fillEntity(su); @@ -487,14 +510,28 @@ public class SysUserRest { ssi.setMobile(mobile); sysStaffinfoService.save(ssi); ssSid=ssi.getSid(); + userInfoOneVo.setSysOrganizationVos(new ArrayList<>()); + userInfoOneVo.setSid(su.getSid()); } + return new ResultBean<>().success().setData(userInfoOneVo); + } + @PostMapping("/bindOrganization") + @ResponseBody + @ApiOperation(value = "绑定组织") + @ApiOperationSupport(order = 30) + public ResultBean bindOrganization(@RequestBody SysUserDto dto) { + //部门sid + String deptSid = dto.getDeptSid(); + //岗位sid + String postSid = dto.getPostSid(); + SysUser sysUser=sysUserService.getOne(new QueryWrapper().eq("sid",dto.getUserSid())); SysOrganization sysOrg=new SysOrganization(); sysOrg.setName(dto.getCompanyName()); sysOrg.setLinkPhone(dto.getContacts()); sysOrganizationService.save(sysOrg); SysStaffOrg sysStaffOrg=new SysStaffOrg(); - sysStaffOrg.setStaffSid(ssSid); + sysStaffOrg.setStaffSid(sysUser.getStaffSid()); sysStaffOrg.setOrgSid(sysOrg.getSid()); sysStaffOrg.setOrgName(sysOrg.getName()); sysStaffOrg.setManageType("3"); @@ -505,7 +542,7 @@ public class SysUserRest { SysStaffOrg sso = new SysStaffOrg(); sso.setOrgName(sysOrganization.getName()); sso.setOrgSid(sysOrganization.getSid()); - sso.setStaffSid(ssSid); + sso.setStaffSid(sysUser.getStaffSid()); // sso.setOrgSidPath(sysOrganization.getOrgSidPath()); // sso.setOrgNamePath(sysOrganization.getName()); sso.setManageType("3"); @@ -514,14 +551,19 @@ public class SysUserRest { if (StringUtils.isNotBlank(postSid)) { SysPost sysPost = sysPostService.fetchBySid(postSid); SysStaffPost ssp = new SysStaffPost(); - ssp.setStaffSid(ssSid); + ssp.setStaffSid(sysUser.getStaffSid()); ssp.setOrgSid(deptSid); ssp.setPostSid(postSid); ssp.setStartDate(new Date()); ssp.setIsDepetHead(0); sysStaffPostService.save(ssp); } - + SysUser user = null; + user = sysUserService.selectByUserName(sysUser.getUserName()); + user.setOrgSid(sysOrg.getSid()); + SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(user); + userInfoOneVo.setOrgSid(sysOrg.getSid()); + userInfoOneVo.setOrgName(sysOrg.getName()); return new ResultBean().success().setData(userInfoOneVo); } @PostMapping("/loginByNoVeriCode") diff --git a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuDto.java b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuDto.java index c897b1c..b7b7d7c 100644 --- a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuDto.java +++ b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuDto.java @@ -65,7 +65,7 @@ public class SysMenuDto implements Dto { private String pageAliasName; @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") - private String menuType; + private String menuType="0"; @ApiModelProperty(value = "备注") private String remarks; diff --git a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.java b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.java index 308cf00..0bdeee9 100644 --- a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.java +++ b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.java @@ -40,7 +40,7 @@ public interface SysMenuMapper extends BaseMapper { List listAllParentByRoleSid(String roleSid, String sid, @Param("sourceSid") String sourceSid); @Select("SELECT menu.*,sourceMenu.`sourceSid` FROM sys_menu menu " + - "LEFT JOIN sys_source_menu sourceMenu ON menu.sid=sourceMenu.menuSid where menu.sid=#{sid}") + "LEFT JOIN sys_org_authorize sourceMenu ON menu.sid=sourceMenu.menuSid where menu.sid=#{sid}") SysMenu fetchBySid(@Param("sid") String sid); List getChildrensForMenuTree(@Param(Constants.WRAPPER) QueryWrapper qw); diff --git a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml index 812338d..99a8caf 100644 --- a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml @@ -23,7 +23,7 @@ - SELECT * FROM sys_menu_role - - ${ew.sqlSegment} - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleService.java b/src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleService.java deleted file mode 100644 index 0ca9c25..0000000 --- a/src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleService.java +++ /dev/null @@ -1,213 +0,0 @@ -package com.yxt.portal.biz.sysmenurole; - -import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.portal.biz.sysmenurole.*; -import com.yxt.portal.biz.sysmenu.SysMenuService; -import com.yxt.common.base.service.MybatisBaseService; -import com.yxt.common.base.utils.PagerUtil; -import com.yxt.common.core.query.PagerQuery; -import com.yxt.common.core.result.ResultBean; -import com.yxt.common.core.vo.PagerVo; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * Project: anrui_portal(门户建设)
- * File: SysMenuRoleService.java
- * Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleService
- * Description: 菜单与角色关联表 业务逻辑.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2021-08-03 00:24:28
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ -@Service -public class SysMenuRoleService extends MybatisBaseService { - @Autowired - private SysMenuService sysMenuService; - - public PagerVo listPage(PagerQuery pq) { - SysMenuRoleQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPage(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public List listAll(SysMenuRoleQuery query) { - QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectList(qw); - } - - private QueryWrapper createQueryWrapper(SysMenuRoleQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - - - if (StringUtils.isNotBlank(query.getMenuSid())) { - qw.eq("menuSid", query.getMenuSid()); - } - - if (StringUtils.isNotBlank(query.getRoleSid())) { - qw.eq("roleSid", query.getRoleSid()); - } - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - SysMenuRoleQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public List listAllVo(SysMenuRoleQuery query) { - QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectListAllVo(qw); - } - - public List listVo() { - return baseMapper.selectListVo(); - } - - public void saveOrUpdateDto(SysMenuRoleDto dto) { - SysMenuRole entity = new SysMenuRole(); - dto.fillEntity(entity); - this.saveOrUpdate(entity); - } - - public SysMenuRoleVo fetchByIdVo(String id) { - SysMenuRole entity = this.fetchById(id); - SysMenuRoleVo vo = new SysMenuRoleVo(); - BeanUtil.copyProperties(entity, vo); - return vo; - } - - public void delByRoleSid(String roleSid) { - baseMapper.delByRoleSid(roleSid); - } - - // 不分页列表 - public List list(SysMenuRoleQuery query) { - // mybits所用的查询条件封装类 - QueryWrapper qw = buildQueryWrapper(query); - return baseMapper.list(qw); - } - - /** - * 解析和组装查询条件,封装在qw中 - * - * @param query - * @return - */ - private QueryWrapper buildQueryWrapper(SysMenuRoleQuery query) { - QueryWrapper qw = new QueryWrapper<>(); - if (query != null) { - if (StringUtils.isNotBlank(query.getSourceSid())) { - qw.eq("m.sourceSid", query.getSourceSid()); - } - /*if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getRoleSid())) { - qw.in("rm.roleSid", query.getRoleSid()); - }*/ - if (StringUtils.isNotBlank(query.getIsAdmin())) { - if (!query.getIsAdmin().equals("1")){ - qw.eq("m.isEnable", 1); - } - } - - if (query.getRoleSids() != null && query.getRoleSids().size() > 0) { - qw.in("rm.roleSid", query.getRoleSids()); - } - qw.eq("m.isShow", 1); - qw.orderByAsc("m.sortNo"); - } - - return qw; - - } - - /** - * 资源菜单树形列表 - * - * @param query:roleSids,sourceSid - * @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) - */ - public List> getSourceMenuTreeOfRoles(SysMenuRoleQuery query, Map map_rolemenus) { - - //获取当前资源的菜单列表 - List> list_menus_map = new ArrayList>(); - if (null == query) - return list_menus_map; - - //角色s的某个资源的所有菜单列表 - List list_menu = list(query); - list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus); - - return list_menus_map; - - } - - public List selectByRoleSid(String roleSid) { - return baseMapper.selectByRoleSid(roleSid); - } - - public ResultBean> selMenuByRole(SysMenuRoleDataQuery query) { - ResultBean rb = ResultBean.fireFail(); - QueryWrapper qw = new QueryWrapper<>(); - qw.eq("smr.roleSid",query.getRoleSid()); - if (StringUtils.isNotBlank(query.getMenuName())){ - qw.like("sm.name",query.getMenuName()); - } - List sysMenuRoleDataVos = baseMapper.selMenuByRole(qw); - return rb.success().setData(sysMenuRoleDataVos); - } - - public ResultBean> selMenuByRoleApp(SysMenuRoleDataQuery query) { - ResultBean rb = ResultBean.fireFail(); - QueryWrapper qw = new QueryWrapper<>(); - qw.eq("smmr.roleSid",query.getRoleSid()); - if (StringUtils.isNotBlank(query.getMenuName())){ - qw.like("smm.name",query.getMenuName()); - } - List sysMenuRoleDataVos = baseMapper.selMenuByRoleApp(qw); - return rb.success().setData(sysMenuRoleDataVos); - } - - public ResultBean updateDataByRoleMenu(List dtos) { - ResultBean rb = ResultBean.fireFail(); - for (SysMenuRoleDataDto dto : dtos) { - if (StringUtils.isNotBlank(dto.getDataRuleId())){ - baseMapper.updateDataByRoleMenu(dto.getSid(),dto.getDataRuleId()); - } - } - return rb.success(); - } - - public ResultBean updateDataByRoleMenuApp(List dtos) { - ResultBean rb = ResultBean.fireFail(); - for (SysMenuRoleDataDto dto : dtos) { - if (StringUtils.isNotBlank(dto.getDataRuleId())){ - baseMapper.updateDataByRoleMenuApp(dto.getSid(),dto.getDataRuleId()); - } - } - return rb.success(); - } - - ///----获平台角色s的某个资源的菜单树形列表(内存操作) 开始---- - - -} \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorize.java b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorize.java new file mode 100644 index 0000000..96bf8c0 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorize.java @@ -0,0 +1,30 @@ +package com.yxt.portal.biz.sysorgauthorize; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSource.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSource
+ * Description: 资源表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "角色授权表", description = "角色授权表") +@TableName("sys_role_authorize") +@Data +public class SysOrgAuthorize extends BaseEntity { + private static final long serialVersionUID = 1L; + private String orgSid;//组织 + private String sourceSid;//资源sid + private String menuSid;//菜单sid + private String funcSid;//功能sid +} diff --git a/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeDto.java b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeDto.java new file mode 100644 index 0000000..cce024f --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeDto.java @@ -0,0 +1,32 @@ +package com.yxt.portal.biz.sysorgauthorize; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceDto.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSourceDto
+ * Description: 资源表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "资源表 数据传输对象", description = "资源表 数据传输对象") +@Data +public class SysOrgAuthorizeDto implements Dto { + + + private String orgSid;//组织 + private String sourceSid;//资源sid + private String menuSid;//菜单sid + private String funcSid;//功能sid + private String roleSid;//角色sid + +} \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeFeign.java b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeFeign.java new file mode 100644 index 0000000..c546796 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeFeign.java @@ -0,0 +1,73 @@ +package com.yxt.portal.biz.sysorgauthorize; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceFeign.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSourceFeign
+ * Description: 资源表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "资源表") +@FeignClient( + contextId = "anrui-portal-SysRoleAuthorize", + name = "anrui-portal", + path = "apiadmin/syssource", + fallback = SysOrgAuthorizeFeignFallback.class) +public interface SysOrgAuthorizeFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysOrgAuthorizeQuery query); + @ApiOperation("根据角色sid条件查询所有数据列表") + @PostMapping("/listAllByRoleSid") + public ResultBean> listAllByRoleSid(@RequestBody SysOrgAuthorizeQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysOrgAuthorizeDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysOrgAuthorizeDto dto, @PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + @ApiOperation("删除记录 根据sid") + @GetMapping("/delBySids/{sids}") + public ResultBean delBySids(@PathVariable("sids") String sids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + @ApiOperation("获取一条记录 根据sid") + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); +} \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeFeignFallback.java b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeFeignFallback.java new file mode 100644 index 0000000..3c437bd --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeFeignFallback.java @@ -0,0 +1,81 @@ +package com.yxt.portal.biz.sysorgauthorize; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceFeignFallback.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSourceFeignFallback
+ * Description: 资源表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class SysOrgAuthorizeFeignFallback implements SysOrgAuthorizeFeign { + + @Override + public ResultBean> listPage(PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/syssource/listPage无法访问"); + } + + @Override + public ResultBean> listAll(SysOrgAuthorizeQuery query){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/syssource/listAll无法访问"); + } + + @Override + public ResultBean> listAllByRoleSid(SysOrgAuthorizeQuery query) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/syssource/listAllByRoleSid无法访问"); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/syssource/list无法访问"); + } + + @Override + public ResultBean save(SysOrgAuthorizeDto dto){ + return ResultBean.fireFail().setMsg("接口anrui_portal/syssource/save无法访问"); + } + + @Override + public ResultBean update(SysOrgAuthorizeDto dto, String sid){ + return ResultBean.fireFail().setMsg("接口anrui_portal/syssource/update无法访问"); + } + + @Override + public ResultBean del(String ids){ + return ResultBean.fireFail().setMsg("接口anrui_portal/syssource/del无法访问"); + } + + @Override + public ResultBean delBySids(String sids) { + return ResultBean.fireFail().setMsg("接口anrui_portal/syssource/delBySids无法访问"); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/syssource/fetch无法访问"); + } + + @Override + public ResultBean fetchBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/syssource/fetchBySid无法访问"); + } +} \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeMapper.java b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeMapper.java new file mode 100644 index 0000000..7ac7dfb --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeMapper.java @@ -0,0 +1,34 @@ +package com.yxt.portal.biz.sysorgauthorize; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.portal.biz.sysroleauthorize.SysMenuRoleVo; +import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeVo; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceMapper.java
+ * Class: com.yxt.anrui.portal.biz.syssource.SysSourceMapper
+ * Description: 角色授权表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SysOrgAuthorizeMapper extends BaseMapper { + + + + List list(@Param(Constants.WRAPPER) QueryWrapper qw); + +} \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeMapper.xml b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeMapper.xml new file mode 100644 index 0000000..8b5d46c --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeMapper.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleQuery.java b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeQuery.java similarity index 50% rename from src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleQuery.java rename to src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeQuery.java index 7e23f60..73232f7 100644 --- a/src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleQuery.java +++ b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeQuery.java @@ -1,4 +1,4 @@ -package com.yxt.portal.biz.sysmenurole; +package com.yxt.portal.biz.sysorgauthorize; import com.yxt.common.core.query.Query; @@ -10,31 +10,32 @@ import java.util.List; /** * Project: anrui_portal(门户建设)
- * File: SysMenuRoleQuery.java
- * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleQuery
- * Description: 菜单与角色关联表 查询条件.
+ * File: SysSourceQuery.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSourceQuery
+ * Description: 资源表 查询条件.
* Copyright: Copyright (c) 2011
* Company: https://gitee.com/liuzp315
- * Makedate: 2021-08-03 00:24:28
+ * Makedate: 2021-08-03 00:24:29
* * @author liupopo * @version 1.0 * @since 1.0 */ -@ApiModel(value = "菜单与角色关联表 查询条件", description = "菜单与角色关联表 查询条件") +@ApiModel(value = "资源表 查询条件", description = "资源表 查询条件") @Data -public class SysMenuRoleQuery implements Query { +public class SysOrgAuthorizeQuery implements Query { - - @ApiModelProperty("菜单sid") + @ApiModelProperty("菜单sid") private String menuSid; - - @ApiModelProperty("角色sid") + + @ApiModelProperty("角色sid") private String roleSid; - @ApiModelProperty("多个角色sid计集合") + @ApiModelProperty("多个角色sid计集合") private List roleSids; - @ApiModelProperty("资源sid") + @ApiModelProperty("资源sid") private String sourceSid; @ApiModelProperty("是否是系统管理员") private String isAdmin; + + } diff --git a/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeService.java b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeService.java new file mode 100644 index 0000000..8be025a --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeService.java @@ -0,0 +1,100 @@ +package com.yxt.portal.biz.sysorgauthorize; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.portal.biz.sysmenu.SysMenuService; +import com.yxt.portal.biz.sysrole.SysRole; +import com.yxt.portal.biz.sysrole.SysRoleService; +import com.yxt.portal.biz.sysroleauthorize.SysMenuRoleVo; +import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorize; +import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceService.java
+ * Class: com.yxt.anrui.portal.biz.syssource.SysSourceService
+ * Description: 资源表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysOrgAuthorizeService extends MybatisBaseService { + @Autowired + SysMenuService sysMenuService; + @Autowired + SysRoleService sysRoleService; + + + /** + * 解析和组装查询条件,封装在qw中 + * + * @param query + * @return + */ + private QueryWrapper buildQueryWrapper(SysOrgAuthorizeQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (StringUtils.isNotBlank(query.getSourceSid())) { + qw.eq("m.sourceSid", query.getSourceSid()); + } + /*if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getRoleSid())) { + qw.in("rm.roleSid", query.getRoleSid()); + }*/ + if (StringUtils.isNotBlank(query.getIsAdmin())) { + if (!query.getIsAdmin().equals("1")){ + qw.eq("m.isEnable", 1); + } + } + + if (query.getRoleSids() != null && query.getRoleSids().size() > 0) { + qw.in("rm.roleSid", query.getRoleSids()); + } + qw.eq("m.isShow", 1); + qw.orderByAsc("m.sortNo"); + } + + return qw; + + } + public List list(SysOrgAuthorizeQuery query) { + // mybits所用的查询条件封装类 + QueryWrapper qw = buildQueryWrapper(query); + return baseMapper.list(qw); + } + /** + * 资源菜单树形列表 + * + * @param query:roleSids,sourceSid + * @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) + */ + public List> getSourceMenuTreeOfRoles(SysOrgAuthorizeQuery query, Map map_rolemenus) { + + //获取当前资源的菜单列表 + List> list_menus_map = new ArrayList>(); + if (null == query) + return list_menus_map; + + //角色s的某个资源的所有菜单列表 + List list_menu = list(query); + list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus); + + return list_menus_map; + + } + + +} \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeVo.java b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeVo.java new file mode 100644 index 0000000..89dc0fa --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeVo.java @@ -0,0 +1,30 @@ +package com.yxt.portal.biz.sysorgauthorize; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceVo.java
+ * Class: com.yxt.user.biz.syssource.SysSourceVo
+ * Description: 资源表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "资源表 视图数据对象", description = "资源表 视图数据对象") +@Data +public class SysOrgAuthorizeVo implements Vo { + + + private String orgSid;//组织 + private String sourceSid;//资源sid + private String menuSid;//菜单sid + private String funcSid;//功能sid +} diff --git a/src/main/java/com/yxt/portal/biz/sysrole/SysRole.java b/src/main/java/com/yxt/portal/biz/sysrole/SysRole.java index e1146f5..fa4b152 100644 --- a/src/main/java/com/yxt/portal/biz/sysrole/SysRole.java +++ b/src/main/java/com/yxt/portal/biz/sysrole/SysRole.java @@ -45,4 +45,5 @@ public class SysRole extends BaseEntity { private String roleType; @ApiModelProperty(value = "角色组织层级value") private String roleTypeValue; + private String orgSid; } diff --git a/src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java b/src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java index 7c91487..7f3961e 100644 --- a/src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java +++ b/src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java @@ -48,4 +48,6 @@ public class SysRoleDto implements Dto { private String roleType; @ApiModelProperty(value = "角色组织层级value") private String roleTypeValue; + @ApiModelProperty(value = "组织") + private String orgSid; } \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml b/src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml index 848f3c0..1ded0ae 100644 --- a/src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml @@ -6,7 +6,7 @@ + SELECT distinct rm.menuSid as sid, + m.name as menuName, + m.menuUrl, + m.pageUrl, + m.pageName, + m.pageUrlRedirect, + m.pageAliasName, + m.iconUrl, + m.sourceSid, + m.isShow, + m.pSid, + m.sortNo, + m.remarks, + 1 as alwaysShow + FROM sys_role_authorize rm + LEFT JOIN sys_menu m ON rm.menuSid = m.sid + ${ew.customSqlSegment} + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeQuery.java b/src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeQuery.java new file mode 100644 index 0000000..164aea9 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeQuery.java @@ -0,0 +1,41 @@ +package com.yxt.portal.biz.sysroleauthorize; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceQuery.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSourceQuery
+ * Description: 资源表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "资源表 查询条件", description = "资源表 查询条件") +@Data +public class SysRoleAuthorizeQuery implements Query { + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("多个角色sid计集合") + private List roleSids; + @ApiModelProperty("资源sid") + private String sourceSid; + @ApiModelProperty("是否是系统管理员") + private String isAdmin; + + +} diff --git a/src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeService.java b/src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeService.java new file mode 100644 index 0000000..b4bbd80 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeService.java @@ -0,0 +1,133 @@ +package com.yxt.portal.biz.sysroleauthorize; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.portal.biz.sysmenu.SysMenuService; +import com.yxt.portal.biz.sysorgauthorize.SysOrgAuthorizeDto; +import com.yxt.portal.biz.sysrole.SysRole; +import com.yxt.portal.biz.sysrole.SysRoleService; +import com.yxt.portal.biz.sysuser.SysUserService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceService.java
+ * Class: com.yxt.anrui.portal.biz.syssource.SysSourceService
+ * Description: 资源表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysRoleAuthorizeService extends MybatisBaseService { + @Autowired + SysMenuService sysMenuService; + @Autowired + SysRoleService sysRoleService; + + + /** + * 解析和组装查询条件,封装在qw中 + * + * @param query + * @return + */ + private QueryWrapper buildQueryWrapper(SysRoleAuthorizeQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (StringUtils.isNotBlank(query.getSourceSid())) { + qw.eq("m.sourceSid", query.getSourceSid()); + } + /*if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getRoleSid())) { + qw.in("rm.roleSid", query.getRoleSid()); + }*/ + if (StringUtils.isNotBlank(query.getIsAdmin())) { + if (!query.getIsAdmin().equals("1")){ + qw.eq("m.isEnable", 1); + } + } + + if (query.getRoleSids() != null && query.getRoleSids().size() > 0) { + qw.in("rm.roleSid", query.getRoleSids()); + } + qw.eq("m.isShow", 1); + qw.orderByAsc("m.sortNo"); + } + + return qw; + + } + public List list(SysRoleAuthorizeQuery query) { + // mybits所用的查询条件封装类 + QueryWrapper qw = buildQueryWrapper(query); + return baseMapper.list(qw); + } + /** + * 资源菜单树形列表 + * + * @param query:roleSids,sourceSid + * @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) + */ + public List> getSourceMenuTreeOfRoles(SysRoleAuthorizeQuery query, Map map_rolemenus) { + + //获取当前资源的菜单列表 + List> list_menus_map = new ArrayList>(); + if (null == query) + return list_menus_map; + + //角色s的某个资源的所有菜单列表 + List list_menu = list(query); + list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus); + + return list_menus_map; + + } + public ResultBean updateRoleAndMenu(SysRoleAuthorizeDto dto) { + String roleSid=dto.getRoleSid(); + String menuSid=dto.getMenuSid(); + if(com.yxt.common.base.utils.StringUtils.isBlank(roleSid)){ + return ResultBean.fireFail().setMessage("角色sid不能为空"); + }else{ + SysRole sysRole = sysRoleService.fetchBySid(roleSid); + if(sysRole==null|| com.yxt.common.base.utils.StringUtils.isBlank(sysRole.getSid())){ + return ResultBean.fireFail().setMessage("角色sid不存在"); + } + } + List menuRoleList = selectByRoleSid(roleSid); + delByRoleSid(roleSid); + ResultBean rb = ResultBean.fireFail(); + if(!com.yxt.common.base.utils.StringUtils.isBlank(menuSid)){ + String[] sids = menuSid.split(","); + for(String sid:sids){ + SysRoleAuthorizeVo menuRoleVo = menuRoleList.stream().filter(s -> Objects.equals(s.getMenuSid(), sid)).findFirst().orElse(null); + SysRoleAuthorize sysMenuRole = new SysRoleAuthorize(); + sysMenuRole.setRoleSid(roleSid); + sysMenuRole.setMenuSid(sid); + sysMenuRole.setSourceSid(dto.getSourceSid()); + if(menuRoleVo != null){ + sysMenuRole.setDataRuleId(menuRoleVo.getDataRuleId()); + } + save(sysMenuRole); + } + } + return rb.success(); + } + public List selectByRoleSid(String roleSid) { + return baseMapper.selectByRoleSid(roleSid); + } + public void delByRoleSid(String roleSid) { + baseMapper.delByRoleSid(roleSid); + } +} \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeVo.java b/src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeVo.java new file mode 100644 index 0000000..5fe2115 --- /dev/null +++ b/src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeVo.java @@ -0,0 +1,35 @@ +package com.yxt.portal.biz.sysroleauthorize; + + +import com.yxt.common.core.vo.Vo; +import com.yxt.portal.biz.sysmenu.SysMenuVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceVo.java
+ * Class: com.yxt.user.biz.syssource.SysSourceVo
+ * Description: 资源表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "资源表 视图数据对象", description = "资源表 视图数据对象") +@Data +public class SysRoleAuthorizeVo implements Vo { + + + private String roleSid;//角色sid + private String sourceSid;//资源sid + private String menuSid;//菜单sid + private String dataRuleId;//菜单的数据权限id + private String funcSid;//功能sid +} diff --git a/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.java b/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.java index 8488860..028fff6 100644 --- a/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.java +++ b/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.java @@ -32,6 +32,7 @@ public interface SysStaffOrgMapper extends BaseMapper { IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + List fetchOrgsByStaffSid(@Param("sid") String sid); @Select("select * from sys_staff_org") List selectListVo(); @@ -78,8 +79,9 @@ public interface SysStaffOrgMapper extends BaseMapper { String selectBySidPathByStaffSid(String applySid); - @Select("select * from sys_staff_org where staffSid=#{staffSid} AND manageType != 2") - SysStaffOrg selectAllByStaffSid(String staffSid); +// @Select("select * from sys_staff_org where staffSid=#{staffSid} and orgSid=AND manageType != 2") + SysStaffOrg selectAllByStaffSid(@Param("staffSid") String staffSid,@Param("orgSid") String orgSid); + @Select("select * from sys_staff_org where staffSid=#{sid} and manageType = '3' order by id limit 1") SysStaffOrg getOrgByStaffSid(String sid); diff --git a/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml b/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml index f6705bf..1bb3f2a 100644 --- a/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml @@ -18,6 +18,12 @@ ${ew.sqlSegment} + + delete from sys_user_role where userSid=#{params} diff --git a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java index d4e7c35..0ab9dbe 100644 --- a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java +++ b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java @@ -96,8 +96,8 @@ public class SysUserRoleService extends MybatisBaseService selectByUserSid(String userSid) { - return baseMapper.selectByUserSid(userSid); + public List selectByUserSid(String userSid,String orgSid,String sourceSid) { + return baseMapper.selectByUserSid(userSid,orgSid,sourceSid); } /*public void updateUserRole(SysUserRoleDto dto) { //sysUserRoleService.deleteByUserSid(dto.getUserSid());