Browse Source

修改移动端获取议题最热评论方法

dev
liuchuang 6 years ago
parent
commit
f281c9ae66
  1. 10
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/dao/EventCommentDao.java
  2. 12
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/service/EventCommentService.java
  3. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/service/impl/EventCommentServiceImpl.java
  4. 14
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  5. 19
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/comment/EventCommentDao.xml
  6. 36
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

10
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/comment/dao/EventCommentDao.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.comment.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.comment.form.EventCommentsFormDTO; import com.elink.esua.epdc.dto.comment.form.EventCommentsFormDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO; import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.issue.result.IssueHotCommentResultDTO;
import com.elink.esua.epdc.modules.comment.entity.EventCommentEntity; import com.elink.esua.epdc.modules.comment.entity.EventCommentEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -59,4 +60,13 @@ public interface EventCommentDao extends BaseDao<EventCommentEntity> {
*/ */
long selectCountOfStatementNum(String eventId); long selectCountOfStatementNum(String eventId);
/**
* 最热评论
* @Params: [eventId]
* @Return: com.elink.esua.epdc.dto.issue.result.IssueHotCommentResultDTO
* @Author: liuchuang
* @Date: 2019/9/9 19:05
*/
IssueHotCommentResultDTO selectOneHotComment(String eventId);
} }

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

@ -23,6 +23,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.comment.EventCommentDTO; import com.elink.esua.epdc.dto.comment.EventCommentDTO;
import com.elink.esua.epdc.dto.comment.form.EventCommentsFormDTO; import com.elink.esua.epdc.dto.comment.form.EventCommentsFormDTO;
import com.elink.esua.epdc.dto.comment.result.EventCommentsResultDTO; import com.elink.esua.epdc.dto.comment.result.EventCommentsResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueHotCommentResultDTO;
import com.elink.esua.epdc.modules.comment.entity.EventCommentEntity; import com.elink.esua.epdc.modules.comment.entity.EventCommentEntity;
import java.util.List; import java.util.List;
@ -107,8 +108,6 @@ public interface EventCommentService extends BaseService<EventCommentEntity> {
*/ */
void updateApproveNumOrOpposeNum(String commentId, String attitudeFlag); void updateApproveNumOrOpposeNum(String commentId, String attitudeFlag);
/** /**
* 移动端评论列表 * 移动端评论列表
* @Params: [formDTO] * @Params: [formDTO]
@ -117,4 +116,13 @@ public interface EventCommentService extends BaseService<EventCommentEntity> {
* @Date: 2019/9/9 15:21 * @Date: 2019/9/9 15:21
*/ */
Result<EventCommentsResultDTO> listOfComments(EventCommentsFormDTO formDTO); Result<EventCommentsResultDTO> listOfComments(EventCommentsFormDTO formDTO);
/**
* 最热评论
* @Params: [eventId]
* @Return: com.elink.esua.epdc.dto.issue.result.IssueHotCommentResultDTO
* @Author: liuchuang
* @Date: 2019/9/9 19:05
*/
IssueHotCommentResultDTO getHotComment(String eventId);
} }

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

@ -28,6 +28,7 @@ import com.elink.esua.epdc.dto.comment.EventCommentDTO;
import com.elink.esua.epdc.dto.comment.form.EventCommentsFormDTO; import com.elink.esua.epdc.dto.comment.form.EventCommentsFormDTO;
import com.elink.esua.epdc.dto.comment.result.EventCommentsResultDTO; import com.elink.esua.epdc.dto.comment.result.EventCommentsResultDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO; import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.issue.result.IssueHotCommentResultDTO;
import com.elink.esua.epdc.modules.comment.dao.EventCommentDao; 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.EventCommentEntity;
import com.elink.esua.epdc.modules.comment.redis.EventCommentRedis; import com.elink.esua.epdc.modules.comment.redis.EventCommentRedis;
@ -149,4 +150,9 @@ public class EventCommentServiceImpl extends BaseServiceImpl<EventCommentDao, Ev
data.setCommentsList(list); data.setCommentsList(list);
return new Result<EventCommentsResultDTO>().ok(data); return new Result<EventCommentsResultDTO>().ok(data);
} }
@Override
public IssueHotCommentResultDTO getHotComment(String eventId) {
return baseDao.selectOneHotComment(eventId);
}
} }

14
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java

@ -35,10 +35,8 @@ import com.elink.esua.epdc.dto.issue.form.IssueDetailFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueFormDTO; import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO; import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO;
import com.elink.esua.epdc.dto.issue.form.StatementFormDTO; import com.elink.esua.epdc.dto.issue.form.StatementFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO; import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO; import com.elink.esua.epdc.modules.comment.service.EventCommentService;
import com.elink.esua.epdc.dto.issue.result.IssueHandleProgressResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueResultDTO;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService; import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
import com.elink.esua.epdc.modules.issue.dao.IssueDao; import com.elink.esua.epdc.modules.issue.dao.IssueDao;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity; import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
@ -82,7 +80,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
private EpdcEventsService epdcEventsService; private EpdcEventsService epdcEventsService;
@Autowired @Autowired
private EventUserAttitudeService eventUserAttitudeService; private EventCommentService eventCommentService;
@Override @Override
public PageData<IssueWaitHandleOrClosedDTO> listOfIssues(Map<String, Object> params) { public PageData<IssueWaitHandleOrClosedDTO> listOfIssues(Map<String, Object> params) {
@ -215,6 +213,12 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
// 查询半年内的数据 // 查询半年内的数据
formDto.setSomeMonthsAgo(DateUtils.addDateMonths(new Date(), -6)); formDto.setSomeMonthsAgo(DateUtils.addDateMonths(new Date(), -6));
List<IssueResultDTO> data = baseDao.selectListOfNewOrHotIssues(formDto); List<IssueResultDTO> data = baseDao.selectListOfNewOrHotIssues(formDto);
// 查询最热评论
for (IssueResultDTO dto:
data) {
IssueHotCommentResultDTO resultDTO = eventCommentService.getHotComment(dto.getEventId());
dto.setComment(resultDTO);
}
return new Result().ok(data); return new Result().ok(data);
} }

19
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/comment/EventCommentDao.xml

@ -136,5 +136,24 @@
WHERE ID = #{commentId} WHERE ID = #{commentId}
</update> </update>
<select id="selectOneHotComment" resultType="com.elink.esua.epdc.dto.issue.result.IssueHotCommentResultDTO">
SELECT
comm.ID as commentId,
comm.content,
SUM( commua.ATTITUDE_FLAG = '0' ) AS oppositionNum,
SUM( commua.ATTITUDE_FLAG = '1' ) AS supportNum,
SUM( commua.ATTITUDE_FLAG = '0' ) + SUM( commua.ATTITUDE_FLAG = '1' ) AS statementNum
FROM
epdc_event_comment comm
LEFT JOIN epdc_event_comment_user_attitude commua ON comm.ID = commua.EVENT_COMMENT_ID
AND commua.DEL_FLAG = '0'
WHERE
comm.DEL_FLAG = '0'
AND comm.EVENT_ID = #{eventId}
GROUP BY
comm.ID
ORDER BY
statementNum DESC
</select>
</mapper> </mapper>

36
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

@ -141,10 +141,6 @@
<result property="distributeTime" column="DISTRIBUTE_TIME"/> <result property="distributeTime" column="DISTRIBUTE_TIME"/>
<result property="statementNum" column="statementNum"/> <result property="statementNum" column="statementNum"/>
<result property="address" column="ISSUE_ADDRESS"/> <result property="address" column="ISSUE_ADDRESS"/>
<result property="comment.commentId" column="ID"/>
<result property="comment.content" column="CONTENT"/>
<result property="comment.oppositionNum" column="oppositionNum"/>
<result property="comment.supportNum" column="supportNum"/>
<collection property="images" ofType="java.lang.String"> <collection property="images" ofType="java.lang.String">
<result property="image" column="IMG_URL"/> <result property="image" column="IMG_URL"/>
</collection> </collection>
@ -171,11 +167,7 @@
issue.DISTRIBUTE_TIME, issue.DISTRIBUTE_TIME,
( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.COMMENT_NUM + eve.BROWSE_NUM ) AS statementNum, ( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.COMMENT_NUM + eve.BROWSE_NUM ) AS statementNum,
img.IMG_URL, img.IMG_URL,
issue.ISSUE_ADDRESS, issue.ISSUE_ADDRESS
hotCom.ID,
hotCom.CONTENT,
hotCom.oppositionNum,
hotCom.supportNum
FROM FROM
epdc_issue issue epdc_issue issue
LEFT JOIN epdc_img img ON issue.id = img.REFERENCE_ID LEFT JOIN epdc_img img ON issue.id = img.REFERENCE_ID
@ -184,32 +176,6 @@
AND eve.DEL_FLAG = '0' AND eve.DEL_FLAG = '0'
LEFT JOIN epdc_event_category cate ON issue.ISSUE_CATEGORY_ID = cate.id LEFT JOIN epdc_event_category cate ON issue.ISSUE_CATEGORY_ID = cate.id
AND cate.DEL_FLAG = '0' AND cate.DEL_FLAG = '0'
LEFT JOIN (
SELECT
com.ID,
com.EVENT_ID,
com.CONTENT,
CASE
att.ATTITUDE_FLAG
WHEN '0' THEN
SUM( 1 )
END AS oppositionNum,
CASE
att.ATTITUDE_FLAG
WHEN '1' THEN
SUM( 1 )
END AS supportNum,
COUNT( att.ID ) AS attCount
FROM
epdc_event_comment com
LEFT JOIN epdc_event_comment_user_attitude att ON com.ID = att.EVENT_COMMENT_ID
AND att.DEL_FLAG = '0'
WHERE
com.DEL_FLAG = '0'
ORDER BY
attCount DESC
LIMIT 1
) hotCom ON issue.EVENT_ID = hotCom.EVENT_ID
WHERE WHERE
issue.DEL_FLAG = '0' issue.DEL_FLAG = '0'
AND (issue.ISSUE_STATE = 0 OR issue.ISSUE_STATE = 2) AND (issue.ISSUE_STATE = 0 OR issue.ISSUE_STATE = 2)

Loading…
Cancel
Save