package com.zt.modules.sys.service; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.zt.common.constant.Constant; import com.zt.common.constant.Status; import com.zt.common.db.query.QueryFilter; import com.zt.common.service.BaseService; import com.zt.core.sys.model.SysDept; import com.zt.core.sys.model.SysUser; import com.zt.modules.sys.dao.SysTenantDao; import com.zt.modules.sys.model.SysRole; import com.zt.modules.sys.model.SysTenant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.List; /** * SYS_TENANT * * @author zt generator * @since 1.0.0 2020-06-11 */ @Service public class SysTenantService extends BaseService { @Autowired SysDeptService sysDeptService; @Autowired SysUserService sysUserService; @Autowired SysRoleService sysRoleService; @Autowired private SysRoleUserService sysRoleUserService; public List page(QueryFilter queryFilter) { return baseDao.getList(queryFilter.getParams()); } @Transactional(rollbackFor = Exception.class) public void insert(SysTenant entity) { entity.setId(IdWorker.getId()); // 插入公司信息 SysDept company = new SysDept(); company.setPid(Constant.Sys.DEPT_ROOT); company.setId(entity.getId());// 公司id和租户id一致 company.setTenantId(entity.getId()); company.setCode(entity.getCode()); company.setName(entity.getName()); company.setShortName(entity.getShortName()); //company.setNature(Constant.DeptType.COMPANY); company.setCompany(true); company.setCompanyId(entity.getId()); sysDeptService.insert(company); // 默认新建租户角色 SysRole role = new SysRole(); role.setId(entity.getId());// id和租户id一致 role.setName(entity.getName()); role.setCode(entity.getCode()); role.setType(Constant.RoleType.TENANT); role.setCompanyId(company.getCompanyId()); role.setTenantId(entity.getId()); role.setSort(0); sysRoleService.insert(role); // 插入管理员信息 SysUser user = new SysUser(); user.setUserCode(entity.getAdminMobile()); user.setUsername(entity.getAdminRealName()); user.setRealName(entity.getAdminRealName()); user.setMobile(entity.getAdminMobile()); user.setSuperAdmin(false); user.setTenantId(entity.getId()); user.setCompanyId(company.getCompanyId()); user.setDeptId(company.getCompanyId()); sysUserService.insert(user); sysRoleUserService.saveOrUpdate(user.getId(), Arrays.asList(new Long[] { role.getId() })); entity.setAdminUserId(user.getId()); baseDao.insert(entity); } public void enable(Long[] ids) { for (Long id : ids) { SysTenant tenant = get(id); if (tenant != null) { tenant.setStatus(Status.ENABLE.getValue()); this.update(tenant); } } } }