提交 6c7d2d66 作者: xiaowang

动态审核及列表展示创建时间

上级 d8d3c9b1
......@@ -8,11 +8,11 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @Author LW
*
* @date 2023/6/19 14:25 概要:
*/
@Data
......@@ -20,21 +20,25 @@ import java.util.List;
@NoArgsConstructor
@Builder
public class DynamicInfoDTO {
@ApiModelProperty(value = "动态id")
private Integer id;
@ApiModelProperty(value = "动态id")
private Integer id;
@ApiModelProperty(value = "动态描述")
private String description;
@ApiModelProperty(value = "动态描述")
private String description;
@ApiModelProperty(value = "图片/视频")
private List<MediaVO> mediaVO;
@ApiModelProperty(value = "图片/视频")
private List<MediaVO> mediaVO;
@ApiModelProperty(value = "show: 0显示 1隐藏")
private Integer show;
@ApiModelProperty(value = "show: 0显示 1隐藏")
private Integer show;
@ApiModelProperty(value = "发布动态用户信息")
private UserBaseInfoVO userBaseInfo;
@ApiModelProperty(value = "发布动态用户信息")
private UserBaseInfoVO userBaseInfo;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "动态发布时间")
private Date dynamicPublishTime;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
}
......@@ -16,7 +16,6 @@ import javax.servlet.http.HttpServletRequest;
/**
* @Author LW
*
* @date 2023/6/19 10:44 概要:
*/
@Api(tags = {"后台-论坛管理-模块"})
......@@ -24,34 +23,42 @@ import javax.servlet.http.HttpServletRequest;
@RequestMapping("/backstage/forum")
public class BackstageForumController {
@Autowired BackstageForumService backstageForumService;
@ApiOperation(value = "后台-动态列表")
@PostMapping("/listDynamic")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicInfoDTO.class)})
public ResultBody<DynamicInfoDTO> listDynamic(
@RequestBody DynamicQO dynamic, HttpServletRequest request) {
return ResultBody.success(backstageForumService.listDynamic(dynamic, request));
}
@ApiOperation(value = "动态删除")
@GetMapping("/deleteDynamic")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
public ResultBody deleteDynamic(@RequestParam Integer dynamicId) {
return backstageForumService.deleteDynamic(dynamicId);
}
@ApiOperation(value = "动态隐藏")
@GetMapping("/hiddenDynamic")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
public ResultBody hiddenDynamic(@RequestParam Integer dynamicId) {
return backstageForumService.hiddenDynamic(dynamicId);
}
@ApiOperation(value = "点赞用户信息")
@GetMapping("/likeUserInfo")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UserBaseInfoVO.class)})
public ResultBody likeUserInfo(@RequestParam Integer dynamicId, HttpServletRequest request) {
return backstageForumService.likeUserInfo(dynamicId, request);
}
@Autowired
BackstageForumService backstageForumService;
@ApiOperation(value = "后台-动态列表")
@PostMapping("/listDynamic")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicInfoDTO.class)})
public ResultBody<DynamicInfoDTO> listDynamic(
@RequestBody DynamicQO dynamic, HttpServletRequest request) {
return ResultBody.success(backstageForumService.listDynamic(dynamic, request));
}
@ApiOperation(value = "动态删除")
@GetMapping("/deleteDynamic")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
public ResultBody deleteDynamic(@RequestParam Integer dynamicId) {
return backstageForumService.deleteDynamic(dynamicId);
}
@ApiOperation(value = "动态隐藏")
@GetMapping("/hiddenDynamic")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
public ResultBody hiddenDynamic(@RequestParam Integer dynamicId) {
return backstageForumService.hiddenDynamic(dynamicId);
}
@ApiOperation(value = "点赞用户信息")
@GetMapping("/likeUserInfo")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UserBaseInfoVO.class)})
public ResultBody likeUserInfo(@RequestParam Integer dynamicId, HttpServletRequest request) {
return backstageForumService.likeUserInfo(dynamicId, request);
}
@ApiOperation(value = "审核动态")
@GetMapping("/checkDynamic")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
public ResultBody checkDynamic(@RequestParam Integer dynamicId, @RequestParam Boolean status) {
return backstageForumService.checkDynamic(dynamicId, status);
}
}
......@@ -144,4 +144,6 @@ public interface DynamicDAO {
ForumDynamicDO getDynamicInfoById(Integer dynamicId);
List<ForumDynamicDO> firstTwoItemsComment(List<Integer> ids);
void updateCheckDynamic(Integer dynamicId, Integer status);
}
......@@ -88,6 +88,7 @@ public class ForumDynamicDO extends BaseDO implements Serializable {
.id(this.getId())
.userAccountId(userAccountId)
.description(description)
.dynamicPublishTime(this.getCreateTime())
.show(this.getDeleted())
.build();
}
......
......@@ -8,15 +8,17 @@ import javax.servlet.http.HttpServletRequest;
/**
* @Author LW
*
* @date 2023/6/19 10:47 概要:
*/
public interface BackstageForumService {
PageResult listDynamic(DynamicQO dynamic, HttpServletRequest request);
PageResult listDynamic(DynamicQO dynamic, HttpServletRequest request);
ResultBody deleteDynamic(Integer dynamicId);
ResultBody deleteDynamic(Integer dynamicId);
ResultBody hiddenDynamic(Integer dynamicId);
ResultBody hiddenDynamic(Integer dynamicId);
ResultBody likeUserInfo(Integer dynamicId, HttpServletRequest request);
ResultBody checkDynamic(Integer dynamicId, Boolean status);
ResultBody likeUserInfo(Integer dynamicId, HttpServletRequest request);
}
......@@ -30,126 +30,140 @@ import java.util.stream.Collectors;
/**
* @Author LW
*
* @date 2023/6/19 10:47 概要:
*/
@Service
public class BackstageForumServiceImpl implements BackstageForumService {
@Autowired BackstageForumDao backstageForumDao;
@Autowired DynamicDAO dynamicDAO;
@Autowired UserAppApi userAppApi;
@Autowired LikeDAO likeDAO;
@Autowired
BackstageForumDao backstageForumDao;
@Autowired
DynamicDAO dynamicDAO;
@Autowired
UserAppApi userAppApi;
@Autowired
LikeDAO likeDAO;
@Override
public PageResult listDynamic(DynamicQO dynamic, HttpServletRequest request) {
List<Integer> userIds = null;
if (dynamic.getKeyword() != null) {
UserAccountQO userAccountQO = new UserAccountQO();
userAccountQO.setKeyword(dynamic.getKeyword());
// 获取筛选的用户id
List<UserAccountSimpleDTO> userAccountSimpleDTOS =
userAppApi.feignListAppUserAccount(userAccountQO, request.getHeader(TokenConstant.TOKEN));
if (CollectionUtils.isNotEmpty(userAccountSimpleDTOS)) {
// 获取用户id
userIds =
userAccountSimpleDTOS.stream()
.map(UserAccountSimpleDTO::getId)
.collect(Collectors.toList());
}
if (userIds == null) {
return PageResult.buildPage(dynamic.getPageNo(), dynamic.getPageSize(), 0);
}
@Override
public PageResult listDynamic(DynamicQO dynamic, HttpServletRequest request) {
List<Integer> userIds = null;
if (dynamic.getKeyword() != null) {
UserAccountQO userAccountQO = new UserAccountQO();
userAccountQO.setKeyword(dynamic.getKeyword());
// 获取筛选的用户id
List<UserAccountSimpleDTO> userAccountSimpleDTOS =
userAppApi.feignListAppUserAccount(userAccountQO, request.getHeader(TokenConstant.TOKEN));
if (CollectionUtils.isNotEmpty(userAccountSimpleDTOS)) {
// 获取用户id
userIds =
userAccountSimpleDTOS.stream()
.map(UserAccountSimpleDTO::getId)
.collect(Collectors.toList());
}
if (userIds == null) {
return PageResult.buildPage(dynamic.getPageNo(), dynamic.getPageSize(), 0);
}
}
int count = backstageForumDao.countDynamic(userIds);
if (count == 0) {
return PageResult.buildPage(dynamic.getPageNo(), dynamic.getPageSize(), count);
}
int itemIndex = (dynamic.getPageNo() - 1) * dynamic.getPageSize();
// 获取动态信息
List<ForumDynamicDO> dynamicList =
backstageForumDao.listDynamicInfo(userIds, itemIndex, dynamic.getPageSize());
// 动态id集合
List<Integer> ids =
dynamicList.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> listUserIds =
dynamicList.stream().map(ForumDynamicDO::getUserAccountId).collect(Collectors.toSet());
List<Integer> userIdList = new ArrayList<>(listUserIds);
UserAccountQO accountQO = new UserAccountQO();
accountQO.setUserIds(userIdList);
List<UserAccountSimpleDTO> userAccountSimpleList =
userAppApi.feignListAppUserAccount(accountQO, request.getHeader(TokenConstant.TOKEN));
Map<Integer, UserAccountSimpleDTO> userAccountInfoMap =
userAccountSimpleList.stream()
.collect(Collectors.toMap(UserAccountSimpleDTO::getId, Function.identity()));
List<DynamicInfoDTO> list =
dynamicList.stream()
.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) {
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
userBaseInfoVO.setUserName(userAccountSimpleDTO.getUserName());
userBaseInfoVO.setPhone(userAccountSimpleDTO.getPhoneNum());
userBaseInfoVO.setUid(userAccountSimpleDTO.getUid());
dynamicInfoDTO.setUserBaseInfo(userBaseInfoVO);
}
return dynamicInfoDTO;
})
.collect(Collectors.toList());
return PageResult.buildPage(dynamic.getPageNo(), dynamic.getPageSize(), count, list);
}
int count = backstageForumDao.countDynamic(userIds);
if (count == 0) {
return PageResult.buildPage(dynamic.getPageNo(), dynamic.getPageSize(), count);
@Override
public ResultBody deleteDynamic(Integer dynamicId) {
dynamicDAO.deleteDynamic(dynamicId);
return ResultBody.success();
}
@Override
public ResultBody hiddenDynamic(Integer dynamicId) {
dynamicDAO.hiddenDynamic(dynamicId);
return ResultBody.success();
}
int itemIndex = (dynamic.getPageNo() - 1) * dynamic.getPageSize();
// 获取动态信息
List<ForumDynamicDO> dynamicList =
backstageForumDao.listDynamicInfo(userIds, itemIndex, dynamic.getPageSize());
// 动态id集合
List<Integer> ids =
dynamicList.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> listUserIds =
dynamicList.stream().map(ForumDynamicDO::getUserAccountId).collect(Collectors.toSet());
List<Integer> userIdList = new ArrayList<>(listUserIds);
UserAccountQO accountQO = new UserAccountQO();
accountQO.setUserIds(userIdList);
List<UserAccountSimpleDTO> userAccountSimpleList =
userAppApi.feignListAppUserAccount(accountQO, request.getHeader(TokenConstant.TOKEN));
Map<Integer, UserAccountSimpleDTO> userAccountInfoMap =
userAccountSimpleList.stream()
.collect(Collectors.toMap(UserAccountSimpleDTO::getId, Function.identity()));
List<DynamicInfoDTO> list =
dynamicList.stream()
.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) {
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
userBaseInfoVO.setUserName(userAccountSimpleDTO.getUserName());
userBaseInfoVO.setPhone(userAccountSimpleDTO.getPhoneNum());
userBaseInfoVO.setUid(userAccountSimpleDTO.getUid());
dynamicInfoDTO.setUserBaseInfo(userBaseInfoVO);
}
return dynamicInfoDTO;
})
.collect(Collectors.toList());
return PageResult.buildPage(dynamic.getPageNo(), dynamic.getPageSize(), count, list);
}
@Override
public ResultBody deleteDynamic(Integer dynamicId) {
dynamicDAO.deleteDynamic(dynamicId);
return ResultBody.success();
}
@Override
public ResultBody likeUserInfo(Integer dynamicId, HttpServletRequest request) {
List<ForumLikeDO> forumLikeList = likeDAO.selectUserAccountId(dynamicId);
if (forumLikeList != null) {
List<Integer> list =
forumLikeList.stream().map(ForumLikeDO::getUserAccountId).collect(Collectors.toList());
UserAccountQO accountQO = new UserAccountQO();
accountQO.setUserIds(list);
List<UserAccountSimpleDTO> userAccountSimpleList =
userAppApi.feignListAppUserAccount(accountQO, request.getHeader(TokenConstant.TOKEN));
List<UserBaseInfoVO> userBaseInfoList = new ArrayList<>();
userAccountSimpleList.forEach(
d -> {
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setNickName(d.getNickName());
userBaseInfoVO.setUserImg(d.getUserImg());
userBaseInfoVO.setUserName(d.getUserName());
userBaseInfoVO.setPhone(d.getPhoneNum());
userBaseInfoVO.setUid(d.getUid());
userBaseInfoList.add(userBaseInfoVO);
});
return ResultBody.success(userBaseInfoList);
}
return ResultBody.success();
}
@Override
public ResultBody hiddenDynamic(Integer dynamicId) {
dynamicDAO.hiddenDynamic(dynamicId);
return ResultBody.success();
}
@Override
public ResultBody likeUserInfo(Integer dynamicId, HttpServletRequest request) {
List<ForumLikeDO> forumLikeList = likeDAO.selectUserAccountId(dynamicId);
if (forumLikeList != null) {
List<Integer> list =
forumLikeList.stream().map(ForumLikeDO::getUserAccountId).collect(Collectors.toList());
UserAccountQO accountQO = new UserAccountQO();
accountQO.setUserIds(list);
List<UserAccountSimpleDTO> userAccountSimpleList =
userAppApi.feignListAppUserAccount(accountQO, request.getHeader(TokenConstant.TOKEN));
List<UserBaseInfoVO> userBaseInfoList = new ArrayList<>();
userAccountSimpleList.forEach(
d -> {
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setNickName(d.getNickName());
userBaseInfoVO.setUserImg(d.getUserImg());
userBaseInfoVO.setUserName(d.getUserName());
userBaseInfoVO.setPhone(d.getPhoneNum());
userBaseInfoVO.setUid(d.getUid());
userBaseInfoList.add(userBaseInfoVO);
});
return ResultBody.success(userBaseInfoList);
@Override
public ResultBody checkDynamic(Integer dynamicId, Boolean status) {
if (status) {
dynamicDAO.updateCheckDynamic(dynamicId, 1);
} else {
dynamicDAO.updateCheckDynamic(dynamicId, 2);
}
return ResultBody.success();
}
return ResultBody.success();
}
}
......@@ -17,7 +17,7 @@
</where>
</select>
<select id="listDynamicInfo" resultType="com.mmc.csf.release.entity.forum.ForumDynamicDO">
select id,user_account_id,description,is_deleted as deleted from forum_dynamic
select id,user_account_id,description,is_deleted as deleted,create_time from forum_dynamic
<where>
root_path is null
<if test="ids != null">
......
......@@ -51,6 +51,11 @@
end
where id = #{dynamicId}
</update>
<update id="updateCheckDynamic">
update forum_dynamic
set check_status = #{status}
where id = #{dynamicId}
</update>
<delete id="deleteDynamic">
delete
from forum_dynamic
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论