Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
b811d8e9
提交
b811d8e9
authored
11月 14, 2024
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
云上添加用户功能实现
上级
43674492
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
539 行增加
和
1 行删除
+539
-1
BizUserController.java
...java/org/dromara/server/controller/BizUserController.java
+70
-0
BizUser.java
...rver/src/main/java/org/dromara/server/domain/BizUser.java
+69
-0
BizUserBo.java
...src/main/java/org/dromara/server/domain/bo/BizUserBo.java
+67
-0
BizUserVo.java
...src/main/java/org/dromara/server/domain/vo/BizUserVo.java
+70
-0
RemoteServerServiceImpl.java
...ava/org/dromara/server/dubbo/RemoteServerServiceImpl.java
+40
-1
BizUserMapper.java
...rc/main/java/org/dromara/server/mapper/BizUserMapper.java
+15
-0
IBizUserService.java
...main/java/org/dromara/server/service/IBizUserService.java
+68
-0
BizUserServiceImpl.java
...a/org/dromara/server/service/impl/BizUserServiceImpl.java
+133
-0
BizUserMapper.xml
...server/src/main/resources/mapper/server/BizUserMapper.xml
+7
-0
没有找到文件。
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/controller/BizUserController.java
0 → 100644
浏览文件 @
b811d8e9
package
org
.
dromara
.
server
.
controller
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
jakarta.servlet.http.HttpServletResponse
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.excel.utils.ExcelUtil
;
import
org.dromara.common.log.annotation.Log
;
import
org.dromara.common.log.enums.BusinessType
;
import
org.dromara.common.mybatis.core.page.PageQuery
;
import
org.dromara.common.mybatis.core.page.TableDataInfo
;
import
org.dromara.common.web.core.BaseController
;
import
org.dromara.server.domain.bo.BizUserBo
;
import
org.dromara.server.domain.vo.BizUserVo
;
import
org.dromara.server.service.IBizUserService
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 云上用户信息
* 前端访问路由地址为:/server/user
*
* @author hzh
* @date 2024-11-14
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/user"
)
public
class
BizUserController
extends
BaseController
{
private
final
IBizUserService
bizUserService
;
/**
* 查询云上用户信息列表
*/
@SaCheckPermission
(
"server:user:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
BizUserVo
>
list
(
BizUserBo
bo
,
PageQuery
pageQuery
)
{
return
bizUserService
.
queryPageList
(
bo
,
pageQuery
);
}
/**
* 导出云上用户信息列表
*/
@SaCheckPermission
(
"server:user:export"
)
@Log
(
title
=
"云上用户信息"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
BizUserBo
bo
,
HttpServletResponse
response
)
{
List
<
BizUserVo
>
list
=
bizUserService
.
queryList
(
bo
);
ExcelUtil
.
exportExcel
(
list
,
"云上用户信息"
,
BizUserVo
.
class
,
response
);
}
/**
* 获取云上用户信息详细信息
*
* @param userId 主键
*/
@SaCheckPermission
(
"server:user:query"
)
@GetMapping
(
"/{userId}"
)
public
R
<
BizUserVo
>
getInfo
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Long
userId
)
{
return
R
.
ok
(
bizUserService
.
queryById
(
userId
));
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/BizUser.java
0 → 100644
浏览文件 @
b811d8e9
package
org
.
dromara
.
server
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.tenant.core.TenantEntity
;
import
java.io.Serial
;
/**
* 云上用户信息对象 biz_user
*
* @author hzh
* @date 2024-11-14
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"biz_user"
)
public
class
BizUser
extends
TenantEntity
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* 用户ID
*/
@TableId
(
value
=
"user_id"
)
private
Long
userId
;
/**
* 用户编码
*/
private
String
userNo
;
/**
* 系统用户id
*/
private
Long
systemUserId
;
/**
* 用户账号
*/
private
String
userName
;
/**
* 身份证
*/
private
String
idCard
;
/**
* 手机号码
*/
private
String
phonenumber
;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private
String
delFlag
;
/**
* 备注
*/
private
String
remark
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/bo/BizUserBo.java
0 → 100644
浏览文件 @
b811d8e9
package
org
.
dromara
.
server
.
domain
.
bo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
org.dromara.server.domain.BizUser
;
/**
* 云上用户信息业务对象 biz_user
*
* @author hzh
* @date 2024-11-14
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@AutoMapper
(
target
=
BizUser
.
class
,
reverseConvertGenerate
=
false
)
public
class
BizUserBo
extends
BaseEntity
{
/**
* 用户ID
*/
@NotNull
(
message
=
"用户ID不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
userId
;
/**
* 用户编码
*/
@NotBlank
(
message
=
"用户编码不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
userNo
;
/**
* 系统用户id
*/
@NotNull
(
message
=
"系统用户id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
systemUserId
;
/**
* 用户账号
*/
@NotBlank
(
message
=
"用户账号不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
userName
;
/**
* 身份证
*/
@NotBlank
(
message
=
"身份证不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
idCard
;
/**
* 手机号码
*/
@NotBlank
(
message
=
"手机号码不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
phonenumber
;
/**
* 备注
*/
@NotBlank
(
message
=
"备注不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
remark
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/BizUserVo.java
0 → 100644
浏览文件 @
b811d8e9
package
org
.
dromara
.
server
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
org.dromara.server.domain.BizUser
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* 云上用户信息视图对象 biz_user
*
* @author hzh
* @date 2024-11-14
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
BizUser
.
class
)
public
class
BizUserVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* 用户ID
*/
@ExcelProperty
(
value
=
"用户ID"
)
private
Long
userId
;
/**
* 用户编码
*/
@ExcelProperty
(
value
=
"用户编码"
)
private
String
userNo
;
/**
* 系统用户id
*/
@ExcelProperty
(
value
=
"系统用户id"
)
private
Long
systemUserId
;
/**
* 用户账号
*/
@ExcelProperty
(
value
=
"用户账号"
)
private
String
userName
;
/**
* 身份证
*/
@ExcelProperty
(
value
=
"身份证"
)
private
String
idCard
;
/**
* 手机号码
*/
@ExcelProperty
(
value
=
"手机号码"
)
private
String
phonenumber
;
/**
* 备注
*/
@ExcelProperty
(
value
=
"备注"
)
private
String
remark
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/dubbo/RemoteServerServiceImpl.java
浏览文件 @
b811d8e9
package
org
.
dromara
.
server
.
dubbo
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.dromara.common.ys.config.Config
;
import
org.dromara.common.ys.constant.Status
;
import
org.dromara.common.ys.model.req.org.EditEmployeeModel
;
import
org.dromara.common.ys.service.IOrgService
;
import
org.dromara.server.api.RemoteServerService
;
import
org.dromara.server.api.domain.RemoteUser
;
import
org.dromara.server.domain.BizUser
;
import
org.dromara.server.mapper.BizUserMapper
;
import
org.springframework.stereotype.Service
;
import
java.util.Objects
;
/**
* 云上服务
*
...
...
@@ -16,13 +26,42 @@ import org.springframework.stereotype.Service;
@DubboService
public
class
RemoteServerServiceImpl
implements
RemoteServerService
{
private
final
BizUserMapper
userMapper
;
private
final
IOrgService
orgService
;
@Override
public
boolean
saveOrUpdateUser
(
RemoteUser
user
)
{
String
userNo
=
user
.
getTenantId
()
+
"-"
+
user
.
getPhoneNumber
();
BizUser
bz
=
userMapper
.
selectOne
(
new
LambdaQueryWrapper
<>(
BizUser
.
class
).
eq
(
BizUser:
:
getUserNo
,
userNo
));
if
(
Objects
.
isNull
(
bz
))
{
//新增
BizUser
entity
=
new
BizUser
();
entity
.
setUserNo
(
userNo
);
entity
.
setTenantId
(
user
.
getTenantId
());
entity
.
setSystemUserId
(
user
.
getSystemUserId
());
entity
.
setUserName
(
user
.
getUserName
());
entity
.
setIdCard
(
user
.
getIdCard
());
entity
.
setPhonenumber
(
user
.
getPhoneNumber
());
userMapper
.
insert
(
bz
);
//新增用户
orgService
.
saveOrUpdateEmployee
(
Config
.
USE_ID
,
new
EditEmployeeModel
()
.
setEmpNo
(
entity
.
getUserNo
())
.
setEmpName
(
entity
.
getUserName
())
.
setPhoneNumber
(
entity
.
getPhonenumber
())
.
setLoginVip
(
Status
.
TRUE
.
getCode
()));
}
else
{
//跟新
bz
.
setUserName
(
user
.
getUserName
());
bz
.
setIdCard
(
user
.
getIdCard
());
userMapper
.
updateById
(
bz
);
}
return
false
;
}
@Override
public
RemoteUser
getUserByPhone
(
String
tenantId
,
String
phone
)
{
return
null
;
String
userNo
=
tenantId
+
"-"
+
phone
;
return
BeanUtil
.
copyProperties
(
userMapper
.
selectOne
(
new
LambdaQueryWrapper
<>(
BizUser
.
class
).
eq
(
BizUser:
:
getUserNo
,
userNo
)),
RemoteUser
.
class
);
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/mapper/BizUserMapper.java
0 → 100644
浏览文件 @
b811d8e9
package
org
.
dromara
.
server
.
mapper
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.server.domain.BizUser
;
import
org.dromara.server.domain.vo.BizUserVo
;
/**
* 云上用户信息Mapper接口
*
* @author hzh
* @date 2024-11-14
*/
public
interface
BizUserMapper
extends
BaseMapperPlus
<
BizUser
,
BizUserVo
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/IBizUserService.java
0 → 100644
浏览文件 @
b811d8e9
package
org
.
dromara
.
server
.
service
;
import
org.dromara.common.mybatis.core.page.PageQuery
;
import
org.dromara.common.mybatis.core.page.TableDataInfo
;
import
org.dromara.server.domain.bo.BizUserBo
;
import
org.dromara.server.domain.vo.BizUserVo
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 云上用户信息Service接口
*
* @author hzh
* @date 2024-11-14
*/
public
interface
IBizUserService
{
/**
* 查询云上用户信息
*
* @param userId 主键
* @return 云上用户信息
*/
BizUserVo
queryById
(
Long
userId
);
/**
* 分页查询云上用户信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 云上用户信息分页列表
*/
TableDataInfo
<
BizUserVo
>
queryPageList
(
BizUserBo
bo
,
PageQuery
pageQuery
);
/**
* 查询符合条件的云上用户信息列表
*
* @param bo 查询条件
* @return 云上用户信息列表
*/
List
<
BizUserVo
>
queryList
(
BizUserBo
bo
);
/**
* 新增云上用户信息
*
* @param bo 云上用户信息
* @return 是否新增成功
*/
Boolean
insertByBo
(
BizUserBo
bo
);
/**
* 修改云上用户信息
*
* @param bo 云上用户信息
* @return 是否修改成功
*/
Boolean
updateByBo
(
BizUserBo
bo
);
/**
* 校验并批量删除云上用户信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
);
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/impl/BizUserServiceImpl.java
0 → 100644
浏览文件 @
b811d8e9
package
org
.
dromara
.
server
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.utils.MapstructUtils
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.mybatis.core.page.PageQuery
;
import
org.dromara.common.mybatis.core.page.TableDataInfo
;
import
org.dromara.server.domain.BizUser
;
import
org.dromara.server.domain.bo.BizUserBo
;
import
org.dromara.server.domain.vo.BizUserVo
;
import
org.dromara.server.mapper.BizUserMapper
;
import
org.dromara.server.service.IBizUserService
;
import
org.springframework.stereotype.Service
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
/**
* 云上用户信息Service业务层处理
*
* @author hzh
* @date 2024-11-14
*/
@RequiredArgsConstructor
@Service
public
class
BizUserServiceImpl
implements
IBizUserService
{
private
final
BizUserMapper
baseMapper
;
/**
* 查询云上用户信息
*
* @param userId 主键
* @return 云上用户信息
*/
@Override
public
BizUserVo
queryById
(
Long
userId
)
{
return
baseMapper
.
selectVoById
(
userId
);
}
/**
* 分页查询云上用户信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 云上用户信息分页列表
*/
@Override
public
TableDataInfo
<
BizUserVo
>
queryPageList
(
BizUserBo
bo
,
PageQuery
pageQuery
)
{
LambdaQueryWrapper
<
BizUser
>
lqw
=
buildQueryWrapper
(
bo
);
Page
<
BizUserVo
>
result
=
baseMapper
.
selectVoPage
(
pageQuery
.
build
(),
lqw
);
return
TableDataInfo
.
build
(
result
);
}
/**
* 查询符合条件的云上用户信息列表
*
* @param bo 查询条件
* @return 云上用户信息列表
*/
@Override
public
List
<
BizUserVo
>
queryList
(
BizUserBo
bo
)
{
LambdaQueryWrapper
<
BizUser
>
lqw
=
buildQueryWrapper
(
bo
);
return
baseMapper
.
selectVoList
(
lqw
);
}
private
LambdaQueryWrapper
<
BizUser
>
buildQueryWrapper
(
BizUserBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
BizUser
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getUserNo
()),
BizUser:
:
getUserNo
,
bo
.
getUserNo
());
lqw
.
eq
(
bo
.
getSystemUserId
()
!=
null
,
BizUser:
:
getSystemUserId
,
bo
.
getSystemUserId
());
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getUserName
()),
BizUser:
:
getUserName
,
bo
.
getUserName
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getIdCard
()),
BizUser:
:
getIdCard
,
bo
.
getIdCard
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getPhonenumber
()),
BizUser:
:
getPhonenumber
,
bo
.
getPhonenumber
());
return
lqw
;
}
/**
* 新增云上用户信息
*
* @param bo 云上用户信息
* @return 是否新增成功
*/
@Override
public
Boolean
insertByBo
(
BizUserBo
bo
)
{
BizUser
add
=
MapstructUtils
.
convert
(
bo
,
BizUser
.
class
);
validEntityBeforeSave
(
add
);
boolean
flag
=
baseMapper
.
insert
(
add
)
>
0
;
if
(
flag
)
{
bo
.
setUserId
(
add
.
getUserId
());
}
return
flag
;
}
/**
* 修改云上用户信息
*
* @param bo 云上用户信息
* @return 是否修改成功
*/
@Override
public
Boolean
updateByBo
(
BizUserBo
bo
)
{
BizUser
update
=
MapstructUtils
.
convert
(
bo
,
BizUser
.
class
);
validEntityBeforeSave
(
update
);
return
baseMapper
.
updateById
(
update
)
>
0
;
}
/**
* 保存前的数据校验
*/
private
void
validEntityBeforeSave
(
BizUser
entity
)
{
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除云上用户信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
if
(
isValid
)
{
//TODO 做一些业务上的校验,判断是否需要校验
}
return
baseMapper
.
deleteByIds
(
ids
)
>
0
;
}
}
ruoyi-modules/ruoyi-server/src/main/resources/mapper/server/BizUserMapper.xml
0 → 100644
浏览文件 @
b811d8e9
<?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=
"org.dromara.server.mapper.BizUserMapper"
>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论