|
@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import io.swagger.v3.oas.models.security.SecurityScheme;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.context.annotation.Lazy;
|
|
@@ -47,15 +48,17 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
|
|
private final TenantService tenantService;
|
|
private final TenantService tenantService;
|
|
private final InvitationService invitationService;
|
|
private final InvitationService invitationService;
|
|
private final LoginUtils loginUtils;
|
|
private final LoginUtils loginUtils;
|
|
|
|
+ private final RoleService roleService;
|
|
|
|
+
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
- public String addTenant(TenantVO tenantVO) {
|
|
|
|
|
|
+ public Integer addTenant(TenantVO tenantVO) {
|
|
Personnel personnel = new Personnel();
|
|
Personnel personnel = new Personnel();
|
|
|
|
|
|
LambdaQueryWrapper<Personnel> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<Personnel> queryWrapper = new LambdaQueryWrapper<>();
|
|
queryWrapper.eq(Personnel::getPersonnelUserName, tenantVO.getUsername());
|
|
queryWrapper.eq(Personnel::getPersonnelUserName, tenantVO.getUsername());
|
|
List<Personnel> personnelList = personnelService.list(queryWrapper);
|
|
List<Personnel> personnelList = personnelService.list(queryWrapper);
|
|
if (personnelList.size() != 0) {
|
|
if (personnelList.size() != 0) {
|
|
- return Response.error("管理员账号已存在");
|
|
|
|
|
|
+ return -1;
|
|
}
|
|
}
|
|
//租户表保存租户信息
|
|
//租户表保存租户信息
|
|
Tenant tenant = new Tenant();
|
|
Tenant tenant = new Tenant();
|
|
@@ -144,7 +147,7 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
|
|
List<Integer> roles = new ArrayList<>();
|
|
List<Integer> roles = new ArrayList<>();
|
|
roles.add(role.getId());
|
|
roles.add(role.getId());
|
|
personRoleService.addAssociatePerRole(roles, personnel.getId());
|
|
personRoleService.addAssociatePerRole(roles, personnel.getId());
|
|
- return Response.success(true);
|
|
|
|
|
|
+ return tenant.getId();
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -216,6 +219,7 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
|
|
List<Tenant> tenantPeople = this.list(lambdaQueryWrapper);
|
|
List<Tenant> tenantPeople = this.list(lambdaQueryWrapper);
|
|
return Response.success(setTenantToVO(tenantPeople));
|
|
return Response.success(setTenantToVO(tenantPeople));
|
|
}
|
|
}
|
|
|
|
+
|
|
public String queryPageList(TenantVO tenantVO) {
|
|
public String queryPageList(TenantVO tenantVO) {
|
|
LambdaQueryWrapper<Tenant> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<Tenant> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
lambdaQueryWrapper.and((wrapper) -> wrapper.like(Tenant::getTenantName, tenantVO.getName())
|
|
lambdaQueryWrapper.and((wrapper) -> wrapper.like(Tenant::getTenantName, tenantVO.getName())
|
|
@@ -279,7 +283,7 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
|
|
}
|
|
}
|
|
return tenantVOs;
|
|
return tenantVOs;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public void addByInvitation(TenantVO tenantVo) {
|
|
public void addByInvitation(TenantVO tenantVo) {
|
|
//根据邀请码查询是否存在
|
|
//根据邀请码查询是否存在
|
|
LambdaQueryWrapper<Invitation> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<Invitation> wrapper = new LambdaQueryWrapper<>();
|
|
@@ -307,13 +311,52 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
|
|
if (tenantVo.getAddress() == null || tenantVo.getAddress().equals("")) {
|
|
if (tenantVo.getAddress() == null || tenantVo.getAddress().equals("")) {
|
|
tenantVo.setAddress(invitation.getAddress());
|
|
tenantVo.setAddress(invitation.getAddress());
|
|
}
|
|
}
|
|
- this.addTenant(tenantVo);
|
|
|
|
- invitation.setIsInvalid(1);
|
|
|
|
|
|
+ //租户id
|
|
|
|
+ Integer tenantId =invitation.getTenant();
|
|
|
|
+ if (tenantId != null) {
|
|
|
|
+ //根据租户id获得租户管理员id
|
|
|
|
+ LambdaQueryWrapper<Role> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
+ wrapper1.eq(Role::getTenantId, invitation.getTenant())
|
|
|
|
+ .eq(Role::getRoleType, 2);
|
|
|
|
+ List<Role> roles = roleService.list(wrapper1);
|
|
|
|
+ if (roles.size() == 0) {
|
|
|
|
+ ThrowException.throwXiaoShiException("租户已创建,但未有租户管理员角色");
|
|
|
|
+ }
|
|
|
|
+ //保存管理员用户
|
|
|
|
+ PersonnelVO personnelVO1 = new PersonnelVO();
|
|
|
|
+ personnelVO1
|
|
|
|
+ .setUsername(tenantVo.getUsername())
|
|
|
|
+ .setName(tenantVo.getContacts())
|
|
|
|
+ .setEmail(tenantVo.getEmail())
|
|
|
|
+ .setState(tenantVo.getState())
|
|
|
|
+ .setPassword(tenantVo.getPassword())
|
|
|
|
+ .setTenant(tenantVo.getId())
|
|
|
|
+ .setAddType(1);
|
|
|
|
+ Personnel personnel = personnelService.addPersonnel(personnelVO1);
|
|
|
|
+ Role role = roles.get(0);
|
|
|
|
+ List<Integer> temrole = new ArrayList<>();
|
|
|
|
+ temrole.add(role.getId());
|
|
|
|
+ personRoleService.addAssociatePerRole(temrole, personnel.getId());
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ tenantId = this.addTenant(tenantVo);
|
|
|
|
+ if(tenantId<0){
|
|
|
|
+ ThrowException.throwXiaoShiException("人员的账号已存在");
|
|
|
|
+ }
|
|
|
|
+ //查找同公司的激活码
|
|
|
|
+ invitation.setIsInvalid(1);
|
|
|
|
+ //邀请码表更新信息
|
|
|
|
+ invitation.updateById();
|
|
|
|
|
|
|
|
+ }
|
|
|
|
+ //查找同公司的激活码
|
|
|
|
+ invitation.setIsInvalid(1);
|
|
//邀请码表更新信息
|
|
//邀请码表更新信息
|
|
invitation.updateById();
|
|
invitation.updateById();
|
|
- //return Response.success("添加成功");
|
|
|
|
-
|
|
|
|
|
|
+ //更新所有该公司的激活码的租户id
|
|
|
|
+ UpdateWrapper<Invitation> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.eq("COMPANY_NAME",invitation.getCompanyName()).set("TENANT", tenantId);
|
|
|
|
+ invitationService.update(null, updateWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
public Invitation queryByInvitation(String invitation) {
|
|
public Invitation queryByInvitation(String invitation) {
|