merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정

This commit is contained in:
jilee4unity
2026-05-28 23:34:06 +09:00
7250 changed files with 570509 additions and 25 deletions

View File

@@ -0,0 +1,122 @@
<?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.wb.domainserver.domain.admin.ntcn.atmcsndng.mapper.BOMaAtmcSndngMapper">
<!-- 자동 발송 관리 목록 -->
<select id="selectBOAtmcSndngManageListInqire"
parameterType="com.wb.domainserver.domain.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO"
resultType="dataMap">
<![CDATA[
SELECT *
FROM GC_MESSAGE_SNDNG SNDNG
JOIN (
SELECT GROUPCODE.CD_NM AS GROUP_CD_NM, CODE.GROUP_CD, CODE.CD, CODE.CD_NM
FROM (
SELECT CD, CD_NM, USE_AT
FROM GC_CODE
WHERE GROUP_CD LIKE 'FORM_DV%'
) GROUPCODE
JOIN GC_CODE CODE
ON REPLACE(CODE.GROUP_CD, #{formDvCd}, '') = GROUPCODE.CD
AND CODE.USE_AT = 'Y'
) CODE
ON CODE.GROUP_CD = SNDNG.FORM_DV_CD
AND CODE.CD = SNDNG.FORM_DTL_DV_CD
WHERE 1=1
]]>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
AND SNDNG.SOPMAL_CD = #{sopmalCd}
</if>
<![CDATA[
AND SNDNG.EXPSR_AT = 'Y'
AND SNDNG.MNGR_DV = #{mngrDv}
ORDER BY SNDNG.FORM_DV_CD, SNDNG.FORM_DTL_DV_CD
]]>
</select>
<!-- 자동 발송 관리 수정 -->
<update id="updateBOAtmcSndngManageUpdt"
parameterType="com.wb.domainserver.domain.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_MESSAGE_SNDNG
SET
USE_AT = #{dto.useAt}
, EMAIL_USE_AT = #{dto.emailUseAt}
, SMS_USE_AT = #{dto.smsUseAt}
, NTCNTALK_USE_AT = #{dto.ntcntalkUseAt}
, MARKT_AT = #{dto.marktAt}
, SNDNG_STDR_DE = #{dto.sndngStdrDe}
, SNDNG_STDR_TME = #{dto.sndngStdrTme}
, UPDUSR = #{dto.updusr}
, UPDT_DT = SYSDATE()
WHERE SOPMAL_CD = #{dto.sopmalCd}
AND FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- 이메일 템플릿 사용여부 수정 -->
<update id="updateBOEmailTmplatUseAt"
parameterType="com.wb.domainserver.domain.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_EMAIL_FORM
SET
USE_AT = #{dto.emailUseAt}
WHERE SOPMAL_CD = #{dto.sopmalCd}
AND FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- 메시지 템플릿 사용여부 수정 -->
<update id="updateBOMssageTmplatUseAt"
parameterType="com.wb.domainserver.domain.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_SMS_FORM
SET
USE_AT = #{dto.smsUseAt}
WHERE SOPMAL_CD = #{dto.sopmalCd}
AND FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- 알림톡 템플릿 사용여부 수정 -->
<update id="updateBOKakaoTmplatUseAt"
parameterType="com.wb.domainserver.domain.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_KAKAO_FORM
SET
USE_AT = #{dto.ntcntalkUseAt}
WHERE SOPMAL_CD = #{dto.sopmalCd}
AND FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- 자동발송 가능 시간 조회 -->
<select id="selectBOShopAtmcSndngTme">
SELECT
LEFT(SMS_ATMC_SNDNG_LMTT_BGNTME, 2) AS SMS_ATMC_SNDNG_LMTT_BGNTME
, LEFT(SMS_ATMC_SNDNG_LMTT_ENDTME, 2) AS SMS_ATMC_SNDNG_LMTT_ENDTME
FROM GC_SHOP
WHERE 1=1
AND SOPMAL_CD = #{sopmalCd}
</select>
<!-- 통합관리자 자동발송관리 쇼핑몰 조회 -->
<select id="selectBOSopmalAtmcSndng">
SELECT
GMS.SOPMAL_CD
, GS.SOPMAL_NM
FROM GC_MESSAGE_SNDNG GMS
INNER JOIN GC_SHOP GS
ON GMS.SOPMAL_CD = GS.SOPMAL_CD
GROUP BY SOPMAL_CD
</select>
</mapper>

View File

@@ -0,0 +1,177 @@
<?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.wb.domainserver.domain.admin.ntcn.email.mapper.BOMaEmailMapper">
<sql id="emailSndngDtlsListFrom">
<![CDATA[
FROM GC_EMAIL_LOG FEL
]]>
</sql>
<sql id="emailSndngDtlsListWhere">
<![CDATA[
WHERE 1=1
]]>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
<choose>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'SJ')">
<![CDATA[
AND FEL.SJ LIKE CONCAT('%',#{srchStr},'%')
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'sndEml')">
<![CDATA[
AND AES_DECRYPT(UNHEX(FEL.SNDER), #{secretKey}) LIKE CONCAT('%',#{srchStr},'%')
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'rcvEml')">
<![CDATA[
AND AES_DECRYPT(UNHEX(FEL.RCVER), #{secretKey}) LIKE CONCAT('%',#{srchStr},'%')
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(srchType)">
<![CDATA[
AND (
FEL.SJ LIKE CONCAT('%',#{srchStr},'%')
OR AES_DECRYPT(UNHEX(FEL.SNDER), #{secretKey}) LIKE CONCAT('%',#{srchStr},'%')
OR AES_DECRYPT(UNHEX(FEL.RCVER), #{secretKey}) LIKE CONCAT('%',#{srchStr},'%')
)
]]>
</when>
</choose>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchShop)">
<![CDATA[
AND FEL.SOPMAL_CD = #{srchShop}
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(atmcAt)">
<![CDATA[
AND FEL.ATMC_SNDNG_AT = #{atmcAt}
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND FEL.REGIST_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)">
<![CDATA[
AND FEL.REGIST_DT >= #{srchStrtSndngDt} ' 00:00:00'
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND DATE(FEL.REGIST_DT) <= #{srchEndSndngDt} ' 23:59:59'
]]>
</if>
<![CDATA[
ORDER BY FEL.REGIST_DT DESC
]]>
</sql>
<!-- 이메일 발송 내역 조회 -->
<select id="selectBOMaEmailSndngDtlsListInqire"
parameterType="com.wb.domainserver.domain.admin.ntcn.email.vo.BOMaEmailSrchVO"
resultType="dataMap">
<![CDATA[
SELECT *
FROM (
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
, TB.*
FROM (
SELECT FEL.EMAIL_LOG_INNB
, FEL.SJ
, CAST(AES_DECRYPT(UNHEX(FEL.SNDER) , #{secretKey}) AS CHAR(50)) AS EMAIL
, CAST(AES_DECRYPT(UNHEX(FEL.RCVER) , #{secretKey}) AS CHAR(50)) AS SNDNG_EMAIL
, FEL.STTUS AS STTUS
, FN_GET_SOPMAL_NAME(FEL.SOPMAL_CD) AS SOPMAL_NM
, DATE_FORMAT(FEL.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
]]>
<include refid="emailSndngDtlsListFrom"/>
<include refid="emailSndngDtlsListWhere"/>
<![CDATA[
) TB
WHERE (@rownum:=0)=0
) PV
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
]]>
</select>
<!-- 이메일 발송 내역 건수 조회 (통합관리자) -->
<select id="selectBOMaEmailSndngDtlsListTotCnt"
parameterType="com.wb.domainserver.domain.admin.ntcn.email.vo.BOMaEmailSrchVO"
resultType="java.lang.Integer">
<![CDATA[
SELECT COUNT(1)
]]>
<include refid="emailSndngDtlsListFrom"/>
<include refid="emailSndngDtlsListWhere"/>
</select>
<!-- 이메일 발송 상세 조회 (수신 정보) -->
<select id = "selectBOMaEmailSndngDtlInfo"
parameterType="com.wb.domainserver.domain.admin.ntcn.email.vo.BOMaEmailSrchVO"
resultType="dataMap">
<![CDATA[
SELECT CAST(AES_DECRYPT(UNHEX(FEL.SNDER) , #{secretKey}) AS CHAR(50)) AS SNDER
, DATE_FORMAT(FEL.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
, FEL.SJ
, FEL.CN
]]>
<include refid="emailSndngDtlsListFrom"/>
<![CDATA[
WHERE 1=1
AND FEL.EMAIL_LOG_INNB = #{emailLogInnb}
]]>
</select>
<!-- 이메일 발송로그 등록 -->
<insert id="insertBOMaEmailSndngLog"
parameterType="java.util.List"
useGeneratedKeys="true"
keyProperty="emailLogInnb">
INSERT INTO GC_EMAIL_LOG (
SOPMAL_CD
, MBR_INNB
, ATMC_SNDNG_AT
, SNDNG_CNT
, SNDER
, RCVER
, SJ
, CN
, EMAIL_SNDNG_FORM_INNB
, ORDR_INNB
, STTUS
, REGIST_DT
)
VALUES
<foreach collection="list" item="dto" separator=",">
(
#{dto.sopmalCd}
, #{dto.mbrInnb}
, #{dto.atmcSndngAt}
, #{dto.sndngCnt}
, HEX(AES_ENCRYPT(#{dto.snder}, #{dto.secretKey}))
, HEX(AES_ENCRYPT(#{dto.rcver}, #{dto.secretKey}))
, #{dto.sj}
, #{dto.cn}
, #{dto.emailSndngFormInnb}
, #{dto.ordrInnb}
, #{dto.sttus}
, SYSDATE()
)
</foreach>
</insert>
<!-- 이메일 로그 상태 수정 -->
<update id="updateEmailLog">
<foreach collection="list" item="dto" index="index" separator=",">
UPDATE
GC_EMAIL_LOG
SET
STTUS = #{dto.sttus}
WHERE 1=1
AND EMAIL_LOG_INNB = #{dto.emailLogInnb}
</foreach>
</update>
</mapper>

View File

@@ -0,0 +1,211 @@
<?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.wb.domainserver.domain.admin.ntcn.mssage.mapper.BOMaMssageMapper">
<!-- sms 발송 관리 목록 조회 FROM 절 -->
<sql id = "SmsSndngDtlsListFrom">
FROM GC_SMS_TO SMSTO
INNER JOIN GC_SMS SMS
ON SMSTO.SOPMAL_CD = SMS.SOPMAL_CD
AND SMSTO.SMS_INNB = SMS.SMS_INNB
</sql>
<!-- sms 발송 관리 목록 조회 WHERE 절 -->
<sql id = "SmsSndngDtlsListWhere">
WHERE 1=1
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsInnb)">
<![CDATA[
AND SMS.SMS_INNB = #{srchSmsInnb}
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsToInnb)">
<![CDATA[
AND SMSTO.SMS_TO_INNB = #{srchSmsToInnb}
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchRecptnNb)">
<![CDATA[
AND CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB), '1df5be2f7e90ae36') AS CHAR(50)) LIKE CONCAT('%', REPLACE(#{srchRecptnNb},'-',''), '%')
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSopmalCd)
and !@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchSopmalCd, 'ALL')">
<![CDATA[
AND SMS.SOPMAL_CD = #{srchSopmalCd}
AND SMSTO.SOPMAL_CD = #{srchSopmalCd}
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
<choose>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'cn')">
<![CDATA[
AND (
SMS.CN LIKE CONCAT('%', #{srchStr}, '%')
OR SMSTO.SUBST_DATA LIKE CONCAT('%', #{srchStr}, '%')
)
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'recpntNb')">
<![CDATA[
AND CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB), '1df5be2f7e90ae36') AS CHAR(50)) LIKE CONCAT('%', REPLACE(#{srchStr},'-',''), '%')
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'sndngNb')">
<![CDATA[
AND SMS.SNDNG_NB LIKE CONCAT('%', #{srchStr}, '%')
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'cstmrIdnb')">
<![CDATA[
AND SMSTO.CSTMR_IDNB LIKE CONCAT('%', #{srchStr}, '%')
]]>
</when>
</choose>
</if>
<!-- 발송일 -->
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'sndngDt')">
<choose>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND SMS.SNDNG_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
]]>
</when>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)">
<![CDATA[
AND SMS.SNDNG_DT >= #{srchStrtSndngDt} ' 00:00:00'
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND SMS.SNDNG_DT <= #{srchEndSndngDt} ' 00:00:00'
]]>
</when>
</choose>
</if>
<!-- 등록일 -->
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'registDt')">
<choose>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND SMS.REGIST_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
]]>
</when>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)">
<![CDATA[
AND SMS.REGIST_DT >= #{srchStrtSndngDt} ' 00:00:00'
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND SMS.REGIST_DT <= #{srchEndSndngDt} ' 00:00:00'
]]>
</when>
</choose>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchDv)">
<![CDATA[
AND SMSTO.DV IN
]]>
<foreach collection="srchDv" item="dv" open="(" separator="," close=")">
<![CDATA[
#{dv}
]]>
</foreach>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSttus)">
<![CDATA[
AND SMSTO.STTUS IN
]]>
<foreach collection="srchSttus" item="sttus" open="(" separator="," close=")">
<![CDATA[
#{sttus}
]]>
</foreach>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sndngNb)">
<![CDATA[
AND SMS.SNDNG_NB = #{sndngNb}
AND SMSTO.RECPTN_NB = REPLACE(#{recptnNb},'-','')
]]>
</if>
</sql>
<select id = "selectBOSmsSndngDtlsListInqire"
parameterType="com.wb.domainserver.domain.admin.ntcn.mssage.vo.BOMaMssageSrchVO"
resultType="dataMap">
<![CDATA[
SELECT
ROW_NUMBER() OVER (ORDER BY SMS.SNDNG_DT ASC) AS RNUM
, SMS.SNDNG_NB
, SMSTO.DV
, DATE_FORMAT(SMS.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
, DATE_FORMAT(SMS.SNDNG_DT ,'%Y-%m-%d %H:%i:%S')AS SNDNG_DT
, CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , #{secretKey}) AS CHAR(50)) AS RECPTN_NB
, SMS.HEAD
, SMS.CN
, SMS.TAIL
, SMS.SMS_INNB
, SMSTO.SMS_TO_INNB
, SMSTO.STTUS
, SMS.SUCCES_CNT
, SMS.FAILR_CNT
, SMS.CHR_STTUS
, SMS.SOPMAL_CD AS SOPMAL_CD
, SHOP.SOPMAL_NM
, SMSTO.SUBST_DATA
, SMSTO.RSLT_CD
]]>
<include refid="SmsSndngDtlsListFrom"/>
INNER JOIN GC_SHOP SHOP
ON SHOP.SOPMAL_CD = SMSTO.SOPMAL_CD
<include refid="SmsSndngDtlsListWhere"/>
<![CDATA[
ORDER BY ROW_NUMBER() OVER (ORDER BY SMS.SNDNG_DT ASC) DESC
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
]]>
</select>
<!--sms 발송 관리 건수 조회 -->
<select id = "selectBOSmsSndngDtlsListTotCnt"
parameterType="com.wb.domainserver.domain.admin.ntcn.mssage.vo.BOMaMssageSrchVO"
resultType="Integer">
SELECT
COUNT(1)
<include refid="SmsSndngDtlsListFrom"/>
<include refid="SmsSndngDtlsListWhere"/>
</select>
<!--sms 발송 관리 발신 목록 성공, 실패 건수 -->
<select id = "selectBOSmsSndngresultSttusCnt"
parameterType="com.wb.domainserver.domain.admin.ntcn.mssage.vo.BOMaMssageSrchVO"
resultType="dataMap">
SELECT
<!-- SMSTO.STTUS -->
COUNT(CASE WHEN SMSTO.STTUS = 'OK' THEN 1 END) AS OKCNT
, COUNT(CASE WHEN SMSTO.STTUS = 'FAIL' THEN 1 END) AS FAILCNT
<include refid="SmsSndngDtlsListFrom"/>
<include refid="SmsSndngDtlsListWhere"/>
</select>
<!--sms 발송 상세 조회 -->
<select id = "selectBOSmsSndngDtlInfo"
parameterType="com.wb.domainserver.domain.admin.ntcn.mssage.vo.BOMaMssageSrchVO"
resultType="dataMap">
SELECT
SMS.SNDNG_NB
, SMSTO.DV
, DATE_FORMAT(SMS.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
, DATE_FORMAT(SMS.SNDNG_DT ,'%Y-%m-%d %H:%i:%S')AS SNDNG_DT
, SMSTO.RSLT_CD
, CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , '1df5be2f7e90ae36') AS CHAR(50)) AS RECPTN_NB
, SMS.HEAD
, SMS.CN
, SMS.TAIL
, SMS.SMS_INNB
, SMSTO.SMS_TO_INNB
, SMSTO.STTUS
, SMS.SUCCES_CNT
, SMS.FAILR_CNT
, SMS.CHR_STTUS
, SMSTO.SUBST_DATA
<include refid="SmsSndngDtlsListFrom"/>
<include refid="SmsSndngDtlsListWhere"/>
</select>
</mapper>

View File

@@ -0,0 +1,33 @@
<?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.wb.domainserver.domain.admin.ntcn.stl.mapper.BOMaStlMssageMapper">
<!-- 매장 목록 조회 -->
<select id="selectBOMaStoreList"
resultType="dataMap">
SELECT
GS.STR_INNB
, GS.TENTCPN_ID
, GS.STR_OPER_DV
, CASE
WHEN GS.STR_INNB = 33 THEN '참다한홍삼 영등포점'
ELSE GS.TENTCPN_NM
END AS TENTCPN_NM
FROM GC_STORE GS
WHERE 1=1
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(strInnb)">
AND GS.STR_INNB = #{strInnb}
</if>
AND GS.TENTCPN_ID != 'base'
AND GS.MRHST_AT = 'Y'
AND GS.REPRSNT_MNGR_AT = 'Y'
ORDER BY GS.STR_INNB DESC
</select>
<!-- <select id="selectBOMaStlMssageList"-->
<!-- resultType="dataMap">-->
<!-- SELECT-->
<!-- *-->
<!-- FROM -->
<!-- </select>-->
</mapper>

View File

@@ -0,0 +1,481 @@
<?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.wb.domainserver.domain.admin.ntcn.tmplt.mapper.BOMaTmpltMapper">
<!-- 이메일 템플릿 조회 조건 -->
<sql id="tmpltEmailListInqireWhere">
<![CDATA[
WHERE 1 = 1
]]>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
<![CDATA[
AND SOPMAL_CD = #{sopmalCd}
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDvCd)">
<![CDATA[
AND FORM_DV_CD = #{formDvCd}
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDtlDvCd)">
<![CDATA[
AND FORM_DTL_DV_CD = #{formDtlDvCd}
]]>
</if>
</sql>
<!-- 메시지 템플릿 조회 조건 -->
<sql id="tmpltMssageListInqireWhere">
<![CDATA[
WHERE 1=1
]]>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
<![CDATA[
AND SOPMAL_CD = #{sopmalCd}
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDvCd)">
<![CDATA[
AND FORM_DV_CD = #{formDvCd}
]]>
</if>
</sql>
<!-- 알림톡 템플릿 조회 조건 -->
<sql id="tmpltNtcntalkListInqireWhere">
<![CDATA[
WHERE 1=1
]]>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
<![CDATA[
AND SOPMAL_CD = #{sopmalCd}
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDvCd)">
<![CDATA[
AND FORM_DV_CD = #{formDvCd}
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDtlDvCd)">
<![CDATA[
AND FORM_DTL_DV_CD = #{formDtlDvCd}
]]>
</if>
</sql>
<!-- 공통코드 -->
<!-- 그룹코드, 양식구분 조회 -->
<select id="selectBOTmplatGroupCd"
parameterType="java.lang.String"
resultType="dataMap">
<![CDATA[
SELECT *
FROM GC_CODE
WHERE 1 = 1
AND GROUP_CD LIKE #{param}
]]>
</select>
<!-- 이메일 자동발송 발신주소 조회 -->
<select id="selectBOEmailAtmcSndngDsptchAdres"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
resultType="String">
<![CDATA[
SELECT
EMAIL_ATMC_SNDNG_DSPTCH_ADRES
FROM GC_SHOP
WHERE SOPMAL_CD = #{sopmalCd}
]]>
</select>
<!-- 이메일 템플릿 -->
<!-- 이메일 템플릿 조회 -->
<select id="selectBOEmailAtmcSndngTmplatInqireForm"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
resultType="dataMap">
<![CDATA[
SELECT
EMAIL_SNDNG_FORM_INNB
, SOPMAL_CD
, FORM_DV_CD
, FORM_DTL_DV_CD
, EMAIL_SJ
FROM GC_EMAIL_FORM
]]>
<include refid = "tmpltEmailListInqireWhere"/>
<![CDATA[
ORDER BY FORM_DTL_DV_CD;
]]>
</select>
<!-- 이메일 템플릿 단건 조회 -->
<select id="selectBOEmailAtmcSndngTmplatOneInqireForm"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
resultType="dataMap">
<![CDATA[
SELECT
EMAIL_SNDNG_FORM_INNB
, SOPMAL_CD
, EMAIL_SJ
, EMAIL_CN
FROM GC_EMAIL_FORM
]]>
<include refid = "tmpltEmailListInqireWhere"/>
</select>
<!-- 이메일 템플릿 등록(사용안함) -->
<insert id="insertBOEmailTmplat"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
<selectKey order="BEFORE" keyProperty="//////////////" resultType="java.lang.Integer">
<![CDATA[
SELECT IFNULL(MAX(EMAIL_SNDNG_FORM_INNB), 0)+1
FROM GC_EMAIL_FORM
]]>
</selectKey>
INSERT INTO GC_EMAIL_FORM (
EMAIL_SNDNG_FORM_INNB
, SOPMAL_CD
, EMAIL_FORM_DV
, EMAIL_SJ
, EMAIL_CN
, USE_AT
, REGUSR
, REGIST_DT
, UPDUSR
, UPDT_DT
)
VALUES (
#{popupInnb}
, #{popupNm}
, #{popupExpsrBgnDt}
, #{popupExpsrEndDt}
, #{cnncUrl}
, #{popupMgWth}
, 'Y'
, #{regusr}
, NOW()
, #{updusr}
, NOW()
)
</insert>
<!-- 이메일 템플릿 수정 -->
<update id="updateBOEmailTmplat" parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
<![CDATA[
UPDATE GC_EMAIL_FORM
SET
EMAIL_SJ = #{emailSj}
, EMAIL_CN = #{emailCn}
, UPDUSR = #{updusr}
, UPDT_DT = SYSDATE()
]]>
<include refid = "tmpltEmailListInqireWhere"/>
</update>
<!-- 메시지 템플릿 -->
<!-- 메시지(SMS) 템플릿 조회 -->
<select id="selectBOMssageAtmcSndngTmplatInqireForm"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
resultType="dataMap">
<![CDATA[
SELECT
FORM.SMS_SNDNG_FORM_INNB
, FORM.FORM_DV_CD
, FORM.FORM_DTL_DV_CD
, CODE.CD_NM
, FORM.SMS_CN
, FORM.SOPMAL_CD
FROM GC_SMS_FORM FORM
JOIN GC_CODE CODE
ON FORM.FORM_DV_CD = CODE.GROUP_CD
AND FORM.FORM_DTL_DV_CD = CODE.CD
]]>
<include refid = "tmpltMssageListInqireWhere"/>
<![CDATA[
ORDER BY FORM_DTL_DV_CD;
]]>
</select>
<!-- 메시지 템플릿 등록(사용안함) -->
<insert id="insertBOMssageTmplat"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
<selectKey order="BEFORE" keyProperty="//////////////" resultType="java.lang.Integer">
<![CDATA[
SELECT IFNULL(MAX(SMS_SNDNG_FORM_INNB), 0)+1
FROM GC_SMS_FORM
]]>
</selectKey>
INSERT INTO GC_SMS_FORM (
SMS_SNDNG_FORM_INNB
, SOPMAL_CD
, FORM_DV
, SMS_CN
, USE_AT
, REGUSR
, REGIST_DT
, UPDUSR
, UPDT_DT
)
VALUES (
#{popupInnb}
, #{popupNm}
, #{popupExpsrBgnDt}
, #{popupExpsrEndDt}
, 'Y'
, #{regusr}
, SYSDATE()
, #{updusr}
, SYSDATE()
)
</insert>
<!-- 메시지 템플릿 수정 -->
<update id="updateBOMssageTmplat" parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_SMS_FORM
SET
SMS_CN = #{dto.smsCn}
, UPDUSR = #{dto.updusr}
, UPDT_DT = SYSDATE()
WHERE SOPMAL_CD = #{dto.sopmalCd}
AND FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- 알림톡 템플릿 조회 -->
<select id="selectBONtcntalkAtmcSndngTmplatInqireForm"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
resultType="dataMap">
<![CDATA[
SELECT
FORM.NTCNTALK_SNDNG_FORM_INNB
, FORM.FORM_DV_CD
, FORM.FORM_DTL_DV_CD
, CODE.CD_NM
, FORM.MSG
, FORM.SMS_RPLC_AT
, FORM.SMS_CN
FROM GC_KAKAO_FORM FORM
JOIN GC_CODE CODE
ON FORM.FORM_DV_CD = CODE.GROUP_CD
AND FORM.FORM_DTL_DV_CD = CODE.CD
]]>
<include refid = "tmpltNtcntalkListInqireWhere"/>
<![CDATA[
ORDER BY FORM_DTL_DV_CD;
]]>
</select>
<!-- 알림톡 템플릿 조회_팝업 -->
<select id="selectBONtcntalkAtmcSndngTmplatUpdtPopupForm"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
resultType="dataMap">
<![CDATA[
SELECT
CODE.CD_NM
, FORM.MSG
, FORM.BTN_TYPE_01
, FORM.BTN_NM_01
, FORM.BTN_01_URL_01
, FORM.BTN_01_URL_02
, FORM.BTN_TYPE_02
, FORM.BTN_NM_02
, FORM.BTN_02_URL_01
, FORM.BTN_02_URL_02
, FORM.BTN_TYPE_03
, FORM.BTN_NM_03
, FORM.BTN_03_URL_01
, FORM.BTN_03_URL_02
, FORM.BTN_TYPE_04
, FORM.BTN_NM_04
, FORM.BTN_04_URL_01
, FORM.BTN_04_URL_02
, FORM.BTN_TYPE_05
, FORM.BTN_NM_05
, FORM.BTN_05_URL_01
, FORM.BTN_05_URL_02
, FORM.SMS_RPLC_AT
, FORM.SMS_CN
FROM GC_KAKAO_FORM FORM
JOIN GC_CODE CODE
ON FORM.FORM_DV_CD = CODE.GROUP_CD
AND FORM.FORM_DTL_DV_CD = CODE.CD
]]>
<include refid = "tmpltNtcntalkListInqireWhere"/>
</select>
<!-- 알림톡 템플릿 등록(사용안함) -->
<insert id="insertBOKakaoForm"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
<selectKey order="BEFORE" keyProperty="//////////////" resultType="java.lang.Integer">
<![CDATA[
SELECT IFNULL(MAX(NTCNTALK_SNDNG_FORM_INNB), 0)+1
FROM GC_KAKAO_FORM
]]>
</selectKey>
INSERT INTO GC_KAKAO_FORM (
NTCNTALK_SNDNG_FORM_INNB
, SOPMAL_CD
, KAKAO_CD
, FORM_DV
, SMS_RPLC_AT
, SMS_RPLC_CN
, USE_AT
, REGUSR
, REGIST_DT
, UPDUSR
, UPDT_DT
)
VALUES (
#{popupInnb}
, #{popupNm}
, #{popupExpsrBgnDt}
, #{popupExpsrEndDt}
, 'Y'
, #{regusr}
, SYSDATE()
, #{updusr}
, SYSDATE()
)
</insert>
<!-- 알림톡 템플릿 등록_버튼(사용안함) -->
<insert id="insertBOKakaoFormButton"
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
<selectKey order="BEFORE" keyProperty="//////////////" resultType="java.lang.Integer">
<![CDATA[
SELECT IFNULL(MAX(NTCNTALK_SNDNG_FORM_INNB), 0)+1
FROM GC_KAKAO_FORM_BUTTON
]]>
</selectKey>
INSERT INTO GC_KAKAO_FORM_BUTTON (
NTCNTALK_SNDNG_FORM_INNB
, BUTTON_INNB
, BUTTON_NM
, BUTTON_URL
, USE_AT
, REGUSR
, REGIST_DT
, UPDUSR
, UPDT_DT
)
VALUES (
#{popupInnb}
, #{popupNm}
, #{popupExpsrBgnDt}
, #{popupExpsrEndDt}
, 'Y'
, #{regusr}
, SYSDATE()
, #{updusr}
, SYSDATE()
)
</insert>
<!-- 알림톡 템플릿 수정 -->
<update id="updateBOKakaoForm" parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_KAKAO_FORM
SET
MSG = #{dto.msg}
, SMS_CN = #{dto.smsCn}
, SMS_RPLC_AT = #{dto.smsRplcAt}
, UPDUSR = #{dto.updusr}
, UPDT_DT = SYSDATE()
WHERE FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- 알림톡 템플릿 수정_팝업 -->
<update id="updateBOKakaoFormPopup" parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
<![CDATA[
UPDATE GC_KAKAO_FORM
SET
MSG = #{msg}
, BTN_TYPE_01 = #{btnType01}
, BTN_NM_01 = #{btnNm01}
, BTN_01_URL_01 = #{btn01Url01}
, BTN_01_URL_02 = #{btn01Url02}
, BTN_TYPE_02 = #{btnType02}
, BTN_NM_02 = #{btnNm02}
, BTN_02_URL_01 = #{btn02Url01}
, BTN_02_URL_02 = #{btn02Url02}
, BTN_TYPE_03 = #{btnType03}
, BTN_NM_03 = #{btnNm03}
, BTN_03_URL_01 = #{btn03Url01}
, BTN_03_URL_02 = #{btn03Url02}
, BTN_TYPE_04 = #{btnType04}
, BTN_NM_04 = #{btnNm04}
, BTN_04_URL_01 = #{btn04Url01}
, BTN_04_URL_02 = #{btn04Url02}
, BTN_TYPE_05 = #{btnType05}
, BTN_NM_05 = #{btnNm05}
, BTN_05_URL_01 = #{btn05Url01}
, BTN_05_URL_02 = #{btn05Url02}
, SMS_RPLC_AT = #{smsRplcAt}
, SMS_CN = #{smsCn}
, UPDUSR = #{updusr}
, UPDT_DT = SYSDATE()
WHERE FORM_DV_CD = #{formDvCd}
AND FORM_DTL_DV_CD = #{formDtlDvCd}
AND SOPMAL_CD = #{sopmalCd}
]]>
</update>
<!-- 통합관리자 자동발송관리 쇼핑몰 조회 -->
<select id="selectBOSopmalAtmcSndng">
SELECT
GMS.SOPMAL_CD
, GS.SOPMAL_NM
FROM GC_MESSAGE_SNDNG GMS
INNER JOIN GC_SHOP GS
ON GMS.SOPMAL_CD = GS.SOPMAL_CD
GROUP BY SOPMAL_CD
</select>
<!-- 템플릿 사용 그룹 조회 -->
<select id="selectBOTmplatGroup"
resultType="dataMap">
<![CDATA[
SELECT
*
FROM GC_CODE GC
INNER JOIN (
SELECT
SUBSTRING_INDEX(GMS.FORM_DV_CD, '_', 2) AS GROUP_CD
, SUBSTRING_INDEX(GMS.FORM_DV_CD, '_', -1) AS CD
FROM GC_MESSAGE_SNDNG GMS
WHERE 1=1
AND GMS.EXPSR_AT = 'Y'
AND GMS.MNGR_DV = '02'
AND GMS.SOPMAL_CD = #{sopmalCd}
GROUP BY GMS.FORM_DV_CD
) TB
ON GC.GROUP_CD = TB.GROUP_CD
AND GC.CD = TB.CD
]]>
</select>
<!-- 템플릿 사용 그룹 폼 조회 -->
<select id="selectBOTmplatFormGroup"
resultType="dataMap">
<![CDATA[
SELECT
*
FROM GC_CODE GC
INNER JOIN GC_MESSAGE_SNDNG GMS
ON GC.GROUP_CD = GMS.FORM_DV_CD
AND GC.CD = GMS.FORM_DTL_DV_CD
WHERE 1=1
AND GMS.SOPMAL_CD = #{sopmalCd}
AND GMS.EXPSR_AT = 'Y'
AND GMS.MNGR_DV = '02'
]]>
</select>
</mapper>