Browse Source

portal

master
wangpengfei 12 months ago
parent
commit
0b6e80f76e
  1. 95
      src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java
  2. 159
      src/main/java/com/yxt/portal/apiadmin/SysMenuRoleRest.java
  3. 15
      src/main/java/com/yxt/portal/apiadmin/SysOrgAuthorizeRest.java
  4. 29
      src/main/java/com/yxt/portal/apiadmin/SysRoleAuthorizeRest.java
  5. 3
      src/main/java/com/yxt/portal/apiadmin/SysRoleRest.java
  6. 10
      src/main/java/com/yxt/portal/apiadmin/SysStaffOrgRest.java
  7. 106
      src/main/java/com/yxt/portal/apiadmin/SysUserRest.java
  8. 2
      src/main/java/com/yxt/portal/biz/sysmenu/SysMenuDto.java
  9. 2
      src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.java
  10. 2
      src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml
  11. 1
      src/main/java/com/yxt/portal/biz/sysmenu/SysMenuQuery.java
  12. 6
      src/main/java/com/yxt/portal/biz/sysmenu/SysMenuService.java
  13. 19
      src/main/java/com/yxt/portal/biz/sysmenurole/MenuRoleVo.java
  14. 37
      src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRole.java
  15. 30
      src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleDataDto.java
  16. 30
      src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleDataQuery.java
  17. 32
      src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleDataVo.java
  18. 31
      src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleDto.java
  19. 60
      src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleMapper.java
  20. 74
      src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleMapper.xml
  21. 213
      src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleService.java
  22. 30
      src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorize.java
  23. 32
      src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeDto.java
  24. 73
      src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeFeign.java
  25. 81
      src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeFeignFallback.java
  26. 34
      src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeMapper.java
  27. 7
      src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeMapper.xml
  28. 27
      src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeQuery.java
  29. 100
      src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeService.java
  30. 30
      src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeVo.java
  31. 1
      src/main/java/com/yxt/portal/biz/sysrole/SysRole.java
  32. 2
      src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java
  33. 2
      src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml
  34. 2
      src/main/java/com/yxt/portal/biz/sysrole/SysRoleQuery.java
  35. 4
      src/main/java/com/yxt/portal/biz/sysroleauthorize/SysMenuRoleVo.java
  36. 32
      src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorize.java
  37. 33
      src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeDto.java
  38. 34
      src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeMapper.java
  39. 33
      src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeMapper.xml
  40. 41
      src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeQuery.java
  41. 133
      src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeService.java
  42. 35
      src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeVo.java
  43. 6
      src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.java
  44. 13
      src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml
  45. 8
      src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgService.java
  46. 1
      src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgVo.java
  47. 3
      src/main/java/com/yxt/portal/biz/sysuser/SysUser.java
  48. 9
      src/main/java/com/yxt/portal/biz/sysuser/SysUserDto.java
  49. 1
      src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.java
  50. 4
      src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml
  51. 12
      src/main/java/com/yxt/portal/biz/sysuser/SysUserQuery.java
  52. 24
      src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java
  53. 7
      src/main/java/com/yxt/portal/biz/sysuser/SysUserVo.java
  54. 2
      src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.java
  55. 14
      src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml
  56. 4
      src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java

95
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.portal.biz.sysmenu.*;
//import com.yxt.user.biz.sysmenurole.SysMenuRoleQuery; //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.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.SysSource;
import com.yxt.portal.biz.syssource.SysSourceVo; import com.yxt.portal.biz.syssource.SysSourceVo;
//import com.yxt.user.biz.syssourcemenu.SysSourceMenu; //import com.yxt.user.biz.syssourcemenu.SysSourceMenu;
@ -58,11 +59,11 @@ public class SysMenuRest {
@Autowired @Autowired
private SysUserRoleService sysUserRoleService; private SysUserRoleService sysUserRoleService;
@Autowired @Autowired
private SysMenuRoleService sysMenuRoleService;
@Autowired
private SysUserService sysUserService; private SysUserService sysUserService;
@Autowired @Autowired
private SysRoleService sysRoleService; private SysRoleService sysRoleService;
@Autowired
SysRoleAuthorizeService sysRoleAuthorizeService;
@ApiOperation("根据条件分页查询数据的列表") @ApiOperation("根据条件分页查询数据的列表")
@ -129,46 +130,46 @@ public class SysMenuRest {
} }
} }
@ApiOperation("根据用户sid查询所有数据列表 ") // @ApiOperation("根据用户sid查询所有数据列表 ")
@PostMapping("/sourceMenuTreeByUserSid") // @PostMapping("/sourceMenuTreeByUserSid")
public ResultBean<List<Map<String, Object>>> sourceMenuTreeByUserSid(@RequestBody SysMenuQuery query) { // public ResultBean<List<Map<String, Object>>> sourceMenuTreeByUserSid(@RequestBody SysMenuQuery query) {
ResultBean<List<Map<String, Object>>> rb = ResultBean.fireFail(); // ResultBean<List<Map<String, Object>>> rb = ResultBean.fireFail();
SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery(); // SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery();
List<Map<String, Object>> list = new ArrayList<>(); // List<Map<String, Object>> list = new ArrayList<>();
if (null == query) // if (null == query)
return rb.setData(list); // return rb.setData(list);
//
//if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表 // //if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表
List<SysUserRoleVo> userRole = sysUserRoleService.selectByUserSid(query.getUserSid()); // List<SysUserRoleVo> userRole = sysUserRoleService.selectByUserSid(query.getUserSid(),"","");
List<String> roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList()); // List<String> roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList());
for (String roleSid : roleSids) { // for (String roleSid : roleSids) {
SysRole sysRole = sysRoleService.fetchBySid(roleSid); // SysRole sysRole = sysRoleService.fetchBySid(roleSid);
if(sysRole == null){ // if(sysRole == null){
continue; // continue;
} // }
Integer type = sysRoleService.fetchBySid(roleSid).getType(); // Integer type = sysRoleService.fetchBySid(roleSid).getType();
if (type == 1){ // if (type == 1){
orgRoleMenuQuery.setIsAdmin("1"); // orgRoleMenuQuery.setIsAdmin("1");
}else { // }else {
orgRoleMenuQuery.setIsAdmin("0"); // orgRoleMenuQuery.setIsAdmin("0");
} // }
} // }
orgRoleMenuQuery.setRoleSids(roleSids); // orgRoleMenuQuery.setRoleSids(roleSids);
orgRoleMenuQuery.setSourceSid(query.getSourceSid()); // orgRoleMenuQuery.setSourceSid(query.getSourceSid());
list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null); // list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null);
return rb.success().setData(list); // return rb.success().setData(list);
} // }
@ApiOperation("根据资源sid查询所有数据列表 ") @ApiOperation("根据资源sid查询所有数据列表 ")
@PostMapping("/sourcemenutree") @PostMapping("/sourcemenutree")
public ResultBean<List<Map<String, Object>>> sourcemenutree(@RequestBody SysMenuQuery query) { public ResultBean<List<Map<String, Object>>> sourcemenutree(@RequestBody SysMenuQuery query) {
ResultBean<List<Map<String, Object>>> rb = ResultBean.fireFail(); ResultBean<List<Map<String, Object>>> rb = ResultBean.fireFail();
// SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery(); SysRoleAuthorizeQuery sysRoleAuthorizeQuery = new SysRoleAuthorizeQuery();
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
if (null == query) if (null == query)
return rb.setData(list); return rb.setData(list);
//if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表 //根据用户和资源查询 这个资源下的菜单
List<SysUserRoleVo> userRole = sysUserRoleService.selectByUserSid(query.getUserSid()); List<SysUserRoleVo> userRole = sysUserRoleService.selectByUserSid(query.getUserSid(), query.getOrgSid(),query.getSourceSid());
List<String> roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList()); List<String> roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList());
for (String roleSid : roleSids) { for (String roleSid : roleSids) {
SysRole sysRole = sysRoleService.fetchBySid(roleSid); SysRole sysRole = sysRoleService.fetchBySid(roleSid);
@ -177,14 +178,14 @@ public class SysMenuRest {
} }
Integer type = sysRoleService.fetchBySid(roleSid).getType(); Integer type = sysRoleService.fetchBySid(roleSid).getType();
if (type == 1){ if (type == 1){
// orgRoleMenuQuery.setIsAdmin("1"); sysRoleAuthorizeQuery.setIsAdmin("1");
}else { }else {
// orgRoleMenuQuery.setIsAdmin("0"); sysRoleAuthorizeQuery.setIsAdmin("0");
} }
} }
// orgRoleMenuQuery.setRoleSids(roleSids); sysRoleAuthorizeQuery.setRoleSids(roleSids);
// orgRoleMenuQuery.setSourceSid(query.getSourceSid()); sysRoleAuthorizeQuery.setSourceSid(query.getSourceSid());
// list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null); list = sysRoleAuthorizeService.getSourceMenuTreeOfRoles(sysRoleAuthorizeQuery, null);
return rb.success().setData(list); return rb.success().setData(list);
} }
@ -228,6 +229,7 @@ public class SysMenuRest {
if (sysSource == null) { if (sysSource == null) {
return rb.setMsg("资源不存在"); return rb.setMsg("资源不存在");
} }
dto.setMenuType("0");
sysMenuService.saveMenu(dto); sysMenuService.saveMenu(dto);
return rb.success(); return rb.success();
} }
@ -242,15 +244,8 @@ public class SysMenuRest {
return rb.setMsg("菜单不存在"); return rb.setMsg("菜单不存在");
} }
String sourceSid = dto.getSourceSid(); String sourceSid = dto.getSourceSid();
// SysSourceMenuVo vo = sysSourceMenuService.fetchByMenuSid(sid);
// if (!sourceSid.equals(vo.getSourceSid())) { dto.setMenuType("0");
// sysSourceMenuService.delByMenuSid(sid);
// SysSourceMenu sysSourceMenu = new SysSourceMenu();
// sysSourceMenu.setMenuSid(sid);
// sysSourceMenu.setSourceSid(dto.getSourceSid());
// sysSourceMenu.setMenuRootSid(vo.getMenuRootSid());
// sysSourceMenuService.save(sysSourceMenu);
// }
sysMenuService.updateBySid(dto, sid); sysMenuService.updateBySid(dto, sid);
return rb.success(); return rb.success();
} }

159
src/main/java/com/yxt/portal/apiadmin/SysMenuRoleRest.java

@ -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(门户建设) <br/>
* File: SysMenuRoleFeignFallback.java <br/>
* Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleRest <br/>
* Description: 菜单与角色关联表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @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<PagerVo<SysMenuRoleVo>> listPage(@RequestBody PagerQuery<SysMenuRoleQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<SysMenuRoleVo> pv = sysMenuRoleService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("根据条件查询所有数据列表")
@PostMapping("/listAll")
public ResultBean<List<SysMenuRoleVo>> listAll(@RequestBody SysMenuRoleQuery query){
ResultBean rb = ResultBean.fireFail();
List<SysMenuRoleVo> list = sysMenuRoleService.listAllVo(query);
return rb.success().setData(list);
}
@ApiOperation("根据角色查询授权的菜单列表(PC)")
@PostMapping("/selMenuByRole")
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRole(@RequestBody SysMenuRoleDataQuery query) {
return sysMenuRoleService.selMenuByRole(query);
}
@ApiOperation("根据角色查询授权的菜单列表(APP)")
@PostMapping("/selMenuByRoleApp")
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRoleApp(@RequestBody SysMenuRoleDataQuery query) {
return sysMenuRoleService.selMenuByRoleApp(query);
}
@ApiOperation("修改角色菜单的数据权限(PC)")
@PostMapping("/updateDataByRoleMenu")
public ResultBean updateDataByRoleMenu(@RequestBody List<SysMenuRoleDataDto> dtos) {
return sysMenuRoleService.updateDataByRoleMenu(dtos);
}
@ApiOperation("修改角色菜单的数据权限(移动端)")
@PostMapping("/updateDataByRoleMenuApp")
public ResultBean updateDataByRoleMenuApp(@RequestBody List<SysMenuRoleDataDto> dtos) {
return sysMenuRoleService.updateDataByRoleMenuApp(dtos);
}
@ApiOperation("所有数据列表")
@GetMapping("/list")
public ResultBean<List<SysMenuRoleVo>> list(){
ResultBean rb = ResultBean.fireFail();
List<SysMenuRoleVo> 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<MenuRoleVo> 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<SysMenuRoleVo> fetch(@PathVariable("id") String id){
ResultBean rb = ResultBean.fireFail();
SysMenuRoleVo vo = sysMenuRoleService.fetchByIdVo(id);
return rb.success().setData(vo);
}
}

15
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 {
}

29
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);
}
}

3
src/main/java/com/yxt/portal/apiadmin/SysRoleRest.java

@ -114,7 +114,8 @@ public class SysRoleRest {
} }
} }
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
sysRoleService.updateBySid(dto.toMap(),sid); sysRoleService.updateBySid(dto,sid);
// sysRoleService.updateBySid(dto.toMap(),sid);
return rb.success(); return rb.success();
} }

10
src/main/java/com/yxt/portal/apiadmin/SysStaffOrgRest.java

@ -1,15 +1,15 @@
package com.yxt.portal.apiadmin; package com.yxt.portal.apiadmin;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.yxt.portal.biz.sysstafforg.*; import com.yxt.portal.biz.sysstafforg.*;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@ -151,8 +151,8 @@ public class SysStaffOrgRest {
} }
public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) { public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid,String orgSid) {
return sysStaffOrgService.selectAllByStaffSid(staffSid); return sysStaffOrgService.selectAllByStaffSid(staffSid,"");
} }

106
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.sysstaffinfo.SysStaffinfoVo;
import com.yxt.portal.biz.sysstafforg.SysStaffOrg; import com.yxt.portal.biz.sysstafforg.SysStaffOrg;
import com.yxt.portal.biz.sysstafforg.SysStaffOrgService; 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.SysStaffPost;
import com.yxt.portal.biz.sysstaffpost.SysStaffPostService; import com.yxt.portal.biz.sysstaffpost.SysStaffPostService;
import com.yxt.portal.biz.sysuser.*; import com.yxt.portal.biz.sysuser.*;
@ -111,7 +112,7 @@ public class SysUserRest {
//岗位sid //岗位sid
String postSid = dto.getPostSid(); String postSid = dto.getPostSid();
//验证码 //验证码
String verificationCode = dto.getVerificationCode(); String verificationCode = dto.getCode();
if (StringUtils.isBlank(mobile)) { if (StringUtils.isBlank(mobile)) {
return new ResultBean<SysUserVo>().fail().setMsg("手机号不能为空"); return new ResultBean<SysUserVo>().fail().setMsg("手机号不能为空");
@ -366,7 +367,7 @@ public class SysUserRest {
@ResponseBody @ResponseBody
@ApiOperation(value = "3、登录") @ApiOperation(value = "3、登录")
@ApiOperationSupport(order = 30) @ApiOperationSupport(order = 30)
public ResultBean<SysUserVo> login(@RequestBody SysUserQuery userQuery) { public ResultBean login(@RequestBody SysUserQuery userQuery) {
String userName = userQuery.getUserName(); String userName = userQuery.getUserName();
String password = userQuery.getPassword(); String password = userQuery.getPassword();
String verifyCode = userQuery.getVerifyCode(); String verifyCode = userQuery.getVerifyCode();
@ -380,7 +381,6 @@ public class SysUserRest {
if (StringUtils.isBlank(password)) { if (StringUtils.isBlank(password)) {
return new ResultBean<SysUserVo>().fail().setMsg("密码不能为空"); return new ResultBean<SysUserVo>().fail().setMsg("密码不能为空");
} }
// 验证通过之后删除redis上的验证过的该条uuid // 验证通过之后删除redis上的验证过的该条uuid
user = sysUserService.selectByUserName(userName); user = sysUserService.selectByUserName(userName);
String md5 = Encodes.md5(password); String md5 = Encodes.md5(password);
@ -416,11 +416,34 @@ public class SysUserRest {
} }
} }
// 根据用户信息查询用户的角色信息 // 根据用户信息查询用户的角色信息
SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(user); List<SysStaffOrgVo>sysStaffOrgVos= sysStaffOrgService.fetchOrgsByStaffSid(user.getStaffSid());
if (userInfoOneVo == null) { SysUserVo userInfoOneVo = new SysUserVo();
return new ResultBean<SysUserVo>().fail().setMsg("该用户不是公司员工"); // if(sysStaffOrgVos.size()>1){
} // userInfoOneVo.setSid(user.getSid());
return new ResultBean<SysUserVo>().success().setData(userInfoOneVo); // userInfoOneVo.setSysOrganizationVos(sysStaffOrgVos);
// }else if(sysStaffOrgVos.size()==1){
// userInfoOneVo = sysUserService.setUserRedisSessionToken(user);
// if (userInfoOneVo == null) {
// return new ResultBean<SysUserVo>().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<SysUser>().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") @PostMapping("/register")
@ResponseBody @ResponseBody
@ -429,19 +452,12 @@ public class SysUserRest {
public ResultBean register(@RequestBody SysUserDto dto) { public ResultBean register(@RequestBody SysUserDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
SysUserVo userInfoOneVo =new SysUserVo(); SysUserVo userInfoOneVo =new SysUserVo();
//手机号 //手机号
String mobile = dto.getMobile(); String mobile = dto.getMobile();
//姓名 //姓名
String name = dto.getName(); 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)) { if (StringUtils.isBlank(mobile)) {
return new ResultBean<SysUserVo>().fail().setMsg("手机号不能为空"); return new ResultBean<SysUserVo>().fail().setMsg("手机号不能为空");
@ -452,12 +468,10 @@ public class SysUserRest {
if (StringUtils.isBlank(verificationCode)) { if (StringUtils.isBlank(verificationCode)) {
return new ResultBean<SysUserVo>().fail().setMsg("验证码不能为空"); return new ResultBean<SysUserVo>().fail().setMsg("验证码不能为空");
} else { } else {
// Map<String, Object> stringObjectMap = sysUserService.mobileValidateRegister(mobile, verificationCode); Map<String, Object> stringObjectMap = sysUserService.mobileValidateRegister(mobile, verificationCode);
Map<String, Object> stringObjectMap = new HashMap<>(); // Map<String, Object> stringObjectMap = new HashMap<>();
// String code = stringObjectMap.get("code").toString(); String code = stringObjectMap.get("code").toString();
// String details = stringObjectMap.get("details").toString(); String details = stringObjectMap.get("details").toString();
String code = "200";
String details="";
if (Tools.CODE_FAIL.equals(code)) { if (Tools.CODE_FAIL.equals(code)) {
return ResultBean.fireFail().setMessage(details).setMsg(details); return ResultBean.fireFail().setMessage(details).setMsg(details);
} }
@ -465,16 +479,25 @@ public class SysUserRest {
String ssSid=""; String ssSid="";
SysUser one = sysUserService.fetchByUserName(mobile); SysUser one = sysUserService.fetchByUserName(mobile);
if (null != one) { if (null != one) {
SysOrganization s=sysOrganizationService.getOne(new QueryWrapper<SysOrganization>().eq("name",dto.getCompanyName())); userInfoOneVo.setSid(one.getSid());
if(s!=null){ List<SysStaffOrgVo> list=sysStaffOrgService.fetchOrgsByStaffSid(one.getStaffSid());
return new ResultBean<SysUserVo>().fail().setMsg("公司重复!`"); if(list.size()!=0){
userInfoOneVo.setSysOrganizationVos(list);
return rb.success().setData(userInfoOneVo);
}else{ }else{
ssSid=one.getStaffSid(); userInfoOneVo.setSysOrganizationVos(new ArrayList<>());
return rb.success().setData(userInfoOneVo);
} }
// SysOrganization s=sysOrganizationService.getOne(new QueryWrapper<SysOrganization>().eq("name",dto.getCompanyName()));
// if(s!=null){
// return new ResultBean<SysUserVo>().fail().setMsg("公司重复!`");
// }else{
// ssSid=one.getStaffSid();
// }
}else{ }else{
//"15097329653"; //"15097329653";
String password = mobile.substring(5, 11); // String password = mobile.substring(5, 11);
String md5 = Encodes.md5(password); String md5 = Encodes.md5(dto.getPassword());
SysStaffinfo ssi = new SysStaffinfo(); SysStaffinfo ssi = new SysStaffinfo();
SysUser su = new SysUser(); SysUser su = new SysUser();
dto.fillEntity(su); dto.fillEntity(su);
@ -487,14 +510,28 @@ public class SysUserRest {
ssi.setMobile(mobile); ssi.setMobile(mobile);
sysStaffinfoService.save(ssi); sysStaffinfoService.save(ssi);
ssSid=ssi.getSid(); 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<SysUser>().eq("sid",dto.getUserSid()));
SysOrganization sysOrg=new SysOrganization(); SysOrganization sysOrg=new SysOrganization();
sysOrg.setName(dto.getCompanyName()); sysOrg.setName(dto.getCompanyName());
sysOrg.setLinkPhone(dto.getContacts()); sysOrg.setLinkPhone(dto.getContacts());
sysOrganizationService.save(sysOrg); sysOrganizationService.save(sysOrg);
SysStaffOrg sysStaffOrg=new SysStaffOrg(); SysStaffOrg sysStaffOrg=new SysStaffOrg();
sysStaffOrg.setStaffSid(ssSid); sysStaffOrg.setStaffSid(sysUser.getStaffSid());
sysStaffOrg.setOrgSid(sysOrg.getSid()); sysStaffOrg.setOrgSid(sysOrg.getSid());
sysStaffOrg.setOrgName(sysOrg.getName()); sysStaffOrg.setOrgName(sysOrg.getName());
sysStaffOrg.setManageType("3"); sysStaffOrg.setManageType("3");
@ -505,7 +542,7 @@ public class SysUserRest {
SysStaffOrg sso = new SysStaffOrg(); SysStaffOrg sso = new SysStaffOrg();
sso.setOrgName(sysOrganization.getName()); sso.setOrgName(sysOrganization.getName());
sso.setOrgSid(sysOrganization.getSid()); sso.setOrgSid(sysOrganization.getSid());
sso.setStaffSid(ssSid); sso.setStaffSid(sysUser.getStaffSid());
// sso.setOrgSidPath(sysOrganization.getOrgSidPath()); // sso.setOrgSidPath(sysOrganization.getOrgSidPath());
// sso.setOrgNamePath(sysOrganization.getName()); // sso.setOrgNamePath(sysOrganization.getName());
sso.setManageType("3"); sso.setManageType("3");
@ -514,14 +551,19 @@ public class SysUserRest {
if (StringUtils.isNotBlank(postSid)) { if (StringUtils.isNotBlank(postSid)) {
SysPost sysPost = sysPostService.fetchBySid(postSid); SysPost sysPost = sysPostService.fetchBySid(postSid);
SysStaffPost ssp = new SysStaffPost(); SysStaffPost ssp = new SysStaffPost();
ssp.setStaffSid(ssSid); ssp.setStaffSid(sysUser.getStaffSid());
ssp.setOrgSid(deptSid); ssp.setOrgSid(deptSid);
ssp.setPostSid(postSid); ssp.setPostSid(postSid);
ssp.setStartDate(new Date()); ssp.setStartDate(new Date());
ssp.setIsDepetHead(0); ssp.setIsDepetHead(0);
sysStaffPostService.save(ssp); 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<SysUserVo>().success().setData(userInfoOneVo); return new ResultBean<SysUserVo>().success().setData(userInfoOneVo);
} }
@PostMapping("/loginByNoVeriCode") @PostMapping("/loginByNoVeriCode")

2
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuDto.java

@ -65,7 +65,7 @@ public class SysMenuDto implements Dto {
private String pageAliasName; private String pageAliasName;
@ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)")
private String menuType; private String menuType="0";
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remarks; private String remarks;

2
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.java

@ -40,7 +40,7 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
List<SysMenuVo> listAllParentByRoleSid(String roleSid, String sid, @Param("sourceSid") String sourceSid); List<SysMenuVo> listAllParentByRoleSid(String roleSid, String sid, @Param("sourceSid") String sourceSid);
@Select("SELECT menu.*,sourceMenu.`sourceSid` FROM sys_menu menu " + @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); SysMenu fetchBySid(@Param("sid") String sid);
List<SysMenuTreeVo> getChildrensForMenuTree(@Param(Constants.WRAPPER) QueryWrapper<SysMenuTreeVo> qw); List<SysMenuTreeVo> getChildrensForMenuTree(@Param(Constants.WRAPPER) QueryWrapper<SysMenuTreeVo> qw);

2
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml

@ -23,7 +23,7 @@
<select id="listAllParentByRoleSid" resultType="com.yxt.portal.biz.sysmenu.SysMenuVo"> <select id="listAllParentByRoleSid" resultType="com.yxt.portal.biz.sysmenu.SysMenuVo">
SELECT menu.*, ISNULL(menuRole.sid) as checked SELECT menu.*, ISNULL(menuRole.sid) as checked
FROM sys_menu menu FROM sys_menu menu
left join sys_menu_role menuRole on menu.sid = menuRole.menuSid AND menuRole.roleSid = #{param1} left join sys_role_authorize menuRole on menu.sid = menuRole.menuSid AND menuRole.roleSid = #{param1}
where menu.pSid = #{param2} where menu.pSid = #{param2}
<if test="sourceSid != null"> <if test="sourceSid != null">
and menu.sourceSid = #{sourceSid} and menu.sourceSid = #{sourceSid}

1
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuQuery.java

@ -63,4 +63,5 @@ public class SysMenuQuery implements Query {
@ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)")
private String menuType; private String menuType;
private String orgSid;//部门
} }

6
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuService.java

@ -3,7 +3,7 @@ package com.yxt.portal.biz.sysmenu;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.portal.biz.sysmenurole.SysMenuRoleVo; import com.yxt.portal.biz.sysroleauthorize.SysMenuRoleVo;
import com.yxt.portal.biz.syssource.SysSourceService; import com.yxt.portal.biz.syssource.SysSourceService;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
@ -376,7 +376,9 @@ public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
map_menu.put("path", menuVo.getPageUrl() != null && !menuVo.getPageUrl().equals("") ? menuVo.getPageUrl() : "/" + menuVo.getPageName()); map_menu.put("path", menuVo.getPageUrl() != null && !menuVo.getPageUrl().equals("") ? menuVo.getPageUrl() : "/" + menuVo.getPageName());
map_menu.put("name", menuVo.getPageAliasName() != null && !menuVo.getPageAliasName().equals("") ? menuVo.getPageAliasName() : menuVo.getPageUrl()); map_menu.put("name", menuVo.getPageAliasName() != null && !menuVo.getPageAliasName().equals("") ? menuVo.getPageAliasName() : menuVo.getPageUrl());
//组件名 //组件名
map_menu.put("component", menuVo.getPageName()); if(StringUtils.isBlank(menuVo.getMenuName())){
map_menu.put("component","");
}
if (menuVo.getAlwaysShow() == 0) { if (menuVo.getAlwaysShow() == 0) {
map_menu.put("alwaysShow", false); map_menu.put("alwaysShow", false);
} else if (menuVo.getAlwaysShow() == 1) { } else if (menuVo.getAlwaysShow() == 1) {

19
src/main/java/com/yxt/portal/biz/sysmenurole/MenuRoleVo.java

@ -1,19 +0,0 @@
package com.yxt.portal.biz.sysmenurole;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 菜单和角色临时存储
* @author: dimengzhe
* @date: 2023/6/1
**/
@Data
public class MenuRoleVo {
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)")
private String dataRuleId;
@ApiModelProperty("菜单sid")
private String menuSid;
}

37
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRole.java

@ -1,37 +0,0 @@
package com.yxt.portal.biz.sysmenurole;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysMenuRole.java <br/>
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRole <br/>
* Description: 菜单与角色关联表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "菜单与角色关联表", description = "菜单与角色关联表")
@TableName("sys_menu_role")
@Data
public class SysMenuRole extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("角色sid")
private String roleSid;
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)")
private String dataRuleId;
}

30
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleDataDto.java

@ -1,30 +0,0 @@
package com.yxt.portal.biz.sysmenurole;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysMenuRoleDto.java <br/>
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleDto <br/>
* Description: 菜单与角色关联表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "菜单与角色关联表 数据传输对象", description = "菜单与角色关联表 数据传输对象")
@Data
public class SysMenuRoleDataDto implements Dto {
@ApiModelProperty("菜单与角色关联表sid")
private String sid;
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)")
private String dataRuleId;
}

30
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleDataQuery.java

@ -1,30 +0,0 @@
package com.yxt.portal.biz.sysmenurole;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysMenuRoleQuery.java <br/>
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleQuery <br/>
* Description: 菜单与角色关联表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "菜单与角色关联表 查询条件", description = "菜单与角色关联表 查询条件")
@Data
public class SysMenuRoleDataQuery implements Query {
@ApiModelProperty("角色sid")
private String roleSid;
@ApiModelProperty("菜单名称")
private String menuName;
}

32
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleDataVo.java

@ -1,32 +0,0 @@
package com.yxt.portal.biz.sysmenurole;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysMenuRoleVo.java <br/>
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleVo <br/>
* Description: 菜单与角色关联表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "菜单与角色关联表 视图数据对象", description = "菜单与角色关联表 视图数据对象")
@Data
public class SysMenuRoleDataVo implements Vo {
@ApiModelProperty("菜单与角色关联表sid")
private String sid;
@ApiModelProperty("菜单名称")
private String name;
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)")
private String dataRuleId;
}

31
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleDto.java

@ -1,31 +0,0 @@
package com.yxt.portal.biz.sysmenurole;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysMenuRoleDto.java <br/>
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleDto <br/>
* Description: 菜单与角色关联表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "菜单与角色关联表 数据传输对象", description = "菜单与角色关联表 数据传输对象")
@Data
public class SysMenuRoleDto implements Dto {
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("角色sid")
private String roleSid;
}

60
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleMapper.java

@ -1,60 +0,0 @@
package com.yxt.portal.biz.sysmenurole;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.portal.biz.sysmenurole.MenuRoleVo;
import com.yxt.portal.biz.sysmenurole.SysMenuRole;
import com.yxt.portal.biz.sysmenurole.SysMenuRoleDataVo;
import com.yxt.portal.biz.sysmenurole.SysMenuRoleVo;
import org.apache.ibatis.annotations.*;
import java.util.List;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysMenuRoleMapper.java <br/>
* Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleMapper <br/>
* Description: 菜单与角色关联表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface SysMenuRoleMapper extends BaseMapper<SysMenuRole> {
//@Update("update sys_menu_role set name=#{msg} where id=#{id}")
//IPage<SysMenuRoleVo> voPage(IPage<SysMenuRole> page, @Param(Constants.WRAPPER) QueryWrapper<SysMenuRole> qw);
IPage<SysMenuRoleVo> selectPageVo(IPage<SysMenuRole> page, @Param(Constants.WRAPPER) Wrapper<SysMenuRole> qw);
List<SysMenuRoleVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysMenuRole> qw);
@Select("select * from sys_menu_role")
List<SysMenuRoleVo> selectListVo();
@Delete("delete from sys_menu_role where roleSid=#{roleSid}")
void delByRoleSid(@Param("roleSid") String roleSid);
List<SysMenuRoleVo> list(@Param(Constants.WRAPPER) QueryWrapper<SysMenuRoleVo> qw);
List<MenuRoleVo> selectByRoleSid(String roleSid);
List<SysMenuRoleDataVo> selMenuByRole(@Param(Constants.WRAPPER) QueryWrapper qw);
List<SysMenuRoleDataVo> selMenuByRoleApp(@Param(Constants.WRAPPER) QueryWrapper qw);
@Update("update sys_menu_role set dataRuleId = #{dataRuleId} where sid = #{sid}")
void updateDataByRoleMenu(@Param("sid") String sid,@Param("dataRuleId") String dataRuleId);
@Update("update sys_mobile_menu_role set dataRuleId = #{dataRuleId} where sid = #{sid}")
void updateDataByRoleMenuApp(@Param("sid") String sid,@Param("dataRuleId") String dataRuleId);
}

74
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleMapper.xml

@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.portal.biz.sysmenurole.SysMenuRoleMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleVo">
SELECT * FROM sys_menu_role
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleVo">
SELECT * FROM sys_menu_role
<where>
${ew.sqlSegment}
</where>
</select>
<select id="list" parameterType="com.yxt.portal.biz.sysmenurole.SysMenuRoleQuery"
resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleVo">
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_menu_role rm
LEFT JOIN sys_menu m ON rm.menuSid = m.sid
${ew.customSqlSegment}
</select>
<select id="selectByRoleSid" resultType="com.yxt.portal.biz.sysmenurole.MenuRoleVo">
select menuSid, dataRuleId
from sys_menu_role
where roleSid = #{roleSid}
</select>
<select id="selMenuByRole" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleDataVo">
SELECT
smr.sid,
sm.`name`,
smr.`dataRuleId`
FROM
sys_menu sm
LEFT JOIN sys_menu_role smr
ON smr.`menuSid` = sm.`sid`
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selMenuByRoleApp" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleDataVo">
SELECT
smmr.sid,
smm.`name`,
smmr.`dataRuleId`
FROM
sys_mobile_menu smm
LEFT JOIN sys_mobile_menu_role smmr
ON smmr.`menuSid` = smm.`sid`
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

213
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleService.java

@ -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(门户建设) <br/>
* File: SysMenuRoleService.java <br/>
* Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleService <br/>
* Description: 菜单与角色关联表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class SysMenuRoleService extends MybatisBaseService<SysMenuRoleMapper, SysMenuRole> {
@Autowired
private SysMenuService sysMenuService;
public PagerVo<SysMenuRole> listPage(PagerQuery<SysMenuRoleQuery> pq) {
SysMenuRoleQuery query = pq.getParams();
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query);
IPage<SysMenuRole> page = PagerUtil.queryToPage(pq);
IPage<SysMenuRole> pagging = baseMapper.selectPage(page, qw);
PagerVo<SysMenuRole> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<SysMenuRole> listAll(SysMenuRoleQuery query) {
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query);
return baseMapper.selectList(qw);
}
private QueryWrapper<SysMenuRole> createQueryWrapper(SysMenuRoleQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<SysMenuRole> 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<SysMenuRoleVo> listPageVo(PagerQuery<SysMenuRoleQuery> pq) {
SysMenuRoleQuery query = pq.getParams();
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query);
IPage<SysMenuRole> page = PagerUtil.queryToPage(pq);
IPage<SysMenuRoleVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<SysMenuRoleVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<SysMenuRoleVo> listAllVo(SysMenuRoleQuery query) {
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query);
return baseMapper.selectListAllVo(qw);
}
public List<SysMenuRoleVo> 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<SysMenuRoleVo> list(SysMenuRoleQuery query) {
// mybits所用的查询条件封装类
QueryWrapper<SysMenuRoleVo> qw = buildQueryWrapper(query);
return baseMapper.list(qw);
}
/**
* 解析和组装查询条件封装在qw中
*
* @param query
* @return
*/
private QueryWrapper<SysMenuRoleVo> buildQueryWrapper(SysMenuRoleQuery query) {
QueryWrapper<SysMenuRoleVo> 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<Map<String, Object>> getSourceMenuTreeOfRoles(SysMenuRoleQuery query, Map<String, Object> map_rolemenus) {
//获取当前资源的菜单列表
List<Map<String, Object>> list_menus_map = new ArrayList<Map<String, Object>>();
if (null == query)
return list_menus_map;
//角色s的某个资源的所有菜单列表
List<SysMenuRoleVo> list_menu = list(query);
list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus);
return list_menus_map;
}
public List<MenuRoleVo> selectByRoleSid(String roleSid) {
return baseMapper.selectByRoleSid(roleSid);
}
public ResultBean<List<SysMenuRoleDataVo>> 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<SysMenuRoleDataVo> sysMenuRoleDataVos = baseMapper.selMenuByRole(qw);
return rb.success().setData(sysMenuRoleDataVos);
}
public ResultBean<List<SysMenuRoleDataVo>> 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<SysMenuRoleDataVo> sysMenuRoleDataVos = baseMapper.selMenuByRoleApp(qw);
return rb.success().setData(sysMenuRoleDataVos);
}
public ResultBean updateDataByRoleMenu(List<SysMenuRoleDataDto> 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<SysMenuRoleDataDto> dtos) {
ResultBean rb = ResultBean.fireFail();
for (SysMenuRoleDataDto dto : dtos) {
if (StringUtils.isNotBlank(dto.getDataRuleId())){
baseMapper.updateDataByRoleMenuApp(dto.getSid(),dto.getDataRuleId());
}
}
return rb.success();
}
///----获平台角色s的某个资源的菜单树形列表(内存操作) 开始----
}

30
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(门户建设) <br/>
* File: SysSource.java <br/>
* Class: com.yxt.anrui.portal.api.syssource.SysSource <br/>
* Description: 资源表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @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
}

32
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(门户建设) <br/>
* File: SysSourceDto.java <br/>
* Class: com.yxt.anrui.portal.api.syssource.SysSourceDto <br/>
* Description: 资源表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @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
}

73
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(门户建设) <br/>
* File: SysSourceFeign.java <br/>
* Class: com.yxt.anrui.portal.api.syssource.SysSourceFeign <br/>
* Description: 资源表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @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<PagerVo<SysOrgAuthorizeVo>> listPage(@RequestBody PagerQuery<SysOrgAuthorizeQuery> pq);
@ApiOperation("根据条件查询所有数据列表")
@PostMapping("/listAll")
public ResultBean<List<SysOrgAuthorizeVo>> listAll(@RequestBody SysOrgAuthorizeQuery query);
@ApiOperation("根据角色sid条件查询所有数据列表")
@PostMapping("/listAllByRoleSid")
public ResultBean<List<SysOrgAuthorizeVo>> listAllByRoleSid(@RequestBody SysOrgAuthorizeQuery query);
@ApiOperation("所有数据列表")
@GetMapping("/list")
public ResultBean<List<SysOrgAuthorizeVo>> 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<SysOrgAuthorizeVo> fetch(@PathVariable("id") String id);
@ApiOperation("获取一条记录 根据sid")
@GetMapping("/fetchBySid/{sid}")
public ResultBean<SysOrgAuthorizeVo> fetchBySid(@PathVariable("sid") String sid);
}

81
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(门户建设) <br/>
* File: SysSourceFeignFallback.java <br/>
* Class: com.yxt.anrui.portal.api.syssource.SysSourceFeignFallback <br/>
* Description: 资源表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class SysOrgAuthorizeFeignFallback implements SysOrgAuthorizeFeign {
@Override
public ResultBean<PagerVo<SysOrgAuthorizeVo>> listPage(PagerQuery<SysOrgAuthorizeQuery> pq){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui_portal/syssource/listPage无法访问");
}
@Override
public ResultBean<List<SysOrgAuthorizeVo>> listAll(SysOrgAuthorizeQuery query){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui_portal/syssource/listAll无法访问");
}
@Override
public ResultBean<List<SysOrgAuthorizeVo>> listAllByRoleSid(SysOrgAuthorizeQuery query) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui_portal/syssource/listAllByRoleSid无法访问");
}
@Override
public ResultBean<List<SysOrgAuthorizeVo>> 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<SysOrgAuthorizeVo> fetch(String id){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui_portal/syssource/fetch无法访问");
}
@Override
public ResultBean<SysOrgAuthorizeVo> fetchBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui_portal/syssource/fetchBySid无法访问");
}
}

34
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(门户建设) <br/>
* File: SysSourceMapper.java <br/>
* Class: com.yxt.anrui.portal.biz.syssource.SysSourceMapper <br/>
* Description: 角色授权表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface SysOrgAuthorizeMapper extends BaseMapper<SysOrgAuthorize> {
List<SysMenuRoleVo> list(@Param(Constants.WRAPPER) QueryWrapper<SysOrgAuthorizeVo> qw);
}

7
src/main/java/com/yxt/portal/biz/sysorgauthorize/SysOrgAuthorizeMapper.xml

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.portal.biz.sysorgauthorize.SysOrgAuthorizeMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
</mapper>

27
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleQuery.java → 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; import com.yxt.common.core.query.Query;
@ -10,31 +10,32 @@ import java.util.List;
/** /**
* Project: anrui_portal(门户建设) <br/> * Project: anrui_portal(门户建设) <br/>
* File: SysMenuRoleQuery.java <br/> * File: SysSourceQuery.java <br/>
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleQuery <br/> * Class: com.yxt.anrui.portal.api.syssource.SysSourceQuery <br/>
* Description: 菜单与角色关联 查询条件. <br/> * Description: 资源 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/> * Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/> * Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/> * Makedate: 2021-08-03 00:24:29 <br/>
* *
* @author liupopo * @author liupopo
* @version 1.0 * @version 1.0
* @since 1.0 * @since 1.0
*/ */
@ApiModel(value = "菜单与角色关联表 查询条件", description = "菜单与角色关联表 查询条件") @ApiModel(value = "资源表 查询条件", description = "资源表 查询条件")
@Data @Data
public class SysMenuRoleQuery implements Query { public class SysOrgAuthorizeQuery implements Query {
@ApiModelProperty("菜单sid")
@ApiModelProperty("菜单sid")
private String menuSid; private String menuSid;
@ApiModelProperty("角色sid") @ApiModelProperty("角色sid")
private String roleSid; private String roleSid;
@ApiModelProperty("多个角色sid计集合") @ApiModelProperty("多个角色sid计集合")
private List<String> roleSids; private List<String> roleSids;
@ApiModelProperty("资源sid") @ApiModelProperty("资源sid")
private String sourceSid; private String sourceSid;
@ApiModelProperty("是否是系统管理员") @ApiModelProperty("是否是系统管理员")
private String isAdmin; private String isAdmin;
} }

100
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(门户建设) <br/>
* File: SysSourceService.java <br/>
* Class: com.yxt.anrui.portal.biz.syssource.SysSourceService <br/>
* Description: 资源表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class SysOrgAuthorizeService extends MybatisBaseService<SysOrgAuthorizeMapper, SysOrgAuthorize> {
@Autowired
SysMenuService sysMenuService;
@Autowired
SysRoleService sysRoleService;
/**
* 解析和组装查询条件封装在qw中
*
* @param query
* @return
*/
private QueryWrapper<SysOrgAuthorizeVo> buildQueryWrapper(SysOrgAuthorizeQuery query) {
QueryWrapper<SysOrgAuthorizeVo> 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<SysMenuRoleVo> list(SysOrgAuthorizeQuery query) {
// mybits所用的查询条件封装类
QueryWrapper<SysOrgAuthorizeVo> qw = buildQueryWrapper(query);
return baseMapper.list(qw);
}
/**
* 资源菜单树形列表
*
* @param query:roleSids,sourceSid
* @return 资源菜单树形列表第一级一级菜单 第二级二级菜单
*/
public List<Map<String, Object>> getSourceMenuTreeOfRoles(SysOrgAuthorizeQuery query, Map<String, Object> map_rolemenus) {
//获取当前资源的菜单列表
List<Map<String, Object>> list_menus_map = new ArrayList<Map<String, Object>>();
if (null == query)
return list_menus_map;
//角色s的某个资源的所有菜单列表
List<SysMenuRoleVo> list_menu = list(query);
list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus);
return list_menus_map;
}
}

30
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(门户建设) <br/>
* File: SysSourceVo.java <br/>
* Class: com.yxt.user.biz.syssource.SysSourceVo <br/>
* Description: 资源表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @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
}

1
src/main/java/com/yxt/portal/biz/sysrole/SysRole.java

@ -45,4 +45,5 @@ public class SysRole extends BaseEntity {
private String roleType; private String roleType;
@ApiModelProperty(value = "角色组织层级value") @ApiModelProperty(value = "角色组织层级value")
private String roleTypeValue; private String roleTypeValue;
private String orgSid;
} }

2
src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java

@ -48,4 +48,6 @@ public class SysRoleDto implements Dto {
private String roleType; private String roleType;
@ApiModelProperty(value = "角色组织层级value") @ApiModelProperty(value = "角色组织层级value")
private String roleTypeValue; private String roleTypeValue;
@ApiModelProperty(value = "组织")
private String orgSid;
} }

2
src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml

@ -6,7 +6,7 @@
<select id="selectPageVo" resultType="com.yxt.portal.biz.sysrole.SysRoleVo"> <select id="selectPageVo" resultType="com.yxt.portal.biz.sysrole.SysRoleVo">
SELECT sr.*, sp.sid as postSid, sp.name as postName SELECT sr.*, sp.sid as postSid, sp.name as postName
FROM sys_role sr FROM sys_role sr
LEFT JOIN sys_post sp ON sr.postSid = sp.sid LEFT JOIN sys_post sp ON sr.postSid = sp.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>

2
src/main/java/com/yxt/portal/biz/sysrole/SysRoleQuery.java

@ -35,4 +35,6 @@ public class SysRoleQuery implements Query {
@ApiModelProperty("1、系统管理员、2、普通角色") @ApiModelProperty("1、系统管理员、2、普通角色")
private Integer type; private Integer type;
private String orgSid;//组织
private String sourceSid;//资源
} }

4
src/main/java/com/yxt/portal/biz/sysmenurole/SysMenuRoleVo.java → src/main/java/com/yxt/portal/biz/sysroleauthorize/SysMenuRoleVo.java

@ -1,4 +1,4 @@
package com.yxt.portal.biz.sysmenurole; package com.yxt.portal.biz.sysroleauthorize;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
@ -19,7 +19,7 @@ import lombok.Data;
* @version 1.0 * @version 1.0
* @since 1.0 * @since 1.0
*/ */
@ApiModel(value = "菜单与角色关联表 视图数据对象", description = "菜单与角色关联表 视图数据对象")
@Data @Data
public class SysMenuRoleVo implements Vo { public class SysMenuRoleVo implements Vo {

32
src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorize.java

@ -0,0 +1,32 @@
package com.yxt.portal.biz.sysroleauthorize;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysSource.java <br/>
* Class: com.yxt.anrui.portal.api.syssource.SysSource <br/>
* Description: 资源表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "角色授权表", description = "角色授权表")
@TableName("sys_role_authorize")
@Data
public class SysRoleAuthorize extends BaseEntity {
private static final long serialVersionUID = 1L;
private String roleSid;//角色sid
private String sourceSid;//资源sid
private String menuSid;//菜单sid
private String dataRuleId;//菜单的数据权限id
private String funcSid;//功能sid
}

33
src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeDto.java

@ -0,0 +1,33 @@
package com.yxt.portal.biz.sysroleauthorize;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysSourceDto.java <br/>
* Class: com.yxt.anrui.portal.api.syssource.SysSourceDto <br/>
* Description: 资源表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "资源表 数据传输对象", description = "资源表 数据传输对象")
@Data
public class SysRoleAuthorizeDto implements Dto {
private String roleSid;//角色sid
private String sourceSid;//资源sid
private String menuSid;//菜单sid
private String dataRuleId;//菜单的数据权限id
private String funcSid;//功能sid
}

34
src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeMapper.java

@ -0,0 +1,34 @@
package com.yxt.portal.biz.sysroleauthorize;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
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(门户建设) <br/>
* File: SysSourceMapper.java <br/>
* Class: com.yxt.anrui.portal.biz.syssource.SysSourceMapper <br/>
* Description: 角色授权表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface SysRoleAuthorizeMapper extends BaseMapper<SysRoleAuthorize> {
List<SysMenuRoleVo> list(@Param(Constants.WRAPPER) QueryWrapper<SysRoleAuthorizeVo> qw);
List<SysRoleAuthorizeVo> selectByRoleSid(String roleSid);
@Delete("delete from sys_role_authorize where roleSid=#{roleSid}")
void delByRoleSid(@Param("roleSid") String roleSid);
}

33
src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeMapper.xml

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="list" parameterType="com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeQuery"
resultType="com.yxt.portal.biz.sysroleauthorize.SysMenuRoleVo">
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}
</select>
<select id="selectByRoleSid" resultType="com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeVo">
select menuSid, dataRuleId
from sys_role_authorize
where roleSid = #{roleSid}
</select>
</mapper>

41
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(门户建设) <br/>
* File: SysSourceQuery.java <br/>
* Class: com.yxt.anrui.portal.api.syssource.SysSourceQuery <br/>
* Description: 资源表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @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<String> roleSids;
@ApiModelProperty("资源sid")
private String sourceSid;
@ApiModelProperty("是否是系统管理员")
private String isAdmin;
}

133
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(门户建设) <br/>
* File: SysSourceService.java <br/>
* Class: com.yxt.anrui.portal.biz.syssource.SysSourceService <br/>
* Description: 资源表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class SysRoleAuthorizeService extends MybatisBaseService<SysRoleAuthorizeMapper, SysRoleAuthorize> {
@Autowired
SysMenuService sysMenuService;
@Autowired
SysRoleService sysRoleService;
/**
* 解析和组装查询条件封装在qw中
*
* @param query
* @return
*/
private QueryWrapper<SysRoleAuthorizeVo> buildQueryWrapper(SysRoleAuthorizeQuery query) {
QueryWrapper<SysRoleAuthorizeVo> 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<SysMenuRoleVo> list(SysRoleAuthorizeQuery query) {
// mybits所用的查询条件封装类
QueryWrapper<SysRoleAuthorizeVo> qw = buildQueryWrapper(query);
return baseMapper.list(qw);
}
/**
* 资源菜单树形列表
*
* @param query:roleSids,sourceSid
* @return 资源菜单树形列表第一级一级菜单 第二级二级菜单
*/
public List<Map<String, Object>> getSourceMenuTreeOfRoles(SysRoleAuthorizeQuery query, Map<String, Object> map_rolemenus) {
//获取当前资源的菜单列表
List<Map<String, Object>> list_menus_map = new ArrayList<Map<String, Object>>();
if (null == query)
return list_menus_map;
//角色s的某个资源的所有菜单列表
List<SysMenuRoleVo> 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<SysRoleAuthorizeVo> 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<SysRoleAuthorizeVo> selectByRoleSid(String roleSid) {
return baseMapper.selectByRoleSid(roleSid);
}
public void delByRoleSid(String roleSid) {
baseMapper.delByRoleSid(roleSid);
}
}

35
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(门户建设) <br/>
* File: SysSourceVo.java <br/>
* Class: com.yxt.user.biz.syssource.SysSourceVo <br/>
* Description: 资源表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @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
}

6
src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.java

@ -32,6 +32,7 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
IPage<SysStaffOrgVo> selectPageVo(IPage<SysStaffOrg> page, @Param(Constants.WRAPPER) Wrapper<SysStaffOrg> qw); IPage<SysStaffOrgVo> selectPageVo(IPage<SysStaffOrg> page, @Param(Constants.WRAPPER) Wrapper<SysStaffOrg> qw);
List<SysStaffOrgVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysStaffOrg> qw); List<SysStaffOrgVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysStaffOrg> qw);
List<SysStaffOrgVo> fetchOrgsByStaffSid(@Param("sid") String sid);
@Select("select * from sys_staff_org") @Select("select * from sys_staff_org")
List<SysStaffOrgVo> selectListVo(); List<SysStaffOrgVo> selectListVo();
@ -78,8 +79,9 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
String selectBySidPathByStaffSid(String applySid); String selectBySidPathByStaffSid(String applySid);
@Select("select * from sys_staff_org where staffSid=#{staffSid} AND manageType != 2") // @Select("select * from sys_staff_org where staffSid=#{staffSid} and orgSid=AND manageType != 2")
SysStaffOrg selectAllByStaffSid(String staffSid); 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") @Select("select * from sys_staff_org where staffSid=#{sid} and manageType = '3' order by id limit 1")
SysStaffOrg getOrgByStaffSid(String sid); SysStaffOrg getOrgByStaffSid(String sid);

13
src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml

@ -18,6 +18,12 @@
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
</select> </select>
<select id="fetchOrgsByStaffSid" resultType="com.yxt.portal.biz.sysstafforg.SysStaffOrgVo">
SELECT c.sid as orgSid ,c.name as orgName
FROM sys_staff_org b
left join sys_organization c on c.sid=b.orgSid
where b.staffSid = #{sid}
</select>
<select id="staffinfoList" resultType="com.yxt.portal.biz.sysstafforg.SysStaffOrgVo"> <select id="staffinfoList" resultType="com.yxt.portal.biz.sysstafforg.SysStaffOrgVo">
SELECT DISTINCT ss.`name` staffName, ss.`mobile`, ss.sid staffSid SELECT DISTINCT ss.`name` staffName, ss.`mobile`, ss.sid staffSid
FROM `sys_staff_org` sso FROM `sys_staff_org` sso
@ -66,6 +72,13 @@
and manageType = '3' and manageType = '3'
order by id desc limit 1 order by id desc limit 1
</select> </select>
<select id="selectAllByStaffSid" resultType="com.yxt.portal.biz.sysstafforg.SysStaffOrg">
select * from sys_staff_org where staffSid=#{staffSid}
<if test="orgSid!='' and orgSid!=null">
and orgSid= #{orgSid}
</if>
AND manageType != 2
</select>
<select id="selectByStaffAndOrg" resultType="int"> <select id="selectByStaffAndOrg" resultType="int">
select count(*) select count(*)

8
src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgService.java

@ -136,6 +136,10 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
List<SysStaffOrgVo> list = baseMapper.staffinfoList(queryWrapper); List<SysStaffOrgVo> list = baseMapper.staffinfoList(queryWrapper);
return list; return list;
} }
public List<SysStaffOrgVo> fetchOrgsByStaffSid(String sid) {
List<SysStaffOrgVo> list = baseMapper.fetchOrgsByStaffSid(sid);
return list;
}
/** /**
* 根据员工sid部门信息 * 根据员工sid部门信息
@ -210,9 +214,9 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
return rb.success().setData(orgPathSid); return rb.success().setData(orgPathSid);
} }
public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) { public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid,String orgSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
SysStaffOrg sysStaffOrg = baseMapper.selectAllByStaffSid(staffSid); SysStaffOrg sysStaffOrg = baseMapper.selectAllByStaffSid(staffSid,orgSid);
return rb.success().setData(sysStaffOrg); return rb.success().setData(sysStaffOrg);
} }

1
src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgVo.java

@ -45,4 +45,5 @@ public class SysStaffOrgVo implements Vo {
private String staffName; private String staffName;
@ApiModelProperty("员工手机号") @ApiModelProperty("员工手机号")
private String mobile; private String mobile;
private String type="2";
} }

3
src/main/java/com/yxt/portal/biz/sysuser/SysUser.java

@ -1,5 +1,6 @@
package com.yxt.portal.biz.sysuser; package com.yxt.portal.biz.sysuser;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity; import com.yxt.common.core.domain.BaseEntity;
@ -65,4 +66,6 @@ public class SysUser extends BaseEntity {
@ApiModelProperty("用户头像") @ApiModelProperty("用户头像")
private String headImage; private String headImage;
@TableField(exist = false)
private String orgSid;
} }

9
src/main/java/com/yxt/portal/biz/sysuser/SysUserDto.java

@ -33,15 +33,16 @@ public class SysUserDto implements Dto {
private String name; private String name;
@ApiModelProperty(value = "验证码", required = true) @ApiModelProperty(value = "验证码", required = true)
@NotBlank(message = "验证码不能为空") @NotBlank(message = "验证码不能为空")
private String verificationCode; private String code;
@ApiModelProperty(value = "部门sid") @ApiModelProperty(value = "部门sid")
private String deptSid; private String deptSid;
@ApiModelProperty(value = "岗位sid") @ApiModelProperty(value = "岗位sid")
private String postSid; private String postSid;
private String companyName;//公司名 private String companyName;//公司名
private String contacts;//联系人 private String contacts;//联系人
private String provinces;//省 private String address;//省/市/区
private String cities;//市 private String userSid;
private String districts;//区 private String password;
private String orgSid;
} }

1
src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.java

@ -61,6 +61,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
SysUser fetchByUserName(String userName); SysUser fetchByUserName(String userName);
void delBySid(String sid); void delBySid(String sid);
@Update("UPDATE sys_user SET headImage=#{headImage} WHERE sid=#{sid}") @Update("UPDATE sys_user SET headImage=#{headImage} WHERE sid=#{sid}")

4
src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml

@ -46,6 +46,8 @@
LEFT JOIN sys_role role ON role.sid = user_role.roleSid LEFT JOIN sys_role role ON role.sid = user_role.roleSid
-- LEFT JOIN dict_common dict ON dict.dictKey = user.userType AND dict.dictType = 'userType' -- LEFT JOIN dict_common dict ON dict.dictKey = user.userType AND dict.dictType = 'userType'
LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid
left join sys_staff_org a on a.staffSid=staff.sid
left join sys_org_authorize b on b.orgSid=a.orgSid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
<if test="orgName != null and orgName != ''"> <if test="orgName != null and orgName != ''">
@ -116,7 +118,7 @@
left join sys_staffinfo si on si.sid = su.staffSid left join sys_staffinfo si on si.sid = su.staffSid
where su.userName = #{param1} where su.userName = #{param1}
and su.isDelete = 0 and su.isDelete = 0
and su.userType = 1 -- and su.userType = 1
</select> </select>
<select id="selectByUserNameApp" resultType="com.yxt.portal.biz.sysuser.SysUser"> <select id="selectByUserNameApp" resultType="com.yxt.portal.biz.sysuser.SysUser">
SELECT su.* SELECT su.*

12
src/main/java/com/yxt/portal/biz/sysuser/SysUserQuery.java

@ -48,9 +48,11 @@ public class SysUserQuery implements Query {
private String type; private String type;
@ApiModelProperty(value = "是否是测试",example = "false") @ApiModelProperty(value = "是否是测试",example = "false")
private Boolean isTest; private Boolean isTest;
private Boolean companyName;//公司名 private String companyName;//公司名
private Boolean contacts;//联系人 private String contacts;//联系人
private Boolean provinces;//省 private String provinces;//省
private Boolean cities;//市 private String cities;//市
private Boolean districts;//区 private String districts;//区
private String orgSid;//组织
private String sourceSid;//资源
} }

24
src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java

@ -131,6 +131,8 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
if (StringUtils.isNotBlank(query.getRoleSid())) { if (StringUtils.isNotBlank(query.getRoleSid())) {
qw.eq("role.sid", query.getRoleSid()); qw.eq("role.sid", query.getRoleSid());
} }
qw.eq("a.orgSid",query.getOrgSid());
qw.eq("b.sourceSid",query.getSourceSid());
// if (StringUtils.isNotBlank(query.getName())) { // if (StringUtils.isNotBlank(query.getName())) {
// qw.like("staff.name", query.getName()); // qw.like("staff.name", query.getName());
// } // }
@ -139,6 +141,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
} }
public PagerVo<SysUserVo> listPageVo(PagerQuery<SysUserQuery> pq) { public PagerVo<SysUserVo> listPageVo(PagerQuery<SysUserQuery> pq) {
ResultBean rb=new ResultBean().fail();
SysUserQuery query = pq.getParams(); SysUserQuery query = pq.getParams();
QueryWrapper<SysUser> qw = createQueryWrapper(query); QueryWrapper<SysUser> qw = createQueryWrapper(query);
IPage<SysUser> page = PagerUtil.queryToPage(pq); IPage<SysUser> page = PagerUtil.queryToPage(pq);
@ -150,6 +153,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
if (StringUtils.isNotBlank(query.getUserName())) { if (StringUtils.isNotBlank(query.getUserName())) {
userName = query.getUserName().trim(); userName = query.getUserName().trim();
} }
IPage<SysUserVo> pagging = baseMapper.selectPageVo(page, qw, deptName, userName); IPage<SysUserVo> pagging = baseMapper.selectPageVo(page, qw, deptName, userName);
List<SysUserVo> records = pagging.getRecords(); List<SysUserVo> records = pagging.getRecords();
for (SysUserVo record : records) { for (SysUserVo record : records) {
@ -165,10 +169,12 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
//从本级部门信息中获取本级部门名称 //从本级部门信息中获取本级部门名称
String bjName = sysOrganization.getName(); String bjName = sysOrganization.getName();
//获取上级sid获取上级部门信息 //获取上级sid获取上级部门信息
SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(psid); if(!psid.equals("0")){
//从上级部门信息中获取上级部门名称 SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(psid);
String sjName = sysOrganization1.getName(); //从上级部门信息中获取上级部门名称
orgName += sjName + "-" + bjName + ","; String sjName = sysOrganization1.getName();
orgName += sjName + "-" + bjName + ",";
}
} }
orgName = orgName.substring(0, orgName.length() - 1); orgName = orgName.substring(0, orgName.length() - 1);
record.setDepartmentName(orgName); record.setDepartmentName(orgName);
@ -329,7 +335,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
userInfoOneVo.setUserName(user.getUserName()); userInfoOneVo.setUserName(user.getUserName());
userInfoOneVo.setIsAdmin(user.getIsAdmin()); userInfoOneVo.setIsAdmin(user.getIsAdmin());
//类型为员工的组织机构信息 //类型为员工的组织机构信息
SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid()).getData(); SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid(),user.getOrgSid()).getData();
if (sysStaffOrg == null) { if (sysStaffOrg == null) {
return null; return null;
} }
@ -374,8 +380,10 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
if (sysOrganizationOne != null) { if (sysOrganizationOne != null) {
String psid = sysOrganizationOne.getPsid(); String psid = sysOrganizationOne.getPsid();
if(StringUtils.isNotNull(psid)){ if(StringUtils.isNotNull(psid)){
String name = sysOrganizationService.fetchBySid(psid).getName(); if(!psid.equals("0")){
userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName()); String name = sysOrganizationService.fetchBySid(psid).getName();
userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName());
}
} }
} }
userInfoOneVo.setOrganizationSid(sysStaffOrgVo.getOrgSid()); userInfoOneVo.setOrganizationSid(sysStaffOrgVo.getOrgSid());
@ -512,7 +520,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
userInfoOneVo.setUserName(user.getUserName()); userInfoOneVo.setUserName(user.getUserName());
userInfoOneVo.setIsAdmin(user.getIsAdmin()); userInfoOneVo.setIsAdmin(user.getIsAdmin());
//类型为员工的组织机构信息 //类型为员工的组织机构信息
SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid()).getData(); SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid(),"").getData();
if (sysStaffOrg == null) { if (sysStaffOrg == null) {
return null; return null;
} }

7
src/main/java/com/yxt/portal/biz/sysuser/SysUserVo.java

@ -4,6 +4,8 @@ package com.yxt.portal.biz.sysuser;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import com.yxt.portal.biz.sysorganization.SysOrganization; import com.yxt.portal.biz.sysorganization.SysOrganization;
import com.yxt.portal.biz.sysorganization.SysOrganizationVo;
import com.yxt.portal.biz.sysstafforg.SysStaffOrgVo;
import com.yxt.portal.biz.sysuser.app.OrgList; import com.yxt.portal.biz.sysuser.app.OrgList;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -69,7 +71,7 @@ public class SysUserVo implements Vo {
private String isEnable; private String isEnable;
@ApiModelProperty("用户类型:1员工、2客户、3供应商") @ApiModelProperty("用户类型:1员工、2客户、3供应商")
private String userType; private String userType;
@ApiModelProperty("用户类型:1、2、3") @ApiModelProperty("用户类型:1、2、3")
private String userTypeKey; private String userTypeKey;
@ApiModelProperty("用户头像") @ApiModelProperty("用户头像")
@ -97,4 +99,7 @@ public class SysUserVo implements Vo {
@ApiModelProperty("工号") @ApiModelProperty("工号")
private String jobNumber; private String jobNumber;
List<SysOrganization> sysOrganizations; List<SysOrganization> sysOrganizations;
List<SysStaffOrgVo> sysOrganizationVos;
private String orgSid;
private String orgName;
} }

2
src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.java

@ -42,7 +42,7 @@ public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
@Delete("delete from sys_user_role where userSid=#{userSid} and roleSid=#{roleSid} ") @Delete("delete from sys_user_role where userSid=#{userSid} and roleSid=#{roleSid} ")
void delByUserSidAndRoleSid(@Param("userSid") String userSid,@Param("roleSid") String roleSid); void delByUserSidAndRoleSid(@Param("userSid") String userSid,@Param("roleSid") String roleSid);
List<SysUserRoleVo> selectByUserSid(@Param("userSid")String userSid); List<SysUserRoleVo> selectByUserSid(@Param("userSid")String userSid,@Param("orgSid")String orgSid,@Param("sourceSid")String sourceSid);
@Select("SELECT roleSid FROM sys_user_role WHERE userSid=#{userSid}") @Select("SELECT roleSid FROM sys_user_role WHERE userSid=#{userSid}")
List<String> getUserRoleSidByUserSid(@Param("userSid")String userSid); List<String> getUserRoleSidByUserSid(@Param("userSid")String userSid);

14
src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml

@ -11,9 +11,17 @@
SELECT * FROM sys_user_role <where> ${ew.sqlSegment} </where> SELECT * FROM sys_user_role <where> ${ew.sqlSegment} </where>
</select> </select>
<select id="selectByUserSid" resultType="com.yxt.portal.biz.sysuserrole.SysUserRoleVo"> <select id="selectByUserSid" resultType="com.yxt.portal.biz.sysuserrole.SysUserRoleVo">
SELECT * SELECT a.*
FROM sys_user_role FROM sys_user_role a
WHERE userSid = #{userSid} left join sys_role b on b.sid =a.roleSid
left join sys_role_authorize c ON c.roleSid = b.sid
WHERE a.userSid = #{userSid}
<if test="orgSid!=null and orgSid!=''">
and b.orgSid=#{orgSid}
</if>
<if test="sourceSid!=null and sourceSid !=''">
and c.sourceSid =#{sourceSid}
</if>
</select> </select>
<delete id="deleteByUserSid"> <delete id="deleteByUserSid">
delete from sys_user_role where userSid=#{params} delete from sys_user_role where userSid=#{params}

4
src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java

@ -96,8 +96,8 @@ public class SysUserRoleService extends MybatisBaseService<SysUserRoleMapper, Sy
baseMapper.delByUserSidAndRoleSid(userSid,roleSid); baseMapper.delByUserSidAndRoleSid(userSid,roleSid);
} }
public List<SysUserRoleVo> selectByUserSid(String userSid) { public List<SysUserRoleVo> selectByUserSid(String userSid,String orgSid,String sourceSid) {
return baseMapper.selectByUserSid(userSid); return baseMapper.selectByUserSid(userSid,orgSid,sourceSid);
} }
/*public void updateUserRole(SysUserRoleDto dto) { /*public void updateUserRole(SysUserRoleDto dto) {
//sysUserRoleService.deleteByUserSid(dto.getUserSid()); //sysUserRoleService.deleteByUserSid(dto.getUserSid());

Loading…
Cancel
Save