Browse Source

菜单登录

master
wangpengfei 10 months ago
parent
commit
8a01d7f029
  1. 26
      src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java
  2. 53
      src/main/java/com/yxt/portal/apiadmin/SysUserRest.java
  3. 4
      src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.java
  4. 51
      src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml
  5. 70
      src/main/java/com/yxt/portal/biz/sysmenu/SysMenuService.java
  6. 1
      src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeQuery.java
  7. 7
      src/main/java/com/yxt/portal/biz/syssource/SysSourceMapper.xml
  8. 7
      src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java
  9. 6
      src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml

26
src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java

@ -71,6 +71,7 @@ public class SysMenuRest {
SysOrganizationService sysOrganizationService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<SysMenuVo>> listPage(@RequestBody PagerQuery<SysMenuQuery> pq) {
@ -109,7 +110,7 @@ public class SysMenuRest {
@PostMapping("/listAllVoForSourceG")
public ResultBean<List<SysMenuTreeVo>> listAllVoForSourceG(@RequestBody SysMenuQuery query){
ResultBean rb = ResultBean.fireFail();
List<SysMenuTreeVo> list = sysMenuService.listAllVoForSourceG(query);
List<SysMenuTreeVo> list = sysMenuService.listAllVoForSource(query);
return rb.success().setData(list);
}
/**
@ -239,7 +240,28 @@ public class SysMenuRest {
}
return rb.success().setData(list);
}
@ApiOperation("根据角色sid条件查询所有数据列表")
@PostMapping("/listAllByRoleSidG")
public ResultBean<List<SysMenuVo>> listAllByRoleSidG(@RequestBody SysMenuQuery query) {
ResultBean rb = ResultBean.fireFail();
String roleSid = query.getRoleSid();
if (StringUtils.isBlank(roleSid)) {
ResultBean<List<SysMenuVo>> resultBean = new ResultBean<List<SysMenuVo>>();
return resultBean.fail().setMessage("角色sid不能为空!");
}
List<SysSourceVo> sysSourceVos = sysSourceService.listVo(query.getSourceSid());
List<SysMenuVo> list = new ArrayList<>();
for (SysSourceVo s : sysSourceVos) {
SysMenuVo sysMenuVo = new SysMenuVo();
sysMenuVo.setName(s.getSourceName());
sysMenuVo.setSid(s.getSid());
sysMenuVo.setChecked("1");
query.setSourceSid(s.getSid());
sysMenuVo.setChildren(sysMenuService.listAllByRoleSidG(query));
list.add(sysMenuVo);
}
return rb.success().setData(list);
}
public ResultBean<List<SysMenuVo>> list() {
ResultBean rb = ResultBean.fireFail();

53
src/main/java/com/yxt/portal/apiadmin/SysUserRest.java

@ -455,7 +455,7 @@ public class SysUserRest {
SysOrganization sysOrganizationOne = sysOrganizationService.fetchBySid(sysStaffOrgVo.getOrgSid());
if (sysOrganizationOne != null) {
List<SysOrgRegister> sysOrgRegisters=new ArrayList<>();
if(sysOrganizationOne.getPsid()!="0"){
if(!sysOrganizationOne.getPsid().equals("0")){
sysOrgRegisters=sysOrgRegisterService.list(new QueryWrapper<SysOrgRegister>()
.eq("orgSid",sysOrganizationOne.getPsid()));
}else{
@ -466,7 +466,13 @@ public class SysUserRest {
//1>2 1 、1<2 -1 、1=2 0
int k= DateUtil.parse(sdf.format(DateUtil.parse(sdf.format(new Date())))).compareTo(DateUtil.parse(sdf.format(sysOrgRegister.getExpireDate())));
if(k==1){
sysOrgRegister.setRegType("1");
sysStaffOrgVo.setType("1");
}else{
if(sysOrgRegister.getRegType().equals("0")){
sysStaffOrgVo.setType("2");
}else{
sysStaffOrgVo.setType("3");
}
}
}
String psid = sysOrganizationOne.getPsid();
@ -478,20 +484,11 @@ public class SysUserRest {
sysStaffOrgVo.setOrgName(sysStaffOrgVo.getOrgName());
}
}
sysStaffOrgVo.setType(sysOrgRegisters.get(0).getRegType());
sysOrgRegisterService.updateBatchById(sysOrgRegisters);
// sysStaffOrgVo.setType(sysOrgRegisters.get(0).getRegType());
// sysOrgRegisterService.updateBatchById(sysOrgRegisters);
}
}
SysUserVo userInfoOneVo = new SysUserVo();
// if(sysStaffOrgVos.size()>1){
// userInfoOneVo.setSid(user.getSid());
// userInfoOneVo.setSysOrganizationVos(sysStaffOrgVos);
// }else if(sysStaffOrgVos.size()==1){
// userInfoOneVo = sysUserService.setUserRedisSessionToken(user);
// if (userInfoOneVo == null) {
// return new ResultBean<SysUserVo>().fail().setMsg("该用户不是公司员工");
// }
// }
userInfoOneVo.setSid(user.getSid());
userInfoOneVo.setSysOrganizationVos(sysStaffOrgVos);
// sysStaffOrgService.get
@ -505,15 +502,20 @@ public class SysUserRest {
public ResultBean selOrganization(@RequestBody SysUserDto dto){
SysOrganization sysOrganization=sysOrganizationService.getOne(new QueryWrapper<SysOrganization>().eq("sid",dto.getOrgSid()));
List<SysOrgRegister> sysOrgRegisters=new ArrayList<>();
if(sysOrganization.getPsid()!="0"){
if(!sysOrganization.getPsid().equals("0")){
sysOrgRegisters=sysOrgRegisterService.list(new QueryWrapper<SysOrgRegister>()
.eq("orgSid",sysOrganization.getPsid()));
}else {
sysOrgRegisters=sysOrgRegisterService.list(new QueryWrapper<SysOrgRegister>()
.eq("orgSid",dto.getOrgSid()));
}
if(sysOrgRegisters.get(0).getRegType().equals("1")){
return new ResultBean<>().fail().setMsg("您选择的单位在本系统的体验版已到期,请联系我们购买正式版本。");
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
for (SysOrgRegister sysOrgRegister : sysOrgRegisters) {
//1>2 1 、1<2 -1 、1=2 0
int k= DateUtil.parse(sdf.format(DateUtil.parse(sdf.format(new Date())))).compareTo(DateUtil.parse(sdf.format(sysOrgRegister.getExpireDate())));
if(k==1){
return new ResultBean<>().fail().setMsg("您选择的单位在本系统的体验版已到期,请联系我们购买正式版本。");
}
}
SysUser sysUser=sysUserService.getOne(new QueryWrapper<SysUser>().eq("sid",dto.getUserSid()));
sysUser.setOrgSid(dto.getOrgSid());
@ -582,6 +584,11 @@ public class SysUserRest {
ssSid=ssi.getSid();
userInfoOneVo.setSysOrganizationVos(new ArrayList<>());
userInfoOneVo.setSid(su.getSid());
SysUserRole sysUserRole=new SysUserRole();
sysUserRole.setRoleSid("002");
sysUserRole.setUserSid(su.getSid());
sysUserRoleService.save(sysUserRole);
}
return new ResultBean<>().success().setData(userInfoOneVo);
}
@ -592,6 +599,10 @@ public class SysUserRest {
@ApiOperationSupport(order = 30)
public ResultBean bindOrganization(@RequestBody SysUserDto dto) {
SysUser sysUser=sysUserService.getOne(new QueryWrapper<SysUser>().eq("sid",dto.getUserSid()));
List<SysOrganization> sysOrganization=sysOrganizationService.list(new QueryWrapper<SysOrganization>().eq("name",dto.getCompanyName()));
if(sysOrganization.size()!=0){
return new ResultBean<SysUserVo>().fail().setMsg("该单位已存在");
}
SysOrganization sysOrg=new SysOrganization();
sysOrg.setName(dto.getCompanyName());
sysOrg.setLinkPhone(dto.getContacts());
@ -603,7 +614,7 @@ public class SysUserRest {
for (SysSource sysSource : sysSources) {
SysOrgRegister sysOrgRegister=new SysOrgRegister();
sysOrgRegister.setOrgSid(sysOrg.getSid());
sysOrgRegister.setExpireDate(DateUtil.offsetDay(new Date(),7));
sysOrgRegister.setExpireDate(DateUtil.offsetDay(new Date(),15));
sysOrgRegister.setRegType("2");
sysOrgRegister.setSourceSid(sysSource.getSid());
sysOrgRegisters.add(sysOrgRegister);
@ -636,10 +647,10 @@ public class SysUserRest {
// }
// sysRoleAuthorizeService.saveBatch(sysRoleAuthorizes);
//
SysUserRole sysUserRole=new SysUserRole();
sysUserRole.setRoleSid("002");
sysUserRole.setUserSid(sysUser.getSid());
sysUserRoleService.save(sysUserRole);
// SysUserRole sysUserRole=new SysUserRole();
// sysUserRole.setRoleSid("002");
// sysUserRole.setUserSid(sysUser.getSid());
// sysUserRoleService.save(sysUserRole);
SysUser user = null;
user = sysUserService.selectByUserName(sysUser.getUserName());
user.setOrgSid(sysOrg.getSid());

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

@ -38,6 +38,7 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
List<SysMenuVo> selectListVo();
List<SysMenuVo> listAllParentByRoleSid(String roleSid, String sid, @Param("sourceSid") String sourceSid);
List<SysMenuVo> listAllParentByRoleSidG(String roleSid, String sid, @Param("sourceSid") String sourceSid,@Param("orgSid") String orgSid);
@Select("SELECT menu.*,sourceMenu.`sourceSid` FROM sys_menu menu " +
"LEFT JOIN sys_org_authorize sourceMenu ON menu.sid=sourceMenu.menuSid where menu.sid=#{sid}")
@ -61,7 +62,7 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
* @return
*/
List<SysMenuTreeVo> selectChildernList(String sid);
List<SysMenuTreeVo> selectGroupChildernList(@Param("sid") String sid,@Param("sourceSid") String sourceSid,@Param("orgSid") String orgSid);
/**
* 查询该资源下是否有可用的菜单
@ -80,5 +81,4 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
* @return
*/
List<SysMenuTreeVo> fetchRootMenuBySourceSid(@Param("sourceSid") String sourceSid);
List<SysMenuTreeVo> fetchGroupBySourceSid(@Param("sourceSid") String sourceSid,@Param("orgSid") String orgSid);
}

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

@ -29,6 +29,18 @@
and menu.sourceSid = #{sourceSid}
</if>
</select>
<select id="listAllParentByRoleSidG" resultType="com.yxt.portal.biz.sysmenu.SysMenuVo">
SELECT menu.*, ISNULL(menuRole.sid) as checked
FROM sys_menu menu
left join sys_role_authorize menuRole on menu.sid = menuRole.menuSid AND menuRole.roleSid = #{param1}
left join sys_authorize_group a on a.menuSid=menu.sid
left join sys_org_authorize b on b.ahthorizeGroupSid=a.sid
where menu.pSid = #{param2}
<if test="sourceSid != null">
and a.sourceSid = #{sourceSid}
</if>
and b.orgSid=#{orgSid}
</select>
<select id="getChildrensForMenuTree" resultType="com.yxt.portal.biz.sysmenu.SysMenuTreeVo">
SELECT menu.*, source.sourceName, sourceMenu.menuRootSid as menuRootSid
FROM sys_menu menu
@ -72,39 +84,7 @@
(select name from sys_menu where sid=menu.pSid) as pName
FROM sys_menu menu
left join sys_source source on source.sid = menu.sourceSid
where menu.pSid = #{sid} and menu.menuType !='2'
ORDER BY menu.sortNo ASC
</select>
<select id="selectGroupChildernList" resultType="com.yxt.portal.biz.sysmenu.SysMenuTreeVo">
SELECT menu.NAME AS NAME,
menu.sid AS sid,
menu.sid AS sid,
source.sid AS sourceSid,
menu.sortNo AS sortNo,
menu.pSid AS pSid,
source.sourceName AS sourceName,
menu.sid AS menuRootSid,
menu.menuUrl AS menuUrl,
menu.iconUrl AS iconUrl,
menu.pageName AS pageName,
menu.pageUrlRedirect AS pageUrlRedirect,
menu.pageUrl AS pageUrl,
menu.remarks,
menu.isEnable,
menu.menuType as menuType,
case menuType
when 0 then '目录'
when 1 then '菜单'
when 2 then '按钮'
end as menuTypeValue,
menu.isShow,
menu.cId as cId,
(select name from sys_menu where sid=menu.pSid) as pName
FROM sys_menu menu
left join sys_source source on source.sid = menu.sourceSid
left join sys_authorize_group a on a.menuSid=menu.sid
left join sys_org_authorize b on b.ahthorizeGroupSid=a.sid
where menu.pSid = #{sid} and a.sourceSid=#{sourceSid} and b.orgSid=#{orgSid} and menu.menuType !='2'
where menu.pSid = #{sid}
ORDER BY menu.sortNo ASC
</select>
@ -146,7 +126,10 @@
if(menu.pSid=0,'顶级菜单','' )as pName
FROM sys_menu menu
LEFT JOIN sys_source source ON menu.sourceSid = source.sid
WHERE source.sid = #{sourceSid} AND menu.psid='0' and menu.isDelete!=1
WHERE menu.psid='0' and menu.isDelete!=1
<if test="sourceSid !=null and sourceSid !=''">
and source.sid=#{sourceSid}
</if>
ORDER BY menu.sortNo ASC
</select>
<select id="fetchGroupBySourceSid" resultType="com.yxt.portal.biz.sysmenu.SysMenuTreeVo">

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

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.portal.biz.sysorgregister.SysOrgRegisterService;
import com.yxt.portal.biz.sysroleauthorize.SysMenuRoleVo;
import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorize;
import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeService;
import com.yxt.portal.biz.syssource.SysSourceService;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -43,6 +45,8 @@ public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
private SysSourceService sysSourceService;
@Autowired
SysOrgRegisterService sysOrgRegisterService;
@Autowired
SysRoleAuthorizeService sysRoleAuthorizeService;
public PagerVo<SysMenu> listPage(PagerQuery<SysMenuQuery> pq) {
SysMenuQuery query = pq.getParams();
@ -135,31 +139,7 @@ public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
for (SysMenuTreeVo s : sysSourceVos) {
//根据资源sid查询该资源下的所有一级菜单
//List<SysMenuTreeVo> sysMenuVoList = sysSourceMenuService.fetchRootMenuBySourceSid(s.getSourceSid());
List<SysMenuTreeVo> sysMenuVoList = sysMenuService.fetchRootMenuBySourceSid(s.getSourceSid());
s.setChildren(sysMenuVoList);
s.setIsSource("1");
//判断该资源下的菜单是否有可用的状态
int isEnable = 1;
int count = baseMapper.selectBySourceSid(isEnable, s.getSourceSid());
if (count == 0) {
s.setIsEnable("0");
} else {
s.setIsEnable("1");
}
if (!sysMenuVoList.isEmpty()) {
// sysMenuVoList = getChildrensForMenuTree(sysMenuVoList);
getChildList(sysMenuVoList);
}
}
return sysSourceVos;
}
public List<SysMenuTreeVo> listAllVoForSourceG(SysMenuQuery query) {
//查询所有的资源列表
List<SysMenuTreeVo> sysSourceVos = sysSourceService.listMenuTreeVo(query.getSourceSid());
for (SysMenuTreeVo s : sysSourceVos) {
//根据资源sid查询该资源下的所有一级菜单
//List<SysMenuTreeVo> sysMenuVoList = sysSourceMenuService.fetchRootMenuBySourceSid(s.getSourceSid());
List<SysMenuTreeVo> sysMenuVoList = sysMenuService.fetchGroupBySourceSid(s.getSourceSid(),query.getOrgSid());
List<SysMenuTreeVo> sysMenuVoList = sysMenuService.fetchRootMenuBySourceSid("");
s.setChildren(sysMenuVoList);
s.setIsSource("1");
//判断该资源下的菜单是否有可用的状态
@ -181,10 +161,8 @@ public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
public void getChildList(List<SysMenuTreeVo> list) {
list.forEach(str -> {
String sid = str.getSid();
String sourceSid = str.getSourceSid();
String orgSid = str.getOrgSid();
// List<SysMenuTreeVo> listChildren = baseMapper.selectChildernList(sid);
List<SysMenuTreeVo> listChildren = baseMapper.selectGroupChildernList(sid,sourceSid,orgSid);
List<SysMenuTreeVo> listChildren = baseMapper.selectChildernList(sid);
str.setChildren(listChildren);
getChildList(listChildren);
});
@ -275,7 +253,14 @@ public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
}
return sysMenuVos;
}
public List<SysMenuVo> listAllByRoleSidG(SysMenuQuery query) {
List<SysMenuVo> sysMenuVos = baseMapper.listAllParentByRoleSidG(query.getRoleSid(), "0", query.getSourceSid(),query.getOrgSid());
for (SysMenuVo s : sysMenuVos) {
getChildrensByRoleSidG(s, query.getRoleSid(), query.getSourceSid(),query.getOrgSid());
}
return sysMenuVos;
}
private void getChildrensByRoleSid(SysMenuVo s, String roleSid, String sourceSid) {
String sid = s.getSid();
List<SysMenuVo> sysMenuVos = baseMapper.listAllParentByRoleSid(roleSid, sid, sourceSid);
@ -286,7 +271,16 @@ public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
}
s.setChildren(sysMenuVos);
}
private void getChildrensByRoleSidG(SysMenuVo s, String roleSid, String sourceSid,String orgSid) {
String sid = s.getSid();
List<SysMenuVo> sysMenuVos = baseMapper.listAllParentByRoleSidG(roleSid, sid, sourceSid,orgSid);
if (!sysMenuVos.isEmpty()) {
for (SysMenuVo smv : sysMenuVos) {
getChildrensByRoleSid(smv, roleSid, sourceSid);
}
}
s.setChildren(sysMenuVos);
}
/*public List<SysMenuTreeVo> listAllVoBySourceSId(SysMenuQuery query) {
SysSource sysSource = sysSourceService.fetchBySid(query.getSourceSid());
List<SysMenuTreeVo> sysSourceVos = new ArrayList<>();//sysSourceService.listAllVoBySourceSId(query.getSourceSid());
@ -434,12 +428,17 @@ public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
public void saveMenu(SysMenuDto dto) {
SysMenu entity = new SysMenu();
dto.fillEntity(entity);
// SysSourceMenu sysSourceMenu = new SysSourceMenu();
// sysSourceMenu.setMenuSid(entity.getSid());
// sysSourceMenu.setSourceSid(dto.getSourceSid());
// setRootSid(entity, sysSourceMenu);
// sysSourceMenuService.save(sysSourceMenu);
save(entity);
String[] strings={"001","002"};
for (String string : strings) {
SysRoleAuthorize sysRoleAuthorize=new SysRoleAuthorize();
sysRoleAuthorize.setRoleSid(string);
sysRoleAuthorize.setMenuSid(entity.getSid());
sysRoleAuthorize.setSourceSid(dto.getSourceSid());
sysRoleAuthorizeService.save(sysRoleAuthorize);
}
SysRoleAuthorize sysRoleAuthorize=new SysRoleAuthorize();
sysRoleAuthorizeService.save(sysRoleAuthorize);
}
public List<SysMenu> selectByMenuUrl(String menuUrl) {
@ -455,7 +454,4 @@ public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
public List<SysMenuTreeVo> fetchRootMenuBySourceSid(String sid) {
return baseMapper.fetchRootMenuBySourceSid(sid);
}
public List<SysMenuTreeVo> fetchGroupBySourceSid(String sid,String orgSid) {
return baseMapper.fetchGroupBySourceSid(sid,orgSid);
}
}

1
src/main/java/com/yxt/portal/biz/sysroleauthorize/SysRoleAuthorizeQuery.java

@ -37,5 +37,4 @@ public class SysRoleAuthorizeQuery implements Query {
@ApiModelProperty("是否是系统管理员")
private String isAdmin;
}

7
src/main/java/com/yxt/portal/biz/syssource/SysSourceMapper.xml

@ -18,6 +18,13 @@
${ew.sqlSegment}
</where>
</select>
<select id="selectListVo" resultType="com.yxt.portal.biz.syssource.SysSourceVo">
SELECT *
FROM sys_source
<if test="sourceSid !=null and sourceSid !=''">
sid=#{sourceSid}
</if>
</select>
<select id="listAllByRoleSid" resultType="com.yxt.portal.biz.syssource.SysSourceVo">
SELECT source.*, ISNULL(sourceRole.sid) as checked
FROM sys_source source

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

@ -1702,7 +1702,12 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
List<String> roleIdList = sysUserRoleService.selectRoleSid(query.getUserSid(),query.getOrgPath().substring(0,i1));
List<String> roleIdList=new ArrayList<>();
if(orgSidPath.split("/").length>1){
roleIdList = sysUserRoleService.selectRoleSid(query.getUserSid(),query.getOrgPath().substring(0,i1));
}else{
roleIdList = sysUserRoleService.selectRoleSid(query.getUserSid(),"");
}
roleIdList.removeAll(Collections.singleton(null));
if (!roleIdList.isEmpty()) {
for (int i = 0; i < roleIdList.size(); i++) {

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

@ -61,7 +61,11 @@
<select id="selectRoleSid" resultType="java.lang.String">
select distinct dataRuleId from sys_user_role a
left join sys_role b on a.roleSid =b.sid
where userSid = #{userSid} and b.orgSid =#{orgSid} order by dataRuleId limit 1
where userSid = #{userSid}
<if test="orgSid !=null and orgSid!=''">
and b.orgSid =#{orgSid}
</if>
order by dataRuleId limit 1
</select>
<select id="selectByUserSids" resultType="java.lang.String">

Loading…
Cancel
Save