改造租户创建
This commit is contained in:
@@ -4,8 +4,10 @@ import cn.hutool.core.lang.Validator;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||||
import com.gxwebsoft.common.core.exception.BusinessException;
|
import com.gxwebsoft.common.core.exception.BusinessException;
|
||||||
|
import com.gxwebsoft.common.core.utils.CommonUtil;
|
||||||
import com.gxwebsoft.common.core.web.*;
|
import com.gxwebsoft.common.core.web.*;
|
||||||
import com.gxwebsoft.common.system.entity.Company;
|
import com.gxwebsoft.common.system.entity.Company;
|
||||||
|
import com.gxwebsoft.common.system.entity.Tenant;
|
||||||
import com.gxwebsoft.common.system.entity.User;
|
import com.gxwebsoft.common.system.entity.User;
|
||||||
import com.gxwebsoft.common.system.entity.UserCollection;
|
import com.gxwebsoft.common.system.entity.UserCollection;
|
||||||
import com.gxwebsoft.common.system.mapper.CompanyMapper;
|
import com.gxwebsoft.common.system.mapper.CompanyMapper;
|
||||||
@@ -17,6 +19,8 @@ import io.swagger.annotations.Api;
|
|||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.transaction.annotation.Isolation;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@@ -98,17 +102,27 @@ public class CompanyController extends BaseController {
|
|||||||
return success(companyService.getByIdRel(id));
|
return success(companyService.getByIdRel(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = {Exception.class}, isolation = Isolation.SERIALIZABLE)
|
||||||
@PreAuthorize("hasAuthority('sys:company:save')")
|
@PreAuthorize("hasAuthority('sys:company:save')")
|
||||||
@OperationLog
|
|
||||||
@ApiOperation("添加企业信息")
|
@ApiOperation("添加企业信息")
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
public ApiResult<?> save(@RequestBody Company company) {
|
public ApiResult<?> save(@RequestBody Company company) {
|
||||||
|
Tenant tenant = new Tenant();
|
||||||
// 记录当前登录用户id
|
// 记录当前登录用户id
|
||||||
User loginUser = getLoginUser();
|
User loginUser = getLoginUser();
|
||||||
if (loginUser != null) {
|
if (loginUser != null) {
|
||||||
company.setUserId(loginUser.getUserId());
|
company.setUserId(loginUser.getUserId());
|
||||||
|
tenant.setUserId(loginUser.getUserId());
|
||||||
}
|
}
|
||||||
if (companyService.save(company)) {
|
tenant.setTenantName(company.getShortName());
|
||||||
|
tenant.setTenantCode(CommonUtil.randomUUID16());
|
||||||
|
tenant.setComments(company.getComments());
|
||||||
|
tenantService.save(tenant);
|
||||||
|
company.setTenantId(tenant.getTenantId());
|
||||||
|
company.setTid(tenant.getTenantId());
|
||||||
|
company.setAuthoritative(true);
|
||||||
|
// 添加租户并初始化
|
||||||
|
if (tenantService.initialization(company)) {
|
||||||
return success("添加成功");
|
return success("添加成功");
|
||||||
}
|
}
|
||||||
return fail("添加失败");
|
return fail("添加失败");
|
||||||
|
|||||||
@@ -455,524 +455,13 @@ public class MainController extends BaseController {
|
|||||||
tenant.setTenantCode(CommonUtil.randomUUID16());
|
tenant.setTenantCode(CommonUtil.randomUUID16());
|
||||||
tenantService.save(tenant);
|
tenantService.save(tenant);
|
||||||
|
|
||||||
// 添加默认字典
|
// 租户初始化
|
||||||
Dict dict = new Dict();
|
|
||||||
dict.setDictName("性别");
|
|
||||||
dict.setDictCode("sex");
|
|
||||||
dict.setTenantId(tenant.getTenantId());
|
|
||||||
dictService.save(dict);
|
|
||||||
DictData dictData = new DictData();
|
|
||||||
dictData.setDictId(dict.getDictId());
|
|
||||||
dictData.setDictDataName("男");
|
|
||||||
dictData.setDictDataCode("1");
|
|
||||||
dictData.setSortNumber(100);
|
|
||||||
dictData.setTenantId(tenant.getTenantId());
|
|
||||||
dictDataService.save(dictData);
|
|
||||||
dictData.setDictDataName("女");
|
|
||||||
dictData.setDictDataCode("2");
|
|
||||||
dictData.setTenantId(tenant.getTenantId());
|
|
||||||
dictDataService.save(dictData);
|
|
||||||
dict.setDictName("机构类型");
|
|
||||||
dict.setDictCode("organizationType");
|
|
||||||
dict.setTenantId(tenant.getTenantId());
|
|
||||||
dictService.save(dict);
|
|
||||||
dictData.setDictId(dict.getDictId());
|
|
||||||
dictData.setDictDataName("公司");
|
|
||||||
dictData.setDictDataCode("1");
|
|
||||||
dictData.setTenantId(tenant.getTenantId());
|
|
||||||
dictDataService.save(dictData);
|
|
||||||
dictData.setDictId(dict.getDictId());
|
|
||||||
dictData.setDictDataName("部门");
|
|
||||||
dictData.setDictDataCode("2");
|
|
||||||
dictData.setTenantId(tenant.getTenantId());
|
|
||||||
dictDataService.save(dictData);
|
|
||||||
|
|
||||||
// 添加超级管理员
|
|
||||||
User admin = new User();
|
|
||||||
admin.setUsername("admin");
|
|
||||||
admin.setNickname("超级管理员");
|
|
||||||
admin.setPhone(phone);
|
|
||||||
admin.setEmail(email);
|
|
||||||
admin.setRealName(tenantName);
|
|
||||||
admin.setCompanyName(tenantName);
|
|
||||||
admin.setPassword(userService.encodePassword(password));
|
|
||||||
admin.setTenantId(tenant.getTenantId());
|
|
||||||
boolean result = userService.save(admin);
|
|
||||||
Integer superAdminUserId = admin.getUserId();
|
|
||||||
|
|
||||||
// 企业资源配置
|
|
||||||
final Company company = new Company();
|
final Company company = new Company();
|
||||||
company.setTenantId(tenant.getTenantId());
|
company.setEmail(email);
|
||||||
company.setShortName(tenantName);
|
company.setPassword(password);
|
||||||
company.setCompanyLogo("/logo.svg");
|
|
||||||
company.setPhone(phone);
|
|
||||||
company.setMembers(20);
|
|
||||||
company.setServerUrl("https://server.gxwebsoft.com");
|
|
||||||
company.setModulesUrl("https://modules.gxwebsoft.com");
|
|
||||||
company.setSocketUrl("wss://server.gxwebsoft.com");
|
|
||||||
company.setAdminUrl("http://".concat(tenant.getTenantId().toString()).concat(".adm.wsdns.cn"));
|
|
||||||
company.setMerchantUrl("http://".concat(tenant.getTenantId().toString()).concat(".m.wsdns.cn"));
|
|
||||||
company.setWebsiteUrl("http://".concat(tenant.getTenantId().toString()).concat(".wsdns.cn"));
|
|
||||||
company.setH5Code("http://".concat(tenant.getTenantId().toString()).concat(".h5.wsdns.cn"));
|
|
||||||
company.setAndroidUrl("http://".concat(tenant.getTenantId().toString()).concat(".android.wsdns.cn"));
|
|
||||||
company.setIosUrl("http://".concat(tenant.getTenantId().toString()).concat(".ios.wsdns.cn"));
|
|
||||||
company.setVersion(10);
|
|
||||||
company.setIndustryParent("");
|
|
||||||
company.setIndustryChild("");
|
|
||||||
company.setDepartments(10);
|
|
||||||
company.setDepartments(10);
|
|
||||||
company.setStorageMax(524288000L);
|
|
||||||
company.setAuthoritative(true);
|
|
||||||
company.setUsers(2);
|
|
||||||
company.setClicks(1L);
|
|
||||||
company.setLikes(0L);
|
|
||||||
company.setTid(tenant.getTenantId());
|
company.setTid(tenant.getTenantId());
|
||||||
company.setCompanyType("企业");
|
company.setTenantId(tenant.getTenantId());
|
||||||
company.setEmail(user.getEmail());
|
tenantService.initialization(company);
|
||||||
company.setUserId(admin.getUserId());
|
|
||||||
company.setExpirationTime(DateUtil.nextMonth());
|
|
||||||
companyService.save(company);
|
|
||||||
|
|
||||||
// 创建角色
|
|
||||||
if (result) {
|
|
||||||
Role role = new Role();
|
|
||||||
role.setRoleName("超级管理员");
|
|
||||||
role.setRoleCode("superAdmin");
|
|
||||||
role.setComments("超级管理员");
|
|
||||||
role.setTenantId(tenant.getTenantId());
|
|
||||||
roleService.save(role);
|
|
||||||
|
|
||||||
// 保存超级管理员角色ID
|
|
||||||
Integer superAdminRoleId = role.getRoleId();
|
|
||||||
role.setRoleName("注册用户");
|
|
||||||
role.setRoleCode("user");
|
|
||||||
role.setComments("普通注册用户");
|
|
||||||
roleService.save(role);
|
|
||||||
role.setRoleName("游客");
|
|
||||||
role.setRoleCode("guest");
|
|
||||||
role.setComments("用于未登录时的浏览权限");
|
|
||||||
roleService.save(role);
|
|
||||||
Integer guestRoleId = role.getRoleId();
|
|
||||||
|
|
||||||
// 添加游客账号
|
|
||||||
User www = new User();
|
|
||||||
www.setTenantId(tenant.getTenantId());
|
|
||||||
www.setUsername("www");
|
|
||||||
www.setNickname("游客");
|
|
||||||
www.setPassword(userService.encodePassword(CommonUtil.randomUUID16()));
|
|
||||||
userService.save(www);
|
|
||||||
|
|
||||||
// 添加超管用户角色
|
|
||||||
UserRole userRole = new UserRole();
|
|
||||||
userRole.setUserId(superAdminUserId);
|
|
||||||
userRole.setRoleId(superAdminRoleId);
|
|
||||||
userRole.setTenantId(tenant.getTenantId());
|
|
||||||
userRoleService.save(userRole);
|
|
||||||
|
|
||||||
// 添加游客用户角色
|
|
||||||
userRole.setUserId(www.getUserId());
|
|
||||||
userRole.setRoleId(guestRoleId);
|
|
||||||
boolean resultUserRole = userRoleService.save(userRole);
|
|
||||||
|
|
||||||
/// 添加系统菜单
|
|
||||||
if (resultUserRole) {
|
|
||||||
Menu menu = new Menu();
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setParentId(0);
|
|
||||||
menu.setHide(1);
|
|
||||||
menu.setTitle("扩展插件");
|
|
||||||
menu.setPath("/system/plug");
|
|
||||||
menu.setComponent("/system/plug");
|
|
||||||
menu.setIcon("AppstoreAddOutlined");
|
|
||||||
menu.setAuthority("sys:plug:list");
|
|
||||||
menu.setSortNumber(0);
|
|
||||||
menu.setTenantId(tenant.getTenantId());
|
|
||||||
menuService.save(menu);
|
|
||||||
// 10.系统管理
|
|
||||||
menu.setTitle("系统管理");
|
|
||||||
menu.setParentId(0);
|
|
||||||
menu.setPath("/system");
|
|
||||||
menu.setIcon("setting-outlined");
|
|
||||||
menu.setSortNumber(999);
|
|
||||||
menu.setHide(1);
|
|
||||||
menu.setTenantId(tenant.getTenantId());
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer parentId = menu.getMenuId();
|
|
||||||
menu.setParentId(menu.getMenuId());
|
|
||||||
menu.setTitle("企业信息");
|
|
||||||
menu.setPath("/system/profile");
|
|
||||||
menu.setComponent("/system/profile");
|
|
||||||
menu.setIcon("AuditOutlined");
|
|
||||||
menu.setAuthority("sys:company:profile");
|
|
||||||
menu.setSortNumber(1);
|
|
||||||
menu.setHide(0);
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setTitle("用户管理");
|
|
||||||
menu.setPath("/system/user");
|
|
||||||
menu.setComponent("/system/user");
|
|
||||||
menu.setIcon("team-outlined");
|
|
||||||
menu.setSortNumber(4);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer userParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(userParentId);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setTitle("查询");
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setAuthority("sys:user:list");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(userParentId);
|
|
||||||
menu.setTitle("添加");
|
|
||||||
menu.setAuthority("sys:user:save");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(userParentId);
|
|
||||||
menu.setTitle("修改");
|
|
||||||
menu.setAuthority("sys:user:update");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(userParentId);
|
|
||||||
menu.setTitle("删除");
|
|
||||||
menu.setAuthority("sys:user:remove");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("部门管理");
|
|
||||||
menu.setPath("/system/organization");
|
|
||||||
menu.setComponent("/system/organization");
|
|
||||||
menu.setIcon("bank-outlined");
|
|
||||||
menu.setAuthority("");
|
|
||||||
menu.setSortNumber(2);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer orgParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(orgParentId);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setPath("");
|
|
||||||
menu.setComponent("");
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setTitle("查询");
|
|
||||||
menu.setAuthority("sys:org:list");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(orgParentId);
|
|
||||||
menu.setTitle("添加");
|
|
||||||
menu.setAuthority("sys:org:save");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(orgParentId);
|
|
||||||
menu.setTitle("修改");
|
|
||||||
menu.setAuthority("sys:org:update");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(orgParentId);
|
|
||||||
menu.setTitle("删除");
|
|
||||||
menu.setAuthority("sys:org:remove");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("角色管理");
|
|
||||||
menu.setPath("/system/role");
|
|
||||||
menu.setComponent("/system/role");
|
|
||||||
menu.setIcon("idcard-outlined");
|
|
||||||
menu.setAuthority("");
|
|
||||||
menu.setSortNumber(5);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer roleParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(roleParentId);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setPath("");
|
|
||||||
menu.setComponent("");
|
|
||||||
menu.setTitle("查询");
|
|
||||||
menu.setAuthority("sys:role:list");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(roleParentId);
|
|
||||||
menu.setTitle("添加");
|
|
||||||
menu.setAuthority("sys:role:save");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(roleParentId);
|
|
||||||
menu.setTitle("修改");
|
|
||||||
menu.setAuthority("sys:role:update");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(roleParentId);
|
|
||||||
menu.setTitle("删除");
|
|
||||||
menu.setAuthority("sys:role:remove");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("菜单管理");
|
|
||||||
menu.setPath("/system/menu");
|
|
||||||
menu.setComponent("/system/menu");
|
|
||||||
menu.setIcon("appstore-outlined");
|
|
||||||
menu.setAuthority("");
|
|
||||||
menu.setSortNumber(3);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer menuParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(menuParentId);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setTitle("查询");
|
|
||||||
menu.setAuthority("sys:menu:list");
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setPath("");
|
|
||||||
menu.setComponent("");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(menuParentId);
|
|
||||||
menu.setTitle("添加");
|
|
||||||
menu.setAuthority("sys:menu:save");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(menuParentId);
|
|
||||||
menu.setTitle("修改");
|
|
||||||
menu.setAuthority("sys:menu:update");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(menuParentId);
|
|
||||||
menu.setTitle("删除");
|
|
||||||
menu.setAuthority("sys:menu:remove");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("字典管理");
|
|
||||||
menu.setPath("/system/dict");
|
|
||||||
menu.setComponent("/system/dict");
|
|
||||||
menu.setIcon("profile-outlined");
|
|
||||||
menu.setAuthority("");
|
|
||||||
menu.setSortNumber(6);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer dictParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(dictParentId);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setTitle("查询");
|
|
||||||
menu.setAuthority("sys:dict:list");
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setPath("");
|
|
||||||
menu.setComponent("");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(dictParentId);
|
|
||||||
menu.setTitle("添加");
|
|
||||||
menu.setAuthority("sys:dict:save");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(dictParentId);
|
|
||||||
menu.setTitle("修改");
|
|
||||||
menu.setAuthority("sys:dict:update");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(dictParentId);
|
|
||||||
menu.setTitle("删除");
|
|
||||||
menu.setAuthority("sys:dict:remove");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("登录日志");
|
|
||||||
menu.setPath("/system/login-record");
|
|
||||||
menu.setComponent("/system/login-record");
|
|
||||||
menu.setIcon("calendar-outlined");
|
|
||||||
menu.setAuthority("sys:login-record:list");
|
|
||||||
menu.setSortNumber(7);
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("模块管理");
|
|
||||||
menu.setPath("/system/modules");
|
|
||||||
menu.setComponent("/system/modules");
|
|
||||||
menu.setIcon("KeyOutlined");
|
|
||||||
menu.setAuthority("sys:modules:list");
|
|
||||||
menu.setSortNumber(7);
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("秘钥管理");
|
|
||||||
menu.setPath("/system/access-key");
|
|
||||||
menu.setComponent("/system/access-key");
|
|
||||||
menu.setIcon("KeyOutlined");
|
|
||||||
menu.setAuthority("sys:accessKey:list");
|
|
||||||
menu.setSortNumber(8);
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("文件管理");
|
|
||||||
menu.setPath("/system/file");
|
|
||||||
menu.setComponent("/system/file");
|
|
||||||
menu.setIcon("folder-outlined");
|
|
||||||
menu.setAuthority("");
|
|
||||||
menu.setSortNumber(6);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer fileParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(fileParentId);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setTitle("查看记录");
|
|
||||||
menu.setPath("");
|
|
||||||
menu.setComponent("");
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setAuthority("sys:file:list");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(fileParentId);
|
|
||||||
menu.setTitle("上传文件");
|
|
||||||
menu.setAuthority("sys:file:upload");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(fileParentId);
|
|
||||||
menu.setTitle("修改文件");
|
|
||||||
menu.setAuthority("sys:file:update");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(fileParentId);
|
|
||||||
menu.setTitle("删除文件");
|
|
||||||
menu.setAuthority("sys:org:remove");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("扩展插件");
|
|
||||||
menu.setPath("/system/plug");
|
|
||||||
menu.setComponent("/system/plug");
|
|
||||||
menu.setIcon("AppstoreAddOutlined");
|
|
||||||
menu.setAuthority("sys:plug:list");
|
|
||||||
menu.setSortNumber(9);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer plugParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(plugParentId);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setTitle("查询");
|
|
||||||
menu.setAuthority("sys:dict:list");
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setPath("");
|
|
||||||
menu.setComponent("");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(plugParentId);
|
|
||||||
menu.setTitle("发布插件");
|
|
||||||
menu.setAuthority("sys:plug:save");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(plugParentId);
|
|
||||||
menu.setTitle("更新插件");
|
|
||||||
menu.setAuthority("sys:plug:update");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(plugParentId);
|
|
||||||
menu.setTitle("删除插件");
|
|
||||||
menu.setAuthority("sys:plus:remove");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(plugParentId);
|
|
||||||
menu.setTitle("安装插件");
|
|
||||||
menu.setAuthority("sys:plug:save");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("系统设置");
|
|
||||||
menu.setPath("/system/setting");
|
|
||||||
menu.setComponent("/system/setting");
|
|
||||||
menu.setIcon("setting-outlined");
|
|
||||||
menu.setAuthority("sys:setting:save");
|
|
||||||
menu.setSortNumber(10);
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(parentId);
|
|
||||||
menu.setTitle("用户信息");
|
|
||||||
menu.setPath("/system/user-info");
|
|
||||||
menu.setComponent("/system/user-info");
|
|
||||||
menu.setIcon("team-outlined");
|
|
||||||
menu.setAuthority("");
|
|
||||||
menu.setHide(1);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setSortNumber(9);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer userInfoParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(userInfoParentId);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setTitle("修改个人密码");
|
|
||||||
menu.setAuthority("sys:auth:password");
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setPath("");
|
|
||||||
menu.setComponent("");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(userInfoParentId);
|
|
||||||
menu.setTitle("修改个人资料");
|
|
||||||
menu.setAuthority("sys:auth:user");
|
|
||||||
menuService.save(menu);
|
|
||||||
// 1.控制台
|
|
||||||
// menu.setParentId(0);
|
|
||||||
// menu.setTitle("管理首页");
|
|
||||||
// menu.setPath("/dashboard");
|
|
||||||
// menu.setIcon("home-outlined");
|
|
||||||
// menu.setComponent("/dashboard/workplace");
|
|
||||||
// menu.setAuthority("");
|
|
||||||
// menu.setSortNumber(1);
|
|
||||||
// menu.setHide(0);
|
|
||||||
// menu.setMenuType(0);
|
|
||||||
// menuService.save(menu);
|
|
||||||
|
|
||||||
// 个人中心
|
|
||||||
menu.setParentId(0);
|
|
||||||
menu.setTitle("个人中心");
|
|
||||||
menu.setPath("/user-center");
|
|
||||||
menu.setIcon("UserOutlined");
|
|
||||||
menu.setComponent("");
|
|
||||||
menu.setAuthority("");
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setHide(1);
|
|
||||||
menu.setSortNumber(999);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer userCenterParentId = menu.getMenuId();
|
|
||||||
menu.setTitle("个人资料");
|
|
||||||
menu.setPath("/user/profile");
|
|
||||||
menu.setComponent("/user/profile");
|
|
||||||
menu.setIcon("IdcardOutlined");
|
|
||||||
menu.setParentId(userCenterParentId);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menu.setSortNumber(0);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer userProfileParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(userProfileParentId);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setPath("");
|
|
||||||
menu.setComponent("");
|
|
||||||
menu.setTitle("修改资料");
|
|
||||||
menu.setSortNumber(0);
|
|
||||||
menu.setAuthority("sys:auth:user");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setTitle("修改密码");
|
|
||||||
menu.setAuthority("sys:auth:password");
|
|
||||||
menuService.save(menu);
|
|
||||||
|
|
||||||
menu.setTitle("上传头像");
|
|
||||||
menu.setAuthority("sys:file:upload");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setTitle("预览头像");
|
|
||||||
menu.setAuthority("sys:file:list");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setTitle("保存头像");
|
|
||||||
menu.setAuthority("sys:user:update");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setTitle("我的消息");
|
|
||||||
menu.setPath("/user/notice");
|
|
||||||
menu.setComponent("/user/notice");
|
|
||||||
menu.setIcon("sound-outlined");
|
|
||||||
menu.setParentId(userCenterParentId);
|
|
||||||
menu.setMenuType(0);
|
|
||||||
menuService.save(menu);
|
|
||||||
Integer userNoticeParentId = menu.getMenuId();
|
|
||||||
menu.setParentId(userNoticeParentId);
|
|
||||||
menu.setTitle("列表");
|
|
||||||
menu.setAuthority("sys:notice:list");
|
|
||||||
menu.setSortNumber(0);
|
|
||||||
menu.setMenuType(1);
|
|
||||||
menu.setIcon("");
|
|
||||||
menu.setPath("");
|
|
||||||
menu.setComponent("");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setTitle("添加");
|
|
||||||
menu.setAuthority("sys:notice:save");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setTitle("编辑");
|
|
||||||
menu.setAuthority("sys:notice:update");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setTitle("删除");
|
|
||||||
menu.setAuthority("sys:notice:remove");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setParentId(userCenterParentId);
|
|
||||||
menu.setTitle("用户注册");
|
|
||||||
menu.setAuthority("sys:user:save");
|
|
||||||
menuService.save(menu);
|
|
||||||
menu.setTitle("字典查询");
|
|
||||||
menu.setAuthority("sys:dict:list");
|
|
||||||
|
|
||||||
boolean resultMenu = menuService.save(menu);
|
|
||||||
// 添加菜单ID到超级管理员所属角色ID
|
|
||||||
if (resultMenu) {
|
|
||||||
saveRedis(tenant);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 发送邮件通知
|
|
||||||
String title = "恭喜!您的账号已注册成功";
|
|
||||||
String content = "租户ID:".concat(tenant.getTenantId().toString()).concat("\r\n名称:" + tenantName).concat("\r\n账号:" + phone).concat("\r\n密码:" + password);
|
|
||||||
String adminUrl = "\r\n后台管理:".concat("https://admin.gxwebsoft.com");
|
|
||||||
// 发送邮件通知
|
|
||||||
emailRecordService.sendEmail(title, content.concat(adminUrl), email);
|
|
||||||
return success("注册成功", tenant.getTenantId());
|
return success("注册成功", tenant.getTenantId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -233,6 +233,11 @@ public class Company implements Serializable {
|
|||||||
private Object config;
|
private Object config;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否已收藏")
|
@ApiModelProperty(value = "是否已收藏")
|
||||||
|
@TableField(exist = false)
|
||||||
private Boolean collection;
|
private Boolean collection;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "新注册的密码")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String password;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,9 @@ public class Tenant implements Serializable {
|
|||||||
@ApiModelProperty(value = "排序号")
|
@ApiModelProperty(value = "排序号")
|
||||||
private Integer sortNumber;
|
private Integer sortNumber;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户ID")
|
||||||
|
private Integer userId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||||
@TableLogic
|
@TableLogic
|
||||||
private Integer deleted;
|
private Integer deleted;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.gxwebsoft.common.system.service;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.gxwebsoft.common.core.web.PageResult;
|
import com.gxwebsoft.common.core.web.PageResult;
|
||||||
|
import com.gxwebsoft.common.system.entity.Company;
|
||||||
import com.gxwebsoft.common.system.entity.Tenant;
|
import com.gxwebsoft.common.system.entity.Tenant;
|
||||||
import com.gxwebsoft.common.system.param.TenantParam;
|
import com.gxwebsoft.common.system.param.TenantParam;
|
||||||
|
|
||||||
@@ -39,4 +40,5 @@ public interface TenantService extends IService<Tenant> {
|
|||||||
*/
|
*/
|
||||||
Tenant getByIdRel(Integer tenantId);
|
Tenant getByIdRel(Integer tenantId);
|
||||||
|
|
||||||
|
boolean initialization(Company company);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
package com.gxwebsoft.common.system.service.impl;
|
package com.gxwebsoft.common.system.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.gxwebsoft.common.system.entity.Company;
|
import com.gxwebsoft.common.core.utils.CommonUtil;
|
||||||
|
import com.gxwebsoft.common.core.utils.RedisUtil;
|
||||||
|
import com.gxwebsoft.common.system.entity.*;
|
||||||
import com.gxwebsoft.common.system.mapper.TenantMapper;
|
import com.gxwebsoft.common.system.mapper.TenantMapper;
|
||||||
import com.gxwebsoft.common.system.service.CompanyService;
|
import com.gxwebsoft.common.system.service.*;
|
||||||
import com.gxwebsoft.common.system.service.TenantService;
|
|
||||||
import com.gxwebsoft.common.system.entity.Tenant;
|
|
||||||
import com.gxwebsoft.common.system.param.TenantParam;
|
import com.gxwebsoft.common.system.param.TenantParam;
|
||||||
import com.gxwebsoft.common.core.web.PageParam;
|
import com.gxwebsoft.common.core.web.PageParam;
|
||||||
import com.gxwebsoft.common.core.web.PageResult;
|
import com.gxwebsoft.common.core.web.PageResult;
|
||||||
@@ -26,6 +28,22 @@ public class TenantServiceImpl extends ServiceImpl<TenantMapper, Tenant> impleme
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private CompanyService companyService;
|
private CompanyService companyService;
|
||||||
|
@Resource
|
||||||
|
private MenuService menuService;
|
||||||
|
@Resource
|
||||||
|
private RoleService roleService;
|
||||||
|
@Resource
|
||||||
|
private UserRoleService userRoleService;
|
||||||
|
@Resource
|
||||||
|
private DictService dictService;
|
||||||
|
@Resource
|
||||||
|
private DictDataService dictDataService;
|
||||||
|
@Resource
|
||||||
|
private EmailRecordService emailRecordService;
|
||||||
|
@Resource
|
||||||
|
private UserService userService;
|
||||||
|
@Resource
|
||||||
|
private RedisUtil redisUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<Tenant> pageRel(TenantParam param) {
|
public PageResult<Tenant> pageRel(TenantParam param) {
|
||||||
@@ -50,4 +68,537 @@ public class TenantServiceImpl extends ServiceImpl<TenantMapper, Tenant> impleme
|
|||||||
return param.getOne(baseMapper.selectListRel(param));
|
return param.getOne(baseMapper.selectListRel(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean initialization(Company company) {
|
||||||
|
// 添加默认字典
|
||||||
|
Dict dict = new Dict();
|
||||||
|
dict.setDictName("性别");
|
||||||
|
dict.setDictCode("sex");
|
||||||
|
dict.setTenantId(company.getTid());
|
||||||
|
dictService.save(dict);
|
||||||
|
DictData dictData = new DictData();
|
||||||
|
dictData.setDictId(dict.getDictId());
|
||||||
|
dictData.setDictDataName("男");
|
||||||
|
dictData.setDictDataCode("1");
|
||||||
|
dictData.setSortNumber(100);
|
||||||
|
dictData.setTenantId(company.getTid());
|
||||||
|
dictDataService.save(dictData);
|
||||||
|
dictData.setDictDataName("女");
|
||||||
|
dictData.setDictDataCode("2");
|
||||||
|
dictData.setTenantId(company.getTid());
|
||||||
|
dictDataService.save(dictData);
|
||||||
|
dict.setDictName("机构类型");
|
||||||
|
dict.setDictCode("organizationType");
|
||||||
|
dict.setTenantId(company.getTid());
|
||||||
|
dictService.save(dict);
|
||||||
|
dictData.setDictId(dict.getDictId());
|
||||||
|
dictData.setDictDataName("公司");
|
||||||
|
dictData.setDictDataCode("1");
|
||||||
|
dictData.setTenantId(company.getTid());
|
||||||
|
dictDataService.save(dictData);
|
||||||
|
dictData.setDictId(dict.getDictId());
|
||||||
|
dictData.setDictDataName("部门");
|
||||||
|
dictData.setDictDataCode("2");
|
||||||
|
dictData.setTenantId(company.getTid());
|
||||||
|
dictDataService.save(dictData);
|
||||||
|
|
||||||
|
// 添加超级管理员
|
||||||
|
User admin = new User();
|
||||||
|
admin.setUsername("admin");
|
||||||
|
admin.setNickname("超级管理员");
|
||||||
|
admin.setPhone(company.getPhone());
|
||||||
|
admin.setEmail(company.getEmail());
|
||||||
|
admin.setRealName(company.getBusinessEntity());
|
||||||
|
admin.setCompanyName(company.getShortName());
|
||||||
|
admin.setPassword(userService.encodePassword(company.getPassword()));
|
||||||
|
admin.setTenantId(company.getTid());
|
||||||
|
boolean result = userService.save(admin);
|
||||||
|
Integer superAdminUserId = admin.getUserId();
|
||||||
|
|
||||||
|
// 企业资源配置
|
||||||
|
company.setTenantId(company.getTid());
|
||||||
|
company.setShortName(company.getShortName());
|
||||||
|
company.setCompanyLogo("/logo.svg");
|
||||||
|
company.setPhone(company.getPhone());
|
||||||
|
company.setMembers(20);
|
||||||
|
company.setServerUrl("https://server.gxwebsoft.com");
|
||||||
|
company.setModulesUrl("https://modules.gxwebsoft.com");
|
||||||
|
company.setSocketUrl("wss://server.gxwebsoft.com");
|
||||||
|
company.setAdminUrl("http://".concat(company.getTid().toString()).concat(".adm.wsdns.cn"));
|
||||||
|
company.setMerchantUrl("http://".concat(company.getTid().toString()).concat(".m.wsdns.cn"));
|
||||||
|
company.setWebsiteUrl("http://".concat(company.getTid().toString()).concat(".wsdns.cn"));
|
||||||
|
company.setH5Code("http://".concat(company.getTid().toString()).concat(".h5.wsdns.cn"));
|
||||||
|
company.setAndroidUrl("http://".concat(company.getTid().toString()).concat(".android.wsdns.cn"));
|
||||||
|
company.setIosUrl("http://".concat(company.getTid().toString()).concat(".ios.wsdns.cn"));
|
||||||
|
company.setVersion(10);
|
||||||
|
company.setIndustryParent("");
|
||||||
|
company.setIndustryChild("");
|
||||||
|
company.setDepartments(10);
|
||||||
|
company.setDepartments(10);
|
||||||
|
company.setStorageMax(524288000L);
|
||||||
|
company.setAuthoritative(true);
|
||||||
|
company.setUsers(2);
|
||||||
|
company.setClicks(1L);
|
||||||
|
company.setLikes(0L);
|
||||||
|
company.setTid(company.getTid());
|
||||||
|
company.setCompanyType("企业");
|
||||||
|
company.setEmail(company.getEmail());
|
||||||
|
company.setUserId(admin.getUserId());
|
||||||
|
company.setExpirationTime(DateUtil.nextMonth());
|
||||||
|
companyService.save(company);
|
||||||
|
|
||||||
|
// 创建角色
|
||||||
|
if (result) {
|
||||||
|
Role role = new Role();
|
||||||
|
role.setRoleName("超级管理员");
|
||||||
|
role.setRoleCode("superAdmin");
|
||||||
|
role.setComments("超级管理员");
|
||||||
|
role.setTenantId(company.getTid());
|
||||||
|
roleService.save(role);
|
||||||
|
|
||||||
|
// 保存超级管理员角色ID
|
||||||
|
Integer superAdminRoleId = role.getRoleId();
|
||||||
|
role.setRoleName("注册用户");
|
||||||
|
role.setRoleCode("user");
|
||||||
|
role.setComments("普通注册用户");
|
||||||
|
roleService.save(role);
|
||||||
|
role.setRoleName("游客");
|
||||||
|
role.setRoleCode("guest");
|
||||||
|
role.setComments("用于未登录时的浏览权限");
|
||||||
|
roleService.save(role);
|
||||||
|
Integer guestRoleId = role.getRoleId();
|
||||||
|
|
||||||
|
// 添加游客账号
|
||||||
|
User www = new User();
|
||||||
|
www.setTenantId(company.getTid());
|
||||||
|
www.setUsername("www");
|
||||||
|
www.setNickname("游客");
|
||||||
|
www.setPassword(userService.encodePassword(CommonUtil.randomUUID16()));
|
||||||
|
userService.save(www);
|
||||||
|
|
||||||
|
// 添加超管用户角色
|
||||||
|
UserRole userRole = new UserRole();
|
||||||
|
userRole.setUserId(superAdminUserId);
|
||||||
|
userRole.setRoleId(superAdminRoleId);
|
||||||
|
userRole.setTenantId(company.getTid());
|
||||||
|
userRoleService.save(userRole);
|
||||||
|
|
||||||
|
// 添加游客用户角色
|
||||||
|
userRole.setUserId(www.getUserId());
|
||||||
|
userRole.setRoleId(guestRoleId);
|
||||||
|
boolean resultUserRole = userRoleService.save(userRole);
|
||||||
|
|
||||||
|
// 添加系统菜单
|
||||||
|
if (resultUserRole) {
|
||||||
|
Menu menu = new Menu();
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setParentId(0);
|
||||||
|
menu.setHide(1);
|
||||||
|
menu.setTitle("扩展插件");
|
||||||
|
menu.setPath("/system/plug");
|
||||||
|
menu.setComponent("/system/plug");
|
||||||
|
menu.setIcon("AppstoreAddOutlined");
|
||||||
|
menu.setAuthority("sys:plug:list");
|
||||||
|
menu.setSortNumber(0);
|
||||||
|
menu.setTenantId(company.getTid());
|
||||||
|
menuService.save(menu);
|
||||||
|
// 10.系统管理
|
||||||
|
menu.setTitle("系统管理");
|
||||||
|
menu.setParentId(0);
|
||||||
|
menu.setPath("/system");
|
||||||
|
menu.setIcon("setting-outlined");
|
||||||
|
menu.setSortNumber(999);
|
||||||
|
menu.setHide(1);
|
||||||
|
menu.setTenantId(company.getTid());
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer parentId = menu.getMenuId();
|
||||||
|
menu.setParentId(menu.getMenuId());
|
||||||
|
menu.setTitle("企业信息");
|
||||||
|
menu.setPath("/system/profile");
|
||||||
|
menu.setComponent("/system/profile");
|
||||||
|
menu.setIcon("AuditOutlined");
|
||||||
|
menu.setAuthority("sys:company:profile");
|
||||||
|
menu.setSortNumber(1);
|
||||||
|
menu.setHide(0);
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setTitle("用户管理");
|
||||||
|
menu.setPath("/system/user");
|
||||||
|
menu.setComponent("/system/user");
|
||||||
|
menu.setIcon("team-outlined");
|
||||||
|
menu.setSortNumber(4);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer userParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(userParentId);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setTitle("查询");
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setAuthority("sys:user:list");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(userParentId);
|
||||||
|
menu.setTitle("添加");
|
||||||
|
menu.setAuthority("sys:user:save");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(userParentId);
|
||||||
|
menu.setTitle("修改");
|
||||||
|
menu.setAuthority("sys:user:update");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(userParentId);
|
||||||
|
menu.setTitle("删除");
|
||||||
|
menu.setAuthority("sys:user:remove");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("部门管理");
|
||||||
|
menu.setPath("/system/organization");
|
||||||
|
menu.setComponent("/system/organization");
|
||||||
|
menu.setIcon("bank-outlined");
|
||||||
|
menu.setAuthority("");
|
||||||
|
menu.setSortNumber(2);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer orgParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(orgParentId);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setPath("");
|
||||||
|
menu.setComponent("");
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setTitle("查询");
|
||||||
|
menu.setAuthority("sys:org:list");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(orgParentId);
|
||||||
|
menu.setTitle("添加");
|
||||||
|
menu.setAuthority("sys:org:save");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(orgParentId);
|
||||||
|
menu.setTitle("修改");
|
||||||
|
menu.setAuthority("sys:org:update");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(orgParentId);
|
||||||
|
menu.setTitle("删除");
|
||||||
|
menu.setAuthority("sys:org:remove");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("角色管理");
|
||||||
|
menu.setPath("/system/role");
|
||||||
|
menu.setComponent("/system/role");
|
||||||
|
menu.setIcon("idcard-outlined");
|
||||||
|
menu.setAuthority("");
|
||||||
|
menu.setSortNumber(5);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer roleParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(roleParentId);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setPath("");
|
||||||
|
menu.setComponent("");
|
||||||
|
menu.setTitle("查询");
|
||||||
|
menu.setAuthority("sys:role:list");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(roleParentId);
|
||||||
|
menu.setTitle("添加");
|
||||||
|
menu.setAuthority("sys:role:save");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(roleParentId);
|
||||||
|
menu.setTitle("修改");
|
||||||
|
menu.setAuthority("sys:role:update");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(roleParentId);
|
||||||
|
menu.setTitle("删除");
|
||||||
|
menu.setAuthority("sys:role:remove");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("菜单管理");
|
||||||
|
menu.setPath("/system/menu");
|
||||||
|
menu.setComponent("/system/menu");
|
||||||
|
menu.setIcon("appstore-outlined");
|
||||||
|
menu.setAuthority("");
|
||||||
|
menu.setSortNumber(3);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer menuParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(menuParentId);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setTitle("查询");
|
||||||
|
menu.setAuthority("sys:menu:list");
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setPath("");
|
||||||
|
menu.setComponent("");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(menuParentId);
|
||||||
|
menu.setTitle("添加");
|
||||||
|
menu.setAuthority("sys:menu:save");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(menuParentId);
|
||||||
|
menu.setTitle("修改");
|
||||||
|
menu.setAuthority("sys:menu:update");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(menuParentId);
|
||||||
|
menu.setTitle("删除");
|
||||||
|
menu.setAuthority("sys:menu:remove");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("字典管理");
|
||||||
|
menu.setPath("/system/dict");
|
||||||
|
menu.setComponent("/system/dict");
|
||||||
|
menu.setIcon("profile-outlined");
|
||||||
|
menu.setAuthority("");
|
||||||
|
menu.setSortNumber(6);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer dictParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(dictParentId);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setTitle("查询");
|
||||||
|
menu.setAuthority("sys:dict:list");
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setPath("");
|
||||||
|
menu.setComponent("");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(dictParentId);
|
||||||
|
menu.setTitle("添加");
|
||||||
|
menu.setAuthority("sys:dict:save");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(dictParentId);
|
||||||
|
menu.setTitle("修改");
|
||||||
|
menu.setAuthority("sys:dict:update");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(dictParentId);
|
||||||
|
menu.setTitle("删除");
|
||||||
|
menu.setAuthority("sys:dict:remove");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("登录日志");
|
||||||
|
menu.setPath("/system/login-record");
|
||||||
|
menu.setComponent("/system/login-record");
|
||||||
|
menu.setIcon("calendar-outlined");
|
||||||
|
menu.setAuthority("sys:login-record:list");
|
||||||
|
menu.setSortNumber(7);
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("模块管理");
|
||||||
|
menu.setPath("/system/modules");
|
||||||
|
menu.setComponent("/system/modules");
|
||||||
|
menu.setIcon("KeyOutlined");
|
||||||
|
menu.setAuthority("sys:modules:list");
|
||||||
|
menu.setSortNumber(7);
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("秘钥管理");
|
||||||
|
menu.setPath("/system/access-key");
|
||||||
|
menu.setComponent("/system/access-key");
|
||||||
|
menu.setIcon("KeyOutlined");
|
||||||
|
menu.setAuthority("sys:accessKey:list");
|
||||||
|
menu.setSortNumber(8);
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("文件管理");
|
||||||
|
menu.setPath("/system/file");
|
||||||
|
menu.setComponent("/system/file");
|
||||||
|
menu.setIcon("folder-outlined");
|
||||||
|
menu.setAuthority("");
|
||||||
|
menu.setSortNumber(6);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer fileParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(fileParentId);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setTitle("查看记录");
|
||||||
|
menu.setPath("");
|
||||||
|
menu.setComponent("");
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setAuthority("sys:file:list");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(fileParentId);
|
||||||
|
menu.setTitle("上传文件");
|
||||||
|
menu.setAuthority("sys:file:upload");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(fileParentId);
|
||||||
|
menu.setTitle("修改文件");
|
||||||
|
menu.setAuthority("sys:file:update");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(fileParentId);
|
||||||
|
menu.setTitle("删除文件");
|
||||||
|
menu.setAuthority("sys:org:remove");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("扩展插件");
|
||||||
|
menu.setPath("/system/plug");
|
||||||
|
menu.setComponent("/system/plug");
|
||||||
|
menu.setIcon("AppstoreAddOutlined");
|
||||||
|
menu.setAuthority("sys:plug:list");
|
||||||
|
menu.setSortNumber(9);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer plugParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(plugParentId);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setTitle("查询");
|
||||||
|
menu.setAuthority("sys:dict:list");
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setPath("");
|
||||||
|
menu.setComponent("");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(plugParentId);
|
||||||
|
menu.setTitle("发布插件");
|
||||||
|
menu.setAuthority("sys:plug:save");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(plugParentId);
|
||||||
|
menu.setTitle("更新插件");
|
||||||
|
menu.setAuthority("sys:plug:update");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(plugParentId);
|
||||||
|
menu.setTitle("删除插件");
|
||||||
|
menu.setAuthority("sys:plus:remove");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(plugParentId);
|
||||||
|
menu.setTitle("安装插件");
|
||||||
|
menu.setAuthority("sys:plug:save");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("系统设置");
|
||||||
|
menu.setPath("/system/setting");
|
||||||
|
menu.setComponent("/system/setting");
|
||||||
|
menu.setIcon("setting-outlined");
|
||||||
|
menu.setAuthority("sys:setting:save");
|
||||||
|
menu.setSortNumber(10);
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(parentId);
|
||||||
|
menu.setTitle("用户信息");
|
||||||
|
menu.setPath("/system/user-info");
|
||||||
|
menu.setComponent("/system/user-info");
|
||||||
|
menu.setIcon("team-outlined");
|
||||||
|
menu.setAuthority("");
|
||||||
|
menu.setHide(1);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setSortNumber(9);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer userInfoParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(userInfoParentId);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setTitle("修改个人密码");
|
||||||
|
menu.setAuthority("sys:auth:password");
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setPath("");
|
||||||
|
menu.setComponent("");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(userInfoParentId);
|
||||||
|
menu.setTitle("修改个人资料");
|
||||||
|
menu.setAuthority("sys:auth:user");
|
||||||
|
menuService.save(menu);
|
||||||
|
// 1.控制台
|
||||||
|
// menu.setParentId(0);
|
||||||
|
// menu.setTitle("管理首页");
|
||||||
|
// menu.setPath("/dashboard");
|
||||||
|
// menu.setIcon("home-outlined");
|
||||||
|
// menu.setComponent("/dashboard/workplace");
|
||||||
|
// menu.setAuthority("");
|
||||||
|
// menu.setSortNumber(1);
|
||||||
|
// menu.setHide(0);
|
||||||
|
// menu.setMenuType(0);
|
||||||
|
// menuService.save(menu);
|
||||||
|
|
||||||
|
// 个人中心
|
||||||
|
menu.setParentId(0);
|
||||||
|
menu.setTitle("个人中心");
|
||||||
|
menu.setPath("/user-center");
|
||||||
|
menu.setIcon("UserOutlined");
|
||||||
|
menu.setComponent("");
|
||||||
|
menu.setAuthority("");
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setHide(1);
|
||||||
|
menu.setSortNumber(999);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer userCenterParentId = menu.getMenuId();
|
||||||
|
menu.setTitle("个人资料");
|
||||||
|
menu.setPath("/user/profile");
|
||||||
|
menu.setComponent("/user/profile");
|
||||||
|
menu.setIcon("IdcardOutlined");
|
||||||
|
menu.setParentId(userCenterParentId);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menu.setSortNumber(0);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer userProfileParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(userProfileParentId);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setPath("");
|
||||||
|
menu.setComponent("");
|
||||||
|
menu.setTitle("修改资料");
|
||||||
|
menu.setSortNumber(0);
|
||||||
|
menu.setAuthority("sys:auth:user");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setTitle("修改密码");
|
||||||
|
menu.setAuthority("sys:auth:password");
|
||||||
|
menuService.save(menu);
|
||||||
|
|
||||||
|
menu.setTitle("上传头像");
|
||||||
|
menu.setAuthority("sys:file:upload");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setTitle("预览头像");
|
||||||
|
menu.setAuthority("sys:file:list");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setTitle("保存头像");
|
||||||
|
menu.setAuthority("sys:user:update");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setTitle("我的消息");
|
||||||
|
menu.setPath("/user/notice");
|
||||||
|
menu.setComponent("/user/notice");
|
||||||
|
menu.setIcon("sound-outlined");
|
||||||
|
menu.setParentId(userCenterParentId);
|
||||||
|
menu.setMenuType(0);
|
||||||
|
menuService.save(menu);
|
||||||
|
Integer userNoticeParentId = menu.getMenuId();
|
||||||
|
menu.setParentId(userNoticeParentId);
|
||||||
|
menu.setTitle("列表");
|
||||||
|
menu.setAuthority("sys:notice:list");
|
||||||
|
menu.setSortNumber(0);
|
||||||
|
menu.setMenuType(1);
|
||||||
|
menu.setIcon("");
|
||||||
|
menu.setPath("");
|
||||||
|
menu.setComponent("");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setTitle("添加");
|
||||||
|
menu.setAuthority("sys:notice:save");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setTitle("编辑");
|
||||||
|
menu.setAuthority("sys:notice:update");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setTitle("删除");
|
||||||
|
menu.setAuthority("sys:notice:remove");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setParentId(userCenterParentId);
|
||||||
|
menu.setTitle("用户注册");
|
||||||
|
menu.setAuthority("sys:user:save");
|
||||||
|
menuService.save(menu);
|
||||||
|
menu.setTitle("字典查询");
|
||||||
|
menu.setAuthority("sys:dict:list");
|
||||||
|
|
||||||
|
boolean resultMenu = menuService.save(menu);
|
||||||
|
// 添加菜单ID到超级管理员所属角色ID
|
||||||
|
if (resultMenu) {
|
||||||
|
saveRedis(company);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 发送邮件通知
|
||||||
|
String title = "恭喜!您的账号已注册成功";
|
||||||
|
String content = "租户ID:".concat(company.getTid().toString()).concat("\r\n名称:" + company.getShortName()).concat("\r\n账号:" + company.getPhone()).concat("\r\n密码:" + company.getPassword());
|
||||||
|
String adminUrl = "\r\n后台管理:".concat("https://admin.gxwebsoft.com");
|
||||||
|
// 发送邮件通知
|
||||||
|
emailRecordService.sendEmail(title, content.concat(adminUrl), company.getEmail());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 缓存租户信息
|
||||||
|
private void saveRedis(Company tenant) {
|
||||||
|
String key = "tenant:" + tenant.getTenantId();
|
||||||
|
if (StrUtil.isEmpty(tenant.getTenantCode())) {
|
||||||
|
tenant.setTenantCode(CommonUtil.randomUUID16());
|
||||||
|
}
|
||||||
|
redisUtil.set(key, tenant);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user