From 22ccdae002553c739e8e718387fafc27df3ab913 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Wed, 7 Sep 2022 14:54:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E7=9F=A5=E8=AF=86=E5=BA=93-?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=9F=A5=E7=9C=8B=E8=AF=84=E8=AE=BA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=BC=80=E5=8F=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...oblemKnowledgeBaseCommentEOController.java | 5 +- ...IProblemKnowledgeBaseCommentEOService.java | 3 + ...blemKnowledgeBaseCommentEOServiceImpl.java | 45 ++++++++++++++ .../vo/ProblemKnowledgeBaseCommentVO.java | 62 +++++++++++++++++++ 4 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/vo/ProblemKnowledgeBaseCommentVO.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java index 761643473..d7c99950f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java @@ -11,6 +11,7 @@ import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseCommen import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.modules.problemKnowledgeBase.vo.ProblemKnowledgeBaseCommentVO; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; import org.springframework.beans.factory.annotation.Autowired; @@ -67,8 +68,8 @@ public class ProblemKnowledgeBaseCommentEOController extends JeroController> queryList(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO,HttpServletRequest req) { - List list = problemKnowledgeBaseCommentEOService.queryList(problemKnowledgeBaseCommentEO,req); + public Result> queryList(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO, HttpServletRequest req) { + List list = this.problemKnowledgeBaseCommentEOService.getInfoList(problemKnowledgeBaseCommentEO,req); return Result.OK(list); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java index d8933714c..066b6f2f6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java @@ -2,6 +2,7 @@ package com.jero.modules.problemKnowledgeBase.service; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCommentEO; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.problemKnowledgeBase.vo.ProblemKnowledgeBaseCommentVO; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -60,4 +61,6 @@ public interface IProblemKnowledgeBaseCommentEOService extends IService queryList(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO, HttpServletRequest req); + + List getInfoList(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO, HttpServletRequest req); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java index 51e63c3ed..7395b1b6c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java @@ -5,9 +5,20 @@ import com.jero.common.system.query.QueryGenerator; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCommentEO; import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseCommentEOMapper; import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseCommentEOService; +import com.jero.modules.problemKnowledgeBase.vo.ProblemKnowledgeBaseCommentVO; +import com.jero.modules.project.entity.ProblemKnowledgeBaseReplyEO; +import com.jero.modules.project.service.IProblemKnowledgeBaseReplyEOService; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.ArrayList; import java.util.List; import java.util.Date; +import java.util.stream.Collectors; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -24,6 +35,8 @@ import javax.servlet.http.HttpServletRequest; @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) public class ProblemKnowledgeBaseCommentEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseCommentEOService { + @Autowired + private IProblemKnowledgeBaseReplyEOService problemKnowledgeBaseReplyEOService; /** * 保存 * @@ -96,4 +109,36 @@ public class ProblemKnowledgeBaseCommentEOServiceImpl extends ServiceImpl result = this.list(queryWrapper); return result; } + + @Override + public List getInfoList(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO, HttpServletRequest req) { + List result = new ArrayList<>(); + List problemKnowledgeBaseCommentEOList = this.queryList(problemKnowledgeBaseCommentEO, req); + + if(CollectionUtils.isNotEmpty(problemKnowledgeBaseCommentEOList)){ + List commentIdList = problemKnowledgeBaseCommentEOList.stream().map(ProblemKnowledgeBaseCommentEO::getId).distinct().collect(Collectors.toList()); + QueryWrapper replyQueryWrapper = new QueryWrapper<>(); + replyQueryWrapper.lambda().in(ProblemKnowledgeBaseReplyEO::getCommentId,commentIdList); + List problemKnowledgeBaseReplyEOList = this.problemKnowledgeBaseReplyEOService.list(replyQueryWrapper); + + problemKnowledgeBaseCommentEOList.forEach(commentEO -> { + List commentVOList = new ArrayList<>(); + + problemKnowledgeBaseReplyEOList.forEach(replyEO -> { + if(StringUtils.equals(commentEO.getId(),replyEO.getCommentId())){ + ProblemKnowledgeBaseCommentVO commentVO = new ProblemKnowledgeBaseCommentVO(); + BeanUtils.copyProperties(replyEO, commentVO); + commentVO.setCommentContent(replyEO.getReplyContent()); + commentVOList.add(commentVO); + } + }); + + ProblemKnowledgeBaseCommentVO commentVO = new ProblemKnowledgeBaseCommentVO(); + BeanUtils.copyProperties(commentEO, commentVO); + commentVO.setProblemKnowledgeBaseCommentVOList(commentVOList); + result.add(commentVO); + }); + } + return result; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/vo/ProblemKnowledgeBaseCommentVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/vo/ProblemKnowledgeBaseCommentVO.java new file mode 100644 index 000000000..363cae8e4 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/vo/ProblemKnowledgeBaseCommentVO.java @@ -0,0 +1,62 @@ +package com.jero.modules.problemKnowledgeBase.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.List; + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="problem_knowledge_base_comment对象", description="问题知识库评论表") +public class ProblemKnowledgeBaseCommentVO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**问题知识库id*/ + @ApiModelProperty(value = "问题知识库id") + private java.lang.String problemKnowledgeBaseId; + + /**评论内容*/ + @ApiModelProperty(value = "评论内容") + private java.lang.String commentContent; + + /**评论用户id*/ + @ApiModelProperty(value = "评论用户id") + private java.lang.String commentUserId; + + private List problemKnowledgeBaseCommentVOList; +}