修改帖子

上级 de5a6640
流水线 #8294 已通过 于阶段
in 2 分 43 秒
package com.mmc.csf.release.forum.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UpdateDynamicDO implements Serializable{
@ApiModelProperty(value = "动态id")
private Integer id;
@ApiModelProperty(value = "动态描述")
private String description;
@ApiModelProperty(value = "媒体资源")
private List<MediaVO> mediaVO;
}
......@@ -8,6 +8,7 @@ import com.mmc.csf.release.entity.gambit.ForumAttentionDO;
import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.forum.vo.ReplyToAReviewVO;
import com.mmc.csf.release.forum.vo.UpdateDynamicDO;
import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.dto.PostingLeaderboardDTO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
......@@ -43,6 +44,13 @@ public class DynamicController extends BaseController {
return dynamicService.insertDynamic(dynamicVO, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
}
@ApiOperation(value = "动态修改")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/updateDynamic")
public ResultBody updateDynamic(@RequestBody UpdateDynamicDO updateDynamicDO, HttpServletRequest request) {
return dynamicService.updateDynamic(updateDynamicDO);
}
@ApiOperation(value = "点赞或取消点赞")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/likeOrCancel")
......
......@@ -133,6 +133,9 @@ public interface DynamicDao {
void insertResource(
@Param("dynamicId") Integer dynamicId, @Param("type") int type, @Param("url") String url);
void deleteResource(@Param("dynamicId") Integer dynamicId);
void updateDynamicDescription(@Param("dynamicId") Integer dynamicId, @Param("description") String description);
List<ForumResourceDO> listDynamicResources(Integer dynamicId);
List<ForumDynamicDO> getDynamicComment(String dynamicId);
......
......@@ -7,6 +7,7 @@ import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.entity.gambit.ForumAttentionDO;
import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.forum.vo.UpdateDynamicDO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import com.mmc.csf.release.gambit.qo.PostingLeaderboardQO;
import java.util.List;
......@@ -16,7 +17,7 @@ import java.util.List;
*/
public interface DynamicService {
/**
* 插入动态
* 插入帖子
*
* @param dynamicVO 动态
* @return {@link ResultBody}
......@@ -24,6 +25,11 @@ public interface DynamicService {
ResultBody insertDynamic(DynamicVO dynamicVO, Integer userAccountId, HttpServletRequest request);
/**
* 修改帖子
* @return {@link ResultBody}
*/
ResultBody updateDynamic(UpdateDynamicDO updateDynamicDO);
/**
* 点赞动态
*
* @param userId 用户id
......
......@@ -172,6 +172,23 @@ public class DynamicServiceImpl implements DynamicService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public ResultBody updateDynamic(UpdateDynamicDO updateDynamicDO) {
List<MediaVO> mediaVOList = updateDynamicDO.getMediaVO();
dynamicDao.deleteResource(updateDynamicDO.getId());
if(mediaVOList != null){
for (MediaVO mediaVO : mediaVOList) {
dynamicDao.insertResource(updateDynamicDO.getId(), mediaVO.getType(), mediaVO.getUrl());
}
}
if(updateDynamicDO.getDescription() != null){
dynamicDao.updateDynamicDescription(updateDynamicDO.getId(), updateDynamicDO.getDescription());
}
return ResultBody.success("修改成功");
}
@Override
public ResultBody likeDynamic(Integer userId, Integer dynamicId) {
// 获取动态信息
ForumDynamicDO forumDynamicDO = dynamicDao.getDynamicInfo(dynamicId);
......@@ -185,7 +202,7 @@ public class DynamicServiceImpl implements DynamicService {
dynamicDao.forumCount(forumDynamicDO.getUserAccountId());
//评论
} else {
if(gambitId == 101 || gambitId == 1001 || gambitId == 103){
if(gambitId == 1002 || gambitId == 1001 || gambitId == 1003){
return ResultBody.error("不能重复投票");
}
likeDAO.deleteLike(userId, dynamicId);
......@@ -197,7 +214,7 @@ public class DynamicServiceImpl implements DynamicService {
private boolean isVoted(Integer gambitId, Integer userAccountId) {
if (gambitId == 101 || gambitId == 1001 || gambitId == 103) {
if (gambitId == 1001 || gambitId == 1002 || gambitId == 1003) {
boolean keyExists = stringRedisTemplate.hasKey(RedisConstant.VOTE + gambitId + userAccountId);
if(keyExists){
String voteStr = stringRedisTemplate.opsForValue().get(RedisConstant.VOTE + gambitId +userAccountId);
......
......@@ -357,6 +357,11 @@
set check_status = #{status}
where id = #{dynamicId}
</update>
<update id="updateDynamicDescription">
update forum_dynamic
set description = #{description}
where id = #{dynamicId}
</update>
<delete id="deleteDynamic">
delete
from forum_dynamic
......@@ -370,6 +375,10 @@
</foreach>
</where>
</delete>
<delete id="deleteResource">
delete from forum_resource
where dynamic_id = #{dynamicId}
</delete>
<select id="getDynamicInfo" resultType="com.mmc.csf.release.entity.forum.ForumDynamicDO">
select fd.id,
version,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论