提交 cd0f6937 authored 作者: hzh's avatar hzh

员工云上功能实现

上级 b811d8e9
package org.dromara.server.api.domain; package org.dromara.server.api.domain;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
...@@ -11,6 +12,7 @@ import java.io.Serializable; ...@@ -11,6 +12,7 @@ import java.io.Serializable;
* @desc 新增用户 * @desc 新增用户
**/ **/
@Data @Data
@Accessors(chain = true)
public class RemoteUser implements Serializable { public class RemoteUser implements Serializable {
@Serial @Serial
......
...@@ -2,6 +2,7 @@ package org.dromara.server.dubbo; ...@@ -2,6 +2,7 @@ package org.dromara.server.dubbo;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.ys.config.Config; import org.dromara.common.ys.config.Config;
...@@ -29,6 +30,7 @@ public class RemoteServerServiceImpl implements RemoteServerService { ...@@ -29,6 +30,7 @@ public class RemoteServerServiceImpl implements RemoteServerService {
private final BizUserMapper userMapper; private final BizUserMapper userMapper;
private final IOrgService orgService; private final IOrgService orgService;
@GlobalTransactional(timeoutMills = 60000)
@Override @Override
public boolean saveOrUpdateUser(RemoteUser user) { public boolean saveOrUpdateUser(RemoteUser user) {
String userNo = user.getTenantId() + "-" + user.getPhoneNumber(); String userNo = user.getTenantId() + "-" + user.getPhoneNumber();
...@@ -42,7 +44,7 @@ public class RemoteServerServiceImpl implements RemoteServerService { ...@@ -42,7 +44,7 @@ public class RemoteServerServiceImpl implements RemoteServerService {
entity.setUserName(user.getUserName()); entity.setUserName(user.getUserName());
entity.setIdCard(user.getIdCard()); entity.setIdCard(user.getIdCard());
entity.setPhonenumber(user.getPhoneNumber()); entity.setPhonenumber(user.getPhoneNumber());
userMapper.insert(bz); userMapper.insert(entity);
//新增用户 //新增用户
orgService.saveOrUpdateEmployee(Config.USE_ID, orgService.saveOrUpdateEmployee(Config.USE_ID,
new EditEmployeeModel() new EditEmployeeModel()
...@@ -52,6 +54,7 @@ public class RemoteServerServiceImpl implements RemoteServerService { ...@@ -52,6 +54,7 @@ public class RemoteServerServiceImpl implements RemoteServerService {
.setLoginVip(Status.TRUE.getCode())); .setLoginVip(Status.TRUE.getCode()));
} else { } else {
//跟新 //跟新
bz.setUserNo(userNo);
bz.setUserName(user.getUserName()); bz.setUserName(user.getUserName());
bz.setIdCard(user.getIdCard()); bz.setIdCard(user.getIdCard());
userMapper.updateById(bz); userMapper.updateById(bz);
......
...@@ -104,6 +104,11 @@ ...@@ -104,6 +104,11 @@
<artifactId>ruoyi-api-resource</artifactId> <artifactId>ruoyi-api-resource</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-api-server</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -2,6 +2,7 @@ package org.dromara.system.service; ...@@ -2,6 +2,7 @@ package org.dromara.system.service;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.bo.SysUserBo;
import org.dromara.system.domain.vo.SysUserExportVo; import org.dromara.system.domain.vo.SysUserExportVo;
import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.domain.vo.SysUserVo;
...@@ -268,4 +269,11 @@ public interface ISysUserService { ...@@ -268,4 +269,11 @@ public interface ISysUserService {
*/ */
List<Long> selectUserIdsByRoleIds(List<Long> roleIds); List<Long> selectUserIdsByRoleIds(List<Long> roleIds);
/**
* 保存或更新用户信息
*
* @param sysUser 用户信息
*/
void saveOrUpdateYsUser(SysUser sysUser);
} }
...@@ -28,6 +28,7 @@ import org.dromara.system.domain.bo.SysTenantBo; ...@@ -28,6 +28,7 @@ import org.dromara.system.domain.bo.SysTenantBo;
import org.dromara.system.domain.vo.SysTenantVo; import org.dromara.system.domain.vo.SysTenantVo;
import org.dromara.system.mapper.*; import org.dromara.system.mapper.*;
import org.dromara.system.service.ISysTenantService; import org.dromara.system.service.ISysTenantService;
import org.dromara.system.service.ISysUserService;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -55,6 +56,7 @@ public class SysTenantServiceImpl implements ISysTenantService { ...@@ -55,6 +56,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
private final SysDictTypeMapper dictTypeMapper; private final SysDictTypeMapper dictTypeMapper;
private final SysDictDataMapper dictDataMapper; private final SysDictDataMapper dictDataMapper;
private final SysConfigMapper configMapper; private final SysConfigMapper configMapper;
private final ISysUserService userService;
/** /**
* 查询租户 * 查询租户
...@@ -156,6 +158,9 @@ public class SysTenantServiceImpl implements ISysTenantService { ...@@ -156,6 +158,9 @@ public class SysTenantServiceImpl implements ISysTenantService {
user.setPassword(BCrypt.hashpw(bo.getPassword())); user.setPassword(BCrypt.hashpw(bo.getPassword()));
user.setDeptId(deptId); user.setDeptId(deptId);
userMapper.insert(user); userMapper.insert(user);
userService.saveOrUpdateYsUser(user);
//新增系统用户后,默认当前用户为部门的负责人 //新增系统用户后,默认当前用户为部门的负责人
SysDept sd = new SysDept(); SysDept sd = new SysDept();
sd.setLeader(user.getUserId()); sd.setLeader(user.getUserId());
......
...@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.constant.CacheNames;
import org.dromara.common.core.constant.UserConstants; import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
...@@ -23,6 +24,8 @@ import org.dromara.common.mybatis.core.page.PageQuery; ...@@ -23,6 +24,8 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.helper.DataBaseHelper; import org.dromara.common.mybatis.helper.DataBaseHelper;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.server.api.RemoteServerService;
import org.dromara.server.api.domain.RemoteUser;
import org.dromara.system.domain.*; import org.dromara.system.domain.*;
import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.bo.SysUserBo;
import org.dromara.system.domain.vo.SysPostVo; import org.dromara.system.domain.vo.SysPostVo;
...@@ -56,6 +59,8 @@ public class SysUserServiceImpl implements ISysUserService { ...@@ -56,6 +59,8 @@ public class SysUserServiceImpl implements ISysUserService {
private final SysPostMapper postMapper; private final SysPostMapper postMapper;
private final SysUserRoleMapper userRoleMapper; private final SysUserRoleMapper userRoleMapper;
private final SysUserPostMapper userPostMapper; private final SysUserPostMapper userPostMapper;
@DubboReference
private RemoteServerService remoteServerService;
@Override @Override
public TableDataInfo<SysUserVo> selectPageUserList(SysUserBo user, PageQuery pageQuery) { public TableDataInfo<SysUserVo> selectPageUserList(SysUserBo user, PageQuery pageQuery) {
...@@ -300,6 +305,7 @@ public class SysUserServiceImpl implements ISysUserService { ...@@ -300,6 +305,7 @@ public class SysUserServiceImpl implements ISysUserService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public int insertUser(SysUserBo user) { public int insertUser(SysUserBo user) {
SysUser sysUser = MapstructUtils.convert(user, SysUser.class); SysUser sysUser = MapstructUtils.convert(user, SysUser.class);
sysUser.setTenantId(LoginHelper.getTenantId());
// 新增用户信息 // 新增用户信息
int rows = baseMapper.insert(sysUser); int rows = baseMapper.insert(sysUser);
user.setUserId(sysUser.getUserId()); user.setUserId(sysUser.getUserId());
...@@ -307,6 +313,8 @@ public class SysUserServiceImpl implements ISysUserService { ...@@ -307,6 +313,8 @@ public class SysUserServiceImpl implements ISysUserService {
insertUserPost(user, false); insertUserPost(user, false);
// 新增用户与角色管理 // 新增用户与角色管理
insertUserRole(user, false); insertUserRole(user, false);
//保存用户信息
saveOrUpdateYsUser(sysUser);
return rows; return rows;
} }
...@@ -322,7 +330,27 @@ public class SysUserServiceImpl implements ISysUserService { ...@@ -322,7 +330,27 @@ public class SysUserServiceImpl implements ISysUserService {
user.setUpdateBy(0L); user.setUpdateBy(0L);
SysUser sysUser = MapstructUtils.convert(user, SysUser.class); SysUser sysUser = MapstructUtils.convert(user, SysUser.class);
sysUser.setTenantId(tenantId); sysUser.setTenantId(tenantId);
return baseMapper.insert(sysUser) > 0; boolean result = baseMapper.insert(sysUser) > 0;
if (result) {
saveOrUpdateYsUser(sysUser);
}
return result;
}
/**
* 保存或更新用户信息
*
* @param sysUser 用户信息
*/
@Override
public void saveOrUpdateYsUser(SysUser sysUser) {
remoteServerService.saveOrUpdateUser(
new RemoteUser()
.setSystemUserId(sysUser.getUserId())
.setUserName(sysUser.getUserName())
.setPhoneNumber(sysUser.getPhonenumber())
.setTenantId(sysUser.getTenantId())
);
} }
/** /**
...@@ -345,6 +373,7 @@ public class SysUserServiceImpl implements ISysUserService { ...@@ -345,6 +373,7 @@ public class SysUserServiceImpl implements ISysUserService {
if (flag < 1) { if (flag < 1) {
throw new ServiceException("修改用户" + user.getUserName() + "信息失败"); throw new ServiceException("修改用户" + user.getUserName() + "信息失败");
} }
saveOrUpdateYsUser(sysUser);
return flag; return flag;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论