添加公司时赋予相应权限

dev.vehicle.gateway
法外狂徒张三 2024-10-02 15:28:20 +08:00
parent 6d6f5c709c
commit 18baa2abe6
5 changed files with 42 additions and 44 deletions

View File

@ -1,9 +1,6 @@
package com.muyu.system.controller; package com.muyu.system.controller;
import com.muyu.common.core.constant.SecurityConstants;
import com.muyu.common.core.constant.UserConstants;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.exception.ServiceException;
import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
@ -12,9 +9,10 @@ import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysDept; import com.muyu.common.system.domain.SysDept;
import com.muyu.common.system.domain.SysEnt; import com.muyu.common.system.domain.SysEnt;
import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.remote.RemoteUserService;
import com.muyu.system.domain.SysFirm; import com.muyu.system.domain.SysFirm;
import com.muyu.system.domain.SysMenu;
import com.muyu.system.domain.req.SysFirmReq; import com.muyu.system.domain.req.SysFirmReq;
import com.muyu.system.service.ISysFirmService; import com.muyu.system.service.ISysFirmService;
import com.muyu.system.service.SysEntService; import com.muyu.system.service.SysEntService;
@ -32,7 +30,7 @@ import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.Objects;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -59,6 +57,7 @@ public class SysFirmController extends BaseController
@Resource @Resource
private SysDeptController sysDeptController; private SysDeptController sysDeptController;
private static final String FIRM_CREDIT_CODE = "^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$"; private static final String FIRM_CREDIT_CODE = "^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$";
/** /**
@ -120,6 +119,30 @@ public class SysFirmController extends BaseController
return error("新增 企业基础信息 '" + sysFirm + "'失败,统一社会信用代码格式不正确"); return error("新增 企业基础信息 '" + sysFirm + "'失败,统一社会信用代码格式不正确");
} }
//添加角色与角色权限
SysRole role = new SysRole();
role.setFirmCode(firmCode);
role.setRoleName(firmName+"超级管理员");
role.setRoleKey(firmCode+"_admin");
role.setRoleSort(1);
role.setDataScope("1");
role.setMenuCheckStrictly(true);
role.setDeptCheckStrictly(true);
role.setStatus("0");
role.setDelFlag("0");
SysMenu sysMenu = new SysMenu();
Result<List<SysMenu>> sysMenus = sysMenuController.list(sysMenu);
List<SysMenu> menulist = sysMenus.getData();
Long[] menuIds = menulist.stream()
.map(SysMenu::getMenuId)
.filter(Objects::nonNull) // 过滤掉 null 值
.toArray(Long[]::new);
role.setCreateBy(SecurityUtils.getUsername());
role.setMenuIds(menuIds);
sysRoleController.add(role);
//添加部门
SysDept sysDept = new SysDept(); SysDept sysDept = new SysDept();
Result list = sysDeptController.list(sysDept); Result list = sysDeptController.list(sysDept);
List<SysDept> depts = (List<SysDept>) list.getData(); List<SysDept> depts = (List<SysDept>) list.getData();
@ -137,6 +160,7 @@ public class SysFirmController extends BaseController
// 设置创建者和状态 // 设置创建者和状态
sysFirm.setCreateBy(SecurityUtils.getUsername()); sysFirm.setCreateBy(SecurityUtils.getUsername());
//添加用户与用户角色
SysUser sysUser = new SysUser(); SysUser sysUser = new SysUser();
sysUser.setFirmCode(firmCode); sysUser.setFirmCode(firmCode);
sysUser.setUserName(sysFirm.getUserName()); sysUser.setUserName(sysFirm.getUserName());
@ -144,34 +168,15 @@ public class SysFirmController extends BaseController
sysUser.setPassword(sysFirm.getPassword()); sysUser.setPassword(sysFirm.getPassword());
sysUser.setDeptId(sysDept.getDeptId()); sysUser.setDeptId(sysDept.getDeptId());
sysUser.setDept(sysDepts); sysUser.setDept(sysDepts);
Result<TableDataInfo<SysRole>> resultRole = sysRoleController.list(role);
List<SysRole> roleList = resultRole.getData().getRows();
Long[] roleIds = roleList.stream()
.map(SysRole::getRoleId)
.filter(Objects::nonNull) // 过滤掉 null 值
.toArray(Long[]::new);
sysUser.setRoleIds(new Long[]{roleIds[roleList.size() - 1]});
sysUserController.add(sysUser); sysUserController.add(sysUser);
// if (Result.FAIL == registerResult.getCode()) {
// throw new ServiceException(registerResult.getMsg());
// }
// recordLogService.recordLogininfor(SecurityUtils.getUsername(), Constants.REGISTER, "注册成功");
//
// SysRole role = new SysRole();
//
// role.setFirmCode(firmCode);
// role.setRoleName("超级管理员");
// role.setRoleKey("admin");
// role.setRoleSort(1);
// role.setDataScope("1");
// role.setMenuCheckStrictly(true);
// role.setDeptCheckStrictly(true);
// role.setStatus("0");
// role.setDelFlag("0");
// List<SysMenu> list = sysMenuController.list();
// Long[] menuIds = list.stream()
// .map(SysMenu::getMenuId)
// .filter(Objects::nonNull) // 过滤掉 null 值
// .toArray(Long[]::new);
// role.setCreateBy(SecurityUtils.getUsername());
// role.setMenuIds(menuIds);
//
// sysRoleController.add(role);
// 创建数据库和表 // 创建数据库和表
try { try {
createDatabaseAndTables(firmCode); createDatabaseAndTables(firmCode);

View File

@ -28,17 +28,12 @@ public class SysMenuController extends BaseController {
@Resource @Resource
private SysMenuService menuService; private SysMenuService menuService;
public List<SysMenu> list () {
List<SysMenu> menus = menuService.selectMenuList();
return menus;
}
/** /**
* *
*/ */
@RequiresPermissions("system:menu:list") @RequiresPermissions("system:menu:list")
@GetMapping("/list") @GetMapping("/list")
public Result list (SysMenu menu) { public Result<List<SysMenu>> list (SysMenu menu) {
Long userId = SecurityUtils.getUserId(); Long userId = SecurityUtils.getUserId();
List<SysMenu> menus = menuService.selectMenuList(menu, userId); List<SysMenu> menus = menuService.selectMenuList(menu, userId);
return success(menus); return success(menus);

View File

@ -33,7 +33,6 @@ public interface SysMenuService extends IService<SysMenu> {
*/ */
public List<SysMenu> selectMenuList (SysMenu menu, Long userId); public List<SysMenu> selectMenuList (SysMenu menu, Long userId);
public List<SysMenu> selectMenuList ();
/** /**
* ID * ID

View File

@ -70,8 +70,11 @@ public class SysFirmServiceImpl
@Override @Override
public Boolean checkIdUnique(SysFirm sysFirm) { public Boolean checkIdUnique(SysFirm sysFirm) {
LambdaQueryWrapper<SysFirm> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysFirm> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysFirm::getFirmCreditCode, sysFirm.getFirmCreditCode()); queryWrapper.eq(SysFirm::getFirmCreditCode, sysFirm.getFirmCreditCode())
queryWrapper.eq(SysFirm::getFirmCode, sysFirm.getFirmCode()); .or()
.eq(SysFirm::getFirmCode, sysFirm.getFirmCode())
.or()
.eq(SysFirm::getFirmName, sysFirm.getFirmName());
return this.count(queryWrapper) > 0; return this.count(queryWrapper) > 0;
} }

View File

@ -72,10 +72,6 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
return menuList; return menuList;
} }
@Override
public List<SysMenu> selectMenuList() {
return this.list();
}
/** /**
* ID * ID