|
|
@@ -0,0 +1,251 @@
|
|
|
+<?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.style24.admin.biz.dao.TsaCounselDao">
|
|
|
+
|
|
|
+ <!-- 1:1문의 목록 -->
|
|
|
+ <select id="getOneToOneQnaList" parameterType="Counsel" resultType="Counsel">
|
|
|
+ /* TsaCounsel.getOneToOneQnaList */
|
|
|
+ SELECT A.COUNSEL_SQ /*상담일련번호*/
|
|
|
+ , A.SITE_CD /*사이트코드*/
|
|
|
+ , FN_GET_CODE_NM('G059',A.COUNSEL_CLSF) AS COUNSEL_CLSF_NM /*상담분류명*/
|
|
|
+ , FN_GET_CODE_NM(A.COUNSEL_CLSF,A.COUNSEL_DCLSF) AS COUNSEL_DCLSF_NM /*상담상세분류명*/
|
|
|
+ , A.COUNSEL_DCLSF /*상담상세분류*/
|
|
|
+ , DATE_FORMAT(A.QUEST_DT,'%Y%m%d%H%i%S') AS QUEST_DT /*문의일시*/
|
|
|
+ , A.QUEST_TITLE /*문의제목*/
|
|
|
+ , A.CUST_NO /*고객번호*/
|
|
|
+ , B.CUST_ID /*고객ID*/
|
|
|
+ , B.CUST_NM /*고객명*/
|
|
|
+ , A.CELL_PHNNO /*휴대전화번호*/
|
|
|
+ , A.EMAIL /*이메일*/
|
|
|
+ , A.EMAIL_REQ_YN /*이메일요청여부*/
|
|
|
+ , A.EMAIL_SEND_YN /*이메일발송여부*/
|
|
|
+ , A.ANS_STAT /*답변상태*/
|
|
|
+ , DATE_FORMAT(A.ANS_DT, '%Y%m%d%H%i%S') AS ANS_DT /*답변일시*/
|
|
|
+ , A.ANS_NO /*답변자번호*/
|
|
|
+ , D.USER_NM AS ANS_NM /*답변자명*/
|
|
|
+ FROM TB_COUNSEL A
|
|
|
+ INNER JOIN TB_CUSTOMER B ON A.CUST_NO = B.CUST_NO
|
|
|
+ LEFT OUTER JOIN TB_USER D ON A.ANS_NO = D.USER_NO
|
|
|
+ WHERE COUNSEL_TYPE = 'C' /*상담유형(1:1문의)*/
|
|
|
+ <if test="siteCd != null and siteCd != ''">
|
|
|
+ AND A.SITE_CD = #{siteCd}
|
|
|
+ </if>
|
|
|
+ <if test="counselClsf != null and counselClsf != ''">
|
|
|
+ AND A.COUNSEL_CLSF = #{counselClsf}
|
|
|
+ </if>
|
|
|
+ <if test="counselDclsf != null and counselDclsf != ''">
|
|
|
+ AND A.COUNSEL_DCLSF = #{counselDclsf}
|
|
|
+ </if>
|
|
|
+ <if test="ansNo != null and ansNo != ''">
|
|
|
+ AND A.ANS_NO = #{ansNo}
|
|
|
+ </if>
|
|
|
+ <if test="delYn != null and delYn != ''">
|
|
|
+ AND A.DEL_YN = #{delYn}
|
|
|
+ </if>
|
|
|
+ <if test="condition != null and condition != ''">
|
|
|
+ <if test="custGb == 'custId'">
|
|
|
+ AND B.CUST_ID LIKE #{condition}||'%'
|
|
|
+ </if>
|
|
|
+ <if test="custGb == 'custNm'">
|
|
|
+ AND B.CUST_NM LIKE #{condition}||'%'
|
|
|
+ </if>
|
|
|
+ <if test="custGb == 'email'">
|
|
|
+ AND A.EMAIL LIKE #{condition}||'%'
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test="termStdt != null and termStdt != ''">
|
|
|
+ AND A.QUEST_DT <![CDATA[>=]]> STR_TO_DATE(#{termStdt},'%Y-%m-%d')
|
|
|
+ </if>
|
|
|
+ <if test="termEddt != null and termEddt != ''">
|
|
|
+ AND A.QUEST_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{termEddt},'%Y-%m-%d'),INTERVAL 1 DAY)
|
|
|
+ </if>
|
|
|
+ <if test="ansStat != null and ansStat != ''">
|
|
|
+ AND A.ANS_STAT = #{ansStat}
|
|
|
+ </if>
|
|
|
+ ORDER BY A.QUEST_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 1:1문의 상세 -->
|
|
|
+ <select id="getOneToOneQna" parameterType="Counsel" resultType="Counsel">
|
|
|
+ /* TsaCounsel.getOneToOneQna */
|
|
|
+ SELECT A.COUNSEL_SQ /*상담일련번호*/
|
|
|
+ , FN_GET_CODE_NM('G000',A.SITE_CD) AS SITE_NM /*사이트명*/
|
|
|
+ , FN_GET_CODE_NM('G059',A.COUNSEL_CLSF) AS COUNSEL_CLSF_NM /*상담분류명*/
|
|
|
+ , FN_GET_CODE_NM(A.COUNSEL_CLSF,A.COUNSEL_DCLSF) AS COUNSEL_DCLSF_NM /*상담분류상세명*/
|
|
|
+ , A.CUST_NO /*고객번호*/
|
|
|
+ , B.CUST_ID /*고객ID*/
|
|
|
+ , B.CUST_NM /*고객명*/
|
|
|
+ , A.CELL_PHNNO /*휴대전화번호*/
|
|
|
+ , A.EMAIL /*이메일*/
|
|
|
+ , A.EMAIL_REQ_YN /*이메일요청여부*/
|
|
|
+ , A.EMAIL_SEND_YN /*이메일발송여부*/
|
|
|
+ , A.REL_GOODS_CD /*관련상품코드*/
|
|
|
+ , G.GOODS_NM /*상품명*/
|
|
|
+ , DATE_FORMAT(A.QUEST_DT,'%Y-%m-%d %H:%i:%S') AS QUEST_DT /*문의일시*/
|
|
|
+ , A.ANS_NO /*답변자번호*/
|
|
|
+ , C.USER_NM AS ANS_NM /*답변자명*/
|
|
|
+ , DATE_FORMAT(A.ANS_DT,'%Y-%m-%d %H:%i:%S') AS ANS_DT /*답변일시*/
|
|
|
+ , A.QUEST_TITLE /*질문제목*/
|
|
|
+ , A.QUEST_CONTENT /*질문내용*/
|
|
|
+ , A.ANS_TITLE /*답변제목*/
|
|
|
+ , A.ANS_CONTENT /*답변내용*/
|
|
|
+ , A.ORG_FILE_NM1 /*원본파일명1*/
|
|
|
+ , A.ORG_FILE_NM2 /*원본파일명2*/
|
|
|
+ , A.SYS_FILE_NM1 /*시스템파일명1*/
|
|
|
+ , A.SYS_FILE_NM2 /*시스템파일명2*/
|
|
|
+ , A.ANS_STAT /*답변상태코드*/
|
|
|
+ , FN_GET_CODE_NM('G060',A.ANS_STAT) AS ANS_STAT_NM /*답변상태명*/
|
|
|
+ FROM TB_COUNSEL A
|
|
|
+ INNER JOIN TB_CUSTOMER B ON A.CUST_NO = B.CUST_NO
|
|
|
+ LEFT OUTER JOIN TB_GOODS G ON A.REL_GOODS_CD = G.GOODS_CD
|
|
|
+ LEFT OUTER JOIN TB_USER C ON A.ANS_NO = C.USER_NO
|
|
|
+ WHERE A.COUNSEL_SQ = #{counselSq}
|
|
|
+ AND A.COUNSEL_TYPE = 'C' /*상담유형(1:1문의)*/
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!--문의 답변 저장 -->
|
|
|
+ <update id="updateQnaAnswer" parameterType="Counsel">
|
|
|
+ /* TsaCounsel.updateQnaAnswer */
|
|
|
+ UPDATE TB_COUNSEL
|
|
|
+ SET ANS_TITLE = #{ansTitle}
|
|
|
+ , ANS_CONTENT = #{ansContent}
|
|
|
+ , ANS_STAT = 'G060_20' --답변완료
|
|
|
+ , ANS_NO = #{ansNo}
|
|
|
+ , ANS_DT = NOW()
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE COUNSEL_SQ = #{counselSq}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 상품문의 목록 -->
|
|
|
+ <select id="getGoodsQnaList" parameterType="Counsel" resultType="Counsel">
|
|
|
+ /* TsaCounsel.getGoodsQnaList */
|
|
|
+ SELECT A.COUNSEL_SQ /*상담일련번호*/
|
|
|
+ , A.SITE_CD /*사이트코드*/
|
|
|
+ , DATE_FORMAT(A.QUEST_DT,'%Y%m%d%H%i%S') AS QUEST_DT /*문의일시*/
|
|
|
+ , A.SECRET_YN /*비밀글여부*/
|
|
|
+ , A.CUST_NO /*고객번호*/
|
|
|
+ , B.CUST_ID /*고객ID*/
|
|
|
+ , B.CUST_NM /*고객명*/
|
|
|
+ , A.CELL_PHNNO /*휴대전화번호*/
|
|
|
+ , A.EMAIL /*이메일*/
|
|
|
+ , A.EMAIL_REQ_YN /*이메일요청여부*/
|
|
|
+ , A.EMAIL_SEND_YN /*이메일발송여부*/
|
|
|
+ , A.REL_GOODS_CD /*관련상품코드*/
|
|
|
+ , A.ANS_COMP_CD /*답변업체코드*/
|
|
|
+ , A.ANS_STAT /*답변상태*/
|
|
|
+ , DATE_FORMAT(A.ANS_TRANS_DT,'%Y%m%d%H%i%S') AS ANS_TRANS_DT /*답변의뢰일시*/
|
|
|
+ , A.ANS_TRANS_NO /*답변의뢰자번호*/
|
|
|
+ , C.USER_NM AS ANS_TRANS_NM /*답변의뢰자명*/
|
|
|
+ , DATE_FORMAT(A.ANS_DT, '%Y%m%d%H%i%S') AS ANS_DT /*답변일시*/
|
|
|
+ , A.ANS_NO /*답변자번호*/
|
|
|
+ , D.USER_NM AS ANS_NM /*답변자명*/
|
|
|
+ FROM TB_COUNSEL A
|
|
|
+ INNER JOIN TB_CUSTOMER B ON A.CUST_NO = B.CUST_NO
|
|
|
+ LEFT OUTER JOIN TB_USER C ON A.ANS_TRANS_NO = C.USER_NO
|
|
|
+ LEFT OUTER JOIN TB_USER D ON A.ANS_NO = D.USER_NO
|
|
|
+ WHERE COUNSEL_TYPE = 'G' /*상담유형(상품문의)*/
|
|
|
+ <if test="siteCd != null and siteCd != ''">
|
|
|
+ AND A.SITE_CD = #{siteCd}
|
|
|
+ </if>
|
|
|
+ <if test="counselClsf != null and counselClsf != ''">
|
|
|
+ AND A.COUNSEL_CLSF = #{counselClsf}
|
|
|
+ </if>
|
|
|
+ <if test="counselDclsf != null and counselDclsf != ''">
|
|
|
+ AND A.COUNSEL_DCLSF = #{counselDclsf}
|
|
|
+ </if>
|
|
|
+ <if test="ansNo != null and ansNo != ''">
|
|
|
+ AND A.ANS_NO = #{ansNo}
|
|
|
+ </if>
|
|
|
+ <if test="ansTransNo != null and ansTransNo != ''">
|
|
|
+ AND A.ANS_TRANS_NO = #{ansTransNo}
|
|
|
+ </if>
|
|
|
+ <if test="delYn != null and delYn != ''">
|
|
|
+ AND A.DEL_YN = #{delYn}
|
|
|
+ </if>
|
|
|
+ <if test="condition != null and condition != ''">
|
|
|
+ <if test="custGb == 'custId'">
|
|
|
+ AND B.CUST_ID LIKE #{condition}||'%'
|
|
|
+ </if>
|
|
|
+ <if test="custGb == 'custNm'">
|
|
|
+ AND B.CUST_NM LIKE #{condition}||'%'
|
|
|
+ </if>
|
|
|
+ <if test="custGb == 'email'">
|
|
|
+ AND A.EMAIL LIKE #{condition}||'%'
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test="termStdt != null and termStdt != '' and termEddt != null and termEddt != ''">
|
|
|
+ <if test="termGb == 'regDt'">
|
|
|
+ AND A.QUEST_DT <![CDATA[>=]]> STR_TO_DATE(#{termStdt},'%Y-%m-%d')
|
|
|
+ AND A.QUEST_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{termEddt},'%Y-%m-%d'),INTERVAL 1 DAY)
|
|
|
+ </if>
|
|
|
+ <if test="termGb == 'ansDt'">
|
|
|
+ AND A.ANS_DT <![CDATA[>=]]> STR_TO_DATE(#{termStdt},'%Y-%m-%d')
|
|
|
+ AND A.ANS_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{termEddt},'%Y-%m-%d'),INTERVAL 1 DAY)
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test="ansCompCd != null and ansCompCd != ''">
|
|
|
+ AND A.ANS_COMP_CD = #{ansCompCd}
|
|
|
+ </if>
|
|
|
+ <if test="roleCd == 'B000'"> <!-- 입점업체권한일 때는 본인 것만 보도록 처리 -->
|
|
|
+ AND A.ANS_COMP_CD = #{supplyCompCd}
|
|
|
+ </if>
|
|
|
+ <if test="ansStat != null and ansStat != ''">
|
|
|
+ AND A.ANS_STAT = #{ansStat}
|
|
|
+ </if>
|
|
|
+ ORDER BY A.QUEST_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 상품문의 상세 -->
|
|
|
+ <select id="getGoodsQna" parameterType="Counsel" resultType="Counsel">
|
|
|
+ /* TsaCounsel.getGoodsQna */
|
|
|
+ SELECT A.COUNSEL_SQ /*상담일련번호*/
|
|
|
+ , FN_GET_CODE_NM('G000',A.SITE_CD) AS SITE_NM /*사이트명*/
|
|
|
+ , A.CUST_NO /*고객번호*/
|
|
|
+ , B.CUST_ID /*고객ID*/
|
|
|
+ , B.CUST_NM /*고객명*/
|
|
|
+ , A.CELL_PHNNO /*휴대전화번호*/
|
|
|
+ , A.EMAIL /*이메일*/
|
|
|
+ , A.EMAIL_REQ_YN /*이메일요청여부*/
|
|
|
+ , A.EMAIL_SEND_YN /*이메일발송여부*/
|
|
|
+ , A.REL_GOODS_CD /*관련상품코드*/
|
|
|
+ , G.GOODS_NM /*상품명*/
|
|
|
+ , DATE_FORMAT(A.QUEST_DT,'%Y-%m-%d %H:%i:%S') AS QUEST_DT /*문의일시*/
|
|
|
+ , A.ANS_NO /*답변자번호*/
|
|
|
+ , C.USER_NM AS ANS_NM /*답변자명*/
|
|
|
+ , DATE_FORMAT(A.ANS_DT,'%Y-%m-%d %H:%i:%S') AS ANS_DT /*답변일시*/
|
|
|
+ , A.QUEST_TITLE /*질문제목*/
|
|
|
+ , A.QUEST_CONTENT /*질문내용*/
|
|
|
+ , A.ANS_TITLE /*답변제목*/
|
|
|
+ , A.ANS_CONTENT /*답변내용*/
|
|
|
+ , A.ANS_TRANS_YN /*답변의뢰여부*/
|
|
|
+ , A.ANS_COMP_CD /*답변업체코드*/
|
|
|
+ , FN_GET_SUPPLY_COMP_NM(A.ANS_COMP_CD) AS ANS_COMP_NM /*답변업체명*/
|
|
|
+ , DATE_FORMAT(A.ANS_TRANS_DT,'%Y-%m-%d %H:%i:%S') AS ANS_TRANS_DT /*답변의뢰일시*/
|
|
|
+ , A.ANS_STAT /*답변상태코드*/
|
|
|
+ , FN_GET_CODE_NM('G060',A.ANS_STAT) AS ANS_STAT_NM /*답변상태명*/
|
|
|
+ FROM TB_COUNSEL A
|
|
|
+ INNER JOIN TB_CUSTOMER B ON A.CUST_NO = B.CUST_NO
|
|
|
+ LEFT OUTER JOIN TB_GOODS G ON A.REL_GOODS_CD = G.GOODS_CD
|
|
|
+ LEFT OUTER JOIN TB_USER C ON A.ANS_NO = C.USER_NO
|
|
|
+ WHERE A.COUNSEL_SQ = #{counselSq}
|
|
|
+ AND A.COUNSEL_TYPE = 'G' /*상담유형(상품문의)*/
|
|
|
+ <if test="roleCd == 'B000'"> <!-- 입점업체권한일 때는 본인 것만 보도록 처리 -->
|
|
|
+ AND A.ANS_COMP_CD = #{supplyCompCd}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!--상품문의 입점업체에 답변의뢰 -->
|
|
|
+ <update id="updateGoodsQnaAnswerTransfer" parameterType="Counsel">
|
|
|
+ /* TsaCounsel.updateGoodsQnaAnswerTransfer */
|
|
|
+ UPDATE TB_COUNSEL
|
|
|
+ SET ANS_COMP_CD = #{ansCompCd}
|
|
|
+ , ANS_TRANS_YN = 'Y'
|
|
|
+ , ANS_TRANS_NO = #{ansTransNo}
|
|
|
+ , ANS_TRANS_DT = NOW()
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE COUNSEL_SQ = #{counselSq}
|
|
|
+ </update>
|
|
|
+
|
|
|
+</mapper>
|