parent
beb41bb782
commit
21495202ff
@ -0,0 +1,28 @@
|
||||
package com.ruoyi.system.mapper
|
||||
|
||||
import com.ruoyi.system.api.domain.SysUser
|
||||
|
||||
/**
|
||||
* 用户表 数据层
|
||||
*
|
||||
* @author hsdllcw
|
||||
*/
|
||||
interface KSysUserMapper {
|
||||
/**
|
||||
* 通过用户名查询用户
|
||||
*
|
||||
* @param wxUnionId 微信unionid
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
fun selectUserByWxUnionId(wxUnionId: String): SysUser?
|
||||
|
||||
/**
|
||||
* 校验微信unionid是否唯一
|
||||
*
|
||||
* @param wxUnionId 微信unionid
|
||||
* @return 结果
|
||||
*/
|
||||
fun checkWxUnionIdUnique(wxUnionId: String): SysUser?
|
||||
|
||||
fun insert(params: Map<String, Any>): Int
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package com.ruoyi.system.service
|
||||
|
||||
import com.ruoyi.system.api.domain.SysUser
|
||||
|
||||
interface IKSysUserService {
|
||||
fun getISysUserService(): ISysUserService
|
||||
|
||||
/**
|
||||
* 通过微信unionid查询用户
|
||||
*
|
||||
* @param wxUnionId 微信unionid
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
fun selectUserByWxUnionId(wxUnionId: String): SysUser?
|
||||
|
||||
/**
|
||||
* 校验微信unionid是否唯一
|
||||
*
|
||||
* @param wxUnionId 微信unionid
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
fun checkWxUnionIdUnique(wxUnionId: String): Boolean
|
||||
|
||||
/**
|
||||
* 注册用户信息
|
||||
*
|
||||
* @param wxUnionId 微信unionId
|
||||
* @return 结果
|
||||
*/
|
||||
fun registerUserByWxUnionId(wxUnionId: String, deptId: Long?): Boolean
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
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.SysUser
|
||||
import com.ruoyi.system.mapper.KSysUserMapper
|
||||
import com.ruoyi.system.service.IKSysUserService
|
||||
import com.ruoyi.system.service.ISysUserService
|
||||
import org.springframework.beans.factory.annotation.Autowired
|
||||
import org.springframework.stereotype.Service
|
||||
|
||||
@Service
|
||||
open class KSysUserServiceImpl : IKSysUserService {
|
||||
@Autowired
|
||||
lateinit var sysUserService: ISysUserService
|
||||
|
||||
@Autowired
|
||||
lateinit var kSysUserMapper: KSysUserMapper
|
||||
override fun getISysUserService() = sysUserService
|
||||
override fun selectUserByWxUnionId(wxUnionId: String) = kSysUserMapper.selectUserByWxUnionId(wxUnionId)
|
||||
override fun checkWxUnionIdUnique(wxUnionId: String) =
|
||||
kSysUserMapper.checkWxUnionIdUnique(wxUnionId)?.run { UserConstants.NOT_UNIQUE } ?: UserConstants.UNIQUE
|
||||
|
||||
/**
|
||||
* 注册用户信息
|
||||
*
|
||||
* @param wxUnionId 微信unionId
|
||||
* @return 结果
|
||||
*/
|
||||
override fun registerUserByWxUnionId(wxUnionId: String, deptId: Long?): Boolean {
|
||||
val user = SysUser().apply {
|
||||
userName = IdUtils.randomUUID().replace("-".toRegex(), "").substring(0, 30)
|
||||
nickName = "嘉迪微信用户"
|
||||
password = SecurityUtils.encryptPassword(IdUtils.randomUUID())
|
||||
this.deptId = deptId
|
||||
}
|
||||
return sysUserService.registerUser(user).apply {
|
||||
sysUserService.selectUserByUserName(user.userName)
|
||||
kSysUserMapper.insert(mapOf(
|
||||
"userId" to user.userId,
|
||||
"wxUnionId" to wxUnionId,
|
||||
))
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
<?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">
|
||||
<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="dept" javaType="SysDept" resultMap="deptResult" />
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
|
||||
</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" />
|
||||
</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" />
|
||||
</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
|
||||
from sys_user u
|
||||
left join sys_user_account ua on ua.user_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="selectUserByWxUnionId" parameterType="String" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where ua.wx_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 sys_user_account ua on ua.user_id=u.user_id where ua.wx_unionid = #{wxUnionId} and u.del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insert">
|
||||
insert into sys_user_account(user_id, wx_unionid) values (#{userId},#{wxUnionId})
|
||||
</insert>
|
||||
</mapper>
|
||||
Loading…
Reference in new issue