Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-api-boot
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-api-boot
Commits
e0d1ec82
提交
e0d1ec82
authored
7月 13, 2022
作者:
方治民
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 新增 UserExtension 示例
上级
a1e02477
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
137 行增加
和
0 行删除
+137
-0
UserExtension.java
...c/main/java/com/yiring/app/domain/user/UserExtension.java
+55
-0
UserExtensionRepository.java
...a/com/yiring/app/domain/user/UserExtensionRepository.java
+15
-0
UserExtensionVo.java
...src/main/java/com/yiring/app/vo/user/UserExtensionVo.java
+35
-0
ExampleController.java
...in/java/com/yiring/app/web/example/ExampleController.java
+32
-0
没有找到文件。
app/src/main/java/com/yiring/app/domain/user/UserExtension.java
0 → 100644
浏览文件 @
e0d1ec82
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
user
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.common.domain.BasicEntity
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
javax.persistence.Entity
;
import
javax.persistence.JoinColumn
;
import
javax.persistence.OneToOne
;
import
javax.persistence.Table
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
import
lombok.experimental.FieldNameConstants
;
import
org.hibernate.annotations.Comment
;
/**
* 用户扩展
*
* @author Jim
* @version 0.1
* 2022/7/13 10:59
*/
@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldNameConstants
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
@Entity
@Table
(
name
=
"SYS_USER_EXTENSION"
)
@Comment
(
"用户扩展表"
)
public
class
UserExtension
extends
BasicEntity
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
1157047754883351972L
;
@Comment
(
"用户"
)
@OneToOne
@JoinColumn
(
nullable
=
false
,
unique
=
true
)
User
user
;
@Comment
(
"性别"
)
Integer
gender
;
@Comment
(
"年龄"
)
Integer
age
;
public
UserExtension
(
User
user
)
{
this
.
user
=
user
;
}
}
app/src/main/java/com/yiring/app/domain/user/UserExtensionRepository.java
0 → 100644
浏览文件 @
e0d1ec82
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
user
;
import
java.io.Serializable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
/**
* @author Jim
* @version 0.1
* 2022/7/13 11:11
*/
@Repository
public
interface
UserExtensionRepository
extends
JpaRepository
<
UserExtension
,
Serializable
>
{}
app/src/main/java/com/yiring/app/vo/user/UserExtensionVo.java
0 → 100644
浏览文件 @
e0d1ec82
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
user
;
import
com.yiring.common.jackson.MappingSerialize
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* @author Jim
* @version 0.1
* 2022/7/13 11:36
*/
@ApiModel
(
"UserExtensionVo"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
UserExtensionVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
2251567849918281906L
;
@ApiModelProperty
(
value
=
"性别"
,
example
=
"男"
)
@MappingSerialize
(
mapping
=
"0:女,1:男"
)
Integer
gender
;
@ApiModelProperty
(
value
=
"年龄"
,
example
=
"18"
)
Integer
age
;
}
app/src/main/java/com/yiring/app/web/example/ExampleController.java
浏览文件 @
e0d1ec82
/* (C) 2021 YiRing, Inc. */
package
com
.
yiring
.
app
.
web
.
example
;
import
cn.dev33.satoken.annotation.SaCheckLogin
;
import
cn.hutool.extra.spring.SpringUtil
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.yiring.app.constant.Code
;
import
com.yiring.app.domain.TestTable
;
import
com.yiring.app.domain.user.UserExtension
;
import
com.yiring.app.domain.user.UserExtensionRepository
;
import
com.yiring.app.exception.CodeException
;
import
com.yiring.app.mapper.TestTableMapper
;
import
com.yiring.app.vo.user.UserExtensionVo
;
import
com.yiring.auth.annotation.AuthIgnore
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.auth.util.Auths
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.core.Status
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.util.Commons
;
import
com.yiring.common.util.FileUtils
;
import
com.yiring.common.vo.PageVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Optional
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
lombok.RequiredArgsConstructor
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.core.io.ClassPathResource
;
import
org.springframework.data.domain.Example
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -38,8 +50,12 @@ import org.springframework.web.bind.annotation.RestController;
@Api
(
tags
=
"示例"
,
description
=
"Example"
)
@RequestMapping
(
"/example/"
)
@RestController
@RequiredArgsConstructor
public
class
ExampleController
{
final
Auths
auths
;
final
UserExtensionRepository
userExtensionRepository
;
String
text
=
"😎 Hello World"
;
@GetMapping
...
...
@@ -64,6 +80,7 @@ public class ExampleController {
return
Result
.
ok
(
vo
);
}
@AuthIgnore
@SneakyThrows
@ApiOperation
(
value
=
"download"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@GetMapping
(
"download"
)
...
...
@@ -78,4 +95,19 @@ public class ExampleController {
List
<
TestTable
>
tests
=
SpringUtil
.
getBean
(
TestTableMapper
.
class
).
selectList
(
null
);
return
Result
.
ok
(
tests
.
stream
().
map
(
TestTable:
:
getName
).
reduce
((
a
,
b
)
->
a
+
","
+
b
).
orElse
(
""
));
}
@SaCheckLogin
@ApiOperation
(
"查询用户属性"
)
@GetMapping
(
"findUserExtensionInfo"
)
public
Result
<
UserExtensionVo
>
findUserExtensionInfo
()
{
User
user
=
auths
.
getLoginUser
();
Optional
<
UserExtension
>
optional
=
userExtensionRepository
.
findOne
(
Example
.
of
(
new
UserExtension
(
user
)));
if
(
optional
.
isEmpty
())
{
return
Result
.
no
(
Status
.
NOT_FOUND
);
}
UserExtension
ext
=
optional
.
get
();
UserExtensionVo
vo
=
Commons
.
transform
(
ext
,
UserExtensionVo
.
class
);
return
Result
.
ok
(
vo
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论