Browse Source

作者:张哲
时间:2023/08/21
类型:开发
描述:全部用户上传的知识数量和专辑的点评数量

zizg 1 năm trước cách đây
mục cha
commit
da035e386f

+ 9 - 0
src/main/java/com/redxun/knowledge/analysis/controller/AnalysisCommonController.java

@@ -344,4 +344,13 @@ public class AnalysisCommonController {
         Map<String,Object> result = analysisCommonService.knowledgeSumAndYelpSumByLogin();
         return jsonResult.setData(result);
     }
+
+    @ApiOperation("展示员工知识上传数和专辑评论数列表")
+    @PostMapping("knowledgeSumAndYelpSumList")
+    public JsonPageResult knowledgeSumAndYelpSumList(@RequestBody QueryData queryData){
+        JsonPageResult jsonResult = JsonPageResult.getSuccess("");
+        IPage result = analysisCommonService.knowledgeSumAndYelpSumList(queryData);
+        jsonResult.setPageData(result);
+        return jsonResult;
+    }
 }

+ 26 - 0
src/main/java/com/redxun/knowledge/analysis/entity/vo/KnowledgeSumAndYelpSumListVo.java

@@ -0,0 +1,26 @@
+package com.redxun.knowledge.analysis.entity.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 文件名: KnowledgeSumAndYelpSumListVo
+ * 作者: zizg
+ * 时间: 2023/8/21
+ * 描述:
+ * 修改人:
+ * 修改时间:
+ * 修改内容:
+ */
+@Data
+public class KnowledgeSumAndYelpSumListVo implements Serializable {
+
+    private String userId;
+
+    private String userName;
+
+    private Integer knowledgeSum;
+
+    private Integer yelpSum;
+}

+ 8 - 0
src/main/java/com/redxun/knowledge/analysis/mapper/AnalysisCommonMapper.java

@@ -3,6 +3,7 @@ package com.redxun.knowledge.analysis.mapper;
 
 import com.redxun.knowledge.analysis.entity.dao.KnowledgeDao;
 import com.redxun.knowledge.analysis.entity.vo.KnowledgeCompanyVo;
+import com.redxun.knowledge.analysis.entity.vo.KnowledgeSumAndYelpSumListVo;
 import com.redxun.knowledge.analysis.entity.vo.SearchParticipleWordCloudVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -123,4 +124,11 @@ public interface AnalysisCommonMapper {
      * @return
      */
     Integer yelpSum(@Param("userId") String userId);
+
+    /**
+     * 展示员工知识上传数和专辑评论数列表
+     * @param sort
+     * @return
+     */
+    List<KnowledgeSumAndYelpSumListVo> knowledgeSumAndYelpSumList(@Param("sort") String sort);
 }

+ 16 - 0
src/main/java/com/redxun/knowledge/analysis/service/AnalysisCommonServiceImpl.java

@@ -437,4 +437,20 @@ public class AnalysisCommonServiceImpl {
         map.put("yelpSum",yelpSum);
         return map;
     }
+
+
+    /**
+     * 展示员工知识上传数和专辑评论数列表
+     * @param queryData
+     * @return
+     */
+    public IPage knowledgeSumAndYelpSumList(QueryData queryData) {
+        //获取排序规则
+        String sort = queryData.getSortField();
+        if (sort != null) {
+            sort = sort + queryData.getSortOrder();
+        }
+        List<KnowledgeSumAndYelpSumListVo> result = analysisCommonMapper.knowledgeSumAndYelpSumList(sort);
+        return PageListUtils.getPages(queryData.getPageNo(), queryData.getPageSize(), result);
+    }
 }

+ 31 - 0
src/main/resources/mapper/knowledge/analysis/AnalysisCommonMapper.xml

@@ -152,6 +152,37 @@
         </where>
     </select>
 
+    <select id="knowledgeSumAndYelpSumList" resultType="com.redxun.knowledge.analysis.entity.vo.KnowledgeSumAndYelpSumListVo">
+        select users.USER_ID_ as userId,FULLNAME_ as userName,NVL(info.knowledgeSum, 0) knowledgeSum,NVL(info.yelpSum, 0) yelpSum
+        from
+            (select createBy,knowledge.knowledgeSum,yelp.yelpSum
+             from (
+                   (select count(*) as knowledgeSum, CREATE_BY_ as createBy
+                    from KM_KNOWLEDGE
+                    where APPROVAL_STATUS = 5
+                    group by CREATE_BY_) knowledge
+                      full join
+                  (select count(*) as yelpSum, CREATE_BY_ as createBy
+                   from KM_ALBUM_YELP
+                   where APPROVAL_STATE = 5
+                   group by CREATE_BY_) yelp using (createBy))) info right join LEARNING_USER_DEV.OS_USER users on users.USER_ID_ = info.createBy
+        <if test="sort == null">
+            order by knowledgeSum desc
+        </if>
+        <if test="sort == 'knowledgeSumdesc'">
+            order by knowledgeSum desc
+        </if>
+        <if test="sort == 'knowledgeSumasc'">
+            order by knowledgeSum
+        </if>
+        <if test="sort == 'yelpSumdesc'">
+            order by yelpSum desc
+        </if>
+        <if test="sort == 'yelpSumasc'">
+            order by yelpSum
+        </if>
+    </select>
+
 
 </mapper>