| 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<SysTenantDao, SysTenant> { | 
|   | 
|     @Autowired | 
|     SysDeptService sysDeptService; | 
|   | 
|     @Autowired | 
|     SysUserService sysUserService; | 
|   | 
|     @Autowired | 
|     SysRoleService sysRoleService; | 
|   | 
|     @Autowired | 
|     private SysRoleUserService sysRoleUserService; | 
|   | 
|     public List<SysTenant> 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); | 
|             } | 
|         } | 
|     } | 
| } |