|
@@ -3,18 +3,23 @@ package com.qmth.teachcloud.common.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.teachcloud.common.bean.dto.OrgDto;
|
|
import com.qmth.teachcloud.common.bean.dto.OrgDto;
|
|
|
|
+import com.qmth.teachcloud.common.bean.params.UserSaveParams;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.SysOrg;
|
|
import com.qmth.teachcloud.common.entity.SysOrg;
|
|
|
|
+import com.qmth.teachcloud.common.entity.SysRole;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
|
+import com.qmth.teachcloud.common.enums.RoleTypeEnum;
|
|
import com.qmth.teachcloud.common.mapper.SysOrgMapper;
|
|
import com.qmth.teachcloud.common.mapper.SysOrgMapper;
|
|
import com.qmth.teachcloud.common.service.SysOrgService;
|
|
import com.qmth.teachcloud.common.service.SysOrgService;
|
|
|
|
+import com.qmth.teachcloud.common.service.SysRoleService;
|
|
import com.qmth.teachcloud.common.service.SysUserService;
|
|
import com.qmth.teachcloud.common.service.SysUserService;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -29,8 +34,10 @@ import java.util.stream.Collectors;
|
|
@Service
|
|
@Service
|
|
public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> implements SysOrgService {
|
|
public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> implements SysOrgService {
|
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
+ @Resource
|
|
private SysUserService sysUserService;
|
|
private SysUserService sysUserService;
|
|
|
|
+ @Resource
|
|
|
|
+ private SysRoleService sysRoleService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<OrgDto> listOrgTree() {
|
|
public List<OrgDto> listOrgTree() {
|
|
@@ -128,14 +135,27 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
- public Long searchOrInsert(Long schoolId,String collegeName) {
|
|
|
|
|
|
+ public Long searchOrInsert(Long schoolId, String collegeName) {
|
|
Long orgId;
|
|
Long orgId;
|
|
- List<SysOrg> sysOrgList = this.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId,schoolId));
|
|
|
|
- // TODO: 2021/6/23 第一次开课学院进入漏掉了主 武大教务处
|
|
|
|
- SysOrg parentOrg = sysOrgList.stream().filter(e -> e.getParentId() == null || e.getParentId() == 0).collect(Collectors.toList()).get(0);
|
|
|
|
|
|
+ List<SysOrg> sysOrgList = this.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId, schoolId));
|
|
|
|
+ List<SysOrg> parentOrgList = sysOrgList.stream().filter(e -> e.getParentId() == null || e.getParentId() == 0).collect(Collectors.toList());
|
|
|
|
+ Long parentId;
|
|
|
|
+ if (parentOrgList.size() == 0) {
|
|
|
|
+ parentId = SystemConstant.getDbUuid();
|
|
|
|
+ SysOrg parentTemp = new SysOrg();
|
|
|
|
+ parentTemp.setId(parentId);
|
|
|
|
+ parentTemp.setEnable(true);
|
|
|
|
+ parentTemp.setSchoolId(schoolId);
|
|
|
|
+ parentTemp.setName(SystemConstant.PARENT_ORG);
|
|
|
|
+ parentTemp.setCode(SystemConstant.PARENT_ORG);
|
|
|
|
+ this.save(parentTemp);
|
|
|
|
+ } else {
|
|
|
|
+ parentId = parentOrgList.get(0).getId();
|
|
|
|
+ }
|
|
|
|
|
|
- SysOrg sysOrg = this.getOne(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId,schoolId).eq(SysOrg::getName,collegeName));
|
|
|
|
- if (Objects.isNull(sysOrg)){
|
|
|
|
|
|
+ SysOrg sysOrg = this.getOne(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId, schoolId).eq(SysOrg::getName, collegeName));
|
|
|
|
+ if (Objects.isNull(sysOrg)) {
|
|
|
|
+ // 创建学院
|
|
orgId = SystemConstant.getDbUuid();
|
|
orgId = SystemConstant.getDbUuid();
|
|
SysOrg temp = new SysOrg();
|
|
SysOrg temp = new SysOrg();
|
|
temp.setId(orgId);
|
|
temp.setId(orgId);
|
|
@@ -143,9 +163,36 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
temp.setCode(collegeName);
|
|
temp.setCode(collegeName);
|
|
temp.setSchoolId(schoolId);
|
|
temp.setSchoolId(schoolId);
|
|
temp.setEnable(true);
|
|
temp.setEnable(true);
|
|
- temp.setParentId(parentOrg.getId());
|
|
|
|
|
|
+ temp.setParentId(parentId);
|
|
this.save(temp);
|
|
this.save(temp);
|
|
- }else {
|
|
|
|
|
|
+
|
|
|
|
+ // 创建院长用户
|
|
|
|
+ SysUser old = sysUserService.getOne(new QueryWrapper<SysUser>().lambda()
|
|
|
|
+ .eq(SysUser::getSchoolId, schoolId)
|
|
|
|
+ .eq(SysUser::getLoginName, collegeName)
|
|
|
|
+ .eq(SysUser::getRealName, collegeName));
|
|
|
|
+ Long id = 0L;
|
|
|
|
+ if (Objects.nonNull(old)) {
|
|
|
|
+ id = old.getId();
|
|
|
|
+ }
|
|
|
|
+ SysRole role = sysRoleService.list(new QueryWrapper<SysRole>().lambda().eq(SysRole::getType, RoleTypeEnum.PRESIDENT)).get(0);
|
|
|
|
+ List<Long> roleIds = new ArrayList<>();
|
|
|
|
+ roleIds.add(role.getId());
|
|
|
|
+
|
|
|
|
+ UserSaveParams userSaveParams = new UserSaveParams();
|
|
|
|
+ if (id > 0) {
|
|
|
|
+ userSaveParams.setId(id);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ userSaveParams.setSchoolId(schoolId);
|
|
|
|
+ userSaveParams.setLoginName(collegeName);
|
|
|
|
+ userSaveParams.setRealName(collegeName);
|
|
|
|
+ userSaveParams.setPassword(SystemConstant.DEFAULT_PASSWORD);
|
|
|
|
+ userSaveParams.setOrgId(orgId);
|
|
|
|
+ userSaveParams.setEnable(true);
|
|
|
|
+ userSaveParams.setRoleIds(roleIds.toArray(new Long[0]));
|
|
|
|
+ sysUserService.saveUserNoAuth(userSaveParams);
|
|
|
|
+ } else {
|
|
orgId = sysOrg.getId();
|
|
orgId = sysOrg.getId();
|
|
}
|
|
}
|
|
return orgId;
|
|
return orgId;
|