فهرست منبع

作者:张哲
时间:2023/02/16
类型:优化
描述:里程碑(2)知识专辑点评模块管理端详情接口

ZizgZh 2 سال پیش
والد
کامیت
420b07fa03

+ 11 - 0
src/main/java/com/redxun/knowledge/album/controller/AlbumYelpController.java

@@ -5,6 +5,7 @@ import com.redxun.common.base.db.BaseService;
 import com.redxun.common.base.entity.JsonResult;
 import com.redxun.knowledge.album.entity.dao.AlbumYelp;
 import com.redxun.knowledge.album.entity.vo.AlbumYelpInfoVo;
+import com.redxun.knowledge.album.entity.vo.AlbumYelpListPcVo;
 import com.redxun.knowledge.album.service.AlbumYelpServiceImpl;
 import com.redxun.web.controller.BaseController;
 import io.swagger.annotations.Api;
@@ -16,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 @Slf4j
 @RestController
 @RequestMapping("/api-knowledge/album/yelp")
@@ -53,5 +56,13 @@ public class AlbumYelpController extends BaseController<AlbumYelp> {
         return jsonResult.setData(albumYelpInfo);
     }
 
+    @ApiOperation("根据知识专辑ID获取点评信息列表")
+    @GetMapping("list")
+    public JsonResult list(@RequestParam("albumId") String albumId){
+        JsonResult jsonResult = JsonResult.getSuccessResult("");
+        List<AlbumYelpListPcVo> albumYelpListPcVo = albumYelpService.listAll(albumId);
+        return jsonResult.setData(albumYelpListPcVo);
+    }
+
 }
 

+ 2 - 2
src/main/java/com/redxun/knowledge/album/entity/vo/AlbumYelpInfoVo.java

@@ -59,10 +59,10 @@ public class AlbumYelpInfoVo implements Serializable {
     private List<String> actionFlag;
 
     @ApiModelProperty("点评内容 如果审核的是评论,则返回对应的点评内容")
-    private AlbumYelpInfoVo albumYelpInfoVo;
+    private AlbumYelpInfoVo yelp;
 
     @ApiModelProperty("专辑基础信息")
-    private AlbumInfoDetailVo albumInfoDetailVo;
+    private AlbumInfoDetailVo ablum;
 
     @ApiModelProperty("审批流程")
     private List<AlbumApproveVo> flows;

+ 14 - 0
src/main/java/com/redxun/knowledge/album/entity/vo/AlbumYelpListPcVo.java

@@ -10,6 +10,7 @@ import org.springframework.format.annotation.DateTimeFormat;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 文件名: AlbumYelpInfoPcVo
@@ -57,4 +58,17 @@ public class AlbumYelpListPcVo implements Serializable {
 
     @ApiModelProperty("回复内容")
     private List<AlbumYelpListPcVo> replies;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        AlbumYelpListPcVo that = (AlbumYelpListPcVo) o;
+        return Objects.equals(pkId, that.pkId) && Objects.equals(state, that.state) && Objects.equals(createName, that.createName) && Objects.equals(createPhoto, that.createPhoto) && Objects.equals(content, that.content) && Objects.equals(createTime, that.createTime) && Objects.equals(replyCount, that.replyCount) && Objects.equals(replies, that.replies);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(pkId, state, createName, createPhoto, content, createTime, replyCount, replies);
+    }
 }

+ 9 - 0
src/main/java/com/redxun/knowledge/album/mapper/AlbumYelpMapper.java

@@ -6,6 +6,7 @@ import com.redxun.knowledge.album.entity.dao.AlbumYelp;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -29,4 +30,12 @@ public interface AlbumYelpMapper extends BaseDao<AlbumYelp> {
      * @return
      */
     IPage findAllYelpInfo(IPage page, @Param("params") Map<String, Object> params,@Param("w") Map<String, Object> order);
+
+    /**
+     * 管理端分页查询一级点评信息(最多返回两条回复)
+     * @param userId
+     * @return
+     */
+    List<AlbumYelp> findListAllYelpInfo(@Param("albumId")String albumId,@Param("userId") String userId);
+
 }

+ 24 - 2
src/main/java/com/redxun/knowledge/album/service/AlbumYelpServiceImpl.java

@@ -202,7 +202,7 @@ public class AlbumYelpServiceImpl extends SuperServiceImpl<AlbumYelpMapper, Albu
             albumYelpInfoVoParent.setCreatePhoto((String) userService.querySexAndPhoto(albumYelpParent.getCreateBy()).get("photo"));
             albumYelpInfoVoParent.setContent(albumYelpParent.getContent());
             albumYelpInfoVoParent.setCreateTime(albumYelpParent.getCreateTime());
-            albumYelpInfoVo.setAlbumYelpInfoVo(albumYelpInfoVoParent);
+            albumYelpInfoVo.setYelp(albumYelpInfoVoParent);
         }
         //专辑信息
         AlbumInfoDetailVo albumInfoDetailVo = new AlbumInfoDetailVo();
@@ -238,7 +238,7 @@ public class AlbumYelpServiceImpl extends SuperServiceImpl<AlbumYelpMapper, Albu
                 eq(AlbumYelp::getAlbumId, pkId).
                 eq(AlbumYelp::getState, 1));
         albumInfoDetailVo.setYelpTotal(countYelp);
-        albumYelpInfoVo.setAlbumInfoDetailVo(albumInfoDetailVo);
+        albumYelpInfoVo.setAblum(albumInfoDetailVo);
         //审核流程
         QueryWrapper<AlbumYelpApprove> queryWrapperApprove = new QueryWrapper<>();
         queryWrapperApprove.eq("YELP_ID", pkId);
@@ -268,4 +268,26 @@ public class AlbumYelpServiceImpl extends SuperServiceImpl<AlbumYelpMapper, Albu
         albumYelpInfoVo.setFlows(albumApproveVoList);
         return albumYelpInfoVo;
     }
+
+    /**
+     * 根据知识专辑ID获取点评信息列表
+     * @param albumId
+     * @return
+     */
+    public List<AlbumYelpListPcVo> listAll(String albumId) {
+        String userId = userService.queryLoginUser();
+        List<AlbumYelp> albumYelpList = albumYelpMapper.findListAllYelpInfo(albumId,userId);
+        List<AlbumYelpListPcVo> albumYelpListPcVoList = albumYelpList.parallelStream().map(albumYelp -> {
+            AlbumYelpListPcVo albumYelpListPcVo = new AlbumYelpListPcVo();
+            BeanUtils.copyProperties(albumYelp, albumYelpListPcVo);
+
+            return albumYelpListPcVo;
+        }).collect(Collectors.toList());
+        return albumYelpListPcVoList;
+    }
+
+    private List<AlbumYelpListPcVo> replies(AlbumYelp albumYelp){
+
+        return null;
+    }
 }

+ 11 - 0
src/main/resources/mapper/knowledge/album/AlbumYelpMapper.xml

@@ -58,6 +58,17 @@
         order by CREATE_TIME_
     </select>
 
+    <select id="findListAllYelpInfo" resultType="com.redxun.knowledge.album.entity.dao.AlbumYelp">
+        select
+        distinct PK_ID,ALBUM_ID,TYPE,CONTENT,YELP_ID,STATE,IS_DEL,COMPANY_ID_,CREATE_DEP_ID_,TENANT_ID_,CREATE_BY_,CREATE_TIME_,
+        UPDATE_BY_,UPDATE_TIME_,APPROVAL_STATE
+        from KM_ALBUM_YELP
+        <where>
+            (STATE = 1 or CREATE_BY_ = #{userId}) and ALBUM_ID = #{albumId} and TYPE = 1 and IS_DEL = 0
+        </where>
+        order by CREATE_TIME_
+    </select>
+
 
 </mapper>