<?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="cn.timer.api.dao.disk.DiskFilesMapper">

    <!-- 可根据自己的需求,是否要使用 -->
    <resultMap type="cn.timer.api.bean.disk.DiskFiles" id="BaseResultMap">
        <id property="id" column="id"/>
        <result property="title" column="title"/>
        <result property="urlPath" column="url_path"/>
        <result property="diskPath" column="disk_path"/>
        <result property="fileSize" column="file_size"/>
        <result property="showSize" column="show_size"/>
        <result property="fileType" column="file_type"/>
        <result property="uploadIp" column="upload_ip"/>
        <result property="orgId" column="org_id"/>
        <result property="deleteFlag" column="delete_flag"/>
        <result property="createUserId" column="create_user_id"/>
        <result property="userName" column="user_name"/>
        <result property="updateUserId" column="update_user_id"/>
        <result property="createTime" column="create_time"/>
        <result property="updateTime" column="update_time"/>
    </resultMap>

    <select id="selectListByParam" resultType="cn.timer.api.bean.disk.DiskFiles">
        SELECT f.*,(SELECT url FROM disk_file_image WHERE f.file_type=type AND delete_flag = 0 LIMIT 1) url FROM `disk_files` f
        LEFT JOIN disk_catalogue_files cf ON f.id=cf.files_id  AND cf.id > 0
        WHERE f.delete_flag=0 AND cf.delete_flag = 0
        AND cf.catalogue_id=#{param.parentId}
        <if test="param.searchName != null and param.searchName != ''">
        AND f.title like CONCAT('%',#{param.searchName},'%')
        </if>
        ORDER BY f.create_time DESC
    </select>

    <select id="selectFileCount" resultType="cn.timer.api.dto.disk.DiskFileCatalogueDto">
        SELECT COALESCE(sum(df.file_size),0) as countSize FROM `disk_files`  df
        LEFT JOIN disk_catalogue_files dcf ON df.id = dcf.files_id
        LEFT JOIN disk_catalogue dc ON dc.id = dcf.catalogue_id
        WHERE  df.delete_flag=0
        <if test="type == 1">
           AND df.create_user_id = #{param.empNum}
        </if>
         AND df.org_id=#{param.orgCode}  AND dcf.delete_flag=0 AND dc.delete_flag=0 AND dc.type = #{type}
    </select>


    <update id="deleteDiskFile"  parameterType="java.util.List">
        update disk_catalogue_files set delete_flag = 1
        where id in
        <foreach item="item" index="index" collection="list" open="("
                 separator="," close=")">#{item}</foreach>
    </update>

</mapper>