Browse Source

Merge remote-tracking branch 'origin/dev_group_act_notice' into dev_group_act_notice

dev_shibei_match
yinzuomei 4 years ago
parent
commit
8b31d0acf7
  1. 2
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java
  2. 33
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/NoticeCommentListFormDTO.java
  3. 44
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/result/NoticeCommentListResultDTO.java
  4. 14
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/controller/NoticeCommentController.java
  5. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/dao/NoticeCommentDao.java
  6. 10
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/NoticeCommentService.java
  7. 63
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeCommentServiceImpl.java
  8. 15
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/notice/NoticeCommentDao.xml

2
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java

@ -1,6 +1,7 @@
package com.epmet.resi.group.dto.comment.result; package com.epmet.resi.group.dto.comment.result;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -40,6 +41,7 @@ public class ResiCommentResultDTO implements Serializable {
/** /**
* 用户Id 评论者Id * 用户Id 评论者Id
* */ * */
@JsonIgnore
private String userId; private String userId;
/** /**

33
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/NoticeCommentListFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.resi.group.dto.notice.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author sun
* @Description 通知评论列表查询-接口入参
*/
@Data
public class NoticeCommentListFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 通知Id
*/
@NotBlank(message = "通知Id不能为空",groups = {NoticeCommentListFormDTO.CommentList.class})
private String noticeId;
/**
* 请求页码
* */
@Min(1)
private int pageNo;
/**
* 每页多少条数据
* */
private int pageSize = 20;
public interface CommentList{}
}

44
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/result/NoticeCommentListResultDTO.java

@ -0,0 +1,44 @@
package com.epmet.resi.group.dto.notice.result;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Author sun
* @Description 通知评论列表查询-接口返参
*/
@Data
public class NoticeCommentListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 评论Id
* */
private String noticeCommentId;
/**
* 评论内容
* */
private String commentContent;
/**
* 评论者头像
* */
private String commentUserHeadPhoto;
/**
* 评论者姓名
* */
private String commentUserName;
/**
* 评论时间 yyyy-MM-dd HH:mm
* */
@JSONField(format="yyyy-MM-dd HH:mm")
private Date commentTime;
/**
* 用户Id 评论者Id
* */
private String userId;
}

14
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/controller/NoticeCommentController.java

@ -31,6 +31,8 @@ import com.epmet.modules.notice.excel.NoticeCommentExcel;
import com.epmet.modules.notice.service.NoticeCommentService; import com.epmet.modules.notice.service.NoticeCommentService;
import com.epmet.resi.group.dto.notice.NoticeCommentDTO; import com.epmet.resi.group.dto.notice.NoticeCommentDTO;
import com.epmet.resi.group.dto.notice.form.NoticeCommentFormDTO; import com.epmet.resi.group.dto.notice.form.NoticeCommentFormDTO;
import com.epmet.resi.group.dto.notice.form.NoticeCommentListFormDTO;
import com.epmet.resi.group.dto.notice.result.NoticeCommentListResultDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -107,4 +109,16 @@ public class NoticeCommentController {
return new Result(); return new Result();
} }
/**
* @param formDTO
* @return
* @Author sun
* @Description 通知评论列表查询
**/
@PostMapping(value = "noticecommentlist")
public Result<List<NoticeCommentListResultDTO>> noticeCommentList(@LoginUser TokenDto tokenDto, @RequestBody NoticeCommentListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, NoticeCommentListFormDTO.CommentList.class);
return new Result<List<NoticeCommentListResultDTO>>().ok(noticeCommentService.noticeCommentList(tokenDto, formDTO));
}
} }

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/dao/NoticeCommentDao.java

@ -19,8 +19,12 @@ package com.epmet.modules.notice.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.notice.entity.NoticeCommentEntity; import com.epmet.modules.notice.entity.NoticeCommentEntity;
import com.epmet.resi.group.dto.notice.form.NoticeCommentListFormDTO;
import com.epmet.resi.group.dto.notice.result.NoticeCommentListResultDTO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 小组通知评论表 * 小组通知评论表
* *
@ -29,5 +33,10 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface NoticeCommentDao extends BaseDao<NoticeCommentEntity> { public interface NoticeCommentDao extends BaseDao<NoticeCommentEntity> {
/**
* @Author sun
* @Description 分页查询通知评论列表
**/
List<NoticeCommentListResultDTO> getNoticeCommentList(NoticeCommentListFormDTO formDTO);
} }

10
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/NoticeCommentService.java

@ -23,6 +23,8 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.modules.notice.entity.NoticeCommentEntity; import com.epmet.modules.notice.entity.NoticeCommentEntity;
import com.epmet.resi.group.dto.notice.NoticeCommentDTO; import com.epmet.resi.group.dto.notice.NoticeCommentDTO;
import com.epmet.resi.group.dto.notice.form.NoticeCommentFormDTO; import com.epmet.resi.group.dto.notice.form.NoticeCommentFormDTO;
import com.epmet.resi.group.dto.notice.form.NoticeCommentListFormDTO;
import com.epmet.resi.group.dto.notice.result.NoticeCommentListResultDTO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -102,4 +104,12 @@ public interface NoticeCommentService extends BaseService<NoticeCommentEntity> {
* @Description 发布通知评论 * @Description 发布通知评论
**/ **/
void noticeComment(TokenDto tokenDto, NoticeCommentFormDTO formDTO); void noticeComment(TokenDto tokenDto, NoticeCommentFormDTO formDTO);
/**
* @param formDTO
* @return
* @Author sun
* @Description 通知评论列表查询
**/
List<NoticeCommentListResultDTO> noticeCommentList(TokenDto tokenDto, NoticeCommentListFormDTO formDTO);
} }

63
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeCommentServiceImpl.java

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
@ -31,22 +32,24 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.modules.member.service.ResiGroupMemberService; import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.notice.dao.NoticeCommentDao; import com.epmet.modules.notice.dao.NoticeCommentDao;
import com.epmet.modules.notice.entity.NoticeCommentEntity; import com.epmet.modules.notice.entity.NoticeCommentEntity;
import com.epmet.modules.notice.entity.NoticeEntity;
import com.epmet.modules.notice.redis.NoticeCommentRedis; import com.epmet.modules.notice.redis.NoticeCommentRedis;
import com.epmet.modules.notice.service.NoticeCommentService; import com.epmet.modules.notice.service.NoticeCommentService;
import com.epmet.modules.notice.service.NoticeService; import com.epmet.modules.notice.service.NoticeService;
import com.epmet.modules.topic.service.ResiTopicService;
import com.epmet.modules.utils.ModuleConstant; import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.constant.MemberStateConstant; import com.epmet.resi.group.constant.MemberStateConstant;
import com.epmet.resi.group.constant.TopicConstant; import com.epmet.resi.group.constant.TopicConstant;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.notice.NoticeCommentDTO; import com.epmet.resi.group.dto.notice.NoticeCommentDTO;
import com.epmet.resi.group.dto.notice.NoticeDTO; import com.epmet.resi.group.dto.notice.NoticeDTO;
import com.epmet.resi.group.dto.notice.form.NoticeCommentFormDTO; import com.epmet.resi.group.dto.notice.form.NoticeCommentFormDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.notice.form.NoticeCommentListFormDTO;
import com.epmet.resi.group.dto.notice.result.NoticeCommentListResultDTO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@ -55,10 +58,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
import java.util.Map;
import java.util.UUID;
/** /**
* 小组通知评论表 * 小组通知评论表
@ -71,14 +72,16 @@ public class NoticeCommentServiceImpl extends BaseServiceImpl<NoticeCommentDao,
private final Log logger = LogFactory.getLog(getClass()); private final Log logger = LogFactory.getLog(getClass());
@Autowired @Autowired
private NoticeCommentRedis noticeCommentRedis; private NoticeCommentRedis noticeCommentRedis;
@Autowired
private NoticeService noticeService;
@Autowired
private ResiGroupMemberService resiGroupMemberService;
@Value("${openapi.scan.server.url}") @Value("${openapi.scan.server.url}")
private String scanApiUrl; private String scanApiUrl;
@Value("${openapi.scan.method.textSyncScan}") @Value("${openapi.scan.method.textSyncScan}")
private String textSyncScanMethod; private String textSyncScanMethod;
@Autowired
private NoticeService noticeService;
@Autowired
private ResiGroupMemberService resiGroupMemberService;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override @Override
@ -196,4 +199,42 @@ public class NoticeCommentServiceImpl extends BaseServiceImpl<NoticeCommentDao,
insert(entity); insert(entity);
} }
/**
* @param formDTO
* @return
* @Author sun
* @Description 通知评论列表查询
**/
@Override
public List<NoticeCommentListResultDTO> noticeCommentList(TokenDto tokenDto, NoticeCommentListFormDTO formDTO) {
//1.分页查询通知评论列表
formDTO.setPageNo((formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize());
List<NoticeCommentListResultDTO> resultList = baseDao.getNoticeCommentList(formDTO);
if (resultList.size() < NumConstant.ONE) {
return new ArrayList<>();
}
//2.调用user服务,查询评论人员基础信息
List<String> userIdList = resultList.stream().map(NoticeCommentListResultDTO::getUserId).collect(Collectors.toList());
Result<List<UserBaseInfoResultDTO>> result = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList);
if (!result.success()) {
throw new RenException("调用user服务,获取用户基础数据失败");
}
List<UserBaseInfoResultDTO> resultDTOList = result.getData();
//3.封装数据并返回
resultList.forEach(l -> {
StringBuffer name = new StringBuffer();
resultDTOList.forEach(user -> {
if (l.getUserId().equals(user.getUserId())) {
name.append(null == user.getSurname() ? "" : user.getSurname()).append(null == user.getName() ? "" : user.getName());
l.setCommentUserHeadPhoto(user.getHeadImgUrl());
}
});
l.setCommentUserName(name.toString());
});
return resultList;
}
} }

15
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/notice/NoticeCommentDao.xml

@ -3,5 +3,20 @@
<mapper namespace="com.epmet.modules.notice.dao.NoticeCommentDao"> <mapper namespace="com.epmet.modules.notice.dao.NoticeCommentDao">
<select id="getNoticeCommentList" resultType="com.epmet.resi.group.dto.notice.result.NoticeCommentListResultDTO">
SELECT
id AS noticeCommentId,
comment_content AS commentContent,
created_time AS commentTime,
created_by AS userId
FROM
notice_comment
WHERE
del_flag = '0'
AND notice_id = #{noticeId}
ORDER BY
created_time DESC
LIMIT #{pageNo}, #{pageSize}
</select>
</mapper> </mapper>
Loading…
Cancel
Save