[feat] 重构KSysUserAccount相关代码
parent
d6148bc6b4
commit
0d37958304
|
|
@ -1,11 +1,11 @@
|
|||
<p align="center">
|
||||
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-b99b286755aef70355a7084753f89cdb7c9.png">
|
||||
</p>
|
||||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi v3.6.5.0.6</h1>
|
||||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi v3.6.5.0.7</h1>
|
||||
<h4 align="center">基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构</h4>
|
||||
<p align="center">
|
||||
<a href="https://gitee.com/y_project/RuoYi-Cloud/stargazers"><img src="https://gitee.com/y_project/RuoYi-Cloud/badge/star.svg?theme=dark"></a>
|
||||
<a href="https://gitee.com/y_project/RuoYi-Cloud"><img src="https://img.shields.io/badge/RuoYi-v3.6.5.0.6-brightgreen.svg"></a>
|
||||
<a href="https://gitee.com/y_project/RuoYi-Cloud"><img src="https://img.shields.io/badge/RuoYi-v3.6.5.0.7-brightgreen.svg"></a>
|
||||
<a href="https://gitee.com/y_project/RuoYi-Cloud/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
|
||||
</p>
|
||||
|
||||
|
|
|
|||
4
pom.xml
4
pom.xml
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
|
||||
<name>ruoyi</name>
|
||||
<url>http://www.ruoyi.vip</url>
|
||||
<description>若依微服务系统</description>
|
||||
|
||||
<properties>
|
||||
<ruoyi.version>3.6.5.0.6</ruoyi.version>
|
||||
<ruoyi.version>3.6.5.0.7</ruoyi.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-api</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
@ -22,7 +22,17 @@
|
|||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.zkjiadi</groupId>
|
||||
<artifactId>zkjiadi-mall-api</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.ruoyi.system.api.factory;
|
||||
|
||||
import com.github.pagehelper.Page;
|
||||
import com.ruoyi.system.api.domain.KSysUserAccount;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
@ -11,8 +12,6 @@ import com.ruoyi.system.api.RemoteUserService;
|
|||
import com.ruoyi.system.api.domain.SysUser;
|
||||
import com.ruoyi.system.api.model.LoginUser;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 用户服务降级处理
|
||||
*
|
||||
|
|
@ -76,7 +75,7 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
|
|||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> registerUserByWxUnionId_Inner(Map<String, String> params, String source) {
|
||||
public R<Boolean> registerUserBySysUserAccount_Inner(KSysUserAccount sysUserAccount, Long deptId, String source) {
|
||||
return R.fail("注册用户失败:" + throwable.getMessage());
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.ruoyi.system.api.inner;
|
|||
import com.github.pagehelper.Page;
|
||||
import com.ruoyi.common.core.constant.SecurityConstants;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.system.api.domain.KSysUserAccount;
|
||||
import com.ruoyi.system.api.domain.SysUser;
|
||||
import com.ruoyi.system.api.model.LoginUser;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
|
@ -18,17 +19,17 @@ public interface InnerRemoteUserService {
|
|||
* @return 结果
|
||||
*/
|
||||
@GetMapping("/inner/user/detail/{userId}")
|
||||
R<LoginUser> getById_Inner(@PathVariable("userId") Long userId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
R<LoginUser> getById_Inner(@PathVariable("userId") Long userId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 通过用户ID查询用户信息
|
||||
*
|
||||
* @param unionid 用户微信unionid
|
||||
* @param source 请求来源
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@GetMapping("/inner/user/detail/wx/unionid/{unionid}")
|
||||
R<LoginUser> getByWxUnionId_Inner(@PathVariable("unionid") String unionid, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
R<LoginUser> getByWxUnionId_Inner(@PathVariable("unionid") String unionid, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 通过手机号查询用户信息
|
||||
|
|
@ -56,10 +57,11 @@ public interface InnerRemoteUserService {
|
|||
/**
|
||||
* 注册用户信息
|
||||
*
|
||||
* @param params 包含微信unionId和deptId
|
||||
* @param sysUserAccount 包含微信unionId
|
||||
* @param deptId 包含部门ID
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@PostMapping("/inner/user/register/wx/unionid")
|
||||
public R<Boolean> registerUserByWxUnionId_Inner(@RequestBody Map<String, String> params, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
@PostMapping("/inner/user/register/dept/{deptId}/wx/unionid")
|
||||
public R<Boolean> registerUserBySysUserAccount_Inner(@RequestBody KSysUserAccount sysUserAccount,@PathVariable Long deptId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
}
|
||||
|
|
@ -1,9 +1,21 @@
|
|||
package com.ruoyi.system.api.domain
|
||||
|
||||
class KSysUserAccount {
|
||||
import com.cyl.manager.ums.domain.entity.MemberWechat
|
||||
|
||||
open class KSysUserAccount : MemberWechat() {
|
||||
/** 用户ID */
|
||||
var userId: Long? = null
|
||||
open var userId: Long? = null
|
||||
set(value) {
|
||||
memberId = value
|
||||
field = value
|
||||
}
|
||||
get() = memberId
|
||||
|
||||
/** 微信UnionId */
|
||||
var wxUnionId: String? = null
|
||||
open var wxUnionId: String? = null
|
||||
set(value) {
|
||||
unionid = value
|
||||
field = value
|
||||
}
|
||||
get() = unionid
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-modules</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-modules</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-modules</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-modules</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import java.util.stream.Collectors;
|
|||
import javax.validation.Validator;
|
||||
|
||||
import com.github.pagehelper.Page;
|
||||
import com.ruoyi.system.api.domain.KSysUserAccount;
|
||||
import com.ruoyi.system.service.IKSysUserService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
@ -37,7 +38,7 @@ import com.ruoyi.system.service.ISysUserService;
|
|||
|
||||
/**
|
||||
* 用户 业务层处理
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Service
|
||||
|
|
@ -74,7 +75,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 根据条件分页查询用户列表
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
|
|
@ -87,7 +88,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 根据条件分页查询已分配用户角色列表
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
|
|
@ -100,7 +101,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 根据条件分页查询未分配用户角色列表
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
|
|
@ -113,7 +114,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 通过用户名查询用户
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
|
|
@ -147,7 +148,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 通过用户ID查询用户
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
|
|
@ -159,7 +160,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 查询用户所属角色组
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -176,7 +177,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 查询用户所属岗位组
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -193,7 +194,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 校验用户名称是否唯一
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -247,7 +248,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 校验用户是否允许操作
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
*/
|
||||
@Override
|
||||
|
|
@ -261,7 +262,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 校验用户是否有数据权限
|
||||
*
|
||||
*
|
||||
* @param userId 用户id
|
||||
*/
|
||||
@Override
|
||||
|
|
@ -281,7 +282,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 新增保存用户信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -300,7 +301,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 注册用户信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -312,14 +313,13 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 修改保存用户信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int updateUser(SysUser user)
|
||||
{
|
||||
public int updateUser(SysUser user) {
|
||||
Long userId = user.getUserId();
|
||||
// 删除用户与角色关联
|
||||
userRoleMapper.deleteUserRoleByUserId(userId);
|
||||
|
|
@ -331,9 +331,11 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
insertUserPost(user);
|
||||
// 重绑定微信信息
|
||||
if (Objects.nonNull(user.getSysUserAccount())) {
|
||||
kSysUserService.unBindWxUnionIdByUserId(userId);
|
||||
KSysUserAccount sysUserAccount = new KSysUserAccount();
|
||||
sysUserAccount.setUserId(userId);
|
||||
kSysUserService.updateSysUserAccount(sysUserAccount);
|
||||
if (Objects.nonNull(user.getSysUserAccount().getWxUnionId())) {
|
||||
kSysUserService.bindWxUnionIdByUserId(userId, user.getSysUserAccount().getWxUnionId());
|
||||
kSysUserService.updateSysUserAccount(user.getSysUserAccount());
|
||||
}
|
||||
}
|
||||
return userMapper.updateUser(user);
|
||||
|
|
@ -341,7 +343,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 用户授权角色
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param roleIds 角色组
|
||||
*/
|
||||
|
|
@ -355,7 +357,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 修改用户状态
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -367,7 +369,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 修改用户基本信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -379,7 +381,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 修改用户头像
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param avatar 头像地址
|
||||
* @return 结果
|
||||
|
|
@ -392,7 +394,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -404,7 +406,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param password 密码
|
||||
* @return 结果
|
||||
|
|
@ -417,7 +419,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 新增用户角色信息
|
||||
*
|
||||
*
|
||||
* @param user 用户对象
|
||||
*/
|
||||
public void insertUserRole(SysUser user)
|
||||
|
|
@ -427,7 +429,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 新增用户岗位信息
|
||||
*
|
||||
*
|
||||
* @param user 用户对象
|
||||
*/
|
||||
public void insertUserPost(SysUser user)
|
||||
|
|
@ -450,7 +452,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 新增用户角色信息
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param roleIds 角色组
|
||||
*/
|
||||
|
|
@ -473,7 +475,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 通过用户ID删除用户
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -490,7 +492,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 批量删除用户信息
|
||||
*
|
||||
*
|
||||
* @param userIds 需要删除的用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
|
|
@ -512,7 +514,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
/**
|
||||
* 导入用户数据
|
||||
*
|
||||
*
|
||||
* @param userList 用户数据列表
|
||||
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
|
||||
* @param operName 操作用户
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import com.ruoyi.common.log.annotation.Log
|
|||
import com.ruoyi.common.log.enums.BusinessType
|
||||
import com.ruoyi.common.security.annotation.InnerAuth
|
||||
import com.ruoyi.common.security.service.TokenService
|
||||
import com.ruoyi.system.api.domain.KSysUserAccount
|
||||
import com.ruoyi.system.api.domain.SysUser
|
||||
import com.ruoyi.system.api.model.LoginUser
|
||||
import com.ruoyi.system.service.IKSysUserService
|
||||
|
|
@ -150,17 +151,15 @@ open class InnerSysUserController : BaseController() {
|
|||
* 注册用户信息
|
||||
*/
|
||||
@InnerAuth
|
||||
@PostMapping("/register/wx/unionid")
|
||||
fun registerUserByWxUnionId(@RequestBody params: Map<String, String?>): R<Boolean> {
|
||||
if (!("true" == configService.selectConfigByKey("sys.account.registerUser"))) {
|
||||
@PostMapping("/register/dept/{deptId}/wx/unionid")
|
||||
fun registerUserBySysUserAccount(@RequestBody sysUserAccount: KSysUserAccount, @PathVariable deptId: Long): R<Boolean> {
|
||||
if ("true" != configService.selectConfigByKey("sys.account.registerUser")) {
|
||||
return R.fail("当前系统没有开启注册功能!")
|
||||
}
|
||||
val unionid = params.get("unionId")
|
||||
val deptId = params.get("deptId")?.toLong()
|
||||
if (unionid == null) return R.fail("微信unionid不存在无法注册")
|
||||
if (!kSysUserService.checkWxUnionIdUnique(unionid)) {
|
||||
return R.fail("保存用户'$unionid'失败,注册账号已存在")
|
||||
if (sysUserAccount.wxUnionId == null) return R.fail("微信unionid不存在无法注册")
|
||||
if (!kSysUserService.checkWxUnionIdUnique(sysUserAccount.wxUnionId!!)) {
|
||||
return R.fail("保存用户'$sysUserAccount.wxUnionId'失败,注册账号已存在")
|
||||
}
|
||||
return R.ok(kSysUserService.registerUserByWxUnionId(unionid, deptId))
|
||||
return R.ok(kSysUserService.registerUserBySysUserAccount(sysUserAccount, deptId))
|
||||
}
|
||||
}
|
||||
|
|
@ -32,7 +32,9 @@ interface KSysUserMapper {
|
|||
*/
|
||||
fun checkWxUnionIdUnique(wxUnionId: String): SysUser?
|
||||
|
||||
fun insertSysUserAccount(params: Map<String, Any>): Int
|
||||
fun insertSysUserAccount(sysUserAccount: KSysUserAccount): Int
|
||||
|
||||
fun updateSysUserAccount(params: Map<String, Any?>): Int
|
||||
fun updateSysUserAccount(sysUserAccount: KSysUserAccount): Int
|
||||
|
||||
fun unBindWxUnionIdByUserId(params: Map<String, Any?>): Int
|
||||
}
|
||||
|
|
@ -33,14 +33,14 @@ interface IKSysUserService {
|
|||
/**
|
||||
* 注册用户信息
|
||||
*
|
||||
* @param wxUnionId 微信unionId
|
||||
* @param sysUserAccount 包含微信unionId
|
||||
* @return 结果
|
||||
*/
|
||||
fun registerUserByWxUnionId(wxUnionId: String, deptId: Long?): Boolean
|
||||
fun registerUserBySysUserAccount(sysUserAccount: KSysUserAccount, deptId: Long): Boolean
|
||||
/**
|
||||
* 绑定微信
|
||||
*/
|
||||
fun bindWxUnionIdByUserId(userId: Long,wxUnionId: String): Int
|
||||
fun updateSysUserAccount(sysUserAccount: KSysUserAccount): Int
|
||||
/**
|
||||
* 解绑微信
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.ruoyi.system.service.impl
|
|||
import com.ruoyi.common.core.constant.UserConstants
|
||||
import com.ruoyi.common.core.utils.uuid.IdUtils
|
||||
import com.ruoyi.common.security.utils.SecurityUtils
|
||||
import com.ruoyi.system.api.domain.KSysUserAccount
|
||||
import com.ruoyi.system.api.domain.SysUser
|
||||
import com.ruoyi.system.mapper.KSysUserMapper
|
||||
import com.ruoyi.system.service.IKSysUserService
|
||||
|
|
@ -28,10 +29,11 @@ open class KSysUserServiceImpl : IKSysUserService {
|
|||
/**
|
||||
* 注册用户信息
|
||||
*
|
||||
* @param wxUnionId 微信unionId
|
||||
* @param sysUserAccount 包含微信unionId
|
||||
* @param deptId 部门ID
|
||||
* @return 结果
|
||||
*/
|
||||
override fun registerUserByWxUnionId(wxUnionId: String, deptId: Long?): Boolean {
|
||||
override fun registerUserBySysUserAccount(sysUserAccount: KSysUserAccount, deptId: Long): Boolean {
|
||||
val user = SysUser().apply {
|
||||
userName = IdUtils.randomUUID().replace("-".toRegex(), "").substring(0, 30)
|
||||
nickName = "嘉迪微信用户"
|
||||
|
|
@ -40,34 +42,16 @@ open class KSysUserServiceImpl : IKSysUserService {
|
|||
}
|
||||
return sysUserService.registerUser(user).apply {
|
||||
sysUserService.selectUserByUserName(user.userName)
|
||||
kSysUserMapper.insertSysUserAccount(
|
||||
mapOf(
|
||||
"userId" to user.userId,
|
||||
"wxUnionId" to wxUnionId,
|
||||
)
|
||||
)
|
||||
kSysUserMapper.insertSysUserAccount(sysUserAccount)
|
||||
}
|
||||
}
|
||||
|
||||
override fun bindWxUnionIdByUserId(userId: Long, wxUnionId: String): Int {
|
||||
if (this.selectUserById(userId) != null)
|
||||
return kSysUserMapper.updateSysUserAccount(
|
||||
mapOf(
|
||||
"userId" to userId,
|
||||
"wxUnionId" to wxUnionId,
|
||||
)
|
||||
)
|
||||
else
|
||||
return kSysUserMapper.insertSysUserAccount(
|
||||
mapOf(
|
||||
"userId" to userId,
|
||||
"wxUnionId" to wxUnionId,
|
||||
)
|
||||
)
|
||||
override fun updateSysUserAccount(sysUserAccount: KSysUserAccount): Int {
|
||||
return kSysUserMapper.updateSysUserAccount(sysUserAccount)
|
||||
}
|
||||
|
||||
override fun unBindWxUnionIdByUserId(userId: Long): Int {
|
||||
return kSysUserMapper.updateSysUserAccount(
|
||||
return kSysUserMapper.unBindWxUnionIdByUserId(
|
||||
mapOf(
|
||||
"userId" to userId,
|
||||
"wxUnionId" to null,
|
||||
|
|
|
|||
|
|
@ -1,84 +1,152 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.KSysUserMapper">
|
||||
|
||||
<resultMap type="SysUser" id="SysUserResult">
|
||||
<id property="userId" column="user_id" />
|
||||
<result property="deptId" column="dept_id" />
|
||||
<result property="userName" column="user_name" />
|
||||
<result property="nickName" column="nick_name" />
|
||||
<result property="email" column="email" />
|
||||
<result property="phonenumber" column="phonenumber" />
|
||||
<result property="sex" column="sex" />
|
||||
<result property="avatar" column="avatar" />
|
||||
<result property="password" column="password" />
|
||||
<result property="status" column="status" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="loginIp" column="login_ip" />
|
||||
<result property="loginDate" column="login_date" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
<association property="sysUserAccount" javaType="KSysUserAccount" resultMap="KSysUserAccount" />
|
||||
<association property="dept" javaType="SysDept" resultMap="deptResult" />
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
|
||||
<id property="userId" column="user_id"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<result property="userName" column="user_name"/>
|
||||
<result property="nickName" column="nick_name"/>
|
||||
<result property="email" column="email"/>
|
||||
<result property="phonenumber" column="phonenumber"/>
|
||||
<result property="sex" column="sex"/>
|
||||
<result property="avatar" column="avatar"/>
|
||||
<result property="password" column="password"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="loginIp" column="login_ip"/>
|
||||
<result property="loginDate" column="login_date"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<association property="sysUserAccount" javaType="com.ruoyi.system.api.domain.KSysUserAccount"
|
||||
resultMap="KSysUserAccount"/>
|
||||
<association property="dept" javaType="SysDept" resultMap="deptResult"/>
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
|
||||
</resultMap>
|
||||
<resultMap id="KSysUserAccount" type="KSysUserAccount">
|
||||
<id property="userId" column="member_id" />
|
||||
<result property="wxUnionId" column="unionid" />
|
||||
<resultMap id="KSysUserAccount" type="com.ruoyi.system.api.domain.KSysUserAccount">
|
||||
<id property="id" column="member_id"/>
|
||||
<result property="userId" column="member_id"/>
|
||||
<result property="wxUnionId" column="unionid"/>
|
||||
<result property="openid" column="openid"/>
|
||||
<result property="routineOpenid" column="routineOpenid"/>
|
||||
<result property="groupid" column="groupid"/>
|
||||
<result property="tagidList" column="tagidList"/>
|
||||
<result property="subscribe" column="subscribe"/>
|
||||
<result property="subscribeTime" column="subscribeTime"/>
|
||||
<result property="sessionKey" column="sessionKey"/>
|
||||
<result property="accessToken" column="accessToken"/>
|
||||
<result property="expiresIn" column="expiresIn"/>
|
||||
<result property="refreshToken" column="refreshToken"/>
|
||||
<result property="expireTime" column="expireTime"/>
|
||||
</resultMap>
|
||||
<resultMap id="deptResult" type="SysDept">
|
||||
<id property="deptId" column="dept_id" />
|
||||
<result property="parentId" column="parent_id" />
|
||||
<result property="deptName" column="dept_name" />
|
||||
<result property="ancestors" column="ancestors" />
|
||||
<result property="orderNum" column="order_num" />
|
||||
<result property="leader" column="leader" />
|
||||
<result property="status" column="dept_status" />
|
||||
<id property="deptId" column="dept_id"/>
|
||||
<result property="parentId" column="parent_id"/>
|
||||
<result property="deptName" column="dept_name"/>
|
||||
<result property="ancestors" column="ancestors"/>
|
||||
<result property="orderNum" column="order_num"/>
|
||||
<result property="leader" column="leader"/>
|
||||
<result property="status" column="dept_status"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap id="RoleResult" type="SysRole">
|
||||
<id property="roleId" column="role_id" />
|
||||
<result property="roleName" column="role_name" />
|
||||
<result property="roleKey" column="role_key" />
|
||||
<result property="roleSort" column="role_sort" />
|
||||
<result property="dataScope" column="data_scope" />
|
||||
<result property="status" column="role_status" />
|
||||
<id property="roleId" column="role_id"/>
|
||||
<result property="roleName" column="role_name"/>
|
||||
<result property="roleKey" column="role_key"/>
|
||||
<result property="roleSort" column="role_sort"/>
|
||||
<result property="dataScope" column="data_scope"/>
|
||||
<result property="status" column="role_status"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
|
||||
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
|
||||
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,
|
||||
umw.unionid
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id,
|
||||
u.dept_id,
|
||||
u.user_name,
|
||||
u.nick_name,
|
||||
u.email,
|
||||
u.avatar,
|
||||
u.phonenumber,
|
||||
u.password,
|
||||
u.sex,
|
||||
u.status,
|
||||
u.del_flag,
|
||||
u.login_ip,
|
||||
u.login_date,
|
||||
u.create_by,
|
||||
u.create_time,
|
||||
u.remark,
|
||||
d.dept_id,
|
||||
d.parent_id,
|
||||
d.ancestors,
|
||||
d.dept_name,
|
||||
d.order_num,
|
||||
d.leader,
|
||||
d.status as dept_status,
|
||||
r.role_id,
|
||||
r.role_name,
|
||||
r.role_key,
|
||||
r.role_sort,
|
||||
r.data_scope,
|
||||
r.status as role_status,
|
||||
umw.unionid
|
||||
from sys_user u
|
||||
left join ums_member_wechat umw on umw.member_id = u.user_id
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
left join ums_member_wechat umw on umw.member_id = u.user_id
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="selectUserById" parameterType="Long" resultMap="KSysUserAccount">
|
||||
select umw.member_id, umw.unionid from ums_member_wechat umw where umw.member_id = #{userId} limit 1
|
||||
select umw.member_id, umw.unionid
|
||||
from ums_member_wechat umw
|
||||
where umw.member_id = #{userId}
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<select id="selectUserByWxUnionId" parameterType="String" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where umw.unionid = #{wxUnionId} and u.del_flag = '0'
|
||||
</select>
|
||||
<select id="selectUserByWxUnionId" parameterType="String" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where umw.unionid = #{wxUnionId} and u.del_flag = '0'
|
||||
</select>
|
||||
|
||||
<select id="checkWxUnionIdUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select u.user_id, u.user_name from sys_user u left join ums_member_wechat umw on umw.member_id=u.user_id where umw.unionid = #{wxUnionId} and u.del_flag = '0' limit 1
|
||||
select u.user_id, u.user_name
|
||||
from sys_user u
|
||||
left join ums_member_wechat umw on umw.member_id = u.user_id
|
||||
where umw.unionid = #{wxUnionId}
|
||||
and u.del_flag = '0'
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertSysUserAccount">
|
||||
insert into ums_member_wechat(member_id, unionid) values (#{userId},#{wxUnionId})
|
||||
<insert id="insertSysUserAccount" parameterType="com.ruoyi.system.api.domain.KSysUserAccount">
|
||||
insert into ums_member_wechat(member_id, unionid, openid, routine_openid, groupid, tagid_list, subscribe,
|
||||
subscribe_time, session_key, access_token, expires_in, refresh_token, expire_time)
|
||||
values (#{userId}, #{wxUnionId}, #{openid}, #{routineOpenid}, #{groupid}, #{tagidList}, #{subscribe},
|
||||
#{subscribeTime}, #{sessionKey}, #{accessToken}, #{expiresIn}, #{refreshToken}, #{expireTime})
|
||||
</insert>
|
||||
<insert id="updateSysUserAccount">
|
||||
update ums_member_wechat set unionid = #{wxUnionId} where member_id = #{userId}
|
||||
<update id="updateSysUserAccount">
|
||||
update ums_member_wechat
|
||||
set unionid = #{wxUnionId},
|
||||
openid = #{openid},
|
||||
routine_openid = #{routineOpenid},
|
||||
groupid = #{groupid},
|
||||
tagid_list = #{tagidList},
|
||||
subscribe = #{subscribe},
|
||||
subscribe_time = #{subscribeTime},
|
||||
session_key = #{sessionKey},
|
||||
access_token = #{accessToken},
|
||||
expires_in = #{expiresIn},
|
||||
refresh_token = #{refreshToken},
|
||||
expire_time = #{expireTime}
|
||||
where member_id = #{userId}
|
||||
</update>
|
||||
<insert id="unBindWxUnionIdByUserId">
|
||||
update ums_member_wechat
|
||||
set unionid = #{wxUnionId}
|
||||
where member_id = #{userId}
|
||||
</insert>
|
||||
</mapper>
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
<span>更新日志</span>
|
||||
</div>
|
||||
<el-collapse accordion>
|
||||
<el-collapse-item title="v3.6.5.0.6 - 2024-11-13">
|
||||
<el-collapse-item title="v3.6.5.0.7 - 2024-11-13">
|
||||
<ol>
|
||||
<li>使用SpringDoc代替Swagger</li>
|
||||
<li>菜单管理新增路由名称</li>
|
||||
|
|
@ -909,7 +909,7 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
// 版本号
|
||||
version: "3.6.5.0.6",
|
||||
version: "3.6.5.0.7",
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-visual</artifactId>
|
||||
<version>3.6.5.0.6</version>
|
||||
<version>3.6.5.0.7</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue