|
@@ -9,9 +9,11 @@ import com.keao.edu.common.service.impl.BaseServiceImpl;
|
|
|
import com.keao.edu.im.api.client.ImFeignService;
|
|
|
import com.keao.edu.im.api.entity.ImResult;
|
|
|
import com.keao.edu.im.api.entity.ImUserModel;
|
|
|
+import com.keao.edu.user.dao.EmployeeDao;
|
|
|
import com.keao.edu.user.dao.ExamOrganizationRelationDao;
|
|
|
import com.keao.edu.user.dao.OrganizationDao;
|
|
|
import com.keao.edu.user.dao.SysUserDao;
|
|
|
+import com.keao.edu.user.entity.Employee;
|
|
|
import com.keao.edu.user.entity.Organization;
|
|
|
import com.keao.edu.user.enums.YesOrNoEnum;
|
|
|
import com.keao.edu.user.service.OrganizationService;
|
|
@@ -37,6 +39,8 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
@Autowired
|
|
|
private SysUserDao sysUserDao;
|
|
|
@Autowired
|
|
|
+ private EmployeeDao employeeDao;
|
|
|
+ @Autowired
|
|
|
private ExamOrganizationRelationDao examOrganizationRelationDao;
|
|
|
|
|
|
@Override
|
|
@@ -68,7 +72,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
if(!user.getTenantId().equals(tenantId)){
|
|
|
throw new BizException("手机号已被占用");
|
|
|
}
|
|
|
- if(user.getUserType().contains("SYSTEM")){
|
|
|
+ if(StringUtils.isNotEmpty(user.getUserType()) && user.getUserType().contains("SYSTEM")){
|
|
|
throw new BizException("手机号已被占用");
|
|
|
}
|
|
|
Organization organization = organDao.get(user.getId());
|
|
@@ -92,13 +96,21 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
}else if(organization.getDelFlag() == YesOrNoEnum.YES){
|
|
|
SysUser sysUser1 = organization.getSysUser();
|
|
|
if(StringUtils.isEmpty(sysUser1.getUserType())){
|
|
|
- sysUser1.setUserType("SYSTEM");
|
|
|
+ sysUser.setUserType("SYSTEM");
|
|
|
}else {
|
|
|
- sysUser1.setUserType(sysUser1.getUserType() + ",SYSTEM");
|
|
|
+ sysUser.setUserType(sysUser1.getUserType() + ",SYSTEM");
|
|
|
+ }
|
|
|
+ sysUser.setId(sysUser1.getId());
|
|
|
+ sysUserDao.update(sysUser);
|
|
|
+ if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
|
|
|
+ sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
|
|
|
}
|
|
|
- sysUserDao.update(sysUser1);
|
|
|
- organization.setDelFlag(YesOrNoEnum.NO);
|
|
|
- organDao.update(organization);
|
|
|
+ Employee employee = employeeDao.get(sysUser.getId());
|
|
|
+ employee.setDelFlag(false);
|
|
|
+ employeeDao.update(employee);
|
|
|
+ organ.setDelFlag(YesOrNoEnum.NO);
|
|
|
+ organ.setId(organization.getId());
|
|
|
+ organDao.update(organ);
|
|
|
}else{
|
|
|
throw new BizException("用户已存在");
|
|
|
}
|
|
@@ -118,6 +130,12 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
|
|
|
sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
|
|
|
}
|
|
|
+ Employee employee = new Employee();
|
|
|
+ employee.setOrganId(organ.getId());
|
|
|
+ employee.setUserId(sysUser.getId());
|
|
|
+ employee.setTenantId(tenantId);
|
|
|
+ employeeDao.insert(employee);
|
|
|
+
|
|
|
ImResult imResult = imFeignService.register(new ImUserModel(sysUser.getId().toString(), sysUser.getRealName(),null));
|
|
|
sysUser.setImToken(imResult.getToken());
|
|
|
sysUserDao.update(sysUser);
|
|
@@ -127,10 +145,11 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void updateOrganization(Organization organization) {
|
|
|
SysUser sysUser = organization.getSysUser();
|
|
|
- sysUser.setId(organization.getUserId());
|
|
|
- if(null == organDao.get(sysUser.getId())){
|
|
|
+ Organization organization1 = organDao.get(organization.getId());
|
|
|
+ if(null == organization1){
|
|
|
throw new BizException("合作商信息不存在");
|
|
|
}
|
|
|
+ sysUser.setId(organization1.getUserId());
|
|
|
// organization.setId(sysUser.getId());
|
|
|
if(StringUtils.isNotEmpty(sysUser.getPhone())){
|
|
|
SysUser queryByPhone = sysUserDao.queryByPhone(sysUser.getPhone());
|
|
@@ -205,22 +224,27 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void del(Integer id) {
|
|
|
- Integer count = examOrganizationRelationDao.findByOrganId(id);
|
|
|
Organization organization = organDao.get(id);
|
|
|
+ SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
|
|
|
+ if(queryUserInfo.getId().equals(organization.getUserId())){
|
|
|
+ throw new BizException("删除失败:不支持此操作");
|
|
|
+ }
|
|
|
+ Integer count = examOrganizationRelationDao.findByOrganId(id);
|
|
|
if(count == null || count == 0){
|
|
|
SysUser sysUser = organization.getSysUser();
|
|
|
String userType = sysUser.getUserType();
|
|
|
if(userType.contains(",SYSTEM")){
|
|
|
userType.replace(",SYSTEM","");
|
|
|
+ sysUser.setUserType(userType);
|
|
|
}else if(userType.contains("SYSTEM,")){
|
|
|
userType.replace("SYSTEM,","");
|
|
|
+ sysUser.setUserType(userType);
|
|
|
}else {
|
|
|
sysUser.setUserType("");
|
|
|
}
|
|
|
- sysUser.setUserType(userType);
|
|
|
- sysUserDao.update(sysUser);
|
|
|
-
|
|
|
+ sysUserDao.updateUserType(sysUser.getId(),sysUser.getUserType());
|
|
|
sysUserDao.delEmployeeRole(organization.getUserId());
|
|
|
+ employeeDao.delete(sysUser.getId());
|
|
|
organDao.delete(id);
|
|
|
}else {
|
|
|
throw new BizException("删除失败:存在考试项目,无法删除");
|