|
|
@@ -6,11 +6,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.xunmei.common.core.constant.SecurityConstants;
|
|
|
import com.xunmei.common.core.constant.UserConstants;
|
|
|
import com.xunmei.common.core.domain.OrgTreeReq;
|
|
|
import com.xunmei.common.core.domain.OrgTreeResp;
|
|
|
-import com.xunmei.common.core.domain.R;
|
|
|
import com.xunmei.common.core.domain.message.domain.CoreAnnouncementNotificationToRole;
|
|
|
import com.xunmei.common.core.exception.ServiceException;
|
|
|
import com.xunmei.common.core.util.BeanHelper;
|
|
|
@@ -22,10 +20,8 @@ import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
import com.xunmei.system.api.domain.SysOrg;
|
|
|
import com.xunmei.system.api.domain.SysRole;
|
|
|
import com.xunmei.system.api.domain.SysUser;
|
|
|
-import com.xunmei.system.domain.SysPost;
|
|
|
-import com.xunmei.system.domain.SysRoleMenu;
|
|
|
-import com.xunmei.system.domain.SysUserPost;
|
|
|
-import com.xunmei.system.domain.SysUserRole;
|
|
|
+import com.xunmei.system.domain.*;
|
|
|
+import com.xunmei.system.domain.vo.SysMasterSubUserVO;
|
|
|
import com.xunmei.system.domain.vo.SysUserListVo;
|
|
|
import com.xunmei.system.domain.vo.SysUserVO;
|
|
|
import com.xunmei.system.api.dto.SysPlanOrgDTO;
|
|
|
@@ -36,7 +32,6 @@ import com.xunmei.system.service.ISysOrgService;
|
|
|
import com.xunmei.system.service.ISysUserService;
|
|
|
import com.xunmei.system.util.SecurityUserExport;
|
|
|
import com.xunmei.system.util.UserExport;
|
|
|
-import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -44,10 +39,8 @@ import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
-import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
import javax.validation.Validator;
|
|
|
-import java.security.Security;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
@@ -85,6 +78,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
@Autowired
|
|
|
SysRoleMenuMapper roleMenuMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ SysUserAccountMapper userAccountMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 根据条件分页查询用户列表
|
|
|
*
|
|
|
@@ -786,4 +782,59 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
.distinct()
|
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<SysMasterSubUserVO> selectSwitchUserList(Long masterUserId,Long subUserId) {
|
|
|
+ List<SysMasterSubUserVO> result=new ArrayList<>();
|
|
|
+ if(ObjectUtil.isNotNull(masterUserId))
|
|
|
+ {
|
|
|
+ result = baseMapper.selectSwitchUserList(masterUserId);
|
|
|
+ }
|
|
|
+ // 子账号 可以切回 主账号
|
|
|
+ if(ObjectUtil.isNotEmpty(subUserId) && !result.isEmpty())
|
|
|
+ {
|
|
|
+ Optional<SysMasterSubUserVO> first = result.stream().filter(x -> ObjectUtil.equal(x.getSubUserId(), subUserId)).findFirst();
|
|
|
+ if(first.isPresent())
|
|
|
+ {
|
|
|
+ result.remove(first.get());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 手动将主账号加入
|
|
|
+ SysMasterSubUserVO temp =new SysMasterSubUserVO();
|
|
|
+ temp.setMasterUserId(masterUserId);
|
|
|
+ SysUser masterSysUser = selectUserById(masterUserId);
|
|
|
+ temp.setSubUserId(masterUserId);
|
|
|
+ temp.setSubUserName(masterSysUser.getName());
|
|
|
+ temp.setSubUserAccount(masterSysUser.getUsername());
|
|
|
+ temp.setSubUserOrgId(masterSysUser.getOrgId());
|
|
|
+
|
|
|
+ SysOrg org = sysOrgMapper.selectOne(new LambdaQueryWrapper<SysOrg>()
|
|
|
+ .eq(SysOrg::getId, masterSysUser.getOrgId())
|
|
|
+ .select(SysOrg::getType, SysOrg::getShortName,SysOrg::getPath));
|
|
|
+ if (ObjectUtil.isNotEmpty(org)) {
|
|
|
+ temp.setSubUserOrgName(org.getShortName());
|
|
|
+ }
|
|
|
+ result.add(temp);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void insertUserMapper(Long masterUserId, Long[] mapperUserIds) {
|
|
|
+ userAccountMapper.deleteMapperByMasterUserId(masterUserId);
|
|
|
+ if (StringUtils.isNotEmpty(mapperUserIds)) {
|
|
|
+ List<SysUserMapperDomain> list = new ArrayList<SysUserMapperDomain>();
|
|
|
+ for (Long userId : mapperUserIds) {
|
|
|
+ SysUserMapperDomain ur = new SysUserMapperDomain();
|
|
|
+ ur.setMasterUserId(masterUserId);
|
|
|
+ ur.setSubUserId(userId);
|
|
|
+ ur.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ ur.setCreateTime(new Date());
|
|
|
+ ur.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ ur.setUpdateTime(new Date());
|
|
|
+ list.add(ur);
|
|
|
+ }
|
|
|
+ userAccountMapper.batchInsertMapperUser(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|