<?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.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao">

  <resultMap id="FriendtalkPlusTemplateVo" type="com.i2sema.v2.friendtalk.plus.template.vo.FriendtalkPlusTemplateVo" />
  <resultMap id="FriendtalkPlusButtonsVo" type="com.i2sema.v2.friendtalk.plus.common.vo.FriendtalkPlusButtonsVo" />
  <resultMap id="FriendtalkPlusCouponVo" type="com.i2sema.v2.friendtalk.plus.common.vo.FriendtalkPlusCouponVo" />
  <resultMap id="FriendtalkPlusCarouselTailVo" type="com.i2sema.v2.friendtalk.plus.common.vo.FriendtalkPlusCarouselTailVo" />
  <resultMap id="FriendtalkPlusCarouselListVo" type="com.i2sema.v2.friendtalk.plus.common.vo.FriendtalkPlusCarouselListVo" />
  <resultMap id="FriendtalkPlusVideoVo" type="com.i2sema.v2.friendtalk.plus.common.vo.FriendtalkPlusVideoVo" />
  <resultMap id="FriendtalkPlusCommerceVo" type="com.i2sema.v2.friendtalk.plus.common.vo.FriendtalkPlusCommerceVo" />
  <resultMap id="FriendtalkPlusIntroVo" type="com.i2sema.v2.friendtalk.plus.common.vo.FriendtalkPlusIntroVo" />

  <sql id="templateSql">
    <if test="@org.springframework.util.StringUtils@hasText(name) == true">
      <![CDATA[ AND name like CONCAT('%', #{name}, '%') ]]>
    </if>
    <if test="@org.springframework.util.StringUtils@hasText(orgId)">
      <![CDATA[ AND org_id = #{orgId} ]]>
    </if>
  </sql>

  <select id="selectTemplateCount" parameterType="map" resultType="int">
    <![CDATA[
      /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.selectTemplateCount] 템플릿 cnt */
      SELECT COUNT(*) AS cnt
      FROM frn_pls_template
      WHERE use_yn = 'Y'
      AND message_type = #{type}
    ]]>
    <include refid="templateSql" />
  </select>

  <select id="selectFriendtalkPlusTemplateList" parameterType="map" resultType="map">
    <![CDATA[
      /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.selectFriendtalkPlusTemplateList] 템플릿 리스트 조회 */
      SELECT
        t.seq AS seq,
        t.message_type AS messageType,
        t.name AS name,
        t.created_date AS createdDate,
        t.mber_no AS mberNo,
        t.org_id AS orgId,
        t.use_yn AS useYn
      FROM frn_pls_template t
      WHERE t.use_yn = 'Y'
          AND t.message_type = #{type}
	]]>
    <include refid="templateSql" />
    <![CDATA[
	   ORDER BY seq DESC
	   LIMIT #{firstIndex}, #{recordCountPerPage}
    ]]>
  </select>

  <select id="selectFriendtalkPlusTemplate" parameterType="map" resultMap="FriendtalkPlusTemplateVo">
    <![CDATA[
      SELECT
        seq AS seq,
        header AS header,
        message_type AS messageType,
        created_date AS createdDate,
        mber_no AS mberNo,
        org_id AS orgId,
        use_yn AS useYn,
        name AS name
      FROM frn_pls_template
      WHERE seq = #{seq}
      AND use_yn = 'Y'
    ]]>
    <if test="@org.springframework.util.StringUtils@hasText(orgId)">
      <![CDATA[ AND org_id = #{orgId} ]]>
    </if>
  </select>

  <select id="deleteFriendtalkPlusTemplate" parameterType="map">
    <![CDATA[
      UPDATE frn_pls_template
      SET use_yn = 'N'
      WHERE seq = #{seq}
    ]]>
    <if test="@org.springframework.util.StringUtils@hasText(orgId)">
      <![CDATA[ AND org_id = #{orgId} ]]>
    </if>
  </select>

  <select id="selectTemplateWideItemList" parameterType="map" resultType="map">
    <![CDATA[
      SELECT
        wil.ordering AS ordering,
        wil.image_seq AS imageSeq,
        i.url AS imageUrl,
        i.name AS imageName,
        wil.title AS title,
        wil.link_mo AS linkMo,
        wil.link_pc AS linkPc,
        wil.scheme_android AS schemeAndroid,
        wil.scheme_ios AS schemeIos
      FROM frn_pls_template_wide_item_list wil
      LEFT OUTER JOIN frn_pls_image i ON wil.image_seq = i.seq
      WHERE template_seq = #{templateSeq}
    ]]>
  </select>

  <select id="selectTemplatePremiumVideo" parameterType="map" resultMap="FriendtalkPlusVideoVo">
    <![CDATA[
    SELECT
      pv.content AS content
      , pv.video_url AS videoUrl
      , pv.thumbnail_seq AS thumbnailSeq
      , i.url AS thumbnailUrl
      , i.name AS thumbnailName
    FROM frn_pls_template_premium_video pv
    LEFT OUTER JOIN frn_pls_image i ON pv.thumbnail_seq = i.seq
    WHERE template_seq = #{templateSeq}
    ]]>
  </select>

  <select id="selectTemplateButton" parameterType="map" resultType="map">
    <![CDATA[
      SELECT
        ordering AS ordering,
        type AS type,
        name AS name,
        link_mo AS linkMo,
        link_pc AS linkPc,
        scheme_ios AS schemeIos,
        scheme_android AS schemeAndroid
      FROM frn_pls_template_button
      WHERE template_seq = #{templateSeq}
    ]]>
  </select>

  <select id="selectTemplateCoupon" parameterType="map" resultMap="FriendtalkPlusCouponVo">
    <![CDATA[
      SELECT
        title AS title,
        link_mo AS linkMo,
        link_pc AS linkPc,
        description AS description,
        scheme_ios AS schemeIos,
        scheme_android AS schemeAndroid,
        type AS type,
        name AS name
      FROM frn_pls_template_coupon
      WHERE template_seq = #{templateSeq}
    ]]>
  </select>

  <insert id="insertFriendtalkPlusTemplate" useGeneratedKeys="true" keyProperty="seq" keyColumn="seq">
    <![CDATA[
      INSERT INTO frn_pls_template (
        header,
        message_type,
        mber_no,
        org_id,
        use_yn,
        name
      ) VALUES (
        #{header},
        #{messageType},
        #{mberNo},
        #{orgId},
        #{useYn},
        #{name}
      );
    ]]>
  </insert>

  <insert id="insertTemplatePremiumVideo">
    <![CDATA[
    INSERT INTO frn_pls_template_premium_video (
      template_seq
      , video_url
      , thumbnail_seq
      , content
    ) VALUES (
      #{tSeq}
      , #{videoUrl}
      , #{thumbnailSeq}
      , #{content}
    );
    ]]>
  </insert>

  <insert id="insertTemplateWideItemList">
    <![CDATA[
      INSERT INTO frn_pls_template_wide_item_list (
        template_seq,
        ordering,
        image_seq,
        title,
        link_mo,
        link_pc,
        scheme_android,
        scheme_ios
      ) VALUES (
        #{tSeq},
        #{ordering},
        #{imageSeq},
        #{title},
        #{linkMo},
        #{linkPc},
        #{schemeAndroid},
        #{schemeIos}
      );
    ]]>
  </insert>

  <insert id="insertTemplateWideItemListButton">
    <![CDATA[
      INSERT INTO frn_pls_template_button (
        template_seq,
        ordering,
        type,
        name,
        link_mo,
        link_pc,
        scheme_ios,
        scheme_android
      ) VALUES (
        #{tSeq},
        #{ordering},
        #{type},
        #{name},
        #{linkMo},
        #{linkPc},
        #{schemeIos},
        #{schemeAndroid}
      );
    ]]>
  </insert>

  <insert id="insertTempalteWideItemListCoupon">
    <![CDATA[
      INSERT INTO frn_pls_template_coupon (
        template_seq,
        title,
        description,
        link_mo,
        link_pc,
        scheme_android,
        scheme_ios,
        type,
        name
      ) VALUES (
        #{tSeq},
        #{title},
        #{description},
        #{linkMo},
        #{linkPc},
        #{schemeAndroid},
        #{schemeIos},
        #{type},
        #{name}
      );
    ]]>
  </insert>

  <select id="selectTemplateCarouselFeed" resultMap="FriendtalkPlusCarouselListVo">
    <![CDATA[
      SELECT
        c.seq AS seq,
        c.template_seq AS tSeq,
        c.ordering AS ordering,
        c.image_seq AS imageSeq,
        i.url AS imageUrl,
        c.image_link AS imageLink,
        c.header AS header,
        c.content AS content
      FROM frn_pls_template_carousel c
      LEFT OUTER JOIN frn_pls_image i ON c.image_seq = i.seq
      WHERE c.template_seq = #{templateSeq}
    ]]>
  </select>

  <select id="selectTemplateCarouselCommerce" resultMap="FriendtalkPlusCommerceVo">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.selectTemplateCarouselCommerce] 템플릿 캐러셀커머스 조회 */
      SELECT
        seq,
        template_seq as tSeq,
        image_seq AS imageSeq,
        image_link AS imageLink,
        ordering AS ordering,
        title AS title,
        regular_price as regularPrice,
        discount_price as discountPrice,
        discount_rate as discountRate,
        discount_fixed as discountFixed,
        additional_content as additionalContent
      FROM
        frn_pls_template_carousel_commerce
      WHERE
        template_seq = #{templateSeq}
    ]]>
  </select>

  <select id="selectTemplateCommerce" resultMap="FriendtalkPlusCommerceVo">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.selectTemplateCommerce] 템플릿 커머스 조회 */
    SELECT
      seq,
      template_seq as tSeq,
      image_seq AS imageSeq,
      image_link AS imageLink,
      ordering AS ordering,
      title AS title,
      regular_price as regularPrice,
      discount_price as discountPrice,
      discount_rate as discountRate,
      discount_fixed as discountFixed,
      additional_content as additionalContent
    FROM
      frn_pls_template_commerce
    WHERE
      template_seq = #{templateSeq}
    ]]>
  </select>

  <select id="selectTemplateCarouselTail" resultMap="FriendtalkPlusCarouselTailVo">
    <![CDATA[
      SELECT
        template_seq AS tSeq,
        link_mo AS linkMo,
        link_pc AS linkPc,
        scheme_ios AS schemeIos,
        scheme_android AS schemeAndroid
      FROM
        frn_pls_template_carousel_tail
      WHERE
        template_seq = #{templateSeq}
    ]]>
  </select>

  <select id="selectTemplateIntro" resultMap="FriendtalkPlusIntroVo">
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.selectTemplateIntro] 커머스 조회 */
     <![CDATA[
      SELECT
        seq,
        template_seq as templateSeq,
        header,
        content,
        image_seq as imageSeq,
        link_mo as linkMo,
        link_pc as linkPc,
        scheme_ios as schemeIos,
        scheme_android as schemeAndroid
      FROM
        frn_pls_template_intro
      WHERE
        template_seq = #{templateSeq}
      ]]>
  </select>

  <select id="selectTemplateCarouselButton" resultMap="FriendtalkPlusButtonsVo">
    <![CDATA[
      SELECT
        template_carousel_seq AS tSeq,
        ordering AS ordering,
        type AS type,
        name AS name,
        link_mo AS linkMo,
        link_pc AS linkPc,
        scheme_ios AS schemeIos,
        scheme_android AS schemeAndroid
      FROM frn_pls_template_carousel_button
      WHERE template_carousel_seq = #{templateCarouselSeq}
    ]]>
  </select>

  <select id="selectTemplateCarouselCommerceButton" resultMap="FriendtalkPlusButtonsVo">
    <![CDATA[
    SELECT
      template_carousel_commerce_seq AS tSeq,
      ordering AS ordering,
      type AS type,
      name AS name,
      link_mo AS linkMo,
      link_pc AS linkPc,
      scheme_ios AS schemeIos,
      scheme_android AS schemeAndroid
    FROM frn_pls_template_carousel_commerce_button
    WHERE template_carousel_commerce_seq = #{templateCarouselCommerceSeq}
    ]]>
  </select>

  <select id="selectTemplateCommerceButton" resultMap="FriendtalkPlusButtonsVo">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.selectTemplateCommerceButton] 템플릿 커머스 버튼 조회 */
    SELECT
      template_seq AS tSeq,
      ordering AS ordering,
      type AS type,
      name AS name,
      link_mo AS linkMo,
      link_pc AS linkPc,
      scheme_ios AS schemeIos,
      scheme_android AS schemeAndroid
    FROM frn_pls_template_button
    WHERE template_seq = #{templateSeq}
    ]]>
  </select>

  <select id="selectTemplateCarouselCoupon" resultMap="FriendtalkPlusCouponVo">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.selectTemplateCarouselCoupon] 템플릿 커머스 쿠폰 등록 */
      SELECT
        template_carousel_seq AS tSeq,
        title AS title,
        description AS description,
        link_mo AS linkMo,
        link_pc AS linkPc,
        scheme_ios AS schemeIos,
        scheme_android AS schemeAndroid,
        type AS type,
        name AS name
      FROM
        frn_pls_template_carousel_coupon
      WHERE
        template_carousel_seq = #{templateCarouselSeq}
    ]]>
  </select>

  <select id="selectTemplateCarouselCommerceCoupon" resultMap="FriendtalkPlusCouponVo">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.selectTemplateCarouselCommerceCoupon] 템플릿 캐러셀 커머스 쿠폰 등록 */
    SELECT
      template_carousel_commerce_seq AS tSeq,
      title AS title,
      description AS description,
      link_mo AS linkMo,
      link_pc AS linkPc,
      scheme_ios AS schemeIos,
      scheme_android AS schemeAndroid,
      type AS type,
      name AS name
    FROM
      frn_pls_template_carousel_commerce_coupon
    WHERE
      template_carousel_commerce_seq = #{templateCarouselCommerceSeq}
    ]]>
  </select>

  <select id="selectTemplateCommerceCoupon" resultMap="FriendtalkPlusCouponVo">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.selectTemplateCommerceCoupon] 템플릿 커머스 쿠폰 조회 */
    SELECT
      template_seq AS tSeq,
      title AS title,
      description AS description,
      link_mo AS linkMo,
      link_pc AS linkPc,
      scheme_ios AS schemeIos,
      scheme_android AS schemeAndroid,
      type AS type,
      name AS name
    FROM
      frn_pls_template_coupon
    WHERE
      template_seq = #{templateSeq}
    ]]>
  </select>

  <insert id="insertTemplateCarouselFeed" useGeneratedKeys="true" keyProperty="seq" keyColumn="seq">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.insertTemplateCarouselFeed] 템플릿 캐러셀 피드 등록 */
      INSERT INTO frn_pls_template_carousel (
        template_seq,
        ordering,
        image_seq,
        image_link,
        header,
        content
      ) VALUES (
        #{tSeq},
        #{ordering},
        #{imageSeq},
        #{imageLink},
        #{header},
        #{content}
      );
    ]]>
  </insert>

  <insert id="insertTemplateCarouselCommerce" useGeneratedKeys="true" keyProperty="seq" keyColumn="seq">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.insertTemplateCarouselCommerce] 템플릿 캐러셀 ㅌㅊ머스 등록 */
    INSERT INTO frn_pls_template_carousel_commerce (
        template_seq,
        image_seq,
        image_link,
        ordering,
        title,
        regular_price,
        discount_price,
        discount_rate,
        discount_fixed,
        additional_content
    ) VALUES (
     #{tSeq},
     #{attachment.image.imageSeq},
     #{attachment.image.imageLink},
     #{ordering},
     #{title},
     #{regularPrice},
     #{discountPrice},
     #{discountRate},
     #{discountFixed},
     #{additionalContent}
   );
    ]]>
  </insert>

  <insert id="insertTemplateCommerce" useGeneratedKeys="true" keyProperty="seq" keyColumn="seq">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.insertTemplateCommerce] 템플릿 커머스 등록 */
    INSERT INTO frn_pls_template_commerce (
      template_seq,
      image_seq,
      image_link,
      ordering,
      title,
      regular_price,
      discount_price,
      discount_rate,
      discount_fixed,
      additional_content
    ) VALUES (
       #{tSeq},
       #{attachment.image.imageSeq},
       #{attachment.image.imageLink},
       #{ordering},
       #{title},
       #{regularPrice},
       #{discountPrice},
       #{discountRate},
       #{discountFixed},
       #{additionalContent}
     );
    ]]>
  </insert>

  <insert id="insertTemplateCarouselTail">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.insertTemplateCarouselTail] 템플릿 더보기 등록 */
    INSERT INTO frn_pls_template_carousel_tail (
     template_seq,
     link_mo,
     link_pc,
     scheme_ios,
     scheme_android
    ) VALUES (
     #{tSeq},
     #{linkMo},
     #{linkPc},
     #{schemeIos},
     #{schemeAndroid}
   );
    ]]>
  </insert>

  <insert id="insertTemplateIntro">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.insertTemplateIntro] 템플릿 인트로 등록 */
    INSERT INTO frn_pls_template_intro (
      template_seq,
      header,
      content,
      image_seq,
      link_mo,
      link_pc,
      scheme_ios,
      scheme_android
    ) VALUES (
     #{tSeq},
     #{header},
     #{content},
     #{attachment.image.imageSeq},
     #{linkMo},
     #{linkPc},
     #{schemeIos},
     #{schemeAndroid}
     );
    ]]>
  </insert>

  <insert id="insertTemplateCarouselFeedButton">
    <![CDATA[
      INSERT INTO frn_pls_template_carousel_button (
        template_carousel_seq,
        ordering,
        type,
        name,
        link_mo,
        link_pc,
        scheme_ios,
        scheme_android
      ) VALUES (
        #{tSeq},
        #{ordering},
        #{type},
        #{name},
        #{linkMo},
        #{linkPc},
        #{schemeIos},
        #{schemeAndroid}
      );
    ]]>
  </insert>

  <insert id="insertTemplateCarouselCommerceButton">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.insertTemplateCarouselCommerceButton] 템플릿 캐러셀커머스 버튼 등록 */
    INSERT INTO frn_pls_template_carousel_commerce_button (
      template_carousel_commerce_seq,
      ordering,
      type,
      name,
      link_mo,
      link_pc,
      scheme_ios,
      scheme_android
    ) VALUES (
       #{tSeq},
       #{ordering},
       #{type},
       #{name},
       #{linkMo},
       #{linkPc},
       #{schemeIos},
       #{schemeAndroid}
    );
    ]]>
  </insert>

  <insert id="insertTemplateCommerceButton">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.insertTemplateCommerceButton] 템플릿 커머스 버튼 등록 */
    INSERT INTO frn_pls_template_button (
      template_seq,
      ordering,
      type,
      name,
      link_mo,
      link_pc,
      scheme_ios,
      scheme_android
    ) VALUES (
       #{tSeq},
       #{ordering},
       #{type},
       #{name},
       #{linkMo},
       #{linkPc},
       #{schemeIos},
       #{schemeAndroid}
     );
    ]]>
  </insert>

  <insert id="insertTemplateCarouselFeedCoupon">
    <![CDATA[
      INSERT INTO frn_pls_template_carousel_coupon (
        template_carousel_seq,
        title,
        description,
        link_mo,
        link_pc,
        scheme_android,
        scheme_ios,
        type,
        name
      ) VALUES (
        #{tSeq},
        #{title},
        #{description},
        #{linkMo},
        #{linkPc},
        #{schemeAndroid},
        #{schemeIos},
        #{type},
        #{name}
      );
    ]]>
  </insert>


  <insert id="insertTemplateCarouselCommerceCoupon">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.insertTemplateCarouselCommerceCoupon] 템플릿 캐러셀커머스 쿠폰*/
    INSERT INTO frn_pls_template_carousel_commerce_coupon (
      template_carousel_commerce_seq,
      title,
      description,
      link_mo,
      link_pc,
      scheme_android,
      scheme_ios,
      type,
      name
    ) VALUES (
       #{tSeq},
       #{title},
       #{description},
       #{linkMo},
       #{linkPc},
       #{schemeAndroid},
       #{schemeIos},
       #{type},
       #{name}
     );
    ]]>
  </insert>

  <insert id="insertTemplateCommerceCoupon">
    <![CDATA[
    /* [com.i2sema.v2.friendtalk.plus.template.dao.FriendtalkPlusTemplateDao.insertTemplateCommerceCoupon] 템플릿 커머스 쿠폰*/
    INSERT INTO frn_pls_template_coupon (
      template_seq,
      title,
      description,
      link_mo,
      link_pc,
      scheme_android,
      scheme_ios,
      type,
      name
    ) VALUES (
       #{tSeq},
       #{title},
       #{description},
       #{linkMo},
       #{linkPc},
       #{schemeAndroid},
       #{schemeIos},
       #{type},
       #{name}
     );
    ]]>
  </insert>

</mapper>
