ShowWorksMapper.xml 6.07 KB
<?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.show.mapper.ShowWorksMapper">

    <update id="updateSubmitWork">
        update show_works t set t.home_page = #{homePage},
        t.works = #{works},
        t.submit_status = '待审核',
        t.work_desc = #{workDesc},
        <if test="newStatus != null and newStatus != ''">
            t.new_status = #{newStatus},
        </if>
        t.submit_date = now()

        where t.id = #{id}
    </update>

    <select id="hotSpotWorks" resultType="com.show.vo.work.HotSpotWorksVO">
            SELECT
                t.id,
                t.title,
                t.home_page
            FROM
                show_works t
                left join member t2 on t.member_id = t2.id
            WHERE
                t.delete_date IS NULL
                AND t.hot_spot = '是'
                and t2.academy_id = #{academyId}
                and t.submit_status = '已通过'
                and t.show_status = '已发布'
            ORDER BY
                t.delete_date DESC
    </select>

    <select id="pageWorks" resultType="com.show.vo.work.PageWorksVO">
        SELECT
            distinct t.id,
            t.title,
            t.home_page,
            t2.alias_name,
            t.member_id,
            t2.image
        FROM
            show_works t
            LEFT JOIN member t2 ON t.member_id = t2.id
            LEFT JOIN show_work_labels t3 ON t.id = t3.work_id
        WHERE
            t.delete_date IS NULL
            and t3.delete_date is null
            AND t.submit_status = '已通过'
            <if test="labelId != null and labelId != ''">
                AND t3.label_id = #{labelId}
            </if>
            <if test="title != null and title != ''">
                AND t.title like concat('%',#{title} ,'%')
            </if>
            and t2.academy_id = #{academyId}
        ORDER BY
            t.submit_status DESC,t.create_date desc
    </select>

    <select id="oneWork" resultType="com.show.vo.work.OneWorkVO">
        SELECT
            t.id,
            t.title,
            t2.alias_name,
            t2.user_name,
            t.works,
            t.work_desc,
            t.submit_date,
            t.submit_status,
            t3.college,
            t4.major,
            t.home_page,
            t2.study_no,
            t.instance_id,
            t2.telephone,
            t5.class_name,
            t.member_id,
            t.view_cnt,
            t2.image
        FROM
            show_works t
            LEFT JOIN member t2 ON t.member_id = t2.id
            LEFT JOIN academy_college_dict t3 ON t2.college_id = t3.id
            LEFT JOIN academy_major_dict t4 ON t2.major_id = t4.id
            left join academy_class t5 on t2.class_id = t5.id
        WHERE
            t.delete_date IS NULL
            AND t.id = #{id}
    </select>

    <select id="workLabels" resultType="com.show.model.ShowLabelDictDO">
        SELECT
            t2.*
        FROM
            show_work_labels t
            LEFT JOIN show_label_dict t2 ON t.label_id = t2.id
        WHERE
            t.delete_date IS NULL
            AND t2.delete_date IS NULL
            AND t.work_id = #{workId}
    </select>

    <select id="memberWorks" resultType="com.show.vo.work.PageWorksVO">
        SELECT
            t.id,
            t.title,
            t.home_page,
            t2.alias_name
        FROM
            show_works t
            LEFT JOIN member t2 ON t.member_id = t2.id
        WHERE
            t.delete_date IS NULL
            AND t.submit_status = '已通过'
            AND t.member_id = #{memberId}
        ORDER BY
            t.create_date DESC
    </select>

    <select id="memberWorksWithoutPage" resultType="com.show.vo.work.PageWorksVO">
        SELECT
            t.id,
            t.title,
            t.home_page,
            t2.alias_name
        FROM
            show_works t
            LEFT JOIN member t2 ON t.member_id = t2.id
        WHERE
            t.delete_date IS NULL
            AND t.submit_status = '已通过'
            AND t.member_id = #{memberId}
        ORDER BY
            t.delete_date DESC
    </select>

    <select id="myWorks" resultType="com.show.vo.work.MyWorksVO">
        SELECT
            t.id,
            t.title,
            t.submit_status,
            t2.user_name,
            t2.alias_name,
            t.submit_date,
            t.view_cnt,
            t.show_status,
            t.work_desc,
            t.home_page,
            t.instance_id,
            t.works
        FROM
            show_works t
            LEFT JOIN member t2 ON t.member_id = t2.id
        WHERE
            t.delete_date IS NULL
            AND t.member_id = #{memberId}
            <if  test="submitStatus != null and submitStatus != ''">
                and t.submit_status = #{submitStatus}
            </if>
        ORDER BY
            t.create_date DESC
    </select>

    <select id="creators" resultType="com.show.vo.work.CreatorsVO">
        SELECT
            t.id,
            t2.alias_name,
            t3.college,
            t4.major,
            t2.image
        FROM
            (
            SELECT DISTINCT
                t2.id
            FROM
                show_works t
                LEFT JOIN member t2 ON t.member_id = t2.id
            WHERE
                t.delete_date IS NULL
                AND t2.delete_date IS NULL
                <if test="academyId != null and academyId != ''">
                    AND t2.academy_id = #{academyId}
                </if>
                <if test="aliasName != null and aliasName != ''">
                    AND t2.alias_name like concat('%',#{aliasName} ,'%')
                </if>
            ) t
            LEFT JOIN member t2 ON t.id = t2.id
            LEFT JOIN academy_college_dict t3 ON t2.college_id = t3.id
            LEFT JOIN academy_major_dict t4 ON t2.major_id = t4.id
        ORDER BY
        t2.active_date DESC
    </select>

    <select id="finishWork">
        update  show_works t set t.submit_status = '已结束' where t.id = #{id}
    </select>

</mapper>