Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
Commits
4998510b
提交
4998510b
authored
6月 26, 2023
作者:
xiaowang
提交者:
余乾开
7月 01, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
论坛相关
上级
e882a86e
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
136 行增加
和
38 行删除
+136
-38
BackstageForumController.java
.../mmc/csf/release/controller/BackstageForumController.java
+1
-1
DynamicController.java
...ava/com/mmc/csf/release/controller/DynamicController.java
+10
-0
DynamicDAO.java
...ice/src/main/java/com/mmc/csf/release/dao/DynamicDAO.java
+7
-6
DynamicService.java
...main/java/com/mmc/csf/release/service/DynamicService.java
+4
-0
BackstageForumServiceImpl.java
...c/csf/release/service/impl/BackstageForumServiceImpl.java
+9
-6
DynamicServiceImpl.java
.../com/mmc/csf/release/service/impl/DynamicServiceImpl.java
+69
-0
BackstageForumDao.xml
...ice/src/main/resources/mapper/forum/BackstageForumDao.xml
+17
-7
DynamicMapper.xml
...service/src/main/resources/mapper/forum/DynamicMapper.xml
+14
-13
LikeMapper.xml
...se-service/src/main/resources/mapper/forum/LikeMapper.xml
+5
-5
没有找到文件。
release-service/src/main/java/com/mmc/csf/release/controller/BackstageForumController.java
浏览文件 @
4998510b
...
...
@@ -28,7 +28,7 @@ public class BackstageForumController {
@Autowired
BackstageForumService
backstageForumService
;
@ApiOperation
(
value
=
"动态列表"
)
@ApiOperation
(
value
=
"
后台-
动态列表"
)
@PostMapping
(
"/listDynamic"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
DynamicInfoDTO
.
class
)})
public
ResultBody
<
DynamicInfoDTO
>
listDynamic
(
...
...
release-service/src/main/java/com/mmc/csf/release/controller/DynamicController.java
浏览文件 @
4998510b
...
...
@@ -61,4 +61,14 @@ public class DynamicController extends BaseController {
return
dynamicService
.
dynamicDetails
(
dynamicId
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
request
);
}
@ApiOperation
(
value
=
"动态列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
DynamicVO
.
class
)})
@GetMapping
(
"/dynamicList"
)
public
ResultBody
dynamicList
(
@RequestParam
Integer
pageNo
,
@RequestParam
Integer
pageSize
,
HttpServletRequest
request
)
{
return
ResultBody
.
success
(
dynamicService
.
dynamicList
(
pageNo
,
pageSize
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
request
));
}
}
release-service/src/main/java/com/mmc/csf/release/dao/DynamicDAO.java
浏览文件 @
4998510b
...
...
@@ -44,9 +44,10 @@ public interface DynamicDAO {
* 更新动态点赞数量
*
* @param dynamicId 动态id
* @param
pid pid
* @param
version version
*/
void
updateDynamicLikeCount
(
@Param
(
"dynamicId"
)
Integer
dynamicId
,
@Param
(
"pid"
)
Integer
pid
);
void
updateDynamicLikeCount
(
@Param
(
"dynamicId"
)
Integer
dynamicId
,
@Param
(
"version"
)
Integer
version
);
/**
* 得到动态信息
...
...
@@ -60,17 +61,17 @@ public interface DynamicDAO {
* 动态点赞数减
*
* @param dynamicId 动态id
* @param
pid pid
* @param
version version
*/
void
updateSubDynamicLikeCount
(
Integer
dynamicId
,
Integer
pid
);
void
updateSubDynamicLikeCount
(
Integer
dynamicId
,
Integer
version
);
/**
* 更新动态评论数
*
* @param dynamicId 动态id
* @param
pid pid
* @param
version version
*/
void
updateDynamicCommentCount
(
Integer
dynamicId
,
Integer
pid
);
void
updateDynamicCommentCount
(
Integer
dynamicId
,
Integer
version
);
/**
* 动态列表计数
...
...
release-service/src/main/java/com/mmc/csf/release/service/DynamicService.java
浏览文件 @
4998510b
package
com
.
mmc
.
csf
.
release
.
service
;
import
com.mmc.csf.common.util.page.PageResult
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.release.forum.vo.CommentVO
;
import
com.mmc.csf.release.forum.vo.DynamicVO
;
...
...
@@ -53,4 +54,7 @@ public interface DynamicService {
* @return {@link ResultBody}
*/
ResultBody
dynamicDetails
(
Integer
dynamicId
,
Integer
userId
,
HttpServletRequest
request
);
PageResult
dynamicList
(
Integer
pageNo
,
Integer
pageSize
,
Integer
userAccountId
,
HttpServletRequest
request
);
}
release-service/src/main/java/com/mmc/csf/release/service/impl/BackstageForumServiceImpl.java
浏览文件 @
4998510b
...
...
@@ -8,7 +8,6 @@ import com.mmc.csf.release.dao.BackstageForumDao;
import
com.mmc.csf.release.dao.DynamicDAO
;
import
com.mmc.csf.release.entity.forum.ForumDynamicDO
;
import
com.mmc.csf.release.entity.forum.ForumResourceDO
;
import
com.mmc.csf.release.entity.forum.ForumVideoDO
;
import
com.mmc.csf.release.feign.UserAppApi
;
import
com.mmc.csf.release.forum.dto.DynamicInfoDTO
;
import
com.mmc.csf.release.forum.qo.DynamicQO
;
...
...
@@ -72,13 +71,10 @@ public class BackstageForumServiceImpl implements BackstageForumService {
List
<
ForumResourceDO
>
forumImageList
=
dynamicDAO
.
listDynamicPicture
(
ids
);
Map
<
Integer
,
List
<
ForumResourceDO
>>
ImageMap
=
forumImageList
.
stream
().
collect
(
Collectors
.
groupingBy
(
ForumResourceDO:
:
getDynamicId
));
// 获取视频信息
List
<
ForumVideoDO
>
forumVideoList
=
dynamicDAO
.
listDynamicVideo
(
ids
);
// 获取查询到的列表用户信息
// 获取用户信息
Set
<
Integer
>
L
istUserIds
=
Set
<
Integer
>
l
istUserIds
=
dynamicList
.
stream
().
map
(
ForumDynamicDO:
:
getUserAccountId
).
collect
(
Collectors
.
toSet
());
List
<
Integer
>
userIdList
=
new
ArrayList
<>(
L
istUserIds
);
List
<
Integer
>
userIdList
=
new
ArrayList
<>(
l
istUserIds
);
UserAccountQO
accountQO
=
new
UserAccountQO
();
accountQO
.
setUserIds
(
userIdList
);
List
<
UserAccountSimpleDTO
>
userAccountSimpleList
=
...
...
@@ -91,6 +87,13 @@ public class BackstageForumServiceImpl implements BackstageForumService {
.
map
(
d
->
{
DynamicInfoDTO
dynamicInfoDTO
=
d
.
buildDynamicInfoDTO
();
List
<
ForumResourceDO
>
forumResourceDOList
=
ImageMap
.
get
(
d
.
getId
());
if
(
CollectionUtils
.
isNotEmpty
(
forumResourceDOList
))
{
dynamicInfoDTO
.
setMediaVO
(
forumResourceDOList
.
stream
()
.
map
(
ForumResourceDO:
:
buildMedia
)
.
collect
(
Collectors
.
toList
()));
}
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAccountInfoMap
.
get
(
d
.
getUserAccountId
());
if
(
userAccountSimpleDTO
!=
null
)
{
...
...
release-service/src/main/java/com/mmc/csf/release/service/impl/DynamicServiceImpl.java
浏览文件 @
4998510b
package
com
.
mmc
.
csf
.
release
.
service
.
impl
;
import
com.mmc.csf.common.util.page.PageResult
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.infomation.dto.UserAccountSimpleDTO
;
import
com.mmc.csf.release.auth.qo.BUserAccountQO
;
import
com.mmc.csf.release.auth.qo.UserAccountQO
;
import
com.mmc.csf.release.constant.TokenConstant
;
import
com.mmc.csf.release.dao.CommentDAO
;
import
com.mmc.csf.release.dao.DynamicDAO
;
...
...
@@ -24,6 +26,9 @@ import javax.annotation.Resource;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -160,4 +165,68 @@ public class DynamicServiceImpl implements DynamicService {
}
return
listDynamic
;
}
@Override
public
PageResult
dynamicList
(
Integer
pageNo
,
Integer
pageSize
,
Integer
userId
,
HttpServletRequest
request
)
{
int
count
=
dynamicDAO
.
countDynamicList
();
if
(
count
==
0
)
{
return
PageResult
.
buildPage
(
pageNo
,
pageSize
,
0
);
}
int
itemIndex
=
(
pageNo
-
1
)
*
pageSize
;
List
<
ForumDynamicDO
>
forumDynamicList
=
dynamicDAO
.
dynamicList
(
itemIndex
,
pageSize
);
// 动态id集合
List
<
Integer
>
ids
=
forumDynamicList
.
stream
().
map
(
ForumDynamicDO:
:
getId
).
collect
(
Collectors
.
toList
());
// 根据id集合查询图片
List
<
ForumResourceDO
>
forumImageList
=
dynamicDAO
.
listDynamicPicture
(
ids
);
Map
<
Integer
,
List
<
ForumResourceDO
>>
ImageMap
=
forumImageList
.
stream
().
collect
(
Collectors
.
groupingBy
(
ForumResourceDO:
:
getDynamicId
));
// 获取用户信息
Set
<
Integer
>
userIds
=
forumDynamicList
.
stream
().
map
(
ForumDynamicDO:
:
getUserAccountId
).
collect
(
Collectors
.
toSet
());
List
<
Integer
>
userIdList
=
new
ArrayList
<>(
userIds
);
UserAccountQO
bUserAccountQO
=
new
UserAccountQO
();
bUserAccountQO
.
setUserIds
(
userIdList
);
List
<
UserAccountSimpleDTO
>
userAccountSimpleDTOS
=
userAppApi
.
feignListAppUserAccount
(
bUserAccountQO
,
request
.
getHeader
(
TokenConstant
.
TOKEN
));
Map
<
Integer
,
UserAccountSimpleDTO
>
userAccountInfoMap
=
userAccountSimpleDTOS
.
stream
()
.
collect
(
Collectors
.
toMap
(
UserAccountSimpleDTO:
:
getId
,
Function
.
identity
()));
// 获取liked信息
List
<
ForumDynamicDO
>
forumDynamicDOS
=
likeDAO
.
selectLiked
(
userId
,
ids
);
List
<
DynamicVO
>
dynamicVOList
=
forumDynamicList
.
stream
()
.
map
(
d
->
{
DynamicVO
dynamicVO
=
d
.
buildDynamicVO
();
List
<
ForumResourceDO
>
forumResourceDOList
=
ImageMap
.
get
(
d
.
getId
());
if
(
CollectionUtils
.
isNotEmpty
(
forumResourceDOList
))
{
dynamicVO
.
setMediaVO
(
forumResourceDOList
.
stream
()
.
map
(
ForumResourceDO:
:
buildMedia
)
.
collect
(
Collectors
.
toList
()));
}
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAccountInfoMap
.
get
(
d
.
getUserAccountId
());
if
(
userAccountSimpleDTO
!=
null
)
{
UserBaseInfoVO
userBaseInfoVO
=
new
UserBaseInfoVO
();
userBaseInfoVO
.
setNickName
(
userAccountSimpleDTO
.
getNickName
());
userBaseInfoVO
.
setUserImg
(
userAccountSimpleDTO
.
getUserImg
());
dynamicVO
.
setUserBaseInfo
(
userBaseInfoVO
);
}
// 设置是否点赞
for
(
ForumDynamicDO
forumDynamicDO
:
forumDynamicDOS
)
{
if
(
forumDynamicDO
.
getId
().
equals
(
d
.
getId
()))
{
dynamicVO
.
setLikes
(
true
);
break
;
}
else
{
dynamicVO
.
setLikes
(
false
);
}
}
return
dynamicVO
;
})
.
collect
(
Collectors
.
toList
());
return
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
,
dynamicVOList
);
}
}
release-service/src/main/resources/mapper/forum/BackstageForumDao.xml
浏览文件 @
4998510b
...
...
@@ -7,18 +7,27 @@
<select
id=
"countDynamic"
resultType=
"java.lang.Integer"
>
select count(*) from forum_dynamic
<where>
<foreach
collection=
"ids"
index=
"index"
separator=
","
open=
"user_id in ("
close=
")"
item=
"ids"
>
#{ids}
</foreach>
root_path is null
<if
test=
"ids != null"
>
<foreach
collection=
"ids"
index=
"index"
separator=
","
open=
"and user_account_id in ("
close=
")"
item=
"ids"
>
#{ids}
</foreach>
</if>
</where>
</select>
<select
id=
"listDynamicInfo"
resultType=
"com.mmc.csf.release.entity.forum.ForumDynamicDO"
>
select id,user_id,description,is_deleted as deleted from forum_dynamic
select id,user_
account_
id,description,is_deleted as deleted from forum_dynamic
<where>
<foreach
collection=
"ids"
index=
"index"
separator=
","
open=
"user_id in ("
close=
")"
item=
"ids"
>
#{ids}
</foreach>
root_path is null
<if
test=
"ids != null"
>
<foreach
collection=
"ids"
index=
"index"
separator=
","
open=
"and user_account_id in ("
close=
")"
item=
"ids"
>
#{ids}
</foreach>
</if>
</where>
order by create_time desc
limit #{pageNo},#{pageSize}
</select>
</mapper>
\ No newline at end of file
release-service/src/main/resources/mapper/forum/DynamicMapper.xml
浏览文件 @
4998510b
...
...
@@ -24,23 +24,23 @@
<update
id=
"updateDynamicLikeCount"
>
update forum_dynamic
set likes_count = likes_count + 1,
pid = pid
+ 1
version = version
+ 1
where id = #{dynamicId}
and
pid = #{pid
};
and
version = #{version
};
</update>
<update
id=
"updateSubDynamicLikeCount"
>
update forum_dynamic
set likes_count = likes_count - 1,
pid = pid
+ 1
version = version
+ 1
where id = #{dynamicId}
and
pid = #{pid
};
and
version = #{version
};
</update>
<update
id=
"updateDynamicCommentCount"
>
update forum_dynamic
set comments_count = comments_count + 1,
pid = pid
+ 1
version = version
+ 1
where id = #{dynamicId}
and
pid = #{pid
};
and
version = #{version
};
</update>
<select
id=
"getDynamicInfo"
resultType=
"com.mmc.csf.release.entity.forum.ForumDynamicDO"
>
select id,
...
...
@@ -65,9 +65,8 @@
</select>
<select
id=
"dynamicList"
resultType=
"com.mmc.csf.release.entity.forum.ForumDynamicDO"
>
select id,
pid,
title,
user_id,
version,
user_account_id,
description,
location,
lat,
...
...
@@ -77,16 +76,18 @@
create_time
from forum_dynamic
where is_deleted = 0
and root_path is null
order by create_time desc
LIMIT #{itemIndex}, #{pageSize}
</select>
<select
id=
"listDynamicPicture"
resultType=
"com.mmc.csf.release.entity.forum.ForumResourceDO"
>
select id, url , dynamic_id
from forum_image
select dynamic_id,
resource_url,
`type`
from forum_resource
where
is_deleted = 0 and dynamic_id in
<foreach
collection=
"list"
item=
"item"
open=
"("
separator=
","
close=
")"
>
<foreach
collection=
"list"
item=
"item"
open=
"dynamic_id in("
separator=
","
close=
")"
>
#{item}
</foreach>
</select>
...
...
release-service/src/main/resources/mapper/forum/LikeMapper.xml
浏览文件 @
4998510b
...
...
@@ -5,19 +5,19 @@
<mapper
namespace=
"com.mmc.csf.release.dao.LikeDAO"
>
<insert
id=
"insertLike"
>
INSERT INTO forum_like(user_id, dynamic_id)
INSERT INTO forum_like(user_
account_
id, dynamic_id)
VALUES (#{userId}, #{dynamicId})
</insert>
<delete
id=
"deleteLike"
>
DELETE
FROM forum_like
WHERE user_id = #{userId}
WHERE user_
account_
id = #{userId}
AND dynamic_id = #{dynamicId}
</delete>
<select
id=
"isLiked"
resultType=
"java.lang.Boolean"
>
SELECT COUNT(*) > 0
FROM forum_like
WHERE user_id = #{userId}
WHERE user_
account_
id = #{userId}
AND dynamic_id = #{dynamicId}
</select>
<select
id=
"getLikesCount"
resultType=
"java.lang.Integer"
>
...
...
@@ -31,7 +31,7 @@
FROM (
SELECT
d.id AS dynamic_id,
EXISTS (SELECT 1 FROM forum_like WHERE user_id = #{userId} AND dynamic_id = d.id) AS liked
EXISTS (SELECT 1 FROM forum_like WHERE user_
account_
id = #{userId} AND dynamic_id = d.id) AS liked
FROM forum_dynamic d
WHERE d.id IN (
<foreach
collection=
"ids"
item=
"id"
separator=
","
>
...
...
@@ -45,7 +45,7 @@
SELECT fd.id
FROM forum_dynamic fd
INNER JOIN forum_like fl ON fd.id = fl.dynamic_id
where fl.user_id = #{userId}
where fl.user_
account_
id = #{userId}
and fd.id in (
<foreach
collection=
"ids"
item=
"id"
separator=
","
>
#{id}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论