| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import javafx.geometry.Pos; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.apache.ibatis.mapping.Environment; |
| | | import org.springblade.common.constant.TenantConstant; |
| | | import org.springblade.core.cache.utils.CacheUtil; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springblade.core.tenant.TenantId; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import org.springblade.core.tool.jackson.JsonUtil; |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.DesUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springblade.system.cache.ParamCache; |
| | |
| | | import org.springblade.system.user.enums.UserEnum; |
| | | import org.springblade.system.user.feign.IUserClient; |
| | | import org.springblade.system.vo.TenantVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import java.io.FileInputStream; |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | List<String> codes = tenants.stream().map(Tenant::getTenantId).collect(Collectors.toList()); |
| | | String tenantId = getTenantId(codes); |
| | | tenant.setTenantId(tenantId); |
| | | // 配置为false,并且前端传输的参数为false就不需要创建三员 |
| | | if(!this.ssaEnable && !tenant.getMembersFlag()){ |
| | | // 配置为false,并且前端传输的参数为1(未选择开启)就不需要创建三员 |
| | | if(!this.ssaEnable && tenant.getSsaEnable()==1){ |
| | | // 不开启三员管理时直接创建一个最高权限的管理员 |
| | | Role role = new Role(tenantId,BladeConstant.TOP_PARENT_ID,"超级管理员",1,"admin",BladeConstant.DB_NOT_DELETED); |
| | | roleService.save(role); |
| | |
| | | Dept dept = generateDept(tenantId, tenant); |
| | | deptService.save(dept); |
| | | // 新建租户对应的默认岗位 |
| | | Post postInfo = generatePost(tenantId, 1, "ceo", "首席执行官", 1); |
| | | Post postInfo = generatePost(tenantId, 1, "admin", "管理员", 1); |
| | | postService.save(postInfo); |
| | | // 新建租户对应的默认业务字典 |
| | | LinkedList<DictBiz> dictBizs = new LinkedList<>(); |
| | |
| | | Dept dept = generateDept(tenantId, tenant); |
| | | deptService.save(dept); |
| | | // 新建租户对应的默认岗位 |
| | | Post postCeo = generatePost(tenantId, 1, "sysAdmin", "系统管理员", 1); |
| | | Post postCto = generatePost(tenantId,1,"secAdmin","安全管理员",4); |
| | | Post postCio = generatePost(tenantId,1,"auditAdmin","审计管理员",5); |
| | | postService.saveBatch(Arrays.asList(postCeo,postCto,postCio)); |
| | | Post postSys = generatePost(tenantId, 1, this.ssaNames.get(0), "系统管理员", 1); |
| | | Post postSec = generatePost(tenantId,1,this.ssaNames.get(1),"安全管理员",4); |
| | | Post postAudit = generatePost(tenantId,1,this.ssaNames.get(2),"审计管理员",5); |
| | | postService.saveBatch(Arrays.asList(postSys,postSec,postAudit)); |
| | | // 新建租户对应的默认业务字典 |
| | | LinkedList<DictBiz> dictBizs = new LinkedList<>(); |
| | | List<DictBiz> dictBizList = getDictBizs(tenantId, dictBizs); |
| | | dictBizService.saveBatch(dictBizList); |
| | | // 新建租户对应的默认管理用户 |
| | | User userSys = generateUser(tenantId, roleSys, dept, postCeo); |
| | | User userSec = generateUser(tenantId,roleSec,dept,postCto); |
| | | User userAudit = generateUser(tenantId,roleAudit,dept,postCio); |
| | | User userSys = generateUser(tenantId, roleSys, dept, postSys); |
| | | User userSec = generateUser(tenantId,roleSec,dept,postSec); |
| | | User userAudit = generateUser(tenantId,roleAudit,dept,postAudit); |
| | | // 先保存租户 |
| | | boolean temp = super.saveOrUpdate(tenant); |
| | | // 创建用户 |
| | |
| | | @Override |
| | | public List<Map<String,Object>> selectMaps(){ |
| | | List<Map<String, Object>> maps = listMaps(new QueryWrapper<Tenant>().select("TENANT_ID", "TENANT_NAME")); |
| | | System.out.println(maps); |
| | | return maps; |
| | | } |
| | | |
| | |
| | | private void saveRoleMenus(Role role,List<String> stringMenus){ |
| | | LinkedList<Menu> userMenus = new LinkedList<>(); |
| | | // 获取参数配置的默认菜单集合,逗号隔开 |
| | | List<String> menuCodes = Func.toStrList(ParamCache.getValue(ACCOUNT_MENU_CODE_KEY)); |
| | | List<Menu> menus = getMenus((menuCodes.size() > 0 ? menuCodes : stringMenus), userMenus); |
| | | //List<String> menuCodes = Func.toStrList(ParamCache.getValue(ACCOUNT_MENU_CODE_KEY)); |
| | | List<Menu> menus = getMenus((stringMenus), userMenus); |
| | | List<RoleMenu> roleMenus = new ArrayList<>(); |
| | | //创建所有菜单角色关联对象 |
| | | menus.forEach(menu -> { |