|
|
@@ -1,21 +1,85 @@
|
|
|
package com.jzg.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.jzg.annotation.IgnoreTenant;
|
|
|
import com.jzg.entity.po.SysRole;
|
|
|
-import com.jzg.entity.vo.RoleMenuVo;
|
|
|
+import com.jzg.entity.po.SysRolePerms;
|
|
|
+import com.jzg.entity.po.SysSystem;
|
|
|
+import com.jzg.entity.vo.RolePermissionVo;
|
|
|
+import com.jzg.entity.vo.SysRoleVo;
|
|
|
+import com.jzg.exception.SystemException;
|
|
|
+import com.jzg.mapper.SysMenuMapper;
|
|
|
import com.jzg.mapper.SysRoleMapper;
|
|
|
+import com.jzg.mapper.SysRolePermsMapper;
|
|
|
+import com.jzg.service.SysSystemService;
|
|
|
import com.jzg.service.UserRoleService;
|
|
|
+import com.jzg.util.idgen.IdGenerate;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
@Service
|
|
|
public class UserRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements UserRoleService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ SysSystemService sysSystemService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ SysMenuMapper sysMenuMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ SysRolePermsMapper sysRolePermsMapper;
|
|
|
+
|
|
|
@IgnoreTenant
|
|
|
@Override
|
|
|
- public List<RoleMenuVo> getAllRoleMenu() {
|
|
|
- List<RoleMenuVo> allRoleMenu = baseMapper.getAllRoleMenu();
|
|
|
+ public List<RolePermissionVo> getAllRoleMenu() {
|
|
|
+ List<RolePermissionVo> allRoleMenu = baseMapper.getAllRoleMenu();
|
|
|
return allRoleMenu;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public SysRoleVo roleGet(String roleId) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean isExist(String roleName) {
|
|
|
+ return baseMapper.selectCount(new LambdaQueryWrapper<SysRole>()
|
|
|
+ .eq(SysRole::getName,roleName)) > 0;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public boolean roleAdd(SysRoleVo sysRoleVo) {
|
|
|
+ sysRoleVo.setId(IdGenerate.nextId());
|
|
|
+ SysRole sysRole = sysRoleVo.getSysRole();
|
|
|
+ SysSystem bySystemCode = sysSystemService.getBySystemCode(sysRole.getSystemId());
|
|
|
+ if(Objects.isNull(bySystemCode)){
|
|
|
+ throw new SystemException("系统不存在,请修改");
|
|
|
+ }
|
|
|
+ List<SysRolePerms> sysRolePermsList = new ArrayList<>();
|
|
|
+ sysRole.setSystemId(bySystemCode.getId());
|
|
|
+ for(int i=0;i<sysRoleVo.getPermsId().size();i++){
|
|
|
+ SysRolePerms perms = new SysRolePerms();
|
|
|
+ perms.setId(IdGenerate.nextId());
|
|
|
+ perms.setRoleId(sysRole.getId());
|
|
|
+ perms.setPermsId(sysRoleVo.getPermsId().get(i));
|
|
|
+ perms.setPerms(sysRoleVo.getPerms().get(i));
|
|
|
+ sysRolePermsList.add(perms);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(sysRolePermsMapper.insert(sysRolePermsList).stream().count() > 0 && baseMapper.insert(sysRole) > 0){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|