diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysFirmController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysFirmController.java index fc2fd33..2dc61ba 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysFirmController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysFirmController.java @@ -1,9 +1,6 @@ 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.exception.ServiceException; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.poi.ExcelUtil; 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.system.domain.SysDept; 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.remote.RemoteUserService; import com.muyu.system.domain.SysFirm; +import com.muyu.system.domain.SysMenu; import com.muyu.system.domain.req.SysFirmReq; import com.muyu.system.service.ISysFirmService; import com.muyu.system.service.SysEntService; @@ -32,7 +30,7 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.Arrays; import java.util.List; -import java.util.UUID; +import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -59,6 +57,7 @@ public class SysFirmController extends BaseController @Resource private SysDeptController sysDeptController; + 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 + "'失败,统一社会信用代码格式不正确"); } + //添加角色与角色权限 + 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> sysMenus = sysMenuController.list(sysMenu); + List 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(); Result list = sysDeptController.list(sysDept); List depts = (List) list.getData(); @@ -137,6 +160,7 @@ public class SysFirmController extends BaseController // 设置创建者和状态 sysFirm.setCreateBy(SecurityUtils.getUsername()); + //添加用户与用户角色 SysUser sysUser = new SysUser(); sysUser.setFirmCode(firmCode); sysUser.setUserName(sysFirm.getUserName()); @@ -144,34 +168,15 @@ public class SysFirmController extends BaseController sysUser.setPassword(sysFirm.getPassword()); sysUser.setDeptId(sysDept.getDeptId()); sysUser.setDept(sysDepts); + Result> resultRole = sysRoleController.list(role); + List 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); -// 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 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 { createDatabaseAndTables(firmCode); diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysMenuController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysMenuController.java index f4f1b36..063ca65 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysMenuController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysMenuController.java @@ -28,17 +28,12 @@ public class SysMenuController extends BaseController { @Resource private SysMenuService menuService; - public List list () { - List menus = menuService.selectMenuList(); - return menus; - } - /** * 获取菜单列表 */ @RequiresPermissions("system:menu:list") @GetMapping("/list") - public Result list (SysMenu menu) { + public Result> list (SysMenu menu) { Long userId = SecurityUtils.getUserId(); List menus = menuService.selectMenuList(menu, userId); return success(menus); diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysMenuService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysMenuService.java index 1e06a13..2c4ab14 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysMenuService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysMenuService.java @@ -33,7 +33,6 @@ public interface SysMenuService extends IService { */ public List selectMenuList (SysMenu menu, Long userId); - public List selectMenuList (); /** * 根据用户ID查询权限 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysFirmServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysFirmServiceImpl.java index 639820d..5e5ffcd 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysFirmServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysFirmServiceImpl.java @@ -70,8 +70,11 @@ public class SysFirmServiceImpl @Override public Boolean checkIdUnique(SysFirm sysFirm) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysFirm::getFirmCreditCode, sysFirm.getFirmCreditCode()); - queryWrapper.eq(SysFirm::getFirmCode, sysFirm.getFirmCode()); + queryWrapper.eq(SysFirm::getFirmCreditCode, sysFirm.getFirmCreditCode()) + .or() + .eq(SysFirm::getFirmCode, sysFirm.getFirmCode()) + .or() + .eq(SysFirm::getFirmName, sysFirm.getFirmName()); return this.count(queryWrapper) > 0; } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java index 884a086..f796cb2 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java @@ -72,10 +72,6 @@ public class SysMenuServiceImpl extends ServiceImpl impl return menuList; } - @Override - public List selectMenuList() { - return this.list(); - } /** * 根据用户ID查询权限