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);
|
}
|
}
|
}
|
}
|