share-platform/renren-admin/src/main/resources/mapper/resourceBrowse/ResourceBrowseDao.xml

102 lines
4.0 KiB
XML

<?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="io.renren.modules.resourceBrowse.dao.ResourceBrowseDao">
<resultMap type="io.renren.modules.resourceBrowse.entity.ResourceBrowseEntity" id="resourceBrowseMap">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="resourceId" column="resource_id"/>
<result property="state" column="state"/>
<result property="creator" column="creator"/>
<result property="createDate" column="create_date"/>
<result property="updater" column="updater"/>
<result property="updateDate" column="update_date"/>
<result property="note1" column="note1"/>
<result property="note2" column="note2"/>
<result property="note3" column="note3"/>
</resultMap>
<select id="selectDayAvg" resultType="java.lang.Long">
SELECT IFNULL(COUNT(id), 0) / ${days}
FROM tb_resource_browse
WHERE 1 = 1
AND state = 0
</select>
<select id="selectDayMax" resultType="java.lang.Integer">
SELECT IFNULL(MAX(count), 0)
FROM
(SELECT
COUNT( id ) AS "count"
FROM
tb_resource_browse
WHERE
1 = 1
AND state = 0
GROUP BY
SUBSTR(create_date, 1, 10)) temp
</select>
<select id="selectDayList" resultType="java.util.Map">
SELECT
SUBSTR(create_date, 1, 10) AS "date",
COUNT( id ) AS "count"
FROM
tb_resource_browse
WHERE
1 = 1
AND state = 0
AND SUBSTR(create_date, 1, 10) BETWEEN #{startDate} AND #{endDate}
GROUP BY
SUBSTR(create_date, 1, 10)
</select>
<select id="selectResourceBrowseByTypeAndUser" parameterType="java.util.Map"
resultType="io.renren.modules.resourceBrowse.dto.ResourceBrowseDTO">
SELECT a.*, c.attr_value FROM tb_resource_browse a INNER JOIN tb_data_resource b ON a.resource_id = b.id
LEFT JOIN tb_data_attr c ON b.id = c.data_resource_id
WHERE a.state = 0
AND c.del_flag = 0
AND c.attr_type = '组件类型'
<if test="params.type != null and params.type != ''">
<choose>
<when test="params.type == '应用资源' or params.type == '知识库'">
AND b.type = #{params.type}
</when>
<otherwise>
AND c.attr_value = #{params.type}
</otherwise>
</choose>
</if>
<if test="params.name != null and params.name != ''">
AND (b.name LIKE(CONCAT('%',CONCAT(trim(#{params.name}),'%'))) OR b.type
LIKE(CONCAT('%',CONCAT(trim(#{params.name}),'%'))) OR b.description
LIKE(CONCAT('%',CONCAT(trim(#{params.name}),'%'))))
</if>
AND b.del_flag = 0
<choose>
<when test="params.orderField != null and params.orderField != null and params.order != null and params.order != ''">
ORDER BY ${params.orderField} ${params.order}
</when>
<otherwise>
ORDER BY create_date desc
</otherwise>
</choose>
LIMIT ${params.pageNum}, ${params.pageSize}
</select>
<select id="resourceBrowseDTOCount" parameterType="java.util.Map" resultType="java.lang.Integer">
SELECT COUNT(a.id) AS total FROM tb_resource_browse a INNER JOIN tb_data_resource b ON a.resource_id = b.id
WHERE a.state = 0
<if test="params.type != null and params.type != ''">
AND b.type = #{params.type}
</if>
<if test="params.name != null and params.name != ''">
AND (b.name LIKE(CONCAT('%',CONCAT(trim(#{params.name}),'%'))) OR b.type
LIKE(CONCAT('%',CONCAT(trim(#{params.name}),'%'))) OR b.description
LIKE(CONCAT('%',CONCAT(trim(#{params.name}),'%'))))
</if>
AND b.del_flag = 0
</select>
</mapper>