Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
ims-ci-test
Commits
781f99a2
提交
781f99a2
authored
6月 26, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
论坛相关
上级
38a30156
隐藏空白字符变更
内嵌
并排
正在显示
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
浏览文件 @
781f99a2
...
...
@@ -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
浏览文件 @
781f99a2
...
...
@@ -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
浏览文件 @
781f99a2
...
...
@@ -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
浏览文件 @
781f99a2
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
浏览文件 @
781f99a2
...
...
@@ -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
浏览文件 @
781f99a2
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
浏览文件 @
781f99a2
...
...
@@ -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
浏览文件 @
781f99a2
...
...
@@ -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
浏览文件 @
781f99a2
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论