<?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.coupon.dao.FriendtalkPlusCouponDao">

  <select id="selectCouponCount" parameterType="map" resultType="int">
    <![CDATA[
      SELECT COUNT(*) AS cnt
      FROM frn_pls_coupon
      WHERE use_yn = 'Y'
    ]]>
    <if test="@org.springframework.util.StringUtils@hasText(name) == true">
      <![CDATA[ AND name like CONCAT('%', #{name}, '%') ]]>
    </if>
    <if test="@org.springframework.util.StringUtils@hasText(type)">
      <![CDATA[ AND type = #{type} ]]>
    </if>
    <if test="@org.springframework.util.StringUtils@hasText(orgId)">
      <![CDATA[ AND org_id = #{orgId} ]]>
    </if>
  </select>

  <select id="selectCouponList" parameterType="map" resultType="map">
    <![CDATA[
      SELECT *
      FROM (
        SELECT cpn.seq AS seq,
               cpn.title AS title,
               cpn.description AS description,
               cpn.link_mo AS linkMo,
               cpn.link_pc AS linkPc,
               cpn.scheme_ios AS schemeIos,
               cpn.scheme_android AS schemeAndroid,
               cpn.type AS type,
               cpn.name AS name
        FROM frn_pls_coupon cpn
        LEFT OUTER JOIN sns_common_code cd ON cd.up_cd = 'FT_PLUS_COUPON' AND cpn.type = cd.cd
        WHERE cpn.use_yn = 'Y'
          AND cd.use_yn = 'Y'
      ]]>
    <if test="@org.springframework.util.StringUtils@hasText(name)">
      <![CDATA[ AND cpn.name like CONCAT('%', #{name}, '%') ]]>
    </if>
    <if test="@org.springframework.util.StringUtils@hasText(type)">
      <![CDATA[ AND cpn.type = #{type} ]]>
    </if>
    <if test="@org.springframework.util.StringUtils@hasText(orgId)">
      <![CDATA[ AND cpn.org_id = #{orgId} ]]>
    </if>
    <![CDATA[
      ) i
      ORDER BY seq DESC
      LIMIT #{firstIndex}, #{recordCountPerPage}
    ]]>
  </select>

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

  <select id="selectCouponType" parameterType="string" resultType="map">
    SELECT add_cd_nm
    FROM sns_common_code
    WHERE up_cd = 'FT_PLUS_COUPON'
      AND use_yn = 'Y'
      AND cd = #{type}
  </select>

  <insert id="insertFriendtalkPlusCoupon" parameterType="map" useGeneratedKeys="true" keyProperty="seq" keyColumn="seq">
    INSERT INTO frn_pls_coupon (
      title,
      description,
      link_mo,
      link_pc,
      scheme_ios,
      scheme_android,
      type,
      org_id,
      created_id,
      name,
      use_yn
    ) VALUES (
      #{title},
      #{description},
      #{linkMo},
      #{linkPc},
      #{schemeIos},
      #{schemeAndroid},
      #{type},
      #{orgId},
      #{createdId},
      #{name},
      'Y'
    );
  </insert>
</mapper>
