Browse Source

话题审核通过拷贝评论和评论表态到事件中

dev
liuchuang 6 years ago
parent
commit
b548799b62
  1. 28
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/comment/EpdcCommentsAndAttitudeFromTopicFormDTO.java
  2. 15
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/controller/EventCommentController.java
  3. 12
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/service/EventCommentService.java
  4. 32
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/service/impl/EventCommentServiceImpl.java
  5. 1
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  6. 5
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicReviewFormDTO.java
  7. 53
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/async/TopicChangeToIssueTask.java
  8. 25
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/comment/dao/TopicCommentDao.java
  9. 23
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/comment/service/TopicCommentService.java
  10. 11
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/comment/service/impl/TopicCommentServiceImpl.java
  11. 13
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java
  12. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java
  13. 7
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java
  14. 50
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/comment/TopicCommentDao.xml

28
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/comment/EpdcCommentsAndAttitudeFromTopicFormDTO.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.comment;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
*
* 话题评论评论支持反对数据
*
* @Authorliuchuang
* @Date2019/11/12 14:17
*/
@Data
public class EpdcCommentsAndAttitudeFromTopicFormDTO implements Serializable {
private static final long serialVersionUID = 8779307899428155354L;
/**
* 评论
*/
private List<EventCommentDTO> comments;
/**
* 表态
*/
private List<EventCommentUserAttitudeDTO> attitudes;
}

15
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/controller/EventCommentController.java

@ -25,6 +25,7 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.comment.EpdcCommentsAndAttitudeFromTopicFormDTO;
import com.elink.esua.epdc.dto.comment.EventCommentDTO;
import com.elink.esua.epdc.modules.comment.excel.EventCommentExcel;
import com.elink.esua.epdc.modules.comment.service.EventCommentService;
@ -91,4 +92,18 @@ public class EventCommentController {
ExcelUtils.exportExcelToTarget(response, null, list, EventCommentExcel.class);
}
/**
*
* 接收话题评论和评论表态
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/12 14:25
*/
@PostMapping("receive")
public Result receiveTopicCommentAndAttitude(@RequestBody EpdcCommentsAndAttitudeFromTopicFormDTO formDto){
return eventCommentService.saveCommentAndAttitudeFromTopic(formDto);
}
}

12
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/service/EventCommentService.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.comment.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.comment.EpdcCommentsAndAttitudeFromTopicFormDTO;
import com.elink.esua.epdc.dto.comment.EventCommentDTO;
import com.elink.esua.epdc.dto.comment.form.CommentFormDTO;
import com.elink.esua.epdc.dto.comment.form.EventCommentsFormDTO;
@ -148,4 +149,15 @@ public interface EventCommentService extends BaseService<EventCommentEntity> {
* @Date: 2019/9/9 19:05
*/
IssueHotCommentResultDTO getHotComment(String eventId);
/**
*
* 接收话题评论和评论表态
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/12 14:26
*/
Result saveCommentAndAttitudeFromTopic(EpdcCommentsAndAttitudeFromTopicFormDTO formDto);
}

32
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/service/impl/EventCommentServiceImpl.java

@ -26,7 +26,9 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.EventsNoticeConstant;
import com.elink.esua.epdc.dto.comment.EpdcCommentsAndAttitudeFromTopicFormDTO;
import com.elink.esua.epdc.dto.comment.EventCommentDTO;
import com.elink.esua.epdc.dto.comment.EventCommentUserAttitudeDTO;
import com.elink.esua.epdc.dto.comment.form.CommentFormDTO;
import com.elink.esua.epdc.dto.comment.form.EventCommentsFormDTO;
import com.elink.esua.epdc.dto.comment.result.EventCommentsResultDTO;
@ -36,7 +38,9 @@ import com.elink.esua.epdc.dto.issue.result.IssueHotCommentResultDTO;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.comment.dao.EventCommentDao;
import com.elink.esua.epdc.modules.comment.entity.EventCommentEntity;
import com.elink.esua.epdc.modules.comment.entity.EventCommentUserAttitudeEntity;
import com.elink.esua.epdc.modules.comment.service.EventCommentService;
import com.elink.esua.epdc.modules.comment.service.EventCommentUserAttitudeService;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
import com.elink.esua.epdc.modules.issue.service.IssueService;
@ -49,6 +53,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -76,6 +81,9 @@ public class EventCommentServiceImpl extends BaseServiceImpl<EventCommentDao, Ev
@Autowired
private NewsTask newsTask;
@Autowired
private EventCommentUserAttitudeService eventCommentUserAttitudeService;
@Override
public PageData<EventCommentDTO> page(Map<String, Object> params) {
IPage<EventCommentEntity> page = baseDao.selectPage(
@ -289,4 +297,28 @@ public class EventCommentServiceImpl extends BaseServiceImpl<EventCommentDao, Ev
public void updateOpposeNumSubtract(String commentId) {
baseDao.updateOpposeNumSubtract(commentId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result saveCommentAndAttitudeFromTopic(EpdcCommentsAndAttitudeFromTopicFormDTO formDto) {
// 保存评论
List<EventCommentEntity> commentEntities = new ArrayList<>(formDto.getComments().size());
for (EventCommentDTO dto:
formDto.getComments()) {
EventCommentEntity entity = ConvertUtils.sourceToTarget(dto, EventCommentEntity.class);
commentEntities.add(entity);
}
this.insertBatch(commentEntities);
// 保存表态
List<EventCommentUserAttitudeEntity> attitudeEntities = new ArrayList<>(formDto.getAttitudes().size());
for (EventCommentUserAttitudeDTO dto:
formDto.getAttitudes()) {
EventCommentUserAttitudeEntity entity = ConvertUtils.sourceToTarget(dto, EventCommentUserAttitudeEntity.class);
attitudeEntities.add(entity);
}
eventCommentUserAttitudeService.insertBatch(attitudeEntities);
return new Result();
}
}

1
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java

@ -236,6 +236,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
TopicReviewFormDTO formDto = new TopicReviewFormDTO();
formDto.setTopicId(topicId);
formDto.setProcessingOpinions(dto.getAdvice());
formDto.setEventId(dto.getId());
if (dto.getEventState().equals(EventIssueItemState.EVENT_REVIEW_REJECT)) {
formDto.setState(TopicStateEnum.TOPIC_STATE_IN_CONVERSATION.getValue());
} else if (dto.getEventState().equals(EventIssueItemState.EVENT_REVIEW_PASS)) {

5
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicReviewFormDTO.java

@ -29,4 +29,9 @@ public class TopicReviewFormDTO implements Serializable {
* 状态 0讨论中10已转议题
*/
private Integer state;
/**
* 事件ID
*/
private String eventId;
}

53
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/async/TopicChangeToIssueTask.java

@ -0,0 +1,53 @@
package com.elink.esua.epdc.modules.async;
import com.elink.esua.epdc.dto.comment.EpdcCommentsAndAttitudeFromTopicFormDTO;
import com.elink.esua.epdc.dto.comment.EventCommentDTO;
import com.elink.esua.epdc.dto.comment.EventCommentUserAttitudeDTO;
import com.elink.esua.epdc.dto.topic.form.TopicReviewFormDTO;
import com.elink.esua.epdc.modules.comment.service.TopicCommentService;
import com.elink.esua.epdc.modules.feign.EventFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.util.List;
/**
*
* 话题转议题异步处理操作
*
* @Authorliuchuang
* @Date2019/11/12 13:31
*/
@Component
public class TopicChangeToIssueTask {
@Autowired
private TopicCommentService topicCommentService;
@Autowired
private EventFeignClient eventFeignClient;
/**
*
* 拷贝评论评论的支持反对到事件
*
* @params [topicId]
* @return void
* @author liuchuang
* @since 2019/11/12 13:32
*/
@Async
public void copyCommentsAndAttitudeToEvents(TopicReviewFormDTO formDto) {
// 获取话题下所有评论
List<EventCommentDTO> comments = topicCommentService.listCommentForEvent(formDto);
// 获取话题下所有评论的表态
List<EventCommentUserAttitudeDTO> attitudes = topicCommentService.listCommentAttitudeForEvent(formDto.getTopicId());
EpdcCommentsAndAttitudeFromTopicFormDTO eventFormDto = new EpdcCommentsAndAttitudeFromTopicFormDTO();
eventFormDto.setComments(comments);
eventFormDto.setAttitudes(attitudes);
eventFeignClient.receiveTopicCommentAndAttitude(eventFormDto);
}
}

25
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/comment/dao/TopicCommentDao.java

@ -18,9 +18,12 @@
package com.elink.esua.epdc.modules.comment.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.comment.EventCommentDTO;
import com.elink.esua.epdc.dto.comment.EventCommentUserAttitudeDTO;
import com.elink.esua.epdc.dto.comment.TopicCommentListDTO;
import com.elink.esua.epdc.dto.comment.TopicCommentsFormDTO;
import com.elink.esua.epdc.dto.topic.TopicCommentsDTO;
import com.elink.esua.epdc.dto.topic.form.TopicReviewFormDTO;
import com.elink.esua.epdc.modules.comment.entity.TopicCommentEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -91,4 +94,26 @@ public interface TopicCommentDao extends BaseDao<TopicCommentEntity> {
*/
void updateCommentShieldFlag(@Param("commentIds") String[] commentIds);
/**
*
* 获取话题评论并转成事件评论
*
* @params [formDto]
* @return java.util.List<com.elink.esua.epdc.dto.comment.EventCommentDTO>
* @author liuchuang
* @since 2019/11/12 13:52
*/
List<EventCommentDTO> selectListCommentForEvent(TopicReviewFormDTO formDto);
/**
*
* 获取话题评论的表态并转成事件评论的表态
*
* @params [topicId]
* @return java.util.List<com.elink.esua.epdc.dto.comment.EventCommentUserAttitudeDTO>
* @author liuchuang
* @since 2019/11/12 14:12
*/
List<EventCommentUserAttitudeDTO> selectListCommentAttitudeForEvent(String topicId);
}

23
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/comment/service/TopicCommentService.java

@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.comment.*;
import com.elink.esua.epdc.dto.topic.form.TopicReviewFormDTO;
import com.elink.esua.epdc.modules.comment.entity.TopicCommentEntity;
import java.util.List;
@ -151,4 +152,26 @@ public interface TopicCommentService extends BaseService<TopicCommentEntity> {
* @since 2019/11/12 11:07
*/
Result modifyCommentById(String[] commentIds);
/**
*
* 获取话题评论并转成事件评论
*
* @params [formDto]
* @return java.util.List<com.elink.esua.epdc.dto.comment.EventCommentDTO>
* @author liuchuang
* @since 2019/11/12 13:52
*/
List<EventCommentDTO> listCommentForEvent(TopicReviewFormDTO formDto);
/**
*
* 获取话题评论的表态并转成事件评论的表态
*
* @params [topicId]
* @return java.util.List<com.elink.esua.epdc.dto.comment.EventCommentUserAttitudeDTO>
* @author liuchuang
* @since 2019/11/12 14:13
*/
List<EventCommentUserAttitudeDTO> listCommentAttitudeForEvent(String topicId);
}

11
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/comment/service/impl/TopicCommentServiceImpl.java

@ -30,6 +30,7 @@ import com.elink.esua.epdc.dto.constant.TopicNoticeConstant;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.topic.TopicCommentsDTO;
import com.elink.esua.epdc.dto.topic.TopicDTO;
import com.elink.esua.epdc.dto.topic.form.TopicReviewFormDTO;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.comment.dao.TopicCommentDao;
import com.elink.esua.epdc.modules.comment.entity.TopicCommentEntity;
@ -227,4 +228,14 @@ public class TopicCommentServiceImpl extends BaseServiceImpl<TopicCommentDao, To
baseDao.updateCommentShieldFlag(commentIds);
return new Result();
}
@Override
public List<EventCommentDTO> listCommentForEvent(TopicReviewFormDTO formDto) {
return baseDao.selectListCommentForEvent(formDto);
}
@Override
public List<EventCommentUserAttitudeDTO> listCommentAttitudeForEvent(String topicId) {
return baseDao.selectListCommentAttitudeForEvent(topicId);
}
}

13
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java

@ -2,6 +2,7 @@ package com.elink.esua.epdc.modules.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.comment.EpdcCommentsAndAttitudeFromTopicFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.modules.feign.fallback.EventFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
@ -29,4 +30,16 @@ public interface EventFeignClient {
*/
@PostMapping(value = "events/epdc-app/event/submit", consumes = MediaType.APPLICATION_JSON_VALUE)
Result submitEvent(EpdcEventSubmitFormDTO formDto);
/**
*
* 接收话题评论和评论表态
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/12 14:35
*/
@PostMapping(value = "events/eventcomment/receive", consumes = MediaType.APPLICATION_JSON_VALUE)
Result receiveTopicCommentAndAttitude(EpdcCommentsAndAttitudeFromTopicFormDTO formDto);
}

6
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.modules.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.comment.EpdcCommentsAndAttitudeFromTopicFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.modules.feign.EventFeignClient;
import org.springframework.stereotype.Component;
@ -18,4 +19,9 @@ public class EventFeignClientFallback implements EventFeignClient {
public Result submitEvent(EpdcEventSubmitFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "submitEvent", formDto);
}
@Override
public Result receiveTopicCommentAndAttitude(EpdcCommentsAndAttitudeFromTopicFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "receiveTopicCommentAndAttitude", formDto);
}
}

7
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java

@ -46,6 +46,7 @@ import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.async.TopicChangeToIssueTask;
import com.elink.esua.epdc.modules.feign.EventFeignClient;
import com.elink.esua.epdc.modules.group.service.GroupService;
import com.elink.esua.epdc.modules.group.service.UserGroupService;
@ -89,6 +90,9 @@ public class TopicServiceImpl extends BaseServiceImpl<TopicDao, TopicEntity> imp
@Autowired
private EventFeignClient eventFeignClient;
@Autowired
private TopicChangeToIssueTask topicChangeToIssueTask;
@Override
public PageData<TopicDTO> page(Map<String, Object> params) {
IPage<TopicEntity> page = baseDao.selectPage(
@ -304,6 +308,9 @@ public class TopicServiceImpl extends BaseServiceImpl<TopicDao, TopicEntity> imp
topicUserNotice.setUserId(topicEntity.getUserId());
noticeList.add(topicUserNotice);
// 拷贝评论、评论的支持反对到事件
topicChangeToIssueTask.copyCommentsAndAttitudeToEvents(formDto);
} else {
auditRecordEntity.setState(NumConstant.ZERO);
lordNotice.setTitle(GroupNoticeConstant.NOTICE_TOPIC_TO_ISSUE_NOT_PASS);

50
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/comment/TopicCommentDao.xml

@ -217,4 +217,54 @@
</foreach>
</update>
<select id="selectListCommentForEvent" resultType="com.elink.esua.epdc.dto.comment.EventCommentDTO">
SELECT
ID,
#{eventId} AS EVENT_ID,
USER_ID,
USERNAME AS USER_NAME,
USER_FACE,
CONTENT,
COMMENT_TYPE,
COMMENT_ID,
REPLY_COUNT,
REPLY_USER_ID,
REPLY_USERNAME AS REPLY_USER_NAME,
REPLY_USER_FACE,
LIKE_COUNT,
UN_LIKE_COUNT,
SHIELD_FLAG,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME,
'0' AS SENSITIVE_FLAG
FROM
epdc_topic_comment
WHERE
DEL_FLAG = '0'
AND TOPIC_ID = #{topicId}
</select>
<select id="selectListCommentAttitudeForEvent" resultType="com.elink.esua.epdc.dto.comment.EventCommentUserAttitudeDTO">
SELECT
t1.ID,
t1.COMMENT_ID AS EVENT_COMMENT_ID,
t1.USER_ID,
t1.ATTITUDE_FLAG,
t1.DEL_FLAG,
t1.REVISION,
t1.CREATED_BY,
t1.CREATED_TIME,
t1.UPDATED_BY,
t1.UPDATED_TIME
FROM
epdc_topic_comment_user_attitude t1
WHERE
t1.DEL_FLAG = '0'
AND t1.COMMENT_ID IN ( SELECT t2.ID FROM epdc_topic_comment t2 WHERE t2.DEL_FLAG = '0' AND t2.TOPIC_ID = #{topicId} )
</select>
</mapper>

Loading…
Cancel
Save