Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
Commits
d89773d3
提交
d89773d3
authored
5月 29, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
返回用户信息
上级
a4fd29cb
显示空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
341 行增加
和
36 行删除
+341
-36
LoginSuccessDTO.java
...in/java/com/mmc/csf/release/auth/dto/LoginSuccessDTO.java
+29
-0
RegistrationVO.java
...ain/java/com/mmc/csf/release/flyer/vo/RegistrationVO.java
+0
-2
CommentAndReplyVO.java
.../java/com/mmc/csf/release/forum/vo/CommentAndReplyVO.java
+3
-1
CommentVO.java
...src/main/java/com/mmc/csf/release/forum/vo/CommentVO.java
+0
-2
DynamicVO.java
...src/main/java/com/mmc/csf/release/forum/vo/DynamicVO.java
+2
-2
UserBaseInfoVO.java
...ain/java/com/mmc/csf/release/forum/vo/UserBaseInfoVO.java
+25
-0
DataFilterYml.java
...src/main/java/com/mmc/csf/release/auth/DataFilterYml.java
+26
-0
MvcConfiguration.java
.../main/java/com/mmc/csf/release/auth/MvcConfiguration.java
+23
-0
NotCheckUriConfig.java
...main/java/com/mmc/csf/release/auth/NotCheckUriConfig.java
+23
-0
TokenCheckHandleInterceptor.java
...com/mmc/csf/release/auth/TokenCheckHandleInterceptor.java
+79
-0
BaseController.java
...n/java/com/mmc/csf/release/controller/BaseController.java
+54
-0
DynamicController.java
...ava/com/mmc/csf/release/controller/DynamicController.java
+12
-11
FlyerTrainingController.java
...m/mmc/csf/release/controller/FlyerTrainingController.java
+4
-3
ForumDynamicDO.java
.../main/java/com/mmc/csf/release/entity/ForumDynamicDO.java
+1
-2
PilotRegistrationDO.java
.../java/com/mmc/csf/release/entity/PilotRegistrationDO.java
+0
-1
DynamicService.java
...main/java/com/mmc/csf/release/service/DynamicService.java
+2
-2
FlyerTrainingService.java
...ava/com/mmc/csf/release/service/FlyerTrainingService.java
+1
-1
DynamicServiceImpl.java
.../com/mmc/csf/release/service/impl/DynamicServiceImpl.java
+31
-8
FlyerTrainingServiceImpl.java
...mc/csf/release/service/impl/FlyerTrainingServiceImpl.java
+2
-1
PathUtil.java
...vice/src/main/java/com/mmc/csf/release/util/PathUtil.java
+16
-0
not-check.yml
release-service/src/main/resources/not-check.yml
+8
-0
没有找到文件。
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/auth/dto/LoginSuccessDTO.java
0 → 100644
浏览文件 @
d89773d3
package
com
.
mmc
.
csf
.
release
.
auth
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午8:06:14
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LoginSuccessDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1200834589953161925L
;
private
String
token
;
private
Integer
userAccountId
;
private
String
accountNo
;
private
String
uid
;
private
String
phoneNum
;
private
String
userName
;
private
String
nickName
;
// private RoleInfoDTO roleInfo;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/flyer/vo/RegistrationVO.java
浏览文件 @
d89773d3
...
@@ -18,8 +18,6 @@ import java.util.List;
...
@@ -18,8 +18,6 @@ import java.util.List;
@AllArgsConstructor
@AllArgsConstructor
public
class
RegistrationVO
implements
Serializable
{
public
class
RegistrationVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3364708963790356041L
;
private
static
final
long
serialVersionUID
=
-
3364708963790356041L
;
@ApiModelProperty
(
value
=
"模拟用户id(后面从token获取,临时传下)"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"姓名"
)
@ApiModelProperty
(
value
=
"姓名"
)
private
String
name
;
private
String
name
;
@ApiModelProperty
(
value
=
"城市"
)
@ApiModelProperty
(
value
=
"城市"
)
...
...
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/forum/vo/CommentAndReplyVO.java
浏览文件 @
d89773d3
...
@@ -26,8 +26,10 @@ public class CommentAndReplyVO implements Serializable {
...
@@ -26,8 +26,10 @@ public class CommentAndReplyVO implements Serializable {
private
Integer
dynamicId
;
private
Integer
dynamicId
;
@ApiModelProperty
(
value
=
"父级评论id"
)
@ApiModelProperty
(
value
=
"父级评论id"
)
private
Integer
parentId
;
private
Integer
parentId
;
@ApiModelProperty
(
value
=
"动态发布人的id
(后期返回用户头像昵称信息)
"
)
@ApiModelProperty
(
value
=
"动态发布人的id"
)
private
Integer
userId
;
private
Integer
userId
;
@ApiModelProperty
(
value
=
"用户信息"
)
private
UserBaseInfoVO
userBaseInfoVO
;
@ApiModelProperty
(
value
=
"评论内容"
)
@ApiModelProperty
(
value
=
"评论内容"
)
private
String
content
;
private
String
content
;
@ApiModelProperty
(
value
=
"评论点赞数"
)
@ApiModelProperty
(
value
=
"评论点赞数"
)
...
...
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/forum/vo/CommentVO.java
浏览文件 @
d89773d3
...
@@ -24,8 +24,6 @@ public class CommentVO implements Serializable {
...
@@ -24,8 +24,6 @@ public class CommentVO implements Serializable {
private
Integer
dynamicId
;
private
Integer
dynamicId
;
@ApiModelProperty
(
value
=
"父级评论id(不传则是评论动态 传了则是回复评论)"
)
@ApiModelProperty
(
value
=
"父级评论id(不传则是评论动态 传了则是回复评论)"
)
private
Integer
parentId
;
private
Integer
parentId
;
@ApiModelProperty
(
value
=
"模拟用户id"
)
private
Integer
userId
;
@ApiModelProperty
(
value
=
"评论内容"
)
@ApiModelProperty
(
value
=
"评论内容"
)
private
String
content
;
private
String
content
;
}
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/forum/vo/DynamicVO.java
浏览文件 @
d89773d3
...
@@ -21,8 +21,8 @@ import java.util.List;
...
@@ -21,8 +21,8 @@ import java.util.List;
@AllArgsConstructor
@AllArgsConstructor
@Builder
@Builder
public
class
DynamicVO
implements
Serializable
{
public
class
DynamicVO
implements
Serializable
{
@ApiModelProperty
(
value
=
"
模拟用户id
"
)
@ApiModelProperty
(
value
=
"
发布动态用户信息
"
)
private
Integer
userId
;
private
UserBaseInfoVO
userBaseInfo
;
@ApiModelProperty
(
value
=
"动态id"
)
@ApiModelProperty
(
value
=
"动态id"
)
private
Integer
id
;
private
Integer
id
;
@ApiModelProperty
(
value
=
"动态标题"
)
@ApiModelProperty
(
value
=
"动态标题"
)
...
...
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/forum/vo/UserBaseInfoVO.java
0 → 100644
浏览文件 @
d89773d3
package
com
.
mmc
.
csf
.
release
.
forum
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2023/5/29 15:30
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
UserBaseInfoVO
implements
Serializable
{
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户昵称"
)
private
String
nickName
;
@ApiModelProperty
(
value
=
"用户头像"
)
private
String
userImg
;
}
release-service/src/main/java/com/mmc/csf/release/auth/DataFilterYml.java
0 → 100644
浏览文件 @
d89773d3
package
com
.
mmc
.
csf
.
release
.
auth
;
import
org.springframework.beans.factory.config.YamlPropertiesFactoryBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.support.PropertySourcesPlaceholderConfigurer
;
import
org.springframework.core.io.ClassPathResource
;
import
java.util.Objects
;
/**
* Author: geDuo
* Date: 2022/6/2 17:26
*/
@Configuration
public
class
DataFilterYml
{
@Bean
public
static
PropertySourcesPlaceholderConfigurer
loadYml
(){
PropertySourcesPlaceholderConfigurer
configurer
=
new
PropertySourcesPlaceholderConfigurer
();
YamlPropertiesFactoryBean
yaml
=
new
YamlPropertiesFactoryBean
();
yaml
.
setResources
(
new
ClassPathResource
(
"not-check.yml"
));
configurer
.
setProperties
(
Objects
.
requireNonNull
(
yaml
.
getObject
()));
return
configurer
;
}
}
release-service/src/main/java/com/mmc/csf/release/auth/MvcConfiguration.java
0 → 100644
浏览文件 @
d89773d3
package
com
.
mmc
.
csf
.
release
.
auth
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
/**
* @author: zj
* @Date: 2023/5/28 10:52
*/
@Configuration
public
class
MvcConfiguration
implements
WebMvcConfigurer
{
@Autowired
private
TokenCheckHandleInterceptor
tokenCheckHandleInterceptor
;
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
tokenCheckHandleInterceptor
);
WebMvcConfigurer
.
super
.
addInterceptors
(
registry
);
}
}
release-service/src/main/java/com/mmc/csf/release/auth/NotCheckUriConfig.java
0 → 100644
浏览文件 @
d89773d3
package
com
.
mmc
.
csf
.
release
.
auth
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.PropertySource
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/5/28 13:54
*/
@Data
@Configuration
@ConfigurationProperties
(
prefix
=
"data-filter"
,
ignoreUnknownFields
=
false
)
@PropertySource
(
"classpath:not-check.yml"
)
public
class
NotCheckUriConfig
{
// 不需要验证token的请求地址
private
List
<
String
>
notAuthPath
;
// 不需要验证token的请求地址;// 不需要验证token的请求地址
private
List
<
String
>
uploadPath
;
}
release-service/src/main/java/com/mmc/csf/release/auth/TokenCheckHandleInterceptor.java
0 → 100644
浏览文件 @
d89773d3
package
com
.
mmc
.
csf
.
release
.
auth
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.common.util.web.ResultEnum
;
import
com.mmc.csf.release.auth.dto.LoginSuccessDTO
;
import
com.mmc.csf.release.util.PathUtil
;
import
io.micrometer.core.instrument.util.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.PrintWriter
;
/**
* @author: zj
* @Date: 2023/5/28 10:46
*/
@Component
public
class
TokenCheckHandleInterceptor
implements
HandlerInterceptor
{
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Autowired
private
NotCheckUriConfig
notCheckUriConfig
;
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
// 扫码登录还没做好,暂时先注释
String
requestURI
=
request
.
getRequestURI
();
//根据uri确认是否要拦截
if
(!
shouldFilter
(
requestURI
)){
return
true
;
}
String
token
=
request
.
getHeader
(
"token"
);
String
tokenJson
=
stringRedisTemplate
.
opsForValue
().
get
(
token
);
if
(
StringUtils
.
isBlank
(
tokenJson
)){
exceptionProcess
(
response
);
return
false
;
}
LoginSuccessDTO
loginSuccessDTO
=
JSONObject
.
parseObject
(
tokenJson
,
LoginSuccessDTO
.
class
);
if
(
loginSuccessDTO
!=
null
){
request
.
setAttribute
(
"userAccountId"
,
loginSuccessDTO
.
getUserAccountId
());
}
return
true
;
}
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
ModelAndView
modelAndView
)
throws
Exception
{
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
}
public
void
exceptionProcess
(
HttpServletResponse
response
)
throws
Exception
{
response
.
setContentType
(
"application/json;charset=utf-8"
);
PrintWriter
writer
=
response
.
getWriter
();
writer
.
write
(
ResultBody
.
error
(
ResultEnum
.
LOGIN_ACCOUNT_STATUS_ERROR
).
toString
());
writer
.
close
();
}
private
boolean
shouldFilter
(
String
path
)
{
// 路径与配置的相匹配,则执行过滤
for
(
String
pathPattern
:
notCheckUriConfig
.
getNotAuthPath
())
{
if
(
PathUtil
.
isPathMatch
(
pathPattern
,
path
))
{
// 如果匹配
return
false
;
}
}
return
true
;
}
}
release-service/src/main/java/com/mmc/csf/release/controller/BaseController.java
0 → 100644
浏览文件 @
d89773d3
package
com
.
mmc
.
csf
.
release
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mmc.csf.common.util.web.BizException
;
import
com.mmc.csf.common.util.web.ResultEnum
;
import
com.mmc.csf.release.auth.dto.LoginSuccessDTO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author: zj
* @Date: 2023/5/25 18:11
*/
public
abstract
class
BaseController
{
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
/**
* 解析token,获取用户信息
* @param request
* @return
*/
// public BaseAccountDTO getUserLoginInfo(HttpServletRequest request) {
// String token = request.getHeader("token");
// try {
// Claims claims = JwtUtil.parseJwt(token);
// String userId = claims.get(JwtConstant.USER_ACCOUNT_ID).toString();
//// String roleId = claims.get("").toString();
// String tokenType = claims.get(JwtConstant.TOKEN_TYPE).toString();
// return BaseAccountDTO.builder().id(Integer.parseInt(userId)).tokenPort(tokenType).build();
// }catch (Exception e){
// throw new BizException("Invalid token");
// }
// }
/**
* 使用token从redis获取用户信息
* @param request
* @return
*/
public
LoginSuccessDTO
getUserLoginInfoFromRedis
(
HttpServletRequest
request
)
{
String
token
=
request
.
getHeader
(
"token"
);
String
json
=
stringRedisTemplate
.
opsForValue
().
get
(
token
);
if
(
StringUtils
.
isBlank
(
json
)){
throw
new
BizException
(
ResultEnum
.
LOGIN_ACCOUNT_STATUS_ERROR
);
}
LoginSuccessDTO
loginSuccessDTO
=
JSONObject
.
parseObject
(
json
,
LoginSuccessDTO
.
class
);
return
loginSuccessDTO
;
}
}
release-service/src/main/java/com/mmc/csf/release/controller/DynamicController.java
浏览文件 @
d89773d3
...
@@ -9,6 +9,7 @@ import io.swagger.annotations.*;
...
@@ -9,6 +9,7 @@ import io.swagger.annotations.*;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
/**
/**
* @Author LW
* @Author LW
...
@@ -18,7 +19,7 @@ import javax.annotation.Resource;
...
@@ -18,7 +19,7 @@ import javax.annotation.Resource;
@Api
(
tags
=
{
"web-小程序-论坛社区-模块"
})
@Api
(
tags
=
{
"web-小程序-论坛社区-模块"
})
@RestController
@RestController
@RequestMapping
(
"/dynamic"
)
@RequestMapping
(
"/dynamic"
)
public
class
DynamicController
{
public
class
DynamicController
extends
BaseController
{
@Resource
@Resource
private
DynamicService
dynamicService
;
private
DynamicService
dynamicService
;
...
@@ -26,22 +27,22 @@ public class DynamicController {
...
@@ -26,22 +27,22 @@ public class DynamicController {
@ApiOperation
(
value
=
"动态发布"
)
@ApiOperation
(
value
=
"动态发布"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/publish"
)
@PostMapping
(
"/publish"
)
public
ResultBody
publishDynamic
(
@RequestBody
DynamicVO
dynamicVO
)
{
public
ResultBody
publishDynamic
(
@RequestBody
DynamicVO
dynamicVO
,
HttpServletRequest
request
)
{
return
dynamicService
.
insertDynamic
(
dynamicVO
);
return
dynamicService
.
insertDynamic
(
dynamicVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
);
}
}
@ApiOperation
(
value
=
"点赞或取消点赞"
)
@ApiOperation
(
value
=
"点赞或取消点赞"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/likeOrCancel"
)
@GetMapping
(
"/likeOrCancel"
)
public
ResultBody
likeOrCancel
(
@ApiParam
(
value
=
"模拟用户id"
)
@RequestParam
Integer
userId
,
@ApiParam
(
value
=
"动态id"
)
@RequestParam
Integer
dynamicId
)
{
public
ResultBody
likeOrCancel
(
HttpServletRequest
request
,
@ApiParam
(
value
=
"动态id"
)
@RequestParam
Integer
dynamicId
)
{
return
dynamicService
.
likeDynamic
(
userId
,
dynamicId
);
return
dynamicService
.
likeDynamic
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
,
dynamicId
);
}
}
@ApiOperation
(
value
=
"评论动态或回复评论"
)
@ApiOperation
(
value
=
"评论动态或回复评论"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/comment"
)
@PostMapping
(
"/comment"
)
public
ResultBody
commentDynamic
(
@RequestBody
CommentVO
commentVO
)
{
public
ResultBody
commentDynamic
(
@RequestBody
CommentVO
commentVO
,
HttpServletRequest
request
)
{
return
dynamicService
.
commentDynamic
(
commentVO
);
return
dynamicService
.
commentDynamic
(
commentVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
);
}
}
@ApiOperation
(
value
=
"删除评论"
)
@ApiOperation
(
value
=
"删除评论"
)
...
@@ -61,14 +62,14 @@ public class DynamicController {
...
@@ -61,14 +62,14 @@ public class DynamicController {
@ApiOperation
(
value
=
"动态详情"
)
@ApiOperation
(
value
=
"动态详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
DynamicVO
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
DynamicVO
.
class
)})
@GetMapping
(
"/dynamicDetails"
)
@GetMapping
(
"/dynamicDetails"
)
public
ResultBody
dynamicDetails
(
@RequestParam
Integer
dynamicId
,
@RequestParam
Integer
userId
)
{
public
ResultBody
dynamicDetails
(
@RequestParam
Integer
dynamicId
,
HttpServletRequest
request
)
{
return
dynamicService
.
dynamicDetails
(
dynamicId
,
userId
);
return
dynamicService
.
dynamicDetails
(
dynamicId
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
);
}
}
@ApiOperation
(
value
=
"动态列表"
)
@ApiOperation
(
value
=
"动态列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
DynamicVO
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
DynamicVO
.
class
)})
@GetMapping
(
"/dynamicList"
)
@GetMapping
(
"/dynamicList"
)
public
ResultBody
dynamicList
(
@RequestParam
Integer
pageNo
,
@RequestParam
Integer
pageSize
,
@RequestParam
Integer
userId
)
{
public
ResultBody
dynamicList
(
@RequestParam
Integer
pageNo
,
@RequestParam
Integer
pageSize
,
HttpServletRequest
request
)
{
return
ResultBody
.
success
(
dynamicService
.
dynamicList
(
pageNo
,
pageSize
,
userId
));
return
ResultBody
.
success
(
dynamicService
.
dynamicList
(
pageNo
,
pageSize
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
));
}
}
}
}
release-service/src/main/java/com/mmc/csf/release/controller/FlyerTrainingController.java
浏览文件 @
d89773d3
...
@@ -11,6 +11,7 @@ import io.swagger.annotations.*;
...
@@ -11,6 +11,7 @@ import io.swagger.annotations.*;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
/**
/**
...
@@ -21,7 +22,7 @@ import javax.annotation.Resource;
...
@@ -21,7 +22,7 @@ import javax.annotation.Resource;
@Api
(
tags
=
{
"web-小程序-飞手培训-模块"
})
@Api
(
tags
=
{
"web-小程序-飞手培训-模块"
})
@RestController
@RestController
@RequestMapping
(
"/curriculum/"
)
@RequestMapping
(
"/curriculum/"
)
public
class
FlyerTrainingController
{
public
class
FlyerTrainingController
extends
BaseController
{
@Resource
@Resource
private
FlyerTrainingService
flyerTrainingService
;
private
FlyerTrainingService
flyerTrainingService
;
...
@@ -29,8 +30,8 @@ public class FlyerTrainingController {
...
@@ -29,8 +30,8 @@ public class FlyerTrainingController {
@ApiOperation
(
value
=
"飞手报名"
)
@ApiOperation
(
value
=
"飞手报名"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/pilotRegistration"
)
@PostMapping
(
"/pilotRegistration"
)
public
ResultBody
pilotRegistration
(
@RequestBody
RegistrationVO
registrationVO
)
{
public
ResultBody
pilotRegistration
(
@RequestBody
RegistrationVO
registrationVO
,
HttpServletRequest
request
)
{
return
flyerTrainingService
.
pilotRegistration
(
registrationVO
);
return
flyerTrainingService
.
pilotRegistration
(
registrationVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
()
);
}
}
...
...
release-service/src/main/java/com/mmc/csf/release/entity/ForumDynamicDO.java
浏览文件 @
d89773d3
...
@@ -78,7 +78,6 @@ public class ForumDynamicDO implements Serializable {
...
@@ -78,7 +78,6 @@ public class ForumDynamicDO implements Serializable {
public
ForumDynamicDO
(
DynamicVO
dynamicVO
)
{
public
ForumDynamicDO
(
DynamicVO
dynamicVO
)
{
this
.
title
=
dynamicVO
.
getTitle
();
this
.
title
=
dynamicVO
.
getTitle
();
this
.
description
=
dynamicVO
.
getDescription
();
this
.
description
=
dynamicVO
.
getDescription
();
this
.
userId
=
dynamicVO
.
getUserId
();
this
.
location
=
dynamicVO
.
getLocation
();
this
.
location
=
dynamicVO
.
getLocation
();
this
.
lat
=
dynamicVO
.
getLat
();
this
.
lat
=
dynamicVO
.
getLat
();
this
.
lon
=
dynamicVO
.
getLon
();
this
.
lon
=
dynamicVO
.
getLon
();
...
@@ -88,7 +87,7 @@ public class ForumDynamicDO implements Serializable {
...
@@ -88,7 +87,7 @@ public class ForumDynamicDO implements Serializable {
return
DynamicVO
.
builder
().
id
(
id
).
description
(
description
)
return
DynamicVO
.
builder
().
id
(
id
).
description
(
description
)
.
commentCount
(
commentsCount
).
likesCount
(
likesCount
)
.
commentCount
(
commentsCount
).
likesCount
(
likesCount
)
.
lat
(
lat
).
lon
(
lon
).
location
(
location
).
title
(
title
)
.
lat
(
lat
).
lon
(
lon
).
location
(
location
).
title
(
title
)
.
userId
(
userId
).
dynamicPublishTime
(
createTime
).
build
();
.
dynamicPublishTime
(
createTime
).
build
();
}
}
}
}
release-service/src/main/java/com/mmc/csf/release/entity/PilotRegistrationDO.java
浏览文件 @
d89773d3
...
@@ -51,7 +51,6 @@ public class PilotRegistrationDO implements Serializable {
...
@@ -51,7 +51,6 @@ public class PilotRegistrationDO implements Serializable {
private
Integer
deleted
;
private
Integer
deleted
;
public
PilotRegistrationDO
(
RegistrationVO
registrationVO
)
{
public
PilotRegistrationDO
(
RegistrationVO
registrationVO
)
{
this
.
applyUserId
=
registrationVO
.
getId
();
this
.
name
=
registrationVO
.
getName
();
this
.
name
=
registrationVO
.
getName
();
this
.
city
=
registrationVO
.
getCity
();
this
.
city
=
registrationVO
.
getCity
();
this
.
telephone
=
registrationVO
.
getTelephone
();
this
.
telephone
=
registrationVO
.
getTelephone
();
...
...
release-service/src/main/java/com/mmc/csf/release/service/DynamicService.java
浏览文件 @
d89773d3
...
@@ -20,7 +20,7 @@ public interface DynamicService {
...
@@ -20,7 +20,7 @@ public interface DynamicService {
* @param dynamicVO 动态
* @param dynamicVO 动态
* @return {@link ResultBody}
* @return {@link ResultBody}
*/
*/
ResultBody
insertDynamic
(
DynamicVO
dynamicVO
);
ResultBody
insertDynamic
(
DynamicVO
dynamicVO
,
Integer
userAccountId
);
/**
/**
* 点赞动态
* 点赞动态
...
@@ -37,7 +37,7 @@ public interface DynamicService {
...
@@ -37,7 +37,7 @@ public interface DynamicService {
* @param commentVO 评论信息
* @param commentVO 评论信息
* @return {@link ResultBody}
* @return {@link ResultBody}
*/
*/
ResultBody
commentDynamic
(
CommentVO
commentVO
);
ResultBody
commentDynamic
(
CommentVO
commentVO
,
Integer
userAccountId
);
/**
/**
* 删除评论
* 删除评论
...
...
release-service/src/main/java/com/mmc/csf/release/service/FlyerTrainingService.java
浏览文件 @
d89773d3
...
@@ -17,7 +17,7 @@ public interface FlyerTrainingService {
...
@@ -17,7 +17,7 @@ public interface FlyerTrainingService {
* @param registrationVO 注册信息
* @param registrationVO 注册信息
* @return {@link ResultBody}
* @return {@link ResultBody}
*/
*/
ResultBody
pilotRegistration
(
RegistrationVO
registrationVO
);
ResultBody
pilotRegistration
(
RegistrationVO
registrationVO
,
Integer
userAccount
);
/**
/**
* 获取无人机飞行员执照
* 获取无人机飞行员执照
...
...
release-service/src/main/java/com/mmc/csf/release/service/impl/DynamicServiceImpl.java
浏览文件 @
d89773d3
...
@@ -2,10 +2,9 @@ package com.mmc.csf.release.service.impl;
...
@@ -2,10 +2,9 @@ package com.mmc.csf.release.service.impl;
import
com.mmc.csf.common.util.page.PageResult
;
import
com.mmc.csf.common.util.page.PageResult
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.release.forum.vo.CommentAndReplyVO
;
import
com.mmc.csf.infomation.dto.UserAccountSimpleDTO
;
import
com.mmc.csf.release.forum.vo.CommentVO
;
import
com.mmc.csf.release.feign.UserAppApi
;
import
com.mmc.csf.release.forum.vo.DynamicVO
;
import
com.mmc.csf.release.forum.vo.*
;
import
com.mmc.csf.release.forum.vo.MediaVO
;
import
com.mmc.csf.release.dao.CommentDAO
;
import
com.mmc.csf.release.dao.CommentDAO
;
import
com.mmc.csf.release.dao.DynamicDAO
;
import
com.mmc.csf.release.dao.DynamicDAO
;
import
com.mmc.csf.release.dao.LikeDAO
;
import
com.mmc.csf.release.dao.LikeDAO
;
...
@@ -14,6 +13,7 @@ import com.mmc.csf.release.entity.ForumImageDO;
...
@@ -14,6 +13,7 @@ import com.mmc.csf.release.entity.ForumImageDO;
import
com.mmc.csf.release.entity.ForumVideoDO
;
import
com.mmc.csf.release.entity.ForumVideoDO
;
import
com.mmc.csf.release.service.DynamicService
;
import
com.mmc.csf.release.service.DynamicService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -38,12 +38,15 @@ public class DynamicServiceImpl implements DynamicService {
...
@@ -38,12 +38,15 @@ public class DynamicServiceImpl implements DynamicService {
private
LikeDAO
likeDAO
;
private
LikeDAO
likeDAO
;
@Resource
@Resource
private
CommentDAO
commentDAO
;
private
CommentDAO
commentDAO
;
@Autowired
private
UserAppApi
userAppApi
;
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResultBody
insertDynamic
(
DynamicVO
dynamicVO
)
{
public
ResultBody
insertDynamic
(
DynamicVO
dynamicVO
,
Integer
userAccountId
)
{
// 插入动态基本信息
// 插入动态基本信息
ForumDynamicDO
forumDynamicDO
=
new
ForumDynamicDO
(
dynamicVO
);
ForumDynamicDO
forumDynamicDO
=
new
ForumDynamicDO
(
dynamicVO
);
forumDynamicDO
.
setUserId
(
userAccountId
);
dynamicDAO
.
insertDynamic
(
forumDynamicDO
);
dynamicDAO
.
insertDynamic
(
forumDynamicDO
);
// 插入动态图片或视频
// 插入动态图片或视频
MediaVO
mediaVO
=
dynamicVO
.
getMediaVO
();
MediaVO
mediaVO
=
dynamicVO
.
getMediaVO
();
...
@@ -76,15 +79,15 @@ public class DynamicServiceImpl implements DynamicService {
...
@@ -76,15 +79,15 @@ public class DynamicServiceImpl implements DynamicService {
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResultBody
commentDynamic
(
CommentVO
commentVO
)
{
public
ResultBody
commentDynamic
(
CommentVO
commentVO
,
Integer
userAccountId
)
{
ForumDynamicDO
forumDynamicDO
=
dynamicDAO
.
getDynamicInfo
(
commentVO
.
getDynamicId
());
ForumDynamicDO
forumDynamicDO
=
dynamicDAO
.
getDynamicInfo
(
commentVO
.
getDynamicId
());
if
(
forumDynamicDO
==
null
)
{
if
(
forumDynamicDO
==
null
)
{
return
ResultBody
.
error
(
"动态不存在或已删除"
);
return
ResultBody
.
error
(
"动态不存在或已删除"
);
}
}
if
(
commentVO
.
getParentId
()
==
null
)
{
if
(
commentVO
.
getParentId
()
==
null
)
{
commentDAO
.
insertComment
(
commentVO
.
getUserId
()
,
commentVO
.
getDynamicId
(),
commentVO
.
getContent
());
commentDAO
.
insertComment
(
userAccountId
,
commentVO
.
getDynamicId
(),
commentVO
.
getContent
());
}
else
{
}
else
{
commentDAO
.
insertReplyComment
(
commentVO
.
getUserId
()
,
commentVO
.
getDynamicId
(),
commentVO
.
getContent
(),
commentVO
.
getParentId
());
commentDAO
.
insertReplyComment
(
userAccountId
,
commentVO
.
getDynamicId
(),
commentVO
.
getContent
(),
commentVO
.
getParentId
());
}
}
dynamicDAO
.
updateDynamicCommentCount
(
commentVO
.
getDynamicId
(),
forumDynamicDO
.
getPid
());
dynamicDAO
.
updateDynamicCommentCount
(
commentVO
.
getDynamicId
(),
forumDynamicDO
.
getPid
());
return
ResultBody
.
success
();
return
ResultBody
.
success
();
...
@@ -100,6 +103,14 @@ public class DynamicServiceImpl implements DynamicService {
...
@@ -100,6 +103,14 @@ public class DynamicServiceImpl implements DynamicService {
public
List
<
CommentAndReplyVO
>
getCommentAndReply
(
Integer
dynamicId
)
{
public
List
<
CommentAndReplyVO
>
getCommentAndReply
(
Integer
dynamicId
)
{
// 获取评论列表
// 获取评论列表
List
<
CommentAndReplyVO
>
commentList
=
commentDAO
.
selectCommentList
(
dynamicId
);
List
<
CommentAndReplyVO
>
commentList
=
commentDAO
.
selectCommentList
(
dynamicId
);
commentList
=
commentList
.
stream
().
peek
(
d
->
{
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
d
.
getUserId
());
UserBaseInfoVO
userBaseInfoVO
=
new
UserBaseInfoVO
();
userBaseInfoVO
.
setId
(
d
.
getUserId
());
userBaseInfoVO
.
setNickName
(
userAccountSimpleDTO
.
getNickName
());
userBaseInfoVO
.
setUserImg
(
userAccountSimpleDTO
.
getUserImg
());
d
.
setUserBaseInfoVO
(
userBaseInfoVO
);
}).
collect
(
Collectors
.
toList
());
List
<
CommentAndReplyVO
>
topLevelComment
=
new
ArrayList
<>();
List
<
CommentAndReplyVO
>
topLevelComment
=
new
ArrayList
<>();
Map
<
Integer
,
CommentAndReplyVO
>
commentMap
=
new
HashMap
<>();
Map
<
Integer
,
CommentAndReplyVO
>
commentMap
=
new
HashMap
<>();
// 将每个数据模型对象添加到Map中,以便在递归过程中查找它们的父母
// 将每个数据模型对象添加到Map中,以便在递归过程中查找它们的父母
...
@@ -147,6 +158,12 @@ public class DynamicServiceImpl implements DynamicService {
...
@@ -147,6 +158,12 @@ public class DynamicServiceImpl implements DynamicService {
}
}
}
}
DynamicVO
dynamicVO
=
d
.
buildDynamicVO
();
DynamicVO
dynamicVO
=
d
.
buildDynamicVO
();
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
d
.
getUserId
());
UserBaseInfoVO
userBaseInfoVO
=
new
UserBaseInfoVO
();
userBaseInfoVO
.
setId
(
d
.
getUserId
());
userBaseInfoVO
.
setNickName
(
userAccountSimpleDTO
.
getNickName
());
userBaseInfoVO
.
setUserImg
(
userAccountSimpleDTO
.
getUserImg
());
dynamicVO
.
setUserBaseInfo
(
userBaseInfoVO
);
dynamicVO
.
setMediaVO
(
mediaVO
);
dynamicVO
.
setMediaVO
(
mediaVO
);
// 设置是否点赞
// 设置是否点赞
boolean
liked
=
likeDAO
.
isLiked
(
userId
,
d
.
getId
());
boolean
liked
=
likeDAO
.
isLiked
(
userId
,
d
.
getId
());
...
@@ -176,6 +193,12 @@ public class DynamicServiceImpl implements DynamicService {
...
@@ -176,6 +193,12 @@ public class DynamicServiceImpl implements DynamicService {
DynamicVO
dynamicVO
=
dynamicInfo
.
buildDynamicVO
();
DynamicVO
dynamicVO
=
dynamicInfo
.
buildDynamicVO
();
// 设置是否点赞
// 设置是否点赞
boolean
liked
=
likeDAO
.
isLiked
(
userId
,
dynamicId
);
boolean
liked
=
likeDAO
.
isLiked
(
userId
,
dynamicId
);
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
dynamicInfo
.
getUserId
());
UserBaseInfoVO
userBaseInfoVO
=
new
UserBaseInfoVO
();
userBaseInfoVO
.
setNickName
(
userAccountSimpleDTO
.
getNickName
());
userBaseInfoVO
.
setUserImg
(
userAccountSimpleDTO
.
getUserImg
());
userBaseInfoVO
.
setId
(
dynamicInfo
.
getUserId
());
dynamicVO
.
setUserBaseInfo
(
userBaseInfoVO
);
dynamicVO
.
setLikes
(
liked
);
dynamicVO
.
setLikes
(
liked
);
// 设置评论信息
// 设置评论信息
dynamicVO
.
setCommentAndReplyVO
(
this
.
getCommentAndReply
(
dynamicId
));
dynamicVO
.
setCommentAndReplyVO
(
this
.
getCommentAndReply
(
dynamicId
));
...
...
release-service/src/main/java/com/mmc/csf/release/service/impl/FlyerTrainingServiceImpl.java
浏览文件 @
d89773d3
...
@@ -33,8 +33,9 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
...
@@ -33,8 +33,9 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
private
FlyerTrainingDao
flyerTrainingDao
;
private
FlyerTrainingDao
flyerTrainingDao
;
@Override
@Override
public
ResultBody
pilotRegistration
(
RegistrationVO
registrationVO
)
{
public
ResultBody
pilotRegistration
(
RegistrationVO
registrationVO
,
Integer
userAccountId
)
{
PilotRegistrationDO
pilotRegistrationDO
=
new
PilotRegistrationDO
(
registrationVO
);
PilotRegistrationDO
pilotRegistrationDO
=
new
PilotRegistrationDO
(
registrationVO
);
pilotRegistrationDO
.
setApplyUserId
(
userAccountId
);
if
(
CollectionUtils
.
isNotEmpty
(
registrationVO
.
getIndustryAppAuth
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
registrationVO
.
getIndustryAppAuth
()))
{
// 将行业应用认证的id用逗号拼接
// 将行业应用认证的id用逗号拼接
String
industryAppAuth
=
registrationVO
.
getIndustryAppAuth
().
stream
().
map
(
Object:
:
toString
).
collect
(
Collectors
.
joining
(
","
));
String
industryAppAuth
=
registrationVO
.
getIndustryAppAuth
().
stream
().
map
(
Object:
:
toString
).
collect
(
Collectors
.
joining
(
","
));
...
...
release-service/src/main/java/com/mmc/csf/release/util/PathUtil.java
0 → 100644
浏览文件 @
d89773d3
package
com
.
mmc
.
csf
.
release
.
util
;
import
org.springframework.util.AntPathMatcher
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午3:29:28
* @explain 解析地址类
*/
public
class
PathUtil
{
private
static
AntPathMatcher
matcher
=
new
AntPathMatcher
();
public
static
boolean
isPathMatch
(
String
pattern
,
String
path
)
{
return
matcher
.
match
(
pattern
,
path
);
}
}
release-service/src/main/resources/not-check.yml
0 → 100644
浏览文件 @
d89773d3
data-filter
:
uploadPath
:
#不需要解析的body参数的地址
-
/xxx/x
not-auth-path
:
-
/release/v2/**
-
/release/doc.html
-
/release/swagger-resources/**
-
/release/webjars/**
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论