Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zlb-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhoushaopan
zlb-app
Commits
ca8f39ab
提交
ca8f39ab
authored
9月 29, 2022
作者:
zhoushaopan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat[浙里办]: 修改返回的包装类
[修改返回的包装类]
上级
e34c9295
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
90 行增加
和
49 行删除
+90
-49
AdviceResponse.java
src/main/java/com/tykj/zlbapp/base/AdviceResponse.java
+22
-41
ResponseObj.java
src/main/java/com/tykj/zlbapp/base/ResponseObj.java
+34
-0
ZlbAppController.java
.../com/tykj/zlbapp/subject/controller/ZlbAppController.java
+5
-4
ZlbWeChatController.java
...m/tykj/zlbapp/subject/controller/ZlbWeChatController.java
+29
-4
没有找到文件。
src/main/java/com/tykj/zlbapp/
util/UnifiedReturnConfig
.java
→
src/main/java/com/tykj/zlbapp/
base/AdviceResponse
.java
浏览文件 @
ca8f39ab
package
com
.
tykj
.
zlbapp
.
util
;
package
com
.
tykj
.
zlbapp
.
base
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.tykj.zlbapp.base.ResultObj
;
import
lombok.SneakyThrows
;
import
org.springframework.context.annotation.Configuration
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.core.MethodParameter
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.converter.HttpMessageConverter
;
...
...
@@ -14,52 +11,36 @@ import org.springframework.http.server.ServerHttpResponse;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice
;
import
java.util.Objects
;
/**
* UnifiedReturnConfig.
*
* @author zsp <xhyrzldf@gmail.com>
* @since 2020/10/9 at 3:17 下午
* @author zsp@gmail.com
* @date 2022/9/28
*/
@
Configuration
@
RestControllerAdvice
(
"com.tykj.zlbapp"
)
public
class
UnifiedReturnConfig
implements
ResponseBodyAdvice
<
Object
>
{
@
RestControllerAdvice
(
basePackages
=
"com.tykj.zlbapp"
)
@
Slf4j
public
class
AdviceResponse
implements
ResponseBodyAdvice
<
Object
>
{
private
ObjectMapper
objectMapper
=
new
ObjectMapper
();
@Override
public
boolean
supports
(
MethodParameter
returnType
,
Class
<?
extends
HttpMessageConverter
<?>>
converterType
)
{
public
boolean
supports
(
MethodParameter
methodParameter
,
Class
<?
extends
HttpMessageConverter
<?>>
aClass
)
{
return
true
;
}
@SneakyThrows
@Override
public
Object
beforeBodyWrite
(
Object
body
,
MethodParameter
returnType
,
MediaType
selectedContentType
,
Class
<?
extends
HttpMessageConverter
<?>>
selectedConverterType
,
ServerHttpRequest
request
,
ServerHttpResponse
response
)
{
boolean
isVoid
=
Objects
.
isNull
(
body
);
boolean
isResultObj
=
body
instanceof
ResultObj
;
boolean
isStream
=
selectedContentType
.
includes
(
MediaType
.
APPLICATION_OCTET_STREAM
);
boolean
isJson
=
body
instanceof
JSONObject
;
if
(
isVoid
||
isResultObj
||
isStream
)
{
return
body
;
}
else
{
return
objectMapper
.
writeValueAsString
(
new
ResultObj
<>(
body
));
public
Object
beforeBodyWrite
(
Object
data
,
MethodParameter
methodParameter
,
MediaType
mediaType
,
Class
<?
extends
HttpMessageConverter
<?>>
aClass
,
ServerHttpRequest
serverHttpRequest
,
ServerHttpResponse
serverHttpResponse
)
{
// String类型不能直接包装
if
(
methodParameter
.
getGenericParameterType
().
equals
(
String
.
class
))
{
ObjectMapper
objectMapper
=
new
ObjectMapper
();
try
{
// 将数据包装在ResultVo里后转换为json串进行返回
return
objectMapper
.
writeValueAsString
(
new
ResponseObj
(
data
));
}
catch
(
JsonProcessingException
e
)
{
log
.
info
(
"异常信息:{}"
,
e
.
getMessage
());
}
}
// // String类型不能直接返回
// if (returnType.getGenericParameterType().equals(String.class)) {
// try {
// // 将数据包装在ResultObj里后转换为json串进行返回
// return
// } catch (JsonProcessingException e) {
// e.getMessage();
// }
// }
// 否则直接包装成ResultVo返回
// return new ResultObj<>(body);
return
new
ResponseObj
(
data
,
"成功"
);
}
}
}
src/main/java/com/tykj/zlbapp/base/ResponseObj.java
0 → 100644
浏览文件 @
ca8f39ab
package
com
.
tykj
.
zlbapp
.
base
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author zsp@gmail.com
* @date 2022/9/28
*/
@Data
@NoArgsConstructor
public
class
ResponseObj
{
public
Object
data
;
private
String
code
;
private
String
message
;
public
ResponseObj
(
Object
object
,
String
code
,
String
message
)
{
this
.
data
=
object
;
this
.
code
=
code
;
this
.
message
=
message
;
}
public
ResponseObj
(
Object
object
,
String
message
)
{
this
.
data
=
object
;
this
.
message
=
message
;
}
public
ResponseObj
(
Object
object
)
{
this
.
data
=
object
;
}
}
src/main/java/com/tykj/zlbapp/subject/controller/ZlbAppController.java
浏览文件 @
ca8f39ab
...
...
@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
java.util.Map
;
/**
* @author zsp
...
...
@@ -26,7 +27,7 @@ public class ZlbAppController {
@GetMapping
(
"/getAppTokenByTicketId"
)
@ApiOperation
(
value
=
"根据票据换取token"
,
notes
=
"根据票据换取token"
)
public
ResponseEntity
getAppTokenByTicketId
(
String
ticketId
)
{
public
Map
<
String
,
Object
>
getAppTokenByTicketId
(
String
ticketId
)
{
// HttpSession session = request.getSession();
//1. 通过ticketId 换取 accessToken
...
...
@@ -37,14 +38,14 @@ public class ZlbAppController {
//// //4. 缓存用户信息
//// session.setAttribute(USER_INFO_KEY, userInfo);
// log.info("session:{}",session);
return
ResponseEntity
.
ok
(
zlbAppAuthService
.
getTokenByTicket
(
ticketId
)
);
return
zlbAppAuthService
.
getTokenByTicket
(
ticketId
);
}
@GetMapping
(
"/getAppUserInfoByToken"
)
@ApiOperation
(
value
=
"根据token获取当前登录的用户信息"
,
notes
=
"根据token获取当前登录的用户信息"
)
public
ResponseEntity
getAppUserInfoByToken
(
String
token
)
{
public
Map
<
String
,
Object
>
getAppUserInfoByToken
(
String
token
)
{
return
ResponseEntity
.
ok
(
zlbAppAuthService
.
getUserInfoByToken
(
token
)
);
return
zlbAppAuthService
.
getUserInfoByToken
(
token
);
}
}
src/main/java/com/tykj/zlbapp/subject/controller/ZlbWeChatController.java
浏览文件 @
ca8f39ab
...
...
@@ -31,7 +31,7 @@ public class ZlbWeChatController {
@GetMapping
(
"/getWeChatTokenByTicketId"
)
@ApiOperation
(
value
=
"根据票据换取token"
,
notes
=
"根据票据换取token"
)
public
ResponseEntity
getTokenByTicketId
(
String
ticketId
)
{
public
String
getTokenByTicketId
(
String
ticketId
)
{
// HttpSession session = request.getSession();
// //1. 通过ticketId 换取 accessToken
String
token
=
zlbWeChatAuthService
.
getTokenByTicketId
(
ticketId
);
...
...
@@ -42,12 +42,12 @@ public class ZlbWeChatController {
// //4. 缓存用户信息
// session.setAttribute(WECHAT_USER_INFO_KEY, userInfo);
// log.info("session:{}",session);
return
ResponseEntity
.
ok
(
token
)
;
return
token
;
}
@GetMapping
(
"/getWeChatCurrentUser"
)
@ApiOperation
(
value
=
"获取当前登录的用户信息"
,
notes
=
"获取当前登录的用户信息"
)
public
ResponseEntity
getCurrentUser
(
String
token
)
{
public
JSONObject
getCurrentUser
(
String
token
)
{
// HttpSession session = request.getSession();
// Object attribute = session.getAttribute(WECHAT_USER_INFO_KEY);
// if(attribute!= null){
...
...
@@ -57,7 +57,32 @@ public class ZlbWeChatController {
// throw new RuntimeException("未登录");
// }
JSONObject
userInfoByToken
=
zlbWeChatAuthService
.
getUserInfoByToken
(
token
);
return
ResponseEntity
.
ok
(
userInfoByToken
.
getJSONObject
(
"personInfo"
));
if
(
userInfoByToken
!=
null
){
JSONObject
jsonObject
=
new
JSONObject
();
JSONObject
personInfo
=
userInfoByToken
.
getJSONObject
(
"personInfo"
);
String
birthday
=
personInfo
.
getString
(
"birthday"
);
String
userNameEnc
=
personInfo
.
getString
(
"userNameEnc"
);
String
idtype
=
personInfo
.
getString
(
"idtype"
);
String
gender
=
personInfo
.
getString
(
"gender"
);
String
nation
=
personInfo
.
getString
(
"nation"
);
String
userId
=
personInfo
.
getString
(
"userId"
);
String
idNoEnc
=
personInfo
.
getString
(
"idNoEnc"
);
String
email
=
personInfo
.
getString
(
"email"
);
String
phoneEnc
=
personInfo
.
getString
(
"phoneEnc"
);
JSONObject
attributes
=
personInfo
.
getJSONObject
(
"attributes"
);
jsonObject
.
put
(
"birthday"
,
birthday
);
jsonObject
.
put
(
"userNameEnc"
,
userNameEnc
);
jsonObject
.
put
(
"idtype"
,
idtype
);
jsonObject
.
put
(
"gender"
,
gender
);
jsonObject
.
put
(
"nation"
,
nation
);
jsonObject
.
put
(
"userId"
,
userId
);
jsonObject
.
put
(
"email"
,
email
);
jsonObject
.
put
(
"phoneEnc"
,
phoneEnc
);
jsonObject
.
put
(
"idNoEnc"
,
idNoEnc
);
jsonObject
.
put
(
"attributes"
,
attributes
);
return
jsonObject
;
}
return
new
JSONObject
();
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论