Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
Commits
17f9fbcd
提交
17f9fbcd
authored
5月 22, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
动态详情接口输出及时间类型配置
上级
3159f9b9
显示空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
228 行增加
和
9 行删除
+228
-9
CommentAndReplyVO.java
.../java/com/mmc/csf/release/forum/vo/CommentAndReplyVO.java
+4
-1
DynamicVO.java
...src/main/java/com/mmc/csf/release/forum/vo/DynamicVO.java
+7
-0
GlobalFormDateConvert.java
...ava/com/mmc/csf/release/config/GlobalFormDateConvert.java
+71
-0
GlobalJsonDateConvert.java
...ava/com/mmc/csf/release/config/GlobalJsonDateConvert.java
+61
-0
DynamicController.java
...ava/com/mmc/csf/release/controller/DynamicController.java
+8
-1
FlyerTrainingController.java
...m/mmc/csf/release/controller/FlyerTrainingController.java
+0
-2
DynamicDAO.java
...ice/src/main/java/com/mmc/csf/release/dao/DynamicDAO.java
+16
-0
ForumDynamicDO.java
.../main/java/com/mmc/csf/release/entity/ForumDynamicDO.java
+1
-1
DynamicService.java
...main/java/com/mmc/csf/release/service/DynamicService.java
+10
-1
DynamicServiceImpl.java
.../com/mmc/csf/release/service/impl/DynamicServiceImpl.java
+28
-1
CommentMapper.xml
...service/src/main/resources/mapper/forum/CommentMapper.xml
+2
-1
DynamicMapper.xml
...service/src/main/resources/mapper/forum/DynamicMapper.xml
+20
-1
没有找到文件。
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/forum/vo/CommentAndReplyVO.java
浏览文件 @
17f9fbcd
...
@@ -7,6 +7,7 @@ import lombok.Data;
...
@@ -7,6 +7,7 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -25,11 +26,13 @@ public class CommentAndReplyVO implements Serializable {
...
@@ -25,11 +26,13 @@ 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
=
"评论内容"
)
@ApiModelProperty
(
value
=
"评论内容"
)
private
String
content
;
private
String
content
;
@ApiModelProperty
(
value
=
"评论点赞数"
)
@ApiModelProperty
(
value
=
"评论点赞数"
)
private
Integer
likesCount
;
private
Integer
likesCount
;
@ApiModelProperty
(
value
=
"评论时间"
)
private
Date
createTime
;
private
List
<
CommentAndReplyVO
>
children
;
private
List
<
CommentAndReplyVO
>
children
;
}
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/forum/vo/DynamicVO.java
浏览文件 @
17f9fbcd
...
@@ -8,6 +8,9 @@ import lombok.NoArgsConstructor;
...
@@ -8,6 +8,9 @@ import lombok.NoArgsConstructor;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
/**
* @Author LW
* @Author LW
* @date 2023/5/15 10:29
* @date 2023/5/15 10:29
...
@@ -40,4 +43,8 @@ public class DynamicVO implements Serializable {
...
@@ -40,4 +43,8 @@ public class DynamicVO implements Serializable {
private
Integer
commentCount
;
private
Integer
commentCount
;
@ApiModelProperty
(
value
=
"是否点赞"
)
@ApiModelProperty
(
value
=
"是否点赞"
)
private
Boolean
likes
;
private
Boolean
likes
;
@ApiModelProperty
(
value
=
"动态发布时间"
)
private
Date
dynamicPublishTime
;
@ApiModelProperty
(
value
=
"评论信息"
)
private
List
<
CommentAndReplyVO
>
commentAndReplyVO
;
}
}
release-service/src/main/java/com/mmc/csf/release/config/GlobalFormDateConvert.java
0 → 100644
浏览文件 @
17f9fbcd
package
com
.
mmc
.
csf
.
release
.
config
;
import
org.springframework.core.convert.converter.Converter
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StringUtils
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
//Converter<S,T> S: 代表的是源,将要转换的数据类型 T:目标类型,将会转成什么数据类型
@Component
public
class
GlobalFormDateConvert
implements
Converter
<
String
,
Date
>
{
// 静态初始化定义日期字符串参数列表(需要转换的)
private
static
final
List
<
String
>
paramList
=
new
ArrayList
<>();
// 静态初始化可能初夏你的日期格式
private
static
final
String
param1
=
"yyyy-MM"
;
private
static
final
String
param2
=
"yyyy-MM-dd"
;
private
static
final
String
param3
=
"yyyy-MM-dd HH:mm"
;
private
static
final
String
param4
=
"yyyy-MM-dd HH:mm:ss"
;
// 静态代码块,将日期参数加入到列表中
static
{
paramList
.
add
(
param1
);
paramList
.
add
(
param2
);
paramList
.
add
(
param3
);
paramList
.
add
(
param4
);
}
// 自定义函数,将字符串转Date 参1:传入的日期字符串 参2:格式参数
public
Date
parseDate
(
String
source
,
String
format
)
{
System
.
out
.
println
(
"parseDate转换日期"
);
Date
date
=
null
;
try
{
// 日期格式转换器
DateFormat
dateFormat
=
new
SimpleDateFormat
(
format
);
date
=
dateFormat
.
parse
(
source
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
// convert转换方法 ,s是将会传递过来的日期的字符串
@Override
public
Date
convert
(
String
source
)
{
System
.
out
.
println
(
"convert日期格式转换器"
);
if
(
StringUtils
.
isEmpty
(
source
))
{
return
null
;
}
source
=
source
.
trim
();
// 去除首尾空格
// 正则表达式判断是哪一种格式参数
if
(
source
.
matches
(
"^\\d{4}-\\d{1,2}$"
))
{
return
parseDate
(
source
,
paramList
.
get
(
0
));
}
else
if
(
source
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2}$"
))
{
return
parseDate
(
source
,
paramList
.
get
(
1
));
}
else
if
(
source
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$"
))
{
return
parseDate
(
source
,
paramList
.
get
(
2
));
}
else
if
(
source
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$"
))
{
return
parseDate
(
source
,
paramList
.
get
(
3
));
}
else
{
throw
new
IllegalArgumentException
(
"还未定义该种字符串转Date的日期转换格式 --> 【日期格式】:"
+
source
);
}
}
}
release-service/src/main/java/com/mmc/csf/release/config/GlobalJsonDateConvert.java
0 → 100644
浏览文件 @
17f9fbcd
package
com
.
mmc
.
csf
.
release
.
config
;
import
com.fasterxml.jackson.databind.util.StdDateFormat
;
import
org.springframework.util.StringUtils
;
import
java.text.FieldPosition
;
import
java.text.ParsePosition
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
public
class
GlobalJsonDateConvert
extends
StdDateFormat
{
private
static
final
long
serialVersionUID
=
-
6738131740618766141L
;
// 静态初始化final,共享
public
static
final
GlobalJsonDateConvert
instance
=
new
GlobalJsonDateConvert
();
// 覆盖parse(String)这个方法即可实现
@Override
public
Date
parse
(
String
dateStr
,
ParsePosition
pos
)
{
return
getDate
(
dateStr
,
pos
);
}
@Override
public
Date
parse
(
String
dateStr
)
{
ParsePosition
pos
=
new
ParsePosition
(
0
);
return
getDate
(
dateStr
,
pos
);
}
private
Date
getDate
(
String
dateStr
,
ParsePosition
pos
)
{
SimpleDateFormat
sdf
=
null
;
if
(
StringUtils
.
isEmpty
(
dateStr
))
{
return
null
;
}
else
if
(
dateStr
.
matches
(
"^\\d{4}-\\d{1,2}$"
))
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
else
if
(
dateStr
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2}$"
))
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
else
if
(
dateStr
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$"
))
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
else
if
(
dateStr
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$"
))
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
else
if
(
dateStr
.
length
()
==
23
)
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss.SSS"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
return
super
.
parse
(
dateStr
,
pos
);
}
@Override
public
StringBuffer
format
(
Date
date
,
StringBuffer
toAppendTo
,
FieldPosition
fieldPosition
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
return
sdf
.
format
(
date
,
toAppendTo
,
fieldPosition
);
}
@Override
public
GlobalJsonDateConvert
clone
()
{
return
new
GlobalJsonDateConvert
();
}
}
release-service/src/main/java/com/mmc/csf/release/controller/DynamicController.java
浏览文件 @
17f9fbcd
...
@@ -58,10 +58,17 @@ public class DynamicController {
...
@@ -58,10 +58,17 @@ public class DynamicController {
return
ResultBody
.
success
(
dynamicService
.
getCommentAndReply
(
dynamicId
));
return
ResultBody
.
success
(
dynamicService
.
getCommentAndReply
(
dynamicId
));
}
}
@ApiOperation
(
value
=
"动态详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
DynamicVO
.
class
)})
@GetMapping
(
"/dynamicDetails"
)
public
ResultBody
dynamicDetails
(
@RequestParam
Integer
dynamicId
,
@RequestParam
Integer
userId
)
{
return
ResultBody
.
success
(
dynamicService
.
dynamicDetails
(
dynamicId
,
userId
));
}
@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
,
@RequestParam
Integer
userId
)
{
return
ResultBody
.
success
(
dynamicService
.
dynamicList
(
pageNo
,
pageSize
,
userId
));
return
ResultBody
.
success
(
dynamicService
.
dynamicList
(
pageNo
,
pageSize
,
userId
));
}
}
}
}
release-service/src/main/java/com/mmc/csf/release/controller/FlyerTrainingController.java
浏览文件 @
17f9fbcd
...
@@ -7,8 +7,6 @@ import com.mmc.csf.release.service.FlyerTrainingService;
...
@@ -7,8 +7,6 @@ import com.mmc.csf.release.service.FlyerTrainingService;
import
com.mmc.csf.release.flyer.vo.DronePilotLicenseVO
;
import
com.mmc.csf.release.flyer.vo.DronePilotLicenseVO
;
import
com.mmc.csf.release.flyer.vo.FlightSkillsVO
;
import
com.mmc.csf.release.flyer.vo.FlightSkillsVO
;
import
com.mmc.csf.release.flyer.vo.RegistrationVO
;
import
com.mmc.csf.release.flyer.vo.RegistrationVO
;
import
com.mmc.csf.release.task.qo.TaskServiceQo
;
import
com.mmc.csf.release.task.vo.TaskServiceVO
;
import
io.swagger.annotations.*
;
import
io.swagger.annotations.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
...
release-service/src/main/java/com/mmc/csf/release/dao/DynamicDAO.java
浏览文件 @
17f9fbcd
...
@@ -103,4 +103,20 @@ public interface DynamicDAO {
...
@@ -103,4 +103,20 @@ public interface DynamicDAO {
* @return {@link List}<{@link ForumVideoDO}>
* @return {@link List}<{@link ForumVideoDO}>
*/
*/
List
<
ForumVideoDO
>
listDynamicVideo
(
List
<
Integer
>
ids
);
List
<
ForumVideoDO
>
listDynamicVideo
(
List
<
Integer
>
ids
);
/**
* 动态图片
*
* @param dynamicId 动态id
* @return {@link List}<{@link ForumImageDO}>
*/
List
<
ForumImageDO
>
dynamicPicture
(
Integer
dynamicId
);
/**
* 动态视频
*
* @param dynamicId 动态id
* @return {@link ForumVideoDO}
*/
ForumVideoDO
dynamicVideo
(
Integer
dynamicId
);
}
}
release-service/src/main/java/com/mmc/csf/release/entity/ForumDynamicDO.java
浏览文件 @
17f9fbcd
...
@@ -88,7 +88,7 @@ public class ForumDynamicDO implements Serializable {
...
@@ -88,7 +88,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
).
build
();
.
userId
(
userId
).
dynamicPublishTime
(
createTime
).
build
();
}
}
}
}
release-service/src/main/java/com/mmc/csf/release/service/DynamicService.java
浏览文件 @
17f9fbcd
...
@@ -53,7 +53,7 @@ public interface DynamicService {
...
@@ -53,7 +53,7 @@ public interface DynamicService {
* @param dynamicId 动态id
* @param dynamicId 动态id
* @return {@link List}<{@link CommentVO}>
* @return {@link List}<{@link CommentVO}>
*/
*/
List
<
CommentAndReplyVO
>
getCommentAndReply
(
int
dynamicId
);
List
<
CommentAndReplyVO
>
getCommentAndReply
(
Integer
dynamicId
);
/**
/**
* 动态列表
* 动态列表
...
@@ -64,4 +64,13 @@ public interface DynamicService {
...
@@ -64,4 +64,13 @@ public interface DynamicService {
* @return {@link List}<{@link DynamicVO}>
* @return {@link List}<{@link DynamicVO}>
*/
*/
PageResult
dynamicList
(
Integer
pageNo
,
Integer
pageSize
,
Integer
userId
);
PageResult
dynamicList
(
Integer
pageNo
,
Integer
pageSize
,
Integer
userId
);
/**
* 动态细节
*
* @param dynamicId 动态id
* @param userId 用户id
* @return {@link ResultBody}
*/
ResultBody
dynamicDetails
(
Integer
dynamicId
,
Integer
userId
);
}
}
release-service/src/main/java/com/mmc/csf/release/service/impl/DynamicServiceImpl.java
浏览文件 @
17f9fbcd
...
@@ -97,7 +97,7 @@ public class DynamicServiceImpl implements DynamicService {
...
@@ -97,7 +97,7 @@ public class DynamicServiceImpl implements DynamicService {
}
}
@Override
@Override
public
List
<
CommentAndReplyVO
>
getCommentAndReply
(
int
dynamicId
)
{
public
List
<
CommentAndReplyVO
>
getCommentAndReply
(
Integer
dynamicId
)
{
// 获取评论列表
// 获取评论列表
List
<
CommentAndReplyVO
>
commentList
=
commentDAO
.
selectCommentList
(
dynamicId
);
List
<
CommentAndReplyVO
>
commentList
=
commentDAO
.
selectCommentList
(
dynamicId
);
List
<
CommentAndReplyVO
>
topLevelComment
=
new
ArrayList
<>();
List
<
CommentAndReplyVO
>
topLevelComment
=
new
ArrayList
<>();
...
@@ -155,4 +155,31 @@ public class DynamicServiceImpl implements DynamicService {
...
@@ -155,4 +155,31 @@ public class DynamicServiceImpl implements DynamicService {
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
return
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
,
dynamicVOList
);
return
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
,
dynamicVOList
);
}
}
@Override
public
ResultBody
dynamicDetails
(
Integer
dynamicId
,
Integer
userId
)
{
// 判断此动态是否还存在
ForumDynamicDO
dynamicInfo
=
dynamicDAO
.
getDynamicInfo
(
dynamicId
);
if
(
dynamicInfo
==
null
)
{
return
ResultBody
.
error
(
"动态不存在或已删除!"
);
}
// 获取图片视频
List
<
ForumImageDO
>
forumImage
=
dynamicDAO
.
dynamicPicture
(
dynamicId
);
ForumVideoDO
forumVideoDO
=
dynamicDAO
.
dynamicVideo
(
dynamicId
);
MediaVO
mediaVO
=
new
MediaVO
();
if
(
forumVideoDO
!=
null
)
{
mediaVO
.
setVideoUrl
(
forumVideoDO
.
getUrl
());
}
if
(
CollectionUtils
.
isNotEmpty
(
forumImage
))
{
mediaVO
.
setPicture
(
forumImage
.
stream
().
map
(
ForumImageDO:
:
getUrl
).
collect
(
Collectors
.
toList
()));
}
DynamicVO
dynamicVO
=
dynamicInfo
.
buildDynamicVO
();
// 设置是否点赞
boolean
liked
=
likeDAO
.
isLiked
(
userId
,
dynamicId
);
dynamicVO
.
setLikes
(
liked
);
// 设置评论信息
dynamicVO
.
setCommentAndReplyVO
(
this
.
getCommentAndReply
(
dynamicId
));
dynamicVO
.
setMediaVO
(
mediaVO
);
return
ResultBody
.
success
(
dynamicVO
);
}
}
}
release-service/src/main/resources/mapper/forum/CommentMapper.xml
浏览文件 @
17f9fbcd
...
@@ -28,7 +28,8 @@
...
@@ -28,7 +28,8 @@
user_id,
user_id,
dynamic_id,
dynamic_id,
content,
content,
likes_count
likes_count,
create_time
from forum_comment
from forum_comment
where dynamic_id = #{dynamicId} and is_deleted = 0
where dynamic_id = #{dynamicId} and is_deleted = 0
</select>
</select>
...
...
release-service/src/main/resources/mapper/forum/DynamicMapper.xml
浏览文件 @
17f9fbcd
...
@@ -47,9 +47,11 @@
...
@@ -47,9 +47,11 @@
lat,
lat,
lon,
lon,
likes_count,
likes_count,
comments_count
comments_count,
create_time
from forum_dynamic
from forum_dynamic
where id = #{dynamicId}
where id = #{dynamicId}
and is_deleted = 0
</select>
</select>
<select
id=
"countDynamicList"
resultType=
"java.lang.Integer"
>
<select
id=
"countDynamicList"
resultType=
"java.lang.Integer"
>
select count(*)
select count(*)
...
@@ -91,4 +93,20 @@
...
@@ -91,4 +93,20 @@
#{item}
#{item}
</foreach>
</foreach>
</select>
</select>
<select
id=
"dynamicPicture"
resultType=
"com.mmc.csf.release.entity.ForumImageDO"
>
select id,
dynamic_id,
url
from forum_image
where dynamic_id = #{dynamicId}
and is_deleted = 0
</select>
<select
id=
"dynamicVideo"
resultType=
"com.mmc.csf.release.entity.ForumVideoDO"
>
select id,
dynamic_id,
url
from forum_video
where dynamic_id = #{dynamicId}
and is_deleted = 0
</select>
</mapper>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论