|
@@ -0,0 +1,143 @@
|
|
|
|
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
|
|
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
|
+<mapper namespace="com.jeeplus.modules.WorkKnowledgeBase.dao.WorkKnowledgeBaseClickRecordDao">
|
|
|
|
|
+
|
|
|
|
|
+ <sql id="clickRecordColumns">
|
|
|
|
|
+ a.id AS "id",
|
|
|
|
|
+ a.file_id AS "fileId",
|
|
|
|
|
+ a.user_id AS "userId",
|
|
|
|
|
+ a.first_click_time AS "firstClickTime",
|
|
|
|
|
+ a.last_click_time AS "lastClickTime",
|
|
|
|
|
+ a.click_count AS "clickCount",
|
|
|
|
|
+ a.create_by AS "createBy.id",
|
|
|
|
|
+ a.create_date AS "createDate",
|
|
|
|
|
+ a.update_by AS "updateBy.id",
|
|
|
|
|
+ a.update_date AS "updateDate",
|
|
|
|
|
+ a.remarks AS "remarks",
|
|
|
|
|
+ a.del_flag AS "delFlag"
|
|
|
|
|
+ </sql>
|
|
|
|
|
+
|
|
|
|
|
+ <select id="get" resultType="com.jeeplus.modules.WorkKnowledgeBase.entity.WorkKnowledgeBaseClickRecord">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ <include refid="clickRecordColumns"/>
|
|
|
|
|
+ FROM work_knowledge_base_click_record a
|
|
|
|
|
+ WHERE a.id = #{id}
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <select id="findList" resultType="com.jeeplus.modules.WorkKnowledgeBase.entity.WorkKnowledgeBaseClickRecord">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ <include refid="clickRecordColumns"/>
|
|
|
|
|
+ FROM work_knowledge_base_click_record a
|
|
|
|
|
+ <where>
|
|
|
|
|
+ a.del_flag = '0'
|
|
|
|
|
+ <if test="fileId != null and fileId != ''">
|
|
|
|
|
+ AND a.file_id = #{fileId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="userId != null and userId != ''">
|
|
|
|
|
+ AND a.user_id = #{userId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ </where>
|
|
|
|
|
+ ORDER BY a.create_date DESC
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <insert id="insert">
|
|
|
|
|
+ INSERT INTO work_knowledge_base_click_record(
|
|
|
|
|
+ id,
|
|
|
|
|
+ file_id,
|
|
|
|
|
+ user_id,
|
|
|
|
|
+ first_click_time,
|
|
|
|
|
+ last_click_time,
|
|
|
|
|
+ click_count,
|
|
|
|
|
+ create_by,
|
|
|
|
|
+ create_date,
|
|
|
|
|
+ update_by,
|
|
|
|
|
+ update_date,
|
|
|
|
|
+ remarks,
|
|
|
|
|
+ del_flag
|
|
|
|
|
+ ) VALUES (
|
|
|
|
|
+ #{id},
|
|
|
|
|
+ #{fileId},
|
|
|
|
|
+ #{userId},
|
|
|
|
|
+ #{firstClickTime},
|
|
|
|
|
+ #{lastClickTime},
|
|
|
|
|
+ #{clickCount},
|
|
|
|
|
+ #{createBy.id},
|
|
|
|
|
+ #{createDate},
|
|
|
|
|
+ #{updateBy.id},
|
|
|
|
|
+ #{updateDate},
|
|
|
|
|
+ #{remarks},
|
|
|
|
|
+ #{delFlag}
|
|
|
|
|
+ )
|
|
|
|
|
+ </insert>
|
|
|
|
|
+
|
|
|
|
|
+ <update id="update">
|
|
|
|
|
+ UPDATE work_knowledge_base_click_record SET
|
|
|
|
|
+ last_click_time = #{lastClickTime},
|
|
|
|
|
+ click_count = #{clickCount},
|
|
|
|
|
+ update_by = #{updateBy.id},
|
|
|
|
|
+ update_date = #{updateDate},
|
|
|
|
|
+ remarks = #{remarks}
|
|
|
|
|
+ WHERE id = #{id}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <update id="delete">
|
|
|
|
|
+ UPDATE work_knowledge_base_click_record SET
|
|
|
|
|
+ del_flag = #{DEL_FLAG_DELETE}
|
|
|
|
|
+ WHERE id = #{id}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 根据文件ID和用户ID查询点击记录 -->
|
|
|
|
|
+ <select id="findByFileIdAndUserId" resultType="com.jeeplus.modules.WorkKnowledgeBase.entity.WorkKnowledgeBaseClickRecord">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ <include refid="clickRecordColumns"/>
|
|
|
|
|
+ FROM work_knowledge_base_click_record a
|
|
|
|
|
+ WHERE a.file_id = #{fileId}
|
|
|
|
|
+ AND a.user_id = #{userId}
|
|
|
|
|
+ AND a.del_flag = '0'
|
|
|
|
|
+ LIMIT 1
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 更新点击记录(增加点击次数,更新最近点击时间) -->
|
|
|
|
|
+ <update id="updateClickRecord">
|
|
|
|
|
+ UPDATE work_knowledge_base_click_record SET
|
|
|
|
|
+ last_click_time = #{lastClickTime},
|
|
|
|
|
+ click_count = #{clickCount},
|
|
|
|
|
+ update_by = #{updateBy.id},
|
|
|
|
|
+ update_date = #{updateDate}
|
|
|
|
|
+ WHERE id = #{id}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 统计文件的点击人数(去重用户数) -->
|
|
|
|
|
+ <select id="countClickersByFileId" resultType="java.lang.Integer">
|
|
|
|
|
+ SELECT COUNT(DISTINCT a.user_id)
|
|
|
|
|
+ FROM work_knowledge_base_click_record a
|
|
|
|
|
+ WHERE a.file_id = #{fileId}
|
|
|
|
|
+ AND a.del_flag = '0'
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 统计文件的总点击量(所有用户的点击次数之和) -->
|
|
|
|
|
+ <select id="countClicksByFileId" resultType="java.lang.Integer">
|
|
|
|
|
+ SELECT COALESCE(SUM(a.click_count), 0)
|
|
|
|
|
+ FROM work_knowledge_base_click_record a
|
|
|
|
|
+ WHERE a.file_id = #{fileId}
|
|
|
|
|
+ AND a.del_flag = '0'
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 查询文件的点击详情列表(分页) -->
|
|
|
|
|
+ <select id="findClickDetailPage" resultType="com.jeeplus.modules.WorkKnowledgeBase.entity.WorkKnowledgeBaseClickRecord">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ a.id AS "id",
|
|
|
|
|
+ a.file_id AS "fileId",
|
|
|
|
|
+ a.user_id AS "userId",
|
|
|
|
|
+ u.name AS "user.name",
|
|
|
|
|
+ a.first_click_time AS "firstClickTime",
|
|
|
|
|
+ a.last_click_time AS "lastClickTime",
|
|
|
|
|
+ a.click_count AS "clickCount"
|
|
|
|
|
+ FROM work_knowledge_base_click_record a
|
|
|
|
|
+ LEFT JOIN sys_user u ON u.id = a.user_id
|
|
|
|
|
+ WHERE a.file_id = #{fileId}
|
|
|
|
|
+ AND a.del_flag = '0'
|
|
|
|
|
+ ORDER BY a.click_count DESC, a.last_click_time DESC
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+</mapper>
|