초기셋팅
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
<?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.mapper.crm.SampleCrmMapper">
|
||||
|
||||
<insert id="insertCrmCheck" parameterType="com.wb.domainserver.sample.vo.BbsmngrVO">
|
||||
INSERT INTO tmp_order (member_seq, order_seq) VALUES(#{bbsId},#{bbsNm})
|
||||
</insert>
|
||||
</mapper>
|
||||
121
src/main/resources/mybatis/xml/mapper/gcone/AnalysisMapper.xml
Normal file
121
src/main/resources/mybatis/xml/mapper/gcone/AnalysisMapper.xml
Normal file
@@ -0,0 +1,121 @@
|
||||
<?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.mapper.gcone.AnalysisMapper">
|
||||
|
||||
|
||||
<!-- 자사몰 모든 결제 완료된 주문 정보 조회 -->
|
||||
<select id="selectShoppingMallOrderList" >
|
||||
|
||||
SELECT GO.ORDR_INNB, GOIO.SOPMAL_CD as sopmal_cd,
|
||||
CASE
|
||||
WHEN GOIO.ORDR_STTUS_CD IN ('25','35','40','45') THEN '25'
|
||||
WHEN GOIO.ORDR_STTUS_CD IN ('50','55','60','65') THEN '65'
|
||||
WHEN GOIO.ORDR_STTUS_CD IN ('70','75') THEN '75'
|
||||
WHEN GOIO.ORDR_STTUS_CD IN ('85') THEN '85'
|
||||
ELSE ''
|
||||
END as ordr_sttus_cd,
|
||||
GOIO.OPTN_CD_1 as barcode, GOIO.ORDR_QY as goods_qy,
|
||||
DATE(GO.SETLE_COMPT_DT) as payment_dt, GOI.GOODS_KND_CD, '자사몰' AS sopmal_dv,
|
||||
GOI.GOODS_NM as goods_nm,
|
||||
(GOIO.SLEPRIC * GOIO.ORDR_QY) - FN_GET_ORDER_GOODS_DSCNT_AMT(GOIO.SOPMAL_CD, GOIO.ORDR_GOODS_INNB, GOIO.ORDR_GOODS_OPTN_INNB) AS rl_setle_amt,
|
||||
GOS.RL_DLVY_AMT AS baesongBi
|
||||
FROM GC_ORDER GO
|
||||
LEFT JOIN GC_ORDER_ITEM GOI ON GOI.ORDR_INNB = GO.ORDR_INNB AND GOI.SOPMAL_CD = GO.SOPMAL_CD
|
||||
LEFT JOIN GC_ORDER_ITEM_OPTION GOIO ON GOIO.ORDR_GOODS_INNB = GOI.ORDR_GOODS_INNB AND GOIO.SOPMAL_CD = GOI.SOPMAL_CD
|
||||
LEFT JOIN GC_ORDER_SHIPPING GOS ON GO.ORDR_INNB = GOS.ORDR_INNB AND GO.SOPMAL_CD = GOS.SOPMAL_CD
|
||||
WHERE GO.ORDR_STTUS_CD between 25 and 85
|
||||
AND (go.REGIST_DT between #{eDate} and #{sDate} or go.UPDT_DT between #{eDate} and #{sDate})
|
||||
ORDER BY GO.ORDR_INNB desc
|
||||
</select>
|
||||
|
||||
<insert id="insertErpGoods">
|
||||
INSERT IGNORE INTO GC_ANALYSIS_ERP_GOODS (BARCODE, SOPMAL_CD, GOODS_NM,GOODS_PRICE,REGIST_DT)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.barcode}, #{item.sopmalCd}, #{item.goodsNm}, #{item.goodsPrice}, NOW())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertErpSetGoods">
|
||||
INSERT IGNORE INTO GC_ANALYSIS_ERP_SET_GOODS (SET_CODE,SOPMAL_CD, BARCODE, BARCODE_QY,GIFT_YN,SET_GOODS_NM,GOODS_NM,REGIST_DT)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.setCode},#{item.sopmalCd}, #{item.barcode}, #{item.barcodeQy}, #{item.giftYn}, #{item.setGoodsNm}, #{item.goodsNm}, NOW())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertAnalysisOrderList">
|
||||
INSERT IGNORE INTO GC_ANALYSIS_ORDER_HISTORY (ORDR_INNB,SOPMAL_CD,ORDR_STTUS_CD,BARCODE,GOODS_QY,RL_SETLE_AMT,PAYMENT_DT,REGIST_DT,GIFT_YN,SOPMAL_DV,GOODS_NM,SHIP_NO_SEQ,SHOP_SET_CD)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.ordrInnb}, #{item.sopmalCd}, #{item.ordrSttusCd}, #{item.barcode}, #{item.goodsQy}, #{item.rlSetleAmt}, #{item.paymentDt}, NOW(), #{item.giftYn}, #{item.sopmalDv}, #{item.goodsNm}, #{item.shipNoSeq}, #{item.shopSetCd})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<select id="selectbarcodeGoodsInfo" >
|
||||
SELECT BARCODE as barcode,SOPMAL_CD AS sopmalCd
|
||||
FROM GC_ANALYSIS_ERP_GOODS
|
||||
WHERE BARCODE = #{goodsCode}
|
||||
</select>
|
||||
|
||||
<select id="selectsetCodeGoodsInfo" >
|
||||
SELECT SET_CODE as setCode,SOPMAL_CD as sopmalCd, BARCODE as barcode, BARCODE_QY as barcodeQy
|
||||
FROM GC_ANALYSIS_ERP_SET_GOODS
|
||||
WHERE SET_CODE = #{goodsCode}
|
||||
</select>
|
||||
|
||||
<insert id="insertOrderList">
|
||||
INSERT INTO GC_ANALYSIS_ORDER_HISTORY
|
||||
( PRODUCT_ORDR_INNB,ORDR_INNB, SOPMAL_CD, ORDR_STTUS_CD, BARCODE, GOODS_QY, RL_SETLE_AMT,TOTAL_PAYMENT_AMOUNT, PAYMENT_DT, REGIST_DT, GIFT_YN, SOPMAL_DV, GOODS_NM, SHIP_NO_SEQ, SHOP_SET_CD, BARCODE_QY,LAST_CHANGED_DATE,PRODUCT_OPTION,CLAIM_STATUS,DECISION_DATE,MISSING_FLAG)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.productOrdrInnb},#{item.ordrInnb}, #{item.sopmalCd}, #{item.ordrSttusCd}, #{item.barcode}, #{item.goodsQy}, #{item.rlSetleAmt},#{item.totalPaymentAmount}, #{item.paymentDt}, NOW(), #{item.giftYn}, #{item.sopmalDv}, #{item.goodsNm}, #{item.shipNoSeq}, #{item.shopSetCd}, #{item.barcodeQy}, #{item.lastChangedDate},#{item.productOption},#{item.claimStatus},#{item.decisionDate},#{item.missingFlag})
|
||||
</foreach>
|
||||
ON DUPLICATE KEY UPDATE
|
||||
ORDR_STTUS_CD = VALUES(ORDR_STTUS_CD),
|
||||
GOODS_QY = VALUES(GOODS_QY),
|
||||
RL_SETLE_AMT = VALUES(RL_SETLE_AMT),
|
||||
TOTAL_PAYMENT_AMOUNT = VALUES(TOTAL_PAYMENT_AMOUNT),
|
||||
PAYMENT_DT = VALUES(PAYMENT_DT),
|
||||
GIFT_YN = VALUES(GIFT_YN),
|
||||
SOPMAL_DV = VALUES(SOPMAL_DV),
|
||||
GOODS_NM = VALUES(GOODS_NM),
|
||||
SHIP_NO_SEQ = VALUES(SHIP_NO_SEQ),
|
||||
SHOP_SET_CD = VALUES(SHOP_SET_CD),
|
||||
UPDATE_DT = NOW(),
|
||||
LAST_CHANGED_DATE = VALUES(LAST_CHANGED_DATE),
|
||||
BARCODE_QY = VALUES(BARCODE_QY),
|
||||
PRODUCT_OPTION = VALUES(PRODUCT_OPTION),
|
||||
CLAIM_STATUS = VALUES(CLAIM_STATUS),
|
||||
DECISION_DATE = VALUES(DECISION_DATE),
|
||||
MISSING_FLAG = VALUES(MISSING_FLAG);
|
||||
</insert>
|
||||
|
||||
<delete id="deleteErpSetGoods">
|
||||
TRUNCATE TABLE
|
||||
GC_ANALYSIS_ERP_SET_GOODS
|
||||
|
||||
</delete>
|
||||
|
||||
<delete id="deleteErpGoods">
|
||||
TRUNCATE TABLE
|
||||
GC_ANALYSIS_ERP_GOODS
|
||||
|
||||
</delete>
|
||||
|
||||
|
||||
<insert id="insertTotalList">
|
||||
INSERT INTO GC_ERP_TOTAL_STATISTICS
|
||||
(CO_CD, STRGRP1_CD, STRGRP2_CD, STRGRP3_CD, STRGRP4_CD, SALE_DT, BRAND_NM, ITM_NM, BARCODE, SAL_AMT, QTY, SAL_AMT2,ITM_ID, REGIST_DT,CANC_TYPE)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.coCd}, #{item.strgrp1Cd}, #{item.strgrp2Cd}, #{item.strgrp3Cd}, #{item.strgrp4Cd}, #{item.saleDt}, #{item.brandNm}, #{item.itmNm},#{item.barcode},#{item.salAmt},#{item.qty},#{item.salAmt2} , #{item.itmId}, NOW(),#{item.cancType})
|
||||
</foreach>
|
||||
ON DUPLICATE KEY UPDATE
|
||||
SAL_AMT = VALUES(SAL_AMT),
|
||||
QTY = VALUES(QTY),
|
||||
SAL_AMT2 = VALUES(SAL_AMT2),
|
||||
UPDATE_DT = NOW();
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
230
src/main/resources/mybatis/xml/mapper/gcone/AppPushMapper.xml
Normal file
230
src/main/resources/mybatis/xml/mapper/gcone/AppPushMapper.xml
Normal file
@@ -0,0 +1,230 @@
|
||||
<?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.mapper.gcone.AppPushMapper">
|
||||
|
||||
<!-- 푸시 대상 혜택 조회 -->
|
||||
<select id="selectBOBnftPushTrgetList"
|
||||
parameterType="com.wb.domainserver.app.vo.AppPushVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT gbpes.BNF_PUSH_EVT_SETUP_INNB,
|
||||
gbpes.BNF_PUSH_CND_DV_CD,
|
||||
SUBSTR(gbpes.BNF_PUSH_CND_DV_CD, 1, 3) AS BNF_DV_CD,
|
||||
gbpes.PUSH_SJ,
|
||||
gbpes.PUSH_CN,
|
||||
gbpes.PUSH_TME,
|
||||
CASE WHEN EXISTS (
|
||||
SELECT 1
|
||||
FROM GC_BENEFIT_PUSH_SNDNG_DTLS
|
||||
WHERE BNF_PUSH_EVT_SETUP_INNB = gbpes.BNF_PUSH_EVT_SETUP_INNB
|
||||
AND SNDNG_AT = 'Y'
|
||||
AND REGIST_DT >= CURDATE()
|
||||
AND REGIST_DT < CURDATE() + INTERVAL 1 DAY
|
||||
) THEN 'Y' ELSE 'N' END AS SNDNG_YN
|
||||
FROM GC_BENEFIT_PUSH_EVT_SETUP gbpes
|
||||
WHERE 1=1
|
||||
AND gbpes.SOPMAL_CD = #{sopmalCd}
|
||||
AND gbpes.PUSH_CYCLE_DV = 'd'
|
||||
AND gbpes.USE_AT = 'Y'
|
||||
AND (gbpes.PUSH_TME = '00' OR gbpes.PUSH_TME BETWEEN DATE_SUB(CURTIME(), INTERVAL 15 MINUTE) AND CURTIME())
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 라이브쇼핑 푸시발송건 조회 -->
|
||||
<select id="selectBOBnftPushLvshopInfo"
|
||||
parameterType="com.wb.domainserver.app.vo.AppPushVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT gb.BNF_INNB,
|
||||
gbc.CN_BGN_DT
|
||||
FROM GC_BENEFIT_CONTENT gbc
|
||||
JOIN GC_BENEFIT gb ON gb.BNF_INNB = gbc.BNF_INNB
|
||||
WHERE 1=1
|
||||
AND gb.SOPMAL_CD = #{sopmalCd}
|
||||
AND gb.BNF_DV_CD = '070'
|
||||
AND gb.USE_AT = 'Y'
|
||||
AND gbc.CN_BGN_DT >= CURDATE()
|
||||
AND gbc.CN_BGN_DT < CURDATE() + INTERVAL 1 DAY
|
||||
/*AND DATE_SUB(gbc.CN_BGN_DT, INTERVAL 15 MINUTE) <= NOW()*/
|
||||
AND gbc.CN_BGN_DT BETWEEN DATE_SUB(NOW(), INTERVAL 15 MINUTE) AND NOW()
|
||||
AND gbc.CN_END_DT > NOW()
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM GC_BENEFIT_PUSH_SNDNG_DTLS gbpsd
|
||||
WHERE gbpsd.BNF_INNB = gb.BNF_INNB
|
||||
AND gbpsd.SNDNG_AT = 'Y'
|
||||
AND DATE(gbpsd.REGIST_DT) = CURDATE()
|
||||
)
|
||||
ORDER BY gbc.CN_BGN_DT
|
||||
LIMIT 1
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 섭취챌린지 푸시발송건 & 발송대상 푸시키 조회 -->
|
||||
<select id="selectBOBnftPushNtakchlMbrList"
|
||||
parameterType="com.wb.domainserver.app.vo.AppPushVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
gbnn.BNF_NTK_NTCN_INNB,
|
||||
gbnn.NTCN_TME,
|
||||
gbnn.MBR_INNB,
|
||||
gmdi.FCM_TOKEN
|
||||
FROM GC_BENEFIT_NTKCHL_NTCN gbnn
|
||||
JOIN GC_BENEFIT gb ON gb.BNF_INNB = gbnn.BNF_INNB
|
||||
JOIN GC_MEMBER_DEVICE_INFO gmdi ON gmdi.SOPMAL_CD = gb.SOPMAL_CD AND gmdi.MBR_INNB = gbnn.MBR_INNB
|
||||
WHERE 1=1
|
||||
AND gb.SOPMAL_CD = #{sopmalCd}
|
||||
AND gb.USE_AT = 'Y'
|
||||
AND gb.BNF_END_DT >= NOW()
|
||||
AND gbnn.USE_AT = 'Y'
|
||||
AND DATE(IFNULL(gbnn.PUSH_SEND_DT, CURDATE() - INTERVAL 1 DAY)) < CURDATE()
|
||||
AND gbnn.NTCN_TME BETWEEN DATE_SUB(CURTIME(), INTERVAL 15 MINUTE) AND CURTIME()
|
||||
AND gmdi.FCM_TOKEN IS NOT NULL
|
||||
AND gmdi.FCM_TOKEN NOT IN (
|
||||
SELECT FCM_TOKEN
|
||||
FROM GC_BENEFIT_PUSH_SNDNG_ERRLOG
|
||||
WHERE ERROR_CODE = 'UNREGISTERED'
|
||||
)
|
||||
ORDER BY gbnn.NTCN_TME
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 섭취챌린지 마지막 푸시발송시간 수정 -->
|
||||
<update id="updateBOBnftPushNtakchlSendDt"
|
||||
parameterType="com.wb.domainserver.app.vo.AppPushVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_BENEFIT_NTKCHL_NTCN
|
||||
SET PUSH_SEND_DT = NOW()
|
||||
WHERE BNF_NTK_NTCN_INNB = #{bnfNtkNtcnInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 푸시 예약 발송건 조회 -->
|
||||
<select id="selectBOBnftPushResveList"
|
||||
parameterType="com.wb.domainserver.app.vo.AppPushVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT gbpi.BNF_PUSH_INFO_INNB,
|
||||
gbpi.BNF_PUSH_TRGET_DV_CD,
|
||||
gbpi.PUSH_SEND_DT,
|
||||
gbpi.PUSH_SJ,
|
||||
gbpi.PUSH_CN,
|
||||
(CASE WHEN gbpi.IMG_FIL_COURS IS NOT NULL THEN CONCAT(gbpi.IMG_CDNURL, gbpi.IMG_FIL_COURS) ELSE '' END) AS IMG_FIL_COURS,
|
||||
gbpi.IMG_FIL_NM,
|
||||
gbpi.DATA_URL,
|
||||
gbpi.DATA_KEY,
|
||||
gbpi.DATA_EXT
|
||||
FROM GC_BENEFIT_PUSH_INFO gbpi
|
||||
WHERE 1=1
|
||||
AND gbpi.SOPMAL_CD = #{sopmalCd}
|
||||
AND gbpi.DEL_AT = 'N'
|
||||
AND gbpi.PUSH_SEND_DT IS NOT NULL
|
||||
AND gbpi.PUSH_SEND_DT BETWEEN DATE_SUB(NOW(), INTERVAL 15 MINUTE) AND NOW()
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM GC_BENEFIT_PUSH_SNDNG_DTLS gbpsd
|
||||
WHERE gbpsd.BNF_PUSH_INFO_INNB = gbpi.BNF_PUSH_INFO_INNB
|
||||
AND gbpsd.SNDNG_AT = 'Y'
|
||||
)
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 혜택별 발송대상 푸시키 조회 -->
|
||||
<select id="selectBOBnftPushMbrList"
|
||||
parameterType="com.wb.domainserver.app.vo.AppPushVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
gmdi.MBR_INNB,
|
||||
gmdi.FCM_TOKEN
|
||||
FROM GC_MEMBER_DEVICE_INFO gmdi
|
||||
JOIN GC_BENEFIT_AGREE gba
|
||||
ON gmdi.SOPMAL_CD = gba.SOPMAL_CD
|
||||
AND gmdi.MBR_INNB = gba.MBR_INNB
|
||||
AND gmdi.MBR_DV_CD = gba.MBR_DV_CD
|
||||
WHERE 1=1
|
||||
AND gmdi.SOPMAL_CD = #{sopmalCd}
|
||||
AND gmdi.PUSH_AGRE_AT = 'Y'
|
||||
AND (#{bnfDvCd} = '000' OR gba.BNF_DV_CD = #{bnfDvCd}) /*대상 혜택*/
|
||||
<if test='!"000".equals(bnfDvCd)'>
|
||||
AND gba.BNF_AGRE_DV_CD = '010' /*알림동의*/
|
||||
AND gba.AGRE_AT = 'Y'
|
||||
</if>
|
||||
AND gmdi.FCM_TOKEN IS NOT NULL
|
||||
AND gmdi.FCM_TOKEN NOT IN (
|
||||
SELECT FCM_TOKEN
|
||||
FROM GC_BENEFIT_PUSH_SNDNG_ERRLOG
|
||||
WHERE ERROR_CODE = 'UNREGISTERED'
|
||||
)
|
||||
GROUP BY gmdi.MBR_INNB, gmdi.FCM_TOKEN
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 푸시발송내역 등록 -->
|
||||
<insert id="insertBOBnftPushSndngDtls"
|
||||
parameterType="com.wb.domainserver.app.vo.AppPushVO"
|
||||
useGeneratedKeys="true"
|
||||
keyProperty="bnfPushSndngDtlsInnb">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_BENEFIT_PUSH_SNDNG_DTLS (
|
||||
SOPMAL_CD,
|
||||
BNF_PUSH_EVT_SETUP_INNB,
|
||||
BNF_PUSH_INFO_INNB,
|
||||
BNF_INNB,
|
||||
SNDNG_AT,
|
||||
SNDNG_TRGET_CNT,
|
||||
REGIST_DT
|
||||
) VALUES (
|
||||
#{sopmalCd},
|
||||
#{bnfPushEvtSetupInnb},
|
||||
#{bnfPushInfoInnb},
|
||||
#{bnfInnb},
|
||||
#{sndngAt},
|
||||
#{sndngTrgetCnt},
|
||||
NOW()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<!-- 푸시발송내역 수정 -->
|
||||
<update id="updateBOBnftPushSndngDtls"
|
||||
parameterType="com.wb.domainserver.app.vo.AppPushVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_BENEFIT_PUSH_SNDNG_DTLS
|
||||
SET BNF_INNB = #{bnfInnb},
|
||||
SNDNG_AT = #{sndngAt},
|
||||
SNDNG_TRGET_CNT = #{sndngTrgetCnt},
|
||||
SNDNG_SUCCES_CNT = #{sndngSuccesCnt},
|
||||
SNDNG_FAILR_CNT = #{sndngFailrCnt},
|
||||
UPDT_DT = NOW()
|
||||
WHERE BNF_PUSH_SNDNG_DTLS_INNB = #{bnfPushSndngDtlsInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 푸시발송 에러내역 등록 -->
|
||||
<insert id="insertBOBnftPushSndngErrlog"
|
||||
parameterType="com.wb.domainserver.app.vo.AppPushVO"
|
||||
useGeneratedKeys="true">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_BENEFIT_PUSH_SNDNG_ERRLOG (
|
||||
BNF_PUSH_SNDNG_DTLS_INNB,
|
||||
ERROR_CODE,
|
||||
FCM_TOKEN,
|
||||
PUSH_SJ,
|
||||
PUSH_CN,
|
||||
PUSH_DATA,
|
||||
IMG_FIL_COURS,
|
||||
REGIST_DT
|
||||
) VALUES (
|
||||
#{bnfPushSndngDtlsInnb},
|
||||
#{errorCode},
|
||||
#{fcmToken},
|
||||
#{pushSj},
|
||||
#{pushCn},
|
||||
#{pushData},
|
||||
#{imgFilCours},
|
||||
NOW()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,740 @@
|
||||
<?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.mapper.gcone.AtmcPurchsDcsnMapper">
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################################################################
|
||||
자동 구매확정 START
|
||||
################################################################################################# -->
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 대상 출고 상품 목록 조회 -->
|
||||
<select id="selectTsExportOrderItemInqire">
|
||||
<![CDATA[
|
||||
SELECT GOR.RETURN_PROCS_STTUS_CD,
|
||||
EXI.ORDR_GOODS_OPTN_INNB -- 주문상품옵션KEY
|
||||
,EXI.DLIVY_GOODS_INNB
|
||||
,EXI.OPTN_TY -- 주문상품옵션KEY
|
||||
,EXI.SOPMAL_CD -- 주문상품옵션KEY
|
||||
,(OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75) AS QY
|
||||
,0 AS PYMNT_PREARNGE_QY -- 지급예정수량
|
||||
,(OIOP.ORDR_QY - OIOP.STEP85) AS ACCMLMNY_PYMNT_QY -- 적립금지급수량 5 ==> 구매확정
|
||||
,OIOP.STEP85 AS PYMNT_PREARNGE_EXTSH_QY -- 지급예정소멸수량
|
||||
,EX.ORDR_INNB -- 주문고유번호
|
||||
,EX.DLIVY_CD_NB -- 출고 코드 번호
|
||||
,EX.DLIVY_INNB -- 출고 고유번호
|
||||
,OIOP.ORDR_DLVY_INNB -- 주문배송고유번호
|
||||
,IFNULL(OIOP.MLG_VALID_PD, 36) AS MLG_VALID_PD
|
||||
,IFNULL(OIOP.MLG_VALID_PD_AT, 'Y') AS MLG_VALID_PD_AT
|
||||
,CASE
|
||||
WHEN OIOP.STEP85 = 0 THEN ROUND(IFNULL(OIOP.MLG_ACCML_UNIT, 0) * ( OIOP.ORDR_QY - OIOP.STEP85 ) + IFNULL(OIOP.MLG_ACCML_REST, 0))
|
||||
WHEN OIOP.STEP85 > 0 THEN ROUND(IFNULL(OIOP.MLG_ACCML_UNIT, 0) * ( OIOP.ORDR_QY - OIOP.STEP85 ))
|
||||
END AS MLG_ACCML_AMT -- 지급 마일리지 금액
|
||||
,O.MBR_INNB
|
||||
,O.MBR_DV_CD
|
||||
FROM GC_GOODS_EXPORT EX
|
||||
INNER JOIN GC_GOODS_EXPORT_ITEM EXI
|
||||
ON EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP
|
||||
ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
AND OIOP.ORDR_QY - OIOP.STEP85 - OIOP.PURCHS_DCSN_QY > 0
|
||||
INNER JOIN GC_ORDER O
|
||||
ON EX.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND EX.ORDR_INNB = O.ORDR_INNB
|
||||
AND O.ORDR_STTUS_CD BETWEEN 55 AND 75
|
||||
LEFT JOIN GC_ORDER_REFUND GOR
|
||||
ON EX.SOPMAL_CD = GOR.SOPMAL_CD
|
||||
AND EX.ORDR_INNB = GOR.ORDR_INNB
|
||||
WHERE 1=1
|
||||
AND EX.DLIVY_STTUS_CD BETWEEN 55 AND 75
|
||||
AND EX.PURCHS_DCSN_DV_CD = '04'
|
||||
AND EX.DLIVY_DT BETWEEN DATE_SUB(SYSDATE(), INTERVAL 2 MONTH) AND SYSDATE()
|
||||
AND CASE WHEN 0 < (SELECT 1 FROM GC_SHOP SH
|
||||
WHERE EX.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND SH.ORDR_PURCHSR_DCSN_AT = 'Y')
|
||||
THEN EX.DLIVY_COMPT_DT <= DATE_SUB(SYSDATE(), INTERVAL (SELECT SH.ORDR_ATMC_PURCHS_DCSN_PD FROM GC_SHOP SH
|
||||
WHERE EX.SOPMAL_CD = SH.SOPMAL_CD) DAY)
|
||||
ELSE 0
|
||||
END
|
||||
AND (GOR.RETURN_PROCS_STTUS_CD IS NULL OR GOR.RETURN_PROCS_STTUS_CD <> '01') -- 반품신청 상태 상품있을 경우 제외
|
||||
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 주문 상품 옵션 자동 구매 확정 -->
|
||||
<update id="updateTsPurchsDcsnOrdrItemUpdt"
|
||||
parameterType="dataMap">
|
||||
<![CDATA[
|
||||
UPDATE GC_ORDER_ITEM_OPTION SET
|
||||
ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN (ORDR_QY - STEP85) > #{qy} THEN '70'
|
||||
WHEN (ORDR_QY - STEP85) <= #{qy} THEN '75'
|
||||
ELSE ORDR_STTUS_CD
|
||||
END
|
||||
,STEP45 = 0
|
||||
,STEP55 = 0
|
||||
,STEP65 = 0
|
||||
,STEP75 = #{qy}
|
||||
,PURCHS_DCSN_AT =
|
||||
CASE
|
||||
WHEN #{accmlmnyPymntQy} > 0 THEN 'Y'
|
||||
ELSE 'N'
|
||||
END
|
||||
,PURCHS_DCSN_DT =
|
||||
CASE
|
||||
WHEN #{accmlmnyPymntQy} > 0 THEN SYSDATE()
|
||||
ELSE PURCHS_DCSN_DT
|
||||
END
|
||||
,PURCHS_DCSN_QY = #{accmlmnyPymntQy}
|
||||
,UPDT_DT = SYSDATE()
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND OPTN_TY = #{optnTy}
|
||||
AND ORDR_GOODS_OPTN_INNB = #{ordrGoodsOptnInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 주문 배송 자동 구매 확정 -->
|
||||
<update id="updateTsPurchsDcsnOrdrDlvyUpdt">
|
||||
<![CDATA[
|
||||
UPDATE GC_ORDER_SHIPPING SH SET
|
||||
SH.ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_ITEM_OPTION OIOP
|
||||
WHERE OIOP.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND OIOP.ORDR_DLVY_INNB = SH.ORDR_DLVY_INNB
|
||||
AND OIOP.PURCHS_DCSN_AT = 'Y'
|
||||
AND (OIOP.ORDR_QY - OIOP.STEP85) = OIOP.STEP75
|
||||
) = (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_ITEM_OPTION OIOP
|
||||
WHERE OIOP.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND OIOP.ORDR_DLVY_INNB = SH.ORDR_DLVY_INNB
|
||||
) THEN '75'
|
||||
ELSE SH.ORDR_STTUS_CD
|
||||
END
|
||||
,SH.UPDT_DT = SYSDATE()
|
||||
WHERE SH.SOPMAL_CD = #{sopmalCd}
|
||||
AND SH.ORDR_INNB = #{ordrInnb}
|
||||
]]>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrDlvyInnb)">
|
||||
AND SH.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrDlvyInnbArr)">
|
||||
<![CDATA[
|
||||
AND SH.ORDR_DLVY_INNB IN
|
||||
]]>
|
||||
<foreach collection="ordrDlvyInnbArr" item="ordrDlvyInnbArr" open="(" close=")" separator=",">
|
||||
#{ordrDlvyInnbArr}
|
||||
</foreach>
|
||||
</when>
|
||||
</choose>
|
||||
<![CDATA[
|
||||
AND SH.USE_AT = 'Y'
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 주문 자동 구매 확정 -->
|
||||
<update id="updateTsOrdrStatusUpdt6575">
|
||||
<![CDATA[
|
||||
UPDATE GC_ORDER O SET
|
||||
O.ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '75'
|
||||
) = (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
) THEN '75'
|
||||
WHEN (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '70'
|
||||
) = (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
) THEN '70'
|
||||
WHEN (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '65'
|
||||
) = (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
) THEN '65'
|
||||
WHEN (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '60'
|
||||
) = (
|
||||
SELECT COUNT(*)
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
) THEN '60'
|
||||
ELSE (
|
||||
SELECT
|
||||
CASE
|
||||
WHEN EXISTS (
|
||||
SELECT 1
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '70'
|
||||
) THEN '70'
|
||||
WHEN EXISTS (
|
||||
SELECT 1
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '60'
|
||||
) THEN '60'
|
||||
WHEN EXISTS (
|
||||
SELECT 1
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '65'
|
||||
) THEN '65'
|
||||
WHEN EXISTS (
|
||||
SELECT 1
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '75'
|
||||
) THEN '75'
|
||||
ELSE O.ORDR_STTUS_CD
|
||||
END
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
LIMIT 1
|
||||
)
|
||||
END
|
||||
,O.UPDT_DT = SYSDATE()
|
||||
WHERE O.SOPMAL_CD = #{sopmalCd}
|
||||
AND O.ORDR_INNB = #{ordrInnb}
|
||||
AND O.USE_AT = 'Y'
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 구매 확정 상태 수정 -->
|
||||
<update id="updateTsPurchsDcsnSttusUpdt">
|
||||
<![CDATA[
|
||||
UPDATE GC_GOODS_EXPORT EX SET
|
||||
EX.DLIVY_STTUS_CD =
|
||||
CASE
|
||||
WHEN (
|
||||
SELECT COUNT(1)
|
||||
FROM GC_GOODS_EXPORT_ITEM EXI
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
AND OIOP.ORDR_STTUS_CD = '75'
|
||||
WHERE 1=1
|
||||
AND EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
) = (
|
||||
SELECT COUNT(1)
|
||||
FROM GC_GOODS_EXPORT_ITEM EXI
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
WHERE 1=1
|
||||
AND EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
) THEN '75'
|
||||
WHEN (
|
||||
SELECT COUNT(1)
|
||||
FROM GC_GOODS_EXPORT_ITEM EXI
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
AND OIOP.ORDR_STTUS_CD = '70'
|
||||
WHERE 1=1
|
||||
AND EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
) = (
|
||||
SELECT COUNT(1)
|
||||
FROM GC_GOODS_EXPORT_ITEM EXI
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
WHERE 1=1
|
||||
AND EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
) THEN '70'
|
||||
ELSE DLIVY_STTUS_CD
|
||||
END,
|
||||
EX.STTUS_UPDT_DT = SYSDATE(),
|
||||
EX.PURCHS_DCSN_DV_CD =
|
||||
CASE
|
||||
WHEN (
|
||||
SELECT COUNT(1)
|
||||
FROM GC_GOODS_EXPORT_ITEM EXI
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
WHERE 1=1
|
||||
AND OIOP.PURCHS_DCSN_AT = 'Y'
|
||||
AND EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
) = (
|
||||
SELECT COUNT(1)
|
||||
FROM GC_GOODS_EXPORT_ITEM EXI
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
WHERE 1=1
|
||||
AND EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
) THEN #{purchsDcsnDvCd}
|
||||
ELSE PURCHS_DCSN_DV_CD
|
||||
END,
|
||||
EX.PURCHS_DCSN_DT =
|
||||
CASE
|
||||
WHEN (
|
||||
SELECT COUNT(1)
|
||||
FROM GC_GOODS_EXPORT_ITEM EXI
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
WHERE 1=1
|
||||
AND OIOP.PURCHS_DCSN_AT = 'Y'
|
||||
AND EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
) = (
|
||||
SELECT COUNT(1)
|
||||
FROM GC_GOODS_EXPORT_ITEM EXI
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
WHERE 1=1
|
||||
AND EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
) THEN SYSDATE()
|
||||
ELSE EX.PURCHS_DCSN_DT
|
||||
END
|
||||
,EX.UPDT_DT = SYSDATE()
|
||||
WHERE EX.SOPMAL_CD = #{sopmalCd}
|
||||
AND EX.DLIVY_INNB = #{dlivyInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 출고 상품 마일리지 적립 관련 수량 수정 -->
|
||||
<update id="updateTsExportItemQyAllUpdt">
|
||||
<![CDATA[
|
||||
UPDATE GC_GOODS_EXPORT_ITEM EXI SET
|
||||
EXI.PYMNT_PREARNGE_QY = #{pymntPrearngeQy}
|
||||
,EXI.ACCMLMNY_PYMNT_QY = #{accmlmnyPymntQy}
|
||||
,EXI.PYMNT_PREARNGE_EXTSH_QY = #{pymntPrearngeExtshQy}
|
||||
WHERE 1 = 1
|
||||
AND EXI.SOPMAL_CD = #{sopmalCd}
|
||||
AND EXI.OPTN_TY = #{optnTy}
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = #{ordrGoodsOptnInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 출고 상품 마일리지 적립 관련 수량 수정 _ 마일리지 적립 실패했을 경우 -->
|
||||
<update id="updateTsExportItemQyAllUpdtFail">
|
||||
<![CDATA[
|
||||
UPDATE GC_GOODS_EXPORT_ITEM EXI SET
|
||||
EXI.PYMNT_PREARNGE_QY = #{pymntPrearngeQy}
|
||||
,EXI.ACCMLMNY_PYMNT_QY = 0
|
||||
,EXI.PYMNT_PREARNGE_EXTSH_QY = #{accmlmnyPymntQy}
|
||||
WHERE 1 = 1
|
||||
AND EXI.SOPMAL_CD = #{sopmalCd}
|
||||
AND EXI.OPTN_TY = #{optnTy}
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = #{ordrGoodsOptnInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 출고 상품 마일리지 적립 관련 수량 수정 _ 마일리지 적립 금액이 없을 경우 -->
|
||||
<update id="updateTsExportItemQyAllUpdtNoMlg">
|
||||
<![CDATA[
|
||||
UPDATE GC_GOODS_EXPORT_ITEM EXI SET
|
||||
EXI.PYMNT_PREARNGE_EXTSH_QY = #{pymntPrearngeExtshQy}
|
||||
WHERE EXI.DLIVY_GOODS_INNB = #{dlivyGoodsInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<select id="selectBOShopInqire">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
GC_SHOP SHOP
|
||||
WHERE 1=1
|
||||
AND SHOP.SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
|
||||
<!-- 손실 조회 -->
|
||||
<select id="selectBOLoss"
|
||||
parameterType="com.wb.domainserver.export.vo.TsMlgVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
MLG_INNB
|
||||
, LOSS
|
||||
, MBR_INNB
|
||||
, SOPMAL_CD
|
||||
, MBR_DV_CD
|
||||
, ORDR_INNB
|
||||
, ACCMLMNY_AMT
|
||||
FROM
|
||||
GC_MILEAGE
|
||||
WHERE 1=1
|
||||
AND MBR_DV_CD = #{mbrDvCd}
|
||||
AND MBR_INNB = #{mbrInnb}
|
||||
AND LOSS > 0
|
||||
ORDER BY MLG_INNB ASC
|
||||
</select>
|
||||
|
||||
<select id="selectBOMlgLossAddCanclMlgInnb" resultType="java.math.BigInteger">
|
||||
SELECT
|
||||
MLG_INNB
|
||||
FROM GC_MILEAGE GM
|
||||
WHERE 1=1
|
||||
AND GM.MBR_DV_CD = #{mbrDvCd}
|
||||
AND GM.MBR_INNB = #{mbrInnb}
|
||||
AND GM.ORDR_INNB = #{ordrInnb}
|
||||
AND GM.MLG_ACCML_DV_CD = '_add'
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 마일리지 손실 수정 -->
|
||||
<update id="updateBOMlgLoss">
|
||||
UPDATE
|
||||
GC_MILEAGE
|
||||
SET
|
||||
LOSS = #{loss}
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = NOW()
|
||||
, UPDUSR_DV_CD = #{updusrDvCd}
|
||||
WHERE 1=1
|
||||
AND MLG_INNB = #{mlgInnb}
|
||||
</update>
|
||||
|
||||
<!-- 적립 마일리지 등록 -->
|
||||
<insert id="insertBOMlgAdd"
|
||||
keyProperty="mlgInnb"
|
||||
useGeneratedKeys="true"
|
||||
>
|
||||
INSERT INTO GC_MILEAGE
|
||||
(
|
||||
SOPMAL_CD
|
||||
,ORDR_INNB
|
||||
,MBR_INNB
|
||||
,MBR_DV_CD
|
||||
,BBSCTT_INNB
|
||||
,ORDR_CD
|
||||
,MLG_DV_CD
|
||||
,MLG_ACCML_DV_CD
|
||||
,MLG_APPLC_DV_CD
|
||||
,MLG_APPLC_RESN
|
||||
,ACCMLMNY_AMT
|
||||
,BLCE
|
||||
,LOSS
|
||||
,USE_POSBL_BGN_DT
|
||||
,USE_POSBL_END_DT
|
||||
,ORDR_INFO
|
||||
,MANAGE_CD
|
||||
,MANAGE_MEMO
|
||||
,END_AT
|
||||
,CANCL_AT
|
||||
,EXTSH_BATCH_BUNDLE
|
||||
,ONLINE_OFLNE_DV_CD
|
||||
,STR_INNB
|
||||
,STR_CD
|
||||
,STRNM
|
||||
,STR_DV_CD
|
||||
,POS_CD
|
||||
,REGUSR_DV_CD
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{sopmalCd}
|
||||
,#{ordrInnb}
|
||||
,#{mbrInnb}
|
||||
,#{mbrDvCd}
|
||||
,#{bbscttInnb}
|
||||
,#{ordrCd}
|
||||
,#{mlgDvCd}
|
||||
,#{mlgAccmlDvCd}
|
||||
,#{mlgApplcDvCd}
|
||||
,#{mlgApplcResn}
|
||||
,#{accmlmnyAmt}
|
||||
,#{blce}
|
||||
,#{loss}
|
||||
,CURDATE()
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(mlgValidPdAt, 'Y')
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgValidPd)">
|
||||
-- 마일리지 유효개월수가 입력된 경우
|
||||
, DATE_ADD(LAST_DAY(DATE_ADD(CURDATE(), INTERVAL ${mlgValidPd} MONTH))
|
||||
, INTERVAL '23:59:59' HOUR_SECOND)
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(mlgValidPd, 0)
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(usePosblEndDt)">
|
||||
-- 특정일자를 입력한 경우
|
||||
, #{usePosblEndDt}
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(mlgValidPdAt, 'N')
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(usePosblEndDt)">
|
||||
-- 마일리지 유효개월수 제한 N인 경우
|
||||
, '9999-12-31 23:59:59'
|
||||
</when>
|
||||
</choose>
|
||||
,#{ordrInfo}
|
||||
,#{manageCd}
|
||||
,#{manageMemo}
|
||||
,'N'
|
||||
,'N'
|
||||
,#{extshBatchBundle}
|
||||
,#{onlineOflneDvCd}
|
||||
,#{strInnb}
|
||||
,#{strCd}
|
||||
,#{strnm}
|
||||
,#{strDvCd}
|
||||
,#{posCd}
|
||||
,#{regusrDvCd}
|
||||
,#{regusr}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
<!-- 마일리지 손실 수정 -->
|
||||
<select id="updateBOMlgLossList">
|
||||
<foreach collection="list" item="mlg" separator=";">
|
||||
UPDATE
|
||||
GC_MILEAGE
|
||||
SET
|
||||
LOSS = #{mlg.loss}
|
||||
, UPDUSR_DV_CD = '03'
|
||||
, UPDUSR = #{mlg.mbrInnb}
|
||||
, UPDT_DT = NOW()
|
||||
WHERE 1=1
|
||||
AND MLG_INNB = #{mlg.mlgInnb}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!-- 마일리지 잔액 수정 -->
|
||||
<update id="updateBOMlgBlce">
|
||||
UPDATE
|
||||
GC_MILEAGE
|
||||
SET
|
||||
BLCE = #{blce}
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = NOW()
|
||||
, UPDUSR_DV_CD = #{updusrDvCd}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(canclAt)">
|
||||
, CANCL_AT = #{canclAt}
|
||||
</if>
|
||||
WHERE 1=1
|
||||
AND MBR_DV_CD = #{mbrDvCd}
|
||||
AND MBR_INNB = #{mbrInnb}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bbscttInnb)">
|
||||
AND BBSCTT_INNB = #{bbscttInnb}
|
||||
</if>
|
||||
AND MLG_INNB = #{mlgInnb}
|
||||
AND MLG_DV_CD = '01'
|
||||
AND END_AT = 'N'
|
||||
AND CANCL_AT = 'N'
|
||||
AND USE_POSBL_END_DT >= NOW()
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 주문 로그 등록 -->
|
||||
<insert id="insertOrderLog" >
|
||||
INSERT INTO GC_ORDER_LOG (
|
||||
ORDR_INNB
|
||||
, SOPMAL_CD
|
||||
, LOG_SJ
|
||||
, LOG_DTL_CN
|
||||
, ADIT_INFO_CN
|
||||
, DLIVY_INNB
|
||||
, ORDER_REFUND_INNB
|
||||
, LOG_DV_CD
|
||||
, DV_CD
|
||||
, OPETR_NM
|
||||
, QY
|
||||
, AMT
|
||||
, PROCS_DT
|
||||
) VALUES (
|
||||
#{ordrInnb}
|
||||
, #{sopmalCd}
|
||||
, #{logSj}
|
||||
, #{logDtlCn}
|
||||
, #{aditInfoCn}
|
||||
, #{dlivyInnb}
|
||||
, #{orderRefundInnb}
|
||||
, #{logDvCd}
|
||||
, #{dvCd}
|
||||
, #{opetrNm}
|
||||
, #{qy}
|
||||
, #{amt}
|
||||
, SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
<!-- 마일리지 지급 -->
|
||||
<insert id="insertBOMlgDn"
|
||||
useGeneratedKeys="true"
|
||||
keyProperty="mlgInnb"
|
||||
parameterType="com.wb.domainserver.export.vo.TsMlgVO">
|
||||
INSERT INTO GC_MILEAGE
|
||||
(
|
||||
SOPMAL_CD
|
||||
,ORDR_INNB
|
||||
,MBR_INNB
|
||||
,MBR_DV_CD
|
||||
,BBSCTT_INNB
|
||||
,ORDR_CD
|
||||
,MLG_DV_CD
|
||||
,MLG_ACCML_DV_CD
|
||||
,MLG_APPLC_DV_CD
|
||||
,MLG_APPLC_RESN
|
||||
,ACCMLMNY_AMT
|
||||
,BLCE
|
||||
,LOSS
|
||||
,USE_POSBL_BGN_DT
|
||||
,USE_POSBL_END_DT
|
||||
,ORDR_INFO
|
||||
,MANAGE_CD
|
||||
,MANAGE_MEMO
|
||||
,END_AT
|
||||
,CANCL_AT
|
||||
,EXTSH_BATCH_BUNDLE
|
||||
,ONLINE_OFLNE_DV_CD
|
||||
,STR_INNB
|
||||
,STR_CD
|
||||
,STRNM
|
||||
,STR_DV_CD
|
||||
,POS_CD
|
||||
,REGUSR_DV_CD
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{sopmalCd}
|
||||
,#{ordrInnb}
|
||||
,#{mbrInnb}
|
||||
,#{mbrDvCd}
|
||||
,#{bbscttInnb}
|
||||
,#{ordrCd}
|
||||
,#{mlgDvCd}
|
||||
,#{mlgAccmlDvCd}
|
||||
,#{mlgApplcDvCd}
|
||||
,#{mlgApplcResn}
|
||||
,#{accmlmnyAmt}
|
||||
,#{blce}
|
||||
,#{loss}
|
||||
,CURDATE()
|
||||
, '9999-12-31 23:59:59'
|
||||
,#{ordrInfo}
|
||||
,#{manageCd}
|
||||
,#{manageMemo}
|
||||
,'N'
|
||||
,'N'
|
||||
,#{extshBatchBundle}
|
||||
,#{onlineOflneDvCd}
|
||||
,#{strInnb}
|
||||
,#{strCd}
|
||||
,#{strnm}
|
||||
,#{strDvCd}
|
||||
,#{posCd}
|
||||
,#{regusrDvCd}
|
||||
,#{regusr}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="insertBOMlgUseDtlAddCancl"
|
||||
useGeneratedKeys="true"
|
||||
keyProperty="useCanclMlgInnb"
|
||||
parameterType="com.wb.domainserver.export.vo.BOMlgUseDtlVO">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_MILEAGE_USE_DTL
|
||||
(
|
||||
ACCML_MLG_INNB
|
||||
,ACCML_SOPMAL_CD
|
||||
,USE_SOPMAL_CD
|
||||
,USE_MLG_INNB
|
||||
,MLG_ACCML_DV_CD
|
||||
,USE_AMT
|
||||
,FRST_USE_AMT
|
||||
,CANCL_AMT
|
||||
,CANCL_AT
|
||||
,UPPER_USE_CANCL_MLG_INNB
|
||||
,LOSS_MLG_INNB
|
||||
,REGUSR_DV_CD
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{accmlMlgInnb}
|
||||
,#{accmlSopmalCd}
|
||||
,#{useSopmalCd}
|
||||
,#{useMlgInnb}
|
||||
,#{mlgAccmlDvCd}
|
||||
,#{useAmt}
|
||||
,#{frstUseAmt}
|
||||
,#{canclAmt}
|
||||
,#{canclAt}
|
||||
,#{upperUseCanclMlgInnb}
|
||||
,#{lossMlgInnb}
|
||||
,#{regusrDvCd}
|
||||
,#{regusr}
|
||||
, NOW()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<!--> ##############################################################################################
|
||||
자동 구매확정 END
|
||||
################################################################################################# -->
|
||||
|
||||
</mapper>
|
||||
562
src/main/resources/mybatis/xml/mapper/gcone/AtmcrcpmnyMapper.xml
Normal file
562
src/main/resources/mybatis/xml/mapper/gcone/AtmcrcpmnyMapper.xml
Normal file
@@ -0,0 +1,562 @@
|
||||
<?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.mapper.gcone.AtmcrcpmnyMapper">
|
||||
|
||||
<!-- 현금영수증 신청할 데이터 조회 -->
|
||||
<select id = "selectCshRciptRegist"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
FS.SELNG_PRUF_INNB,
|
||||
FS.SOPMAL_CD,
|
||||
FS.ORDR_INNB,
|
||||
FO.SETLE_COMPT_DT,
|
||||
FS.ORDR_SETLE_INNB,
|
||||
FS.ORDRR_NM,
|
||||
IFNULL(CAST(AES_DECRYPT(UNHEX(FS.ORDRR_EMAIL) , '1df5be2f7e90ae36') AS CHAR(50)),'') AS ORDRR_EMAIL,
|
||||
CASE WHEN IFNULL(FS.CRTNB,'') = '' THEN '0100001234' ELSE FS.CRTNB END AS CRTNB,
|
||||
FS.GOODS_NM,
|
||||
FS.ISSU_TRGET_DV_CD,
|
||||
FS.ISSU_STTUS_CD,
|
||||
ROUND(FS.AMT) AMT,
|
||||
ROUND(FS.SPLPRIC) SPLPRIC,
|
||||
ROUND(FS.VAT_AMT) VAT_AMT
|
||||
FROM GC_SALES FS
|
||||
INNER JOIN GC_ORDER_SETLE FOS
|
||||
ON FS.SOPMAL_CD = FOS.SOPMAL_CD
|
||||
AND FS.ORDR_SETLE_INNB = FOS.ORDR_SETLE_INNB
|
||||
INNER JOIN GC_ORDER FO
|
||||
ON FOS.SOPMAL_CD = FO.SOPMAL_CD
|
||||
AND FOS.ORDR_INNB = FO.ORDR_INNB
|
||||
WHERE 1=1
|
||||
AND FS.AMT > 0
|
||||
AND FS.REQST_DV_CD = '02'
|
||||
AND FS.ISSU_STTUS_CD IN ('01','04') -- ('01'): 신청 ('04'):실패건
|
||||
AND FOS.SETLE_TY_CD IN ('02', '03','04','05','06') -- ('02'): 무통장, ('03','04','05','06'): 무통장 외에 가상계좌와 실시간 계좌이체 누락분까지 포함
|
||||
AND FO.ORDR_STTUS_CD BETWEEN '25' AND '75'
|
||||
AND FO.SETLE_COMPT_DT > DATE_SUB(NOW(), INTERVAL 100 DAY)
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 미입금 내역 조회 -->
|
||||
<select id="selectDepositRequest"
|
||||
parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsDepositRequestVO"
|
||||
resultType = "com.wb.domainserver.atmcrcpmny.vo.TsDepositRequestVO">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
*
|
||||
FROM GC_ORDER
|
||||
WHERE 1=1
|
||||
AND ORDR_STTUS_CD = '15'
|
||||
AND ORDR_RCEPT_DT <= DATE_SUB(CURDATE(), INTERVAL 4 DAY)
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 자동주문취소 조회 -->
|
||||
<select id="selectOrderCancel"
|
||||
resultType = "DataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
O.ORDR_INNB,
|
||||
O.SOPMAL_CD,
|
||||
O.ORDR_STTUS_CD AS CURR_ORDR_STTUS_CD,
|
||||
O.MBR_INNB,
|
||||
IFNULL(O.MBR_DV_CD, '') AS MBR_DV_CD,
|
||||
GOS.SETLE_AMT,SMRT_SHOPNG_ORDRNB,
|
||||
COALESCE(GM.ACCMLMNY_AMT, 0) AS ACCMLMNY_AMT
|
||||
FROM GC_ORDER O
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON O.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND O.USE_AT = 'Y'
|
||||
AND GS.ORDR_CANCL_ATMC_EXECUT_AT = 'Y'
|
||||
LEFT JOIN GC_ORDER_SETLE GOS
|
||||
ON O.SOPMAL_CD = GOS.SOPMAL_CD
|
||||
AND O.ORDR_INNB = GOS.ORDR_INNB
|
||||
AND GOS.SETLE_TY_CD IN ('02','04','05')
|
||||
LEFT JOIN GC_MILEAGE GM
|
||||
ON O.SOPMAL_CD = GM.SOPMAL_CD
|
||||
AND O.ORDR_INNB = GM.ORDR_INNB
|
||||
AND GM.END_AT = 'N'
|
||||
AND GM.CANCL_AT = 'N'
|
||||
AND GM.MLG_ACCML_DV_CD = 'use'
|
||||
WHERE 1=1
|
||||
AND O.USE_AT = 'Y'
|
||||
AND O.ORDR_STTUS_CD = '15'
|
||||
AND O.SMRT_SHOPNG_ORDRNB IS NULL
|
||||
AND O.ORDR_RCEPT_DT <= DATE_SUB(DATE_FORMAT(CURDATE(), '%Y-%m-%d 23:59:59'), INTERVAL ORDR_CANCL_ATMC_PROCS_PD DAY)
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 선물하기주문취소 조회 -->
|
||||
<select id="selectGiftOrderCancel"
|
||||
resultType = "DataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
GOS.GIFT_STTUS_CD,
|
||||
O.ORDR_INNB,
|
||||
O.SOPMAL_CD,
|
||||
IFNULL(O.ORDRR_NM, 0) AS MBR_NM,
|
||||
IFNULL(O.MBR_INNB, 0) AS MBR_INNB,
|
||||
IFNULL(O.MBR_DV_CD, '') AS MBR_DV_CD,
|
||||
GOS.ORDR_DLVY_INNB,
|
||||
'배송주소 미입력에 의한 자동취소' as RETURN_RESN_CN,
|
||||
'' as RETURN_RESN_CD,
|
||||
'시스템' as USER_NAME ,
|
||||
0 as MNGR_INNB ,
|
||||
0 as REGUSR,
|
||||
0 as UPDUSR
|
||||
FROM GC_ORDER O
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON O.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND O.USE_AT = 'Y'
|
||||
AND GS.GIFT_DLVY_AT = 'Y'
|
||||
INNER JOIN GC_ORDER_SHIPPING GOS
|
||||
ON O.SOPMAL_CD = GOS.SOPMAL_CD
|
||||
AND O.ORDR_INNB = GOS.ORDR_INNB
|
||||
AND GOS.GIFT_STTUS_CD IN ('01','05') -- 01:배송지미입력, 05:배송지미입력 알림
|
||||
WHERE 1=1
|
||||
AND O.ORDR_TY_CD = '04' -- 선물하기
|
||||
AND O.ORDR_STTUS_CD = '25' -- 결제확인
|
||||
AND O.USE_AT = 'Y'
|
||||
AND O.ORDR_RCEPT_DT <= DATE_SUB(DATE_FORMAT(CURDATE(), '%Y-%m-%d 23:59:59'), INTERVAL GS.GIFT_DLVY_ATMC_CANCL_PD+1 DAY)
|
||||
UNION ALL
|
||||
SELECT
|
||||
GOS.GIFT_STTUS_CD,
|
||||
O.ORDR_INNB,
|
||||
O.SOPMAL_CD,
|
||||
IFNULL(O.ORDRR_NM, 0) AS MBR_NM,
|
||||
IFNULL(O.MBR_INNB, 0) AS MBR_INNB,
|
||||
IFNULL(O.MBR_DV_CD, '') AS MBR_DV_CD,
|
||||
GOS.ORDR_DLVY_INNB,
|
||||
'선물거절 의한 자동취소' as RETURN_RESN_CN,
|
||||
'' as RETURN_RESN_CD,
|
||||
'시스템' as USER_NAME ,
|
||||
0 as MNGR_INNB ,
|
||||
0 as REGUSR,
|
||||
0 as UPDUSR
|
||||
FROM GC_ORDER O
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON O.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND O.USE_AT = 'Y'
|
||||
AND GS.GIFT_DLVY_AT = 'Y'
|
||||
INNER JOIN GC_ORDER_SHIPPING GOS
|
||||
ON O.SOPMAL_CD = GOS.SOPMAL_CD
|
||||
AND O.ORDR_INNB = GOS.ORDR_INNB
|
||||
AND GOS.GIFT_STTUS_CD = '03' -- 03:선물거절
|
||||
WHERE 1=1
|
||||
AND O.ORDR_TY_CD = '04' -- 선물하기
|
||||
AND O.ORDR_STTUS_CD = '25' -- 결제확인
|
||||
AND O.USE_AT = 'Y'
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 문자 발송 삭제 대상 조회 -->
|
||||
<!-- <select id="selectGcSms" -->
|
||||
<!-- parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO" -->
|
||||
<!-- resultType = "DataMap"> -->
|
||||
|
||||
<!-- <![CDATA[ -->
|
||||
<!-- SELECT -->
|
||||
<!-- GST.SMS_TO_INNB -->
|
||||
<!-- FROM GC_SMS_TO GST -->
|
||||
<!-- LEFT JOIN GC_SMS GS -->
|
||||
<!-- ON GST.SOPMAL_CD = GS.SOPMAL_CD -->
|
||||
<!-- AND GST.SMS_INNB = GS.SMS_INNB -->
|
||||
<!-- WHERE 1=1 -->
|
||||
<!-- AND GS.SNDNG_DT < #{deleteDate} -->
|
||||
<!-- AND ( -->
|
||||
<!-- CSTMR_IDNB=0 OR CSTMR_IDNB IS NULL OR -->
|
||||
<!-- CSTMR_IDNB IN ( SELECT MBR_INNB FROM GC_MEMBER WHERE USE_AT = 'N' ) -->
|
||||
<!-- ) -->
|
||||
<!-- ]]> -->
|
||||
<!-- </select> -->
|
||||
|
||||
|
||||
<!-- 문자 발송 대상 삭제 -->
|
||||
<delete id="deleteGcSmsTo"
|
||||
parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO">
|
||||
|
||||
<![CDATA[
|
||||
DELETE FROM GC_SMS_TO
|
||||
WHERE 1=1
|
||||
AND SMS_TO_INNB IN (
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
GST.SMS_TO_INNB
|
||||
FROM GC_SMS_TO GST
|
||||
LEFT JOIN GC_SMS GS
|
||||
ON GST.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND GST.SMS_INNB = GS.SMS_INNB
|
||||
WHERE 1=1
|
||||
AND GS.SNDNG_DT > DATE_ADD( DATE_ADD( NOW() , INTERVAL ${deleteMonths} MONTH) , INTERVAL ${bufferDays} DAY )
|
||||
AND GS.SNDNG_DT < DATE_ADD( NOW() , INTERVAL ${deleteMonths} MONTH)
|
||||
AND (
|
||||
CSTMR_IDNB=0 OR CSTMR_IDNB IS NULL OR
|
||||
CSTMR_IDNB IN ( SELECT MBR_INNB FROM GC_MEMBER WHERE USE_AT = 'N' )
|
||||
)
|
||||
ORDER BY SMS_TO_INNB LIMIT 500000
|
||||
) AS A
|
||||
)
|
||||
]]>
|
||||
</delete>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 이메일 발송로그 삭제 -->
|
||||
<delete id="deleteGcEmailLog"
|
||||
parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO">
|
||||
|
||||
<![CDATA[
|
||||
DELETE FROM GC_EMAIL_LOG
|
||||
WHERE 1=1
|
||||
AND REGIST_DT > DATE_ADD( DATE_ADD( NOW() , INTERVAL ${deleteMonths} MONTH) , INTERVAL ${bufferDays} DAY )
|
||||
AND REGIST_DT < DATE_ADD( NOW() , INTERVAL ${deleteMonths} MONTH)
|
||||
AND (
|
||||
MBR_INNB=0 OR MBR_INNB IS NULL OR
|
||||
MBR_INNB IN ( SELECT MBR_INNB FROM GC_MEMBER WHERE USE_AT = 'N' )
|
||||
)
|
||||
ORDER BY EMAIL_LOG_INNB LIMIT 500000
|
||||
]]>
|
||||
</delete>
|
||||
|
||||
<!-- 이메일 대상관리 삭제 -->
|
||||
<delete id="deleteGcEmailTo"
|
||||
parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO">
|
||||
|
||||
<![CDATA[
|
||||
DELETE FROM GC_EMAIL_TO
|
||||
WHERE 1=1
|
||||
AND SNDNG_DT > DATE_ADD( DATE_ADD( NOW() , INTERVAL ${deleteMonths} MONTH) , INTERVAL ${bufferDays} DAY )
|
||||
AND SNDNG_DT < DATE_ADD( NOW() , INTERVAL ${deleteMonths} MONTH)
|
||||
AND (
|
||||
MBR_INNB=0 OR MBR_INNB IS NULL OR
|
||||
MBR_INNB IN ( SELECT MBR_INNB FROM GC_MEMBER WHERE USE_AT = 'N' )
|
||||
)
|
||||
ORDER BY EMAIL_SNDNG_INNB LIMIT 500000
|
||||
]]>
|
||||
</delete>
|
||||
|
||||
|
||||
<!-- update할 주문 고유번호 조회 -->
|
||||
<!-- <select id="selectUpdateTrget" -->
|
||||
<!-- parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO" -->
|
||||
<!-- resultType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO"> -->
|
||||
<!-- <![CDATA[ -->
|
||||
<!-- SELECT -->
|
||||
<!-- O.ORDR_INNB -->
|
||||
<!-- FROM GC_ORDER O -->
|
||||
<!-- LEFT JOIN GC_MEMBER M -->
|
||||
<!-- ON (M.MBR_INNB=O.MBR_INNB) -->
|
||||
<!-- WHERE 1=1 -->
|
||||
<!-- AND O.ORDR_RCEPT_DT < #{updateDate} -->
|
||||
<!-- AND O.ORDRR_NM NOT IN('*삭제*') -->
|
||||
<!-- AND (O.MBR_INNB IS NULL OR O.MBR_INNB = 0 OR M.USE_AT = 'N') -->
|
||||
<!-- ORDER BY ORDR_INNB -->
|
||||
<!-- LIMIT 100000 -->
|
||||
<!-- ]]> -->
|
||||
<!-- </select> -->
|
||||
|
||||
|
||||
<!-- 배송 -->
|
||||
<!-- <update id="updateGcOrderShipping" -->
|
||||
<!-- parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO"> -->
|
||||
|
||||
<!-- <![CDATA[ -->
|
||||
<!-- UPDATE GC_ORDER_SHIPPING SET -->
|
||||
<!-- RECPNT_NM='*삭제*', RECPNT_TELNB='*삭제*', RECPNT_MBTLNB='*삭제*', -->
|
||||
<!-- DLVYLC_ZIP='*삭제*', DLVYLC_LNB_ADRES='*삭제*', DLVYLC_RNM_ADRES='*삭제*', -->
|
||||
<!-- DLVYLC_ADRES_DTL='*삭제*', TRACE_DLVYLC_ADRES='*삭제*' -->
|
||||
<!-- WHERE 1=1 -->
|
||||
<!-- ]]> -->
|
||||
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrInnb)"> -->
|
||||
<!-- ORDR_INNB IN -->
|
||||
<!-- <foreach collection="ordrInnb" item="ordrInnb" open="(" close=")" separator=","> -->
|
||||
<!-- #{ordrInnb} -->
|
||||
<!-- </foreach> -->
|
||||
<!-- </if> -->
|
||||
<!-- </update> -->
|
||||
|
||||
<!-- 반품 -->
|
||||
<!-- <update id="updateGcOrderRefund" -->
|
||||
<!-- parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO"> -->
|
||||
|
||||
<!-- <![CDATA[ -->
|
||||
<!-- UPDATE GC_ORDER_REFUND SET -->
|
||||
<!-- SENDER_ZIP='*삭제*', SENDER_LNB_ADRES='*삭제*', SENDER_RNM_ADRES='*삭제*', -->
|
||||
<!-- SENDER_ADRES_DTL='*삭제*', RETURN_CSTMR_TELNB='*삭제*', RETURN_CSTMR_MBTLNB='*삭제*' -->
|
||||
<!-- WHERE 1=1 -->
|
||||
<!-- ]]> -->
|
||||
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrInnb)"> -->
|
||||
<!-- ORDR_INNB IN -->
|
||||
<!-- <foreach collection="ordrInnb" item="ordrInnb" open="(" close=")" separator=","> -->
|
||||
<!-- #{ordrInnb} -->
|
||||
<!-- </foreach> -->
|
||||
<!-- </if> -->
|
||||
<!-- </update> -->
|
||||
|
||||
<!-- 매출증빙 -->
|
||||
<!-- <update id="updateGcSales" -->
|
||||
<!-- parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO"> -->
|
||||
|
||||
<!-- <![CDATA[ -->
|
||||
<!-- UPDATE GC_SALES SET -->
|
||||
<!-- CRTNB='*삭제*', ORDRR_NM='*삭제*', ORDRR_EMAIL='*삭제*' -->
|
||||
<!-- WHERE 1=1 -->
|
||||
<!-- ]]> -->
|
||||
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrInnb)"> -->
|
||||
<!-- ORDR_INNB IN -->
|
||||
<!-- <foreach collection="ordrInnb" item="ordrInnb" open="(" close=")" separator=","> -->
|
||||
<!-- #{ordrInnb} -->
|
||||
<!-- </foreach> -->
|
||||
<!-- </if> -->
|
||||
<!-- </update> -->
|
||||
|
||||
<!-- 주문 -->
|
||||
<!-- <update id="updateGcOrder" -->
|
||||
<!-- parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO"> -->
|
||||
|
||||
<!-- <![CDATA[ -->
|
||||
<!-- UPDATE GC_ORDER SET -->
|
||||
<!-- ORDRR_NM='*삭제*', ORDRR_TELNB='*삭제*', ORDRR_MBTLNB='*삭제*', ORDRR_EMAIL='*삭제*' -->
|
||||
<!-- WHERE 1=1 -->
|
||||
<!-- ]]> -->
|
||||
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrInnb)"> -->
|
||||
<!-- ORDR_INNB IN -->
|
||||
<!-- <foreach collection="ordrInnb" item="ordrInnb" open="(" close=")" separator=","> -->
|
||||
<!-- #{ordrInnb} -->
|
||||
<!-- </foreach> -->
|
||||
<!-- </if> -->
|
||||
<!-- </update> -->
|
||||
|
||||
<!-- 주문결제 -->
|
||||
<!-- <update id="updateGcOrderSetle" -->
|
||||
<!-- parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO"> -->
|
||||
|
||||
<!-- <![CDATA[ -->
|
||||
<!-- UPDATE GC_ORDER_SETLE SET -->
|
||||
<!-- RCPMNYER_NM='*삭제*' -->
|
||||
<!-- WHERE 1=1 -->
|
||||
<!-- ]]> -->
|
||||
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrInnb)"> -->
|
||||
<!-- ORDR_INNB IN -->
|
||||
<!-- <foreach collection="ordrInnb" item="ordrInnb" open="(" close=")" separator=","> -->
|
||||
<!-- #{ordrInnb} -->
|
||||
<!-- </foreach> -->
|
||||
<!-- </if> -->
|
||||
<!-- </update> -->
|
||||
|
||||
|
||||
|
||||
<!-- 배송 -->
|
||||
<update id="updateGcOrderShipping"
|
||||
parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO">
|
||||
|
||||
<![CDATA[
|
||||
UPDATE GC_ORDER_SHIPPING SET
|
||||
RECPNT_NM='*삭제*', RECPNT_TELNB='*삭제*', RECPNT_MBTLNB='*삭제*',
|
||||
DLVYLC_ZIP='*삭제*', DLVYLC_LNB_ADRES='*삭제*', DLVYLC_RNM_ADRES='*삭제*',
|
||||
DLVYLC_ADRES_DTL='*삭제*', TRACE_DLVYLC_ADRES='*삭제*'
|
||||
WHERE 1=1
|
||||
AND ORDR_DLVY_INNB IN (
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
GOS.ORDR_DLVY_INNB
|
||||
FROM GC_ORDER_SHIPPING GOS
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
O.ORDR_INNB,
|
||||
O.SOPMAL_CD
|
||||
FROM GC_ORDER O
|
||||
LEFT JOIN GC_MEMBER M
|
||||
ON M.MBR_INNB=O.MBR_INNB
|
||||
AND M.MAIN_SOPMAL_CD = O.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND O.SOPMAL_CD > ''
|
||||
AND O.ORDR_RCEPT_DT > DATE_ADD( DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH) , INTERVAL ${bufferDays} DAY )
|
||||
AND O.ORDR_RCEPT_DT < DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH)
|
||||
AND O.ORDRR_NM NOT IN ('*삭제*')
|
||||
AND (O.MBR_INNB IS NULL OR O.MBR_INNB = 0 OR M.USE_AT = 'N')
|
||||
) AS A
|
||||
ON GOS.ORDR_INNB = A.ORDR_INNB
|
||||
AND GOS.SOPMAL_CD = A.SOPMAL_CD
|
||||
LIMIT 1000000
|
||||
) AS B
|
||||
)
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 반품 -->
|
||||
<update id="updateGcOrderRefund"
|
||||
parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO">
|
||||
|
||||
<![CDATA[
|
||||
UPDATE GC_ORDER_REFUND SET
|
||||
SENDER_ZIP='*삭제*', SENDER_LNB_ADRES='*삭제*', SENDER_RNM_ADRES='*삭제*',
|
||||
SENDER_ADRES_DTL='*삭제*', RETURN_CSTMR_TELNB='*삭제*', RETURN_CSTMR_MBTLNB='*삭제*'
|
||||
WHERE 1=1
|
||||
AND ORDER_REFUND_INNB IN (
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
GOR.ORDER_REFUND_INNB
|
||||
FROM GC_ORDER_REFUND GOR
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
O.ORDR_INNB,
|
||||
O.SOPMAL_CD
|
||||
FROM GC_ORDER O
|
||||
LEFT JOIN GC_MEMBER M
|
||||
ON M.MBR_INNB=O.MBR_INNB
|
||||
AND M.MAIN_SOPMAL_CD = O.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND O.SOPMAL_CD > ''
|
||||
AND O.ORDR_RCEPT_DT > DATE_ADD( DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH) , INTERVAL ${bufferDays} DAY )
|
||||
AND O.ORDR_RCEPT_DT < DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH)
|
||||
AND O.ORDRR_NM NOT IN ('*삭제*')
|
||||
AND (O.MBR_INNB IS NULL OR O.MBR_INNB = 0 OR M.USE_AT = 'N')
|
||||
) AS A
|
||||
ON GOR.ORDR_INNB = A.ORDR_INNB
|
||||
AND GOR.SOPMAL_CD = A.SOPMAL_CD
|
||||
LIMIT 100000
|
||||
) AS B
|
||||
)
|
||||
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 매출증빙 -->
|
||||
<update id="updateGcSales"
|
||||
parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO">
|
||||
|
||||
<![CDATA[
|
||||
UPDATE GC_SALES SET
|
||||
CRTNB='*삭제*', ORDRR_NM='*삭제*', ORDRR_EMAIL='*삭제*'
|
||||
WHERE 1=1
|
||||
AND SELNG_PRUF_INNB IN (
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
GS.SELNG_PRUF_INNB
|
||||
FROM GC_SALES GS
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
O.ORDR_INNB,
|
||||
O.SOPMAL_CD
|
||||
FROM GC_ORDER O
|
||||
LEFT JOIN GC_MEMBER M
|
||||
ON M.MBR_INNB=O.MBR_INNB
|
||||
AND M.MAIN_SOPMAL_CD = O.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND O.SOPMAL_CD > ''
|
||||
AND O.ORDR_RCEPT_DT > DATE_ADD( DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH) , INTERVAL ${bufferDays} DAY )
|
||||
AND O.ORDR_RCEPT_DT < DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH)
|
||||
AND O.ORDRR_NM NOT IN ('*삭제*')
|
||||
AND (O.MBR_INNB IS NULL OR O.MBR_INNB = 0 OR M.USE_AT = 'N')
|
||||
) AS A
|
||||
ON GS.ORDR_INNB = A.ORDR_INNB
|
||||
AND GS.SOPMAL_CD = A.SOPMAL_CD
|
||||
LIMIT 100000
|
||||
) AS B
|
||||
)
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 주문 -->
|
||||
<update id="updateGcOrder"
|
||||
parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO">
|
||||
|
||||
<![CDATA[
|
||||
UPDATE GC_ORDER SET
|
||||
ORDRR_NM='*삭제*', ORDRR_TELNB='*삭제*', ORDRR_MBTLNB='*삭제*', ORDRR_EMAIL='*삭제*'
|
||||
WHERE 1=1
|
||||
AND ORDR_INNB IN (
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
GO2.ORDR_INNB
|
||||
FROM GC_ORDER GO2
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
O.ORDR_INNB,
|
||||
O.SOPMAL_CD
|
||||
FROM GC_ORDER O
|
||||
LEFT JOIN GC_MEMBER M
|
||||
ON M.MBR_INNB=O.MBR_INNB
|
||||
AND M.MAIN_SOPMAL_CD = O.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND O.SOPMAL_CD > ''
|
||||
AND O.ORDR_RCEPT_DT > DATE_ADD( DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH) , INTERVAL ${bufferDays} DAY )
|
||||
AND O.ORDR_RCEPT_DT < DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH)
|
||||
AND O.ORDRR_NM NOT IN ('*삭제*')
|
||||
AND (O.MBR_INNB IS NULL OR O.MBR_INNB = 0 OR M.USE_AT = 'N')
|
||||
) AS A
|
||||
ON GO2.ORDR_INNB = A.ORDR_INNB
|
||||
AND GO2.SOPMAL_CD = A.SOPMAL_CD
|
||||
LIMIT 100000
|
||||
) AS B
|
||||
)
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 주문결제 -->
|
||||
<update id="updateGcOrderSetle"
|
||||
parameterType = "com.wb.domainserver.atmcrcpmny.vo.TsUpdateClearPersonalInfoShopVO">
|
||||
|
||||
<![CDATA[
|
||||
UPDATE GC_ORDER_SETLE SET
|
||||
RCPMNYER_NM='*삭제*'
|
||||
WHERE 1=1
|
||||
AND ORDR_SETLE_INNB IN (
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
GOS.ORDR_SETLE_INNB
|
||||
FROM GC_ORDER_SETLE GOS
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
O.ORDR_INNB,
|
||||
O.SOPMAL_CD
|
||||
FROM GC_ORDER O
|
||||
LEFT JOIN GC_MEMBER M
|
||||
ON M.MBR_INNB=O.MBR_INNB
|
||||
AND M.MAIN_SOPMAL_CD = O.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND O.SOPMAL_CD > ''
|
||||
AND O.ORDR_RCEPT_DT > DATE_ADD( DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH) , INTERVAL ${bufferDays} DAY )
|
||||
AND O.ORDR_RCEPT_DT < DATE_ADD( NOW() , INTERVAL ${updateMonths} MONTH)
|
||||
AND O.ORDRR_NM NOT IN ('*삭제*')
|
||||
AND (O.MBR_INNB IS NULL OR O.MBR_INNB = 0 OR M.USE_AT = 'N')
|
||||
) AS A
|
||||
ON GOS.ORDR_INNB = A.ORDR_INNB
|
||||
AND GOS.SOPMAL_CD = A.SOPMAL_CD
|
||||
LIMIT 100000
|
||||
) AS B
|
||||
)
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
865
src/main/resources/mybatis/xml/mapper/gcone/CouponMapper.xml
Normal file
865
src/main/resources/mybatis/xml/mapper/gcone/CouponMapper.xml
Normal file
@@ -0,0 +1,865 @@
|
||||
<?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.mapper.gcone.CouponMapper">
|
||||
<!-- 쿠폰(팩) 발송 상세 조회 ( 쿠폰 발급떄 발송 정보 조회 용도 ) -->
|
||||
<select id="selectBOCouponPkSndngDtlInqire">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SNDNG.COUPON_SNDNG_INNB
|
||||
,SNDNG.EMAIL_SNDNG_FORM_INNB
|
||||
,SNDNG.SMS_SNDNG_FORM_INNB
|
||||
,SNDNG.NTCNTALK_SNDNG_FORM_INNB
|
||||
,SNDNG.COUPON_SNDNG_DV_CD AS SNDNG_DV
|
||||
,SNDNG.COUPON_SNDNG_TY_CD AS COUPON_SNDNG_TY
|
||||
,SNDNG.COUPON_SNDNG_NM
|
||||
,SNDNG.COUPON_SNDNG_DC
|
||||
,SNDNG.COUPON_SNDNG_USE_AT
|
||||
,SNDNG.DWLD_PD_LMTT_AT
|
||||
,SNDNG.DWLD_BGN_DT
|
||||
,SNDNG.DWLD_END_DT
|
||||
,SNDNG.SNDNG_DT_DV_CD
|
||||
,SNDNG.SNDNG_DT
|
||||
,SNDNG.SNDNG_TRGET_DV_CD AS SNDNG_TRGET_DV
|
||||
,SNDNG.USE_AT
|
||||
,SNDNG.REGUSR
|
||||
,SNDNG.REGIST_DT
|
||||
,SNDNG.UPDUSR
|
||||
,SNDNG.UPDT_DT
|
||||
FROM GC_COUPON_SNDNG SNDNG
|
||||
WHERE 1=1
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(couponSndngInnb)">
|
||||
AND SNDNG.COUPON_SNDNG_INNB = #{couponSndngInnb}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
AND SNDNG.SOPMAL_CD = #{sopmalCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sndngDtDvCd)">
|
||||
AND SNDNG.SNDNG_DT_DV_CD = #{sndngDtDvCd}
|
||||
</if>
|
||||
</select>
|
||||
<!-- 쿠폰(팩) 발송 상세 조회 ( 쿠폰 발급떄 발송 정보 조회 용도 ) -->
|
||||
<select id="selectTsCouponPkSndngDtlInqire">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SNDNG.COUPON_SNDNG_INNB
|
||||
,SNDNG.SOPMAL_CD
|
||||
,SNDNG.EMAIL_SNDNG_FORM_INNB
|
||||
,SNDNG.SMS_SNDNG_FORM_INNB
|
||||
,SNDNG.NTCNTALK_SNDNG_FORM_INNB
|
||||
,SNDNG.COUPON_SNDNG_DV_CD AS SNDNG_DV
|
||||
,SNDNG.COUPON_SNDNG_TY_CD AS COUPON_SNDNG_TY
|
||||
,SNDNG.COUPON_SNDNG_NM
|
||||
,SNDNG.COUPON_SNDNG_DC
|
||||
,SNDNG.COUPON_SNDNG_USE_AT
|
||||
,SNDNG.DWLD_PD_LMTT_AT
|
||||
,SNDNG.DWLD_BGN_DT
|
||||
,SNDNG.DWLD_END_DT
|
||||
,SNDNG.SNDNG_DT_DV_CD
|
||||
,SNDNG.SNDNG_DT
|
||||
,SNDNG.SNDNG_TRGET_DV_CD AS SNDNG_TRGET_DV
|
||||
,SNDNG.USE_AT
|
||||
,SNDNG.REGUSR
|
||||
,SNDNG.REGIST_DT
|
||||
,SNDNG.UPDUSR
|
||||
,SNDNG.UPDT_DT
|
||||
FROM GC_COUPON_SNDNG SNDNG
|
||||
WHERE 1=1
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(couponSndngInnb)">
|
||||
AND SNDNG.COUPON_SNDNG_INNB = #{couponSndngInnb}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dataList)">
|
||||
AND SNDNG.SOPMAL_CD IN
|
||||
<foreach collection="dataList" item="sopmalCd" open="(" separator="," close=")">
|
||||
#{sopmalCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sndngDtDvCd)">
|
||||
AND SNDNG.SNDNG_DT_DV_CD = #{sndngDtDvCd}
|
||||
</if>
|
||||
</select>
|
||||
<!-- 발송 대상 쿠폰 조회 -->
|
||||
<select id="selectBOTrgetCouponInqire">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SNDNG_TRGET_INNB
|
||||
,COUPON_SNDNG_INNB
|
||||
,COUPON_INNB
|
||||
,CUPNPK_INNB
|
||||
,SOPMAL_CD
|
||||
FROM
|
||||
GC_COUPON_TRGET_MAPPING
|
||||
WHERE 1=1
|
||||
AND COUPON_SNDNG_INNB = #{couponSndngInnb}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id = "selectBOCouponIssueGoods"
|
||||
resultType = "dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUPON.COUPON_INNB,
|
||||
COUPON.SOPMAL_CD,
|
||||
COUPON.GOODS_INNB,
|
||||
COUPON.CTGRY_ID
|
||||
FROM GC_COUPON_ISSUEGOODS COUPON
|
||||
WHERE 1=1
|
||||
AND COUPON.SOPMAL_CD = #{sopmalCd}
|
||||
AND COUPON.COUPON_INNB = #{couponInnb}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 쿠폰 상세 적용상품 정보 조회 -->
|
||||
<select id = "selectBOCouponIssueGoodsInfoInqire"
|
||||
resultType = "dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUPON.COUPON_INNB
|
||||
,COUPON.SOPMAL_CD
|
||||
,MAX(G.GOODS_INNB) AS GOODS_INNB
|
||||
,MAX(G.GOODS_NM) AS GOODS_NM
|
||||
,ROUND(IFNULL(MAX(GOP.SLEPRIC), 0)) AS SLEPRIC
|
||||
,ROUND(IFNULL(MAX(GOP.CNSMRPRIC), 0)) AS CNSMRPRIC
|
||||
,MAX(G.GOODS_STTUS_CD) AS GOODS_STTUS_CD
|
||||
,FN_GET_COMMCODE_NAME('GOODS_STTUS', MAX(G.GOODS_STTUS_CD)) AS GOODS_STTUS_NM
|
||||
,MAX(IMG.IMG) AS GOODS_IMG_COURS
|
||||
FROM GC_COUPON_ISSUEGOODS COUPON
|
||||
INNER JOIN GC_GOODS G ON COUPON.SOPMAL_CD = G.SOPMAL_CD
|
||||
AND COUPON.GOODS_INNB = G.GOODS_INNB
|
||||
INNER JOIN GC_GOODS_OPTION GOP ON G.SOPMAL_CD = GOP.SOPMAL_CD
|
||||
AND G.GOODS_INNB = GOP.GOODS_INNB
|
||||
INNER JOIN GC_GOODS_IMAGE IMG ON G.SOPMAL_CD = IMG.SOPMAL_CD
|
||||
AND G.GOODS_INNB = IMG.GOODS_INNB
|
||||
AND IMG.IMG_KND = '02'
|
||||
AND IMG.CUT_NB = 1
|
||||
WHERE 1=1
|
||||
AND COUPON.SOPMAL_CD = #{sopmalCd}
|
||||
AND COUPON.COUPON_INNB = #{couponInnb}
|
||||
GROUP BY COUPON.COUPON_INNB
|
||||
,COUPON.SOPMAL_CD
|
||||
,G.GOODS_INNB
|
||||
,IMG.IMG
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 다운로드 쿠폰 등록 -->
|
||||
<insert id="insertBOCouponPkIssuRegist"
|
||||
keyProperty="dwldCouponInnb"
|
||||
useGeneratedKeys="true">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_DOWNLOAD (
|
||||
COUPON_INNB,
|
||||
SOPMAL_CD,
|
||||
MBR_INNB,
|
||||
MBR_DV_CD,
|
||||
CUPNPK_INNB,
|
||||
OFLNE_COUPON_INNB,
|
||||
COUPON_SNDNG_INNB,
|
||||
COUPON_SNDNG_TY_CD,
|
||||
CUPNPK_NM,
|
||||
CUPNPK_DC,
|
||||
COUP_NM,
|
||||
COUPON_DC,
|
||||
USE_ENVRN_CD,
|
||||
OTR_COUPON_SMTM_USE_AT,
|
||||
DPLCT_DWLD_AT,
|
||||
DPLCT_DSCNT_AT,
|
||||
USE_POSBL_AMT,
|
||||
GOODS_APPLC_DV_CD,
|
||||
VALIDPD_BGN_DT,
|
||||
VALIDPD_END_DT,
|
||||
OFLNE_COUPON_CRTNB,
|
||||
COUPON_USE_AT,
|
||||
COUPON_STTUS_CD,
|
||||
RECOVRY_ORGINL_COUPON,
|
||||
MBR_NM,
|
||||
MBTLNB,
|
||||
BNEF_DV_CD,
|
||||
ADIT_DSCNT_CD,
|
||||
ADIT_DSCNT_AMT,
|
||||
DSCNT_MXMM_AMT,
|
||||
DLVY_AMT_DSCNT_DV_CD,
|
||||
DLVY_AMT_DSCNT_AMT,
|
||||
DLVY_AMT_MXMM_DSCNT_AMT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
) SELECT
|
||||
COUPON_INNB,
|
||||
#{sopmalCd},
|
||||
#{mbrInnb},
|
||||
#{mbrDvCd},
|
||||
#{cupnpkInnb},
|
||||
#{oflneCouponInnb},
|
||||
#{couponSndngInnb},
|
||||
'02',
|
||||
#{cupnpkNm},
|
||||
#{cupnpkDc},
|
||||
COUP_NM,
|
||||
COUPON_DC,
|
||||
USE_ENVRN_CD,
|
||||
OTR_COUPON_SMTM_USE_AT,
|
||||
DPLCT_DWLD_AT,
|
||||
DPLCT_DSCNT_AT,
|
||||
USE_POSBL_AMT,
|
||||
GOODS_APPLC_DV_CD,
|
||||
CASE
|
||||
WHEN VALIDPD_KND_CD = '01' THEN VALIDPD_BGN_DT
|
||||
WHEN VALIDPD_KND_CD = '02' THEN SYSDATE()
|
||||
END AS START_DATE,
|
||||
CASE
|
||||
WHEN VALIDPD_KND_CD = '01' THEN VALIDPD_END_DT
|
||||
WHEN VALIDPD_KND_CD = '02' THEN DATE_ADD(SYSDATE(), INTERVAL VALIDPD_DE_CNT DAY)
|
||||
END AS END_DATE,
|
||||
#{oflneCouponCrtnb},
|
||||
'N',
|
||||
#{couponSttusCd},
|
||||
NULL,
|
||||
#{mbrNm},
|
||||
#{mbtlnb},
|
||||
BNEF_DV_CD,
|
||||
ADIT_DSCNT_CD,
|
||||
ADIT_DSCNT_AMT,
|
||||
DSCNT_MXMM_AMT,
|
||||
DLVY_AMT_DSCNT_DV_CD,
|
||||
DLVY_AMT_DSCNT_AMT,
|
||||
DLVY_AMT_MXMM_DSCNT_AMT,
|
||||
#{regusr},
|
||||
SYSDATE(),
|
||||
#{updusr},
|
||||
SYSDATE()
|
||||
FROM GC_COUPON
|
||||
WHERE COUPON_INNB = #{couponInnb}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<!-- 다운로드 쿠폰 발급 적용 상품 등록 ( 쿠폰 발급, 다운로드) -->
|
||||
<insert id="insertBOCouponPkIssuGoodsRegist">
|
||||
<selectKey order="BEFORE" keyProperty="dwldCouponApplcGoodsInnb" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(DWLD_COUPON_APPLC_GOODS_INNB), 0)+1
|
||||
FROM GC_DOWNLOAD_ISSUEGOODS
|
||||
]]>
|
||||
</selectKey>
|
||||
<![CDATA[
|
||||
INSERT INTO GC_DOWNLOAD_ISSUEGOODS (
|
||||
DWLD_COUPON_APPLC_GOODS_INNB
|
||||
,DWLD_COUPON_INNB
|
||||
,SOPMAL_CD
|
||||
,GOODS_INNB
|
||||
,CTGRY_ID
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
) VALUES (
|
||||
#{dwldCouponApplcGoodsInnb},
|
||||
#{dwldCouponInnb},
|
||||
#{sopmalCd},
|
||||
#{goodsInnb},
|
||||
#{ctgryId},
|
||||
${regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<!-- 인증번호 생성 -->
|
||||
<insert id="insertBOMkCouponOflneCouponCrtnb">
|
||||
|
||||
<selectKey order="BEFORE" keyProperty="oflneCouponInnb" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(OFLNE_COUPON_INNB), 0)+1
|
||||
FROM GC_OFFLINE_COUPON
|
||||
]]>
|
||||
</selectKey>
|
||||
<![CDATA[
|
||||
INSERT INTO GC_OFFLINE_COUPON (
|
||||
OFLNE_COUPON_INNB,
|
||||
SNDNG_TRGET_INNB,
|
||||
COUPON_INNB,
|
||||
OFLNE_COUPON_CREAT_NB,
|
||||
OFLNE_COUPON_CRTNB,
|
||||
OFLNE_COUPON_CRT_DV_CD,
|
||||
SNDNG_TRGTER_NM,
|
||||
SNDNG_TRGET_TELNB,
|
||||
USECNT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT,
|
||||
SOPMAL_CD
|
||||
) VALUES (
|
||||
#{oflneCouponInnb},
|
||||
#{sndngTrgetInnb},
|
||||
#{couponInnb},
|
||||
#{oflneCouponCreateNb},
|
||||
#{oflneCouponCrtnb},
|
||||
'02',
|
||||
#{sndngTrgetrNm},
|
||||
#{sndngTrgetTelnb},
|
||||
#{useCnt},
|
||||
#{regusr},
|
||||
SYSDATE(),
|
||||
#{updusr},
|
||||
SYSDATE(),
|
||||
#{sopmalCd}
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<!-- 인증번호 발행 쿠폰 쇼핑몰 번호 반환 -->
|
||||
<select id="selectBOSopmalCouponNbInqire"
|
||||
resultType="String">
|
||||
SELECT
|
||||
SOPMAL_NB
|
||||
FROM GC_SHOP
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
|
||||
<!-- 쿠폰 대상 매핑 조회-->
|
||||
<select id="selectTsCouponTrgetListInqire">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SNDNG_TRGET_INNB
|
||||
,COUPON_SNDNG_INNB
|
||||
,COUPON_INNB
|
||||
,CUPNPK_INNB
|
||||
,SOPMAL_CD
|
||||
FROM
|
||||
GC_COUPON_TRGET_MAPPING
|
||||
WHERE 1=1
|
||||
AND COUPON_SNDNG_INNB IN
|
||||
]]>
|
||||
<foreach collection="dwldCouponVOList" item="dwldCoupon" open="(" separator="," close=")">
|
||||
#{dwldCoupon.couponSndngInnb}
|
||||
</foreach>
|
||||
</select>
|
||||
<!--
|
||||
###########################################################################################################################################
|
||||
EXT 쿠폰 Start
|
||||
###########################################################################################################################################
|
||||
-->
|
||||
<!-- 생일자 추출(전 쇼핑몰: 생일 쿠폰 운영중인) 쿠폰발급 -->
|
||||
<insert id="insertCouponBirthdayDwld">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_DOWNLOAD
|
||||
( COUPON_INNB
|
||||
,COUPON_SNDNG_INNB
|
||||
,SOPMAL_CD
|
||||
,MBR_INNB
|
||||
,MBR_DV_CD
|
||||
,CUPNPK_INNB
|
||||
,OFLNE_COUPON_INNB
|
||||
,COUPON_SNDNG_TY_CD
|
||||
,CUPNPK_NM
|
||||
,CUPNPK_DC
|
||||
,COUP_NM
|
||||
,COUPON_DC
|
||||
,USE_ENVRN_CD
|
||||
,OTR_COUPON_SMTM_USE_AT
|
||||
,DPLCT_DWLD_AT
|
||||
,DPLCT_DSCNT_AT
|
||||
,USE_POSBL_AMT
|
||||
,GOODS_APPLC_DV_CD
|
||||
,VALIDPD_BGN_DT
|
||||
,VALIDPD_END_DT
|
||||
,OFLNE_COUPON_CRTNB
|
||||
,USEPLC_DV_CD
|
||||
,COUPON_STTUS_CD
|
||||
,COUPON_USE_AT
|
||||
,COUPON_USE_DT
|
||||
,RECOVRY_ORGINL_COUPON
|
||||
,MBR_NM
|
||||
,MBTLNB
|
||||
,BNEF_DV_CD
|
||||
,ADIT_DSCNT_CD
|
||||
,ADIT_DSCNT_AMT
|
||||
,DSCNT_MXMM_AMT
|
||||
,DLVY_AMT_DSCNT_DV_CD
|
||||
,DLVY_AMT_DSCNT_AMT
|
||||
,DLVY_AMT_MXMM_DSCNT_AMT
|
||||
,USE_AT
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
,UPDUSR
|
||||
,UPDT_DT
|
||||
)
|
||||
SELECT GC.COUPON_INNB
|
||||
, SD.COUPON_SNDNG_INNB
|
||||
, GMA.SOPMAL_CD
|
||||
, GM.MBR_INNB
|
||||
, GM.MBR_DV_CD
|
||||
, NULL CUPNPK_INNB
|
||||
, NULL OFLNE_COUPON_INNB
|
||||
, SD.COUPON_SNDNG_TY_CD
|
||||
, NULL CUPNPK_NM
|
||||
, NULL CUPNPK_DC
|
||||
, GC.COUP_NM
|
||||
, GC.COUPON_DC
|
||||
, GC.USE_ENVRN_CD
|
||||
, GC.OTR_COUPON_SMTM_USE_AT
|
||||
, GC.DPLCT_DWLD_AT
|
||||
, GC.DPLCT_DSCNT_AT
|
||||
, GC.USE_POSBL_AMT
|
||||
, GC.GOODS_APPLC_DV_CD
|
||||
, CASE
|
||||
WHEN VALIDPD_KND_CD = '01' THEN VALIDPD_BGN_DT
|
||||
WHEN VALIDPD_KND_CD = '02' THEN SYSDATE()
|
||||
END AS START_DATE
|
||||
, CASE
|
||||
WHEN VALIDPD_KND_CD = '01' THEN VALIDPD_END_DT
|
||||
WHEN VALIDPD_KND_CD = '02' THEN DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL VALIDPD_DE_CNT DAY), '%Y-%m-%d 23:59:59')
|
||||
END AS END_DATE
|
||||
, NULL OFLNE_COUPON_CRTNB
|
||||
, NULL USEPLC_DV_CD
|
||||
, '23' COUPON_STTUS_CD
|
||||
, 'Y' COUPON_USE_AT
|
||||
, NULL COUPON_USE_DT
|
||||
, NULL RECOVRY_ORGINL_COUPON
|
||||
, GM.MBR_NM
|
||||
, GM.MBTLNB
|
||||
, GC.BNEF_DV_CD
|
||||
, GC.ADIT_DSCNT_CD
|
||||
, GC.ADIT_DSCNT_AMT
|
||||
, GC.DSCNT_MXMM_AMT
|
||||
, GC.DLVY_AMT_DSCNT_DV_CD
|
||||
, GC.DLVY_AMT_DSCNT_AMT
|
||||
, GC.DLVY_AMT_MXMM_DSCNT_AMT
|
||||
, 'Y' USE_AT
|
||||
, 0 REGUSR
|
||||
, NOW() REGIST_DT
|
||||
, 0 AS UPDUSR
|
||||
, NOW() UPDT_DT
|
||||
FROM GC_MEMBER GM
|
||||
INNER JOIN GC_MARKETING_AGREE GMA -- 마케팅 수신여부 동의, 통합몰의 경우 수신동의 숫자 만큼 멤버 생성
|
||||
ON GM.MBR_INNB = GMA.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GMA.MBR_DV_CD
|
||||
-- AND GMA.MARKT_RECPTN_AGRE_AT = 'Y' -- 마케팅 수신여부 동의 체크 할때는 필수
|
||||
INNER JOIN GC_MEMBER_SITE MS
|
||||
ON GMA.MBR_INNB = MS.MBR_INNB
|
||||
AND GMA.MBR_DV_CD = MS.MBR_DV_CD
|
||||
AND GMA.SOPMAL_CD = MS.SOPMAL_CD
|
||||
INNER JOIN GC_COUPON_SNDNG SD -- 생일쿠폰은 사이트별로 1개만 유효함
|
||||
ON SD.SOPMAL_CD = GMA.SOPMAL_CD
|
||||
AND SD.SNDNG_DT_DV_CD = '03' -- '03' 은 생일자, '04' 는 등급변경 대상
|
||||
AND SD.COUPON_SNDNG_TY_CD = '01' -- '01'은 직접발급, '03'은 인증쿠폰
|
||||
AND SD.USE_AT = 'Y'
|
||||
AND SD.COUPON_SNDNG_USE_AT = 'Y'
|
||||
INNER JOIN GC_COUPON_TRGET_MAPPING TC -- 쿠폰수 만큼 뻥튀기
|
||||
ON SD.COUPON_SNDNG_INNB = TC.COUPON_SNDNG_INNB
|
||||
AND SD.SOPMAL_CD = TC.SOPMAL_CD
|
||||
INNER JOIN GC_COUPON GC
|
||||
ON TC.COUPON_INNB = GC.COUPON_INNB
|
||||
AND TC.SOPMAL_CD = GC.SOPMAL_CD
|
||||
AND GC.COUPON_USE_AT = 'Y'
|
||||
AND GC.USE_AT = 'Y'
|
||||
LEFT JOIN ( SELECT DWLD_COUPON_INNB, COUPON_SNDNG_INNB, SOPMAL_CD, MBR_INNB, MBR_DV_CD, COUPON_INNB
|
||||
FROM GC_DOWNLOAD D
|
||||
WHERE 1 =1
|
||||
AND D.REGIST_DT > DATE_FORMAT(CURDATE(), '%Y-01-01') -- 올해 발급된
|
||||
AND D.USE_AT = 'Y' -- COUPON_STTUS_CD = '04' 회수는 USE_AT=N 임
|
||||
AND (D.COUPON_SNDNG_INNB, D.SOPMAL_CD) IN ( SELECT COUPON_SNDNG_INNB, SOPMAL_CD
|
||||
FROM GC_COUPON_SNDNG CS
|
||||
WHERE CS.SNDNG_DT_DV_CD = '03' -- '03' 은 생일자, '04' 는 등급변경 대상
|
||||
)
|
||||
) GD
|
||||
ON GM.MBR_INNB = GD.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GD.MBR_DV_CD
|
||||
AND SD.COUPON_SNDNG_INNB = GD.COUPON_SNDNG_INNB
|
||||
AND SD.SOPMAL_CD = GD.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND GM.USE_AT = 'Y'
|
||||
AND GM.BRTH_DE IS NOT NULL -- 생일 데이터가 NULL이 아니고
|
||||
-- AND MONTH(GM.BRTH_DE) = MONTH(CURDATE()) -- 이번달이 생일
|
||||
AND GM.BRTH_DE LIKE CONCAT('%____', MONTH(CURDATE()), '__%') -- 이번달이 생일
|
||||
AND GD.DWLD_COUPON_INNB IS NULL -- 중복 발급 제외
|
||||
;
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 오프라인 쿠폰발급 -->
|
||||
<insert id="insertOffCouponBirthdayDwld">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_OFFLINE_COUPON ( COUPON_SNDNG_INNB
|
||||
,COUPON_INNB
|
||||
,SOPMAL_CD
|
||||
,OFLNE_COUPON_CREAT_NB
|
||||
,OFLNE_COUPON_CRTNB
|
||||
,OFLNE_COUPON_CRT_DV_CD
|
||||
,MBR_INNB
|
||||
,MBR_DV_CD
|
||||
,SNDNG_TRGTER_NM
|
||||
,SNDNG_TRGET_TELNB
|
||||
,USECNT
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
,UPDUSR
|
||||
,UPDT_DT
|
||||
)
|
||||
SELECT SD.COUPON_SNDNG_INNB
|
||||
,GC.COUPON_INNB
|
||||
,SD.SOPMAL_CD
|
||||
,#{sttus} AS OFLNE_COUPON_CREAT_NB
|
||||
, CONCAT(GS.SOPMAL_NB, RIGHT(GC.COUPON_INNB, 3), DATE_FORMAT(CURDATE(), '%m%y%d'), fnc_get_cpn_no()) AS OFLNE_COUPON_CRTNB
|
||||
,'02' AS OFLNE_COUPON_CRT_DV_CD
|
||||
,GM.MBR_INNB
|
||||
,GM.MBR_DV_CD
|
||||
,GM.MBR_NM AS SNDNG_TRGTER_NM
|
||||
,GM.MBTLNB AS SNDNG_TRGET_TELNB
|
||||
,'1' AS USECNT
|
||||
,0 AS REGUSR
|
||||
,NOW() AS REGIST_DT
|
||||
,0 AS UPDUSR
|
||||
,NOW() AS UPDT_DT
|
||||
FROM GC_MEMBER GM
|
||||
INNER JOIN GC_MARKETING_AGREE GMA -- 마케팅 수신여부 동의, 통합몰의 경우 수신동의 숫자 만큼 멤버 생성
|
||||
ON GM.MBR_INNB = GMA.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GMA.MBR_DV_CD
|
||||
-- AND GMA.SOPMAL_CD = MS.SOPMAL_CD
|
||||
-- AND GMA.MARKT_RECPTN_AGRE_AT = 'Y' -- 마케팅 수신여부 동의 체크 할때는 필수
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GS.SOPMAL_CD = GMA.SOPMAL_CD
|
||||
INNER JOIN GC_COUPON_SNDNG SD -- 생일쿠폰은 사이트별로 1개만 유효함
|
||||
ON SD.SOPMAL_CD = GMA.SOPMAL_CD
|
||||
AND SD.SNDNG_DT_DV_CD = '03' -- '03' 은 생일자, '04' 는 등급변경 대상
|
||||
AND SD.COUPON_SNDNG_TY_CD = '03' -- '01'은 직접발급, '03'은 인증쿠폰
|
||||
AND SD.USE_AT = 'Y'
|
||||
AND SD.COUPON_SNDNG_USE_AT = 'Y'
|
||||
INNER JOIN GC_COUPON_TRGET_MAPPING TC -- 쿠폰수 만큼 뻥튀기
|
||||
ON SD.COUPON_SNDNG_INNB = TC.COUPON_SNDNG_INNB
|
||||
AND SD.SOPMAL_CD = TC.SOPMAL_CD
|
||||
INNER JOIN GC_COUPON GC
|
||||
ON TC.COUPON_INNB = GC.COUPON_INNB
|
||||
AND TC.SOPMAL_CD = GC.SOPMAL_CD
|
||||
AND GC.COUPON_USE_AT = 'Y'
|
||||
AND GC.USE_AT = 'Y'
|
||||
LEFT JOIN ( SELECT DWLD_COUPON_INNB, COUPON_SNDNG_INNB, SOPMAL_CD, MBR_INNB, MBR_DV_CD, COUPON_INNB
|
||||
FROM GC_DOWNLOAD D
|
||||
WHERE 1 =1
|
||||
AND D.REGIST_DT > DATE_FORMAT(CURDATE(), '%Y-01-01') -- 올해 발급된
|
||||
AND D.USE_AT = 'Y' -- COUPON_STTUS_CD = '04' 회수는 USE_AT=N 임
|
||||
AND (D.COUPON_SNDNG_INNB, D.SOPMAL_CD) IN ( SELECT COUPON_SNDNG_INNB, SOPMAL_CD
|
||||
FROM GC_COUPON_SNDNG CS
|
||||
WHERE CS.SNDNG_DT_DV_CD = '03' -- '03' 은 생일자, '04' 는 등급변경 대상
|
||||
)
|
||||
) GD
|
||||
ON GM.MBR_INNB = GD.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GD.MBR_DV_CD
|
||||
AND SD.COUPON_SNDNG_INNB = GD.COUPON_SNDNG_INNB
|
||||
AND SD.SOPMAL_CD = GD.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND GM.USE_AT = 'Y'
|
||||
AND GM.BRTH_DE IS NOT NULL -- 생일 데이터가 NULL이 아니고
|
||||
-- AND MONTH(GM.BRTH_DE) = MONTH(CURDATE()) -- 이번달이 생일
|
||||
AND GM.BRTH_DE LIKE CONCAT('%____', MONTH(CURDATE()), '__%') -- 이번달이 생일
|
||||
AND GD.DWLD_COUPON_INNB IS NULL -- 중복 발급 제외
|
||||
AND GM.MBR_DV_CD ='GC'
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 생일자 추출(전 쇼핑몰: 생일 인증쿠폰 운영중인) 인증쿠폰발급 -->
|
||||
<insert id="insertCertCouponBirthdayDwld">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_DOWNLOAD (
|
||||
OFLNE_COUPON_INNB
|
||||
,COUPON_INNB
|
||||
,COUPON_SNDNG_INNB
|
||||
,SOPMAL_CD
|
||||
,MBR_INNB
|
||||
,MBR_DV_CD
|
||||
,CUPNPK_INNB
|
||||
,COUPON_SNDNG_TY_CD
|
||||
,CUPNPK_NM
|
||||
,CUPNPK_DC
|
||||
,COUP_NM
|
||||
,COUPON_DC
|
||||
,USE_ENVRN_CD
|
||||
,OTR_COUPON_SMTM_USE_AT
|
||||
,DPLCT_DWLD_AT
|
||||
,DPLCT_DSCNT_AT
|
||||
,USE_POSBL_AMT
|
||||
,GOODS_APPLC_DV_CD
|
||||
,VALIDPD_BGN_DT
|
||||
,VALIDPD_END_DT
|
||||
,OFLNE_COUPON_CRTNB
|
||||
,USEPLC_DV_CD
|
||||
,COUPON_STTUS_CD
|
||||
,COUPON_USE_DT
|
||||
,RECOVRY_ORGINL_COUPON
|
||||
,MBR_NM
|
||||
,MBTLNB
|
||||
,BNEF_DV_CD
|
||||
,ADIT_DSCNT_CD
|
||||
,ADIT_DSCNT_AMT
|
||||
,DSCNT_MXMM_AMT
|
||||
,DLVY_AMT_DSCNT_DV_CD
|
||||
,DLVY_AMT_DSCNT_AMT
|
||||
,DLVY_AMT_MXMM_DSCNT_AMT
|
||||
,USE_AT
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
,UPDUSR
|
||||
,UPDT_DT
|
||||
)
|
||||
SELECT OFC.OFLNE_COUPON_INNB
|
||||
,OFC.COUPON_INNB
|
||||
,OFC.COUPON_SNDNG_INNB
|
||||
,OFC.SOPMAL_CD
|
||||
,GM.MBR_INNB
|
||||
,GM.MBR_DV_CD
|
||||
,NULL AS CUPNPK_INNB
|
||||
,'03' AS COUPON_SNDN_TY_CD
|
||||
,NULL AS CUPNPK_NM
|
||||
,NULL AS CUPNPK_DC
|
||||
,C.COUP_NM
|
||||
,C.COUPON_DC
|
||||
,C.USE_ENVRN_CD
|
||||
,C.OTR_COUPON_SMTM_USE_AT
|
||||
,C.DPLCT_DWLD_AT
|
||||
,C.DPLCT_DSCNT_AT
|
||||
,C.USE_POSBL_AMT
|
||||
,C.GOODS_APPLC_DV_CD
|
||||
,CASE WHEN VALIDPD_KND_CD = '01' THEN VALIDPD_BGN_DT
|
||||
WHEN VALIDPD_KND_CD = '02' THEN SYSDATE()
|
||||
END AS START_DATE
|
||||
,CASE WHEN VALIDPD_KND_CD = '01' THEN VALIDPD_END_DT
|
||||
WHEN VALIDPD_KND_CD = '02' THEN DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL VALIDPD_DE_CNT DAY), '%Y-%m-%d 23:59:59')
|
||||
END AS END_DATE
|
||||
,OFC.OFLNE_COUPON_CRTNB
|
||||
,NULL USEPLC_DV_CD
|
||||
,#{sttus} AS COUPON_STTUS_CD
|
||||
, NULL COUPON_USE_DT
|
||||
, NULL RECOVRY_ORGINL_COUPON
|
||||
,OFC.SNDNG_TRGTER_NM AS MBR_NM
|
||||
,OFC.SNDNG_TRGET_TELNB AS MBTLNB
|
||||
,C.BNEF_DV_CD
|
||||
,C.ADIT_DSCNT_CD
|
||||
,C.ADIT_DSCNT_AMT
|
||||
,C.DSCNT_MXMM_AMT
|
||||
,C.DLVY_AMT_DSCNT_DV_CD
|
||||
,C.DLVY_AMT_DSCNT_AMT
|
||||
,C.DLVY_AMT_MXMM_DSCNT_AMT
|
||||
,'Y' USE_AT
|
||||
,OFC.REGUSR AS REGUSR
|
||||
,NOW() REGIST_DT
|
||||
,OFC.UPDUSR AS UPDUSR
|
||||
,NOW() UPDT_DT
|
||||
FROM GC_OFFLINE_COUPON OFC
|
||||
INNER JOIN GC_COUPON C
|
||||
ON OFC.SOPMAL_CD = C.SOPMAL_CD
|
||||
AND OFC.COUPON_INNB = C.COUPON_INNB
|
||||
INNER JOIN GC_MEMBER GM
|
||||
ON GM.MBTLNB = OFC.SNDNG_TRGET_TELNB
|
||||
AND GM.MBR_NM = OFC.SNDNG_TRGTER_NM
|
||||
AND GM.MBR_INNB = OFC.MBR_INNB
|
||||
AND GM.MBR_DV_CD = OFC.MBR_DV_CD
|
||||
AND CASE WHEN (SELECT GS.SOPMAL_TY_CD FROM GC_SHOP GS WHERE GS.SOPMAL_CD = OFC.SOPMAL_CD) = '01' THEN 'GC' ELSE OFC.SOPMAL_CD END = GM.MBR_DV_CD
|
||||
WHERE 1 = 1
|
||||
AND OFC.OFLNE_COUPON_CREAT_NB = #{sttus};
|
||||
]]>
|
||||
</insert>
|
||||
<!-- GC_SMS_TO 쿠폰 메세지 대상자 등록 -->
|
||||
<insert id="insertCouponBirthdayDwldIssueGoods">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_DOWNLOAD_ISSUEGOODS
|
||||
( DWLD_COUPON_INNB
|
||||
, DWLD_COUPON_APPLC_GOODS_INNB
|
||||
, GOODS_INNB
|
||||
, SOPMAL_CD
|
||||
, CTGRY_ID
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
)
|
||||
SELECT
|
||||
GD.DWLD_COUPON_INNB
|
||||
, CI.COUPON_APPLC_GOODS_INNB AS DWLD_COUPON_APPLC_GOODS_INNB
|
||||
, CI.GOODS_INNB
|
||||
, CI.SOPMAL_CD
|
||||
, CI.CTGRY_ID
|
||||
, 0 REGUSR
|
||||
, NOW() REGIST_DT
|
||||
FROM GC_DOWNLOAD GD
|
||||
INNER JOIN GC_COUPON GC
|
||||
ON GD.COUPON_INNB = GC.COUPON_INNB
|
||||
AND GD.SOPMAL_CD = GC.SOPMAL_CD
|
||||
INNER JOIN GC_COUPON_ISSUEGOODS CI
|
||||
ON GC.COUPON_INNB = CI.COUPON_INNB
|
||||
AND GC.SOPMAL_CD = CI.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND GD.COUPON_STTUS_CD = #{sttus}
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 생일 쿠폰 상태값 업데이트 -->
|
||||
<update id="updateOffCouponBirthdayDwldSttus">
|
||||
<![CDATA[
|
||||
UPDATE GC_OFFLINE_COUPON
|
||||
SET OFLNE_COUPON_CREAT_NB = '31S'
|
||||
WHERE OFLNE_COUPON_CREAT_NB = #{sttus}
|
||||
]]>
|
||||
</update>
|
||||
<!-- 생일 쿠폰 상태값 업데이트 -->
|
||||
<update id="updateCouponBirthdayDwldSttus">
|
||||
<![CDATA[
|
||||
UPDATE GC_DOWNLOAD
|
||||
SET COUPON_STTUS_CD = '02'
|
||||
WHERE 1 = 1
|
||||
AND COUPON_STTUS_CD = #{sttus}
|
||||
]]>
|
||||
</update>
|
||||
<!-- 등급 변경이 된 회원 쿠폰 발급 -->
|
||||
<insert id="insertCouponMbrGradDwld">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_DOWNLOAD
|
||||
( COUPON_INNB
|
||||
,COUPON_SNDNG_INNB
|
||||
,SOPMAL_CD
|
||||
,MBR_INNB
|
||||
,MBR_DV_CD
|
||||
,CUPNPK_INNB
|
||||
,OFLNE_COUPON_INNB
|
||||
,COUPON_SNDNG_TY_CD
|
||||
,CUPNPK_NM
|
||||
,CUPNPK_DC
|
||||
,COUP_NM
|
||||
,COUPON_DC
|
||||
,USE_ENVRN_CD
|
||||
,OTR_COUPON_SMTM_USE_AT
|
||||
,DPLCT_DWLD_AT
|
||||
,DPLCT_DSCNT_AT
|
||||
,USE_POSBL_AMT
|
||||
,GOODS_APPLC_DV_CD
|
||||
,VALIDPD_BGN_DT
|
||||
,VALIDPD_END_DT
|
||||
,OFLNE_COUPON_CRTNB
|
||||
,USEPLC_DV_CD
|
||||
,COUPON_STTUS_CD
|
||||
,COUPON_USE_AT
|
||||
,COUPON_USE_DT
|
||||
,RECOVRY_ORGINL_COUPON
|
||||
,MBR_NM
|
||||
,MBTLNB
|
||||
,BNEF_DV_CD
|
||||
,ADIT_DSCNT_CD
|
||||
,ADIT_DSCNT_AMT
|
||||
,DSCNT_MXMM_AMT
|
||||
,DLVY_AMT_DSCNT_DV_CD
|
||||
,DLVY_AMT_DSCNT_AMT
|
||||
,DLVY_AMT_MXMM_DSCNT_AMT
|
||||
,USE_AT
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
,UPDUSR
|
||||
,UPDT_DT
|
||||
)
|
||||
SELECT GC.COUPON_INNB
|
||||
, SD.COUPON_SNDNG_INNB
|
||||
, GMA.SOPMAL_CD
|
||||
, GM.MBR_INNB
|
||||
, GM.MBR_DV_CD
|
||||
, CP.CUPNPK_INNB
|
||||
, NULL OFLNE_COUPON_INNB
|
||||
, SD.COUPON_SNDNG_TY_CD
|
||||
, CP.CUPNPK_NM
|
||||
, CP.CUPNPK_DC
|
||||
, GC.COUP_NM
|
||||
, GC.COUPON_DC
|
||||
, GC.USE_ENVRN_CD
|
||||
, GC.OTR_COUPON_SMTM_USE_AT
|
||||
, GC.DPLCT_DWLD_AT
|
||||
, GC.DPLCT_DSCNT_AT
|
||||
, GC.USE_POSBL_AMT
|
||||
, GC.GOODS_APPLC_DV_CD
|
||||
, CASE
|
||||
WHEN VALIDPD_KND_CD = '01' THEN VALIDPD_BGN_DT
|
||||
WHEN VALIDPD_KND_CD = '02' THEN SYSDATE()
|
||||
END AS START_DATE
|
||||
, CASE
|
||||
WHEN VALIDPD_KND_CD = '01' THEN VALIDPD_END_DT
|
||||
WHEN VALIDPD_KND_CD = '02' THEN DATE_ADD(SYSDATE(), INTERVAL VALIDPD_DE_CNT DAY)
|
||||
END AS END_DATE
|
||||
, NULL OFLNE_COUPON_CRTNB
|
||||
, NULL USEPLC_DV_CD
|
||||
, '19' COUPON_STTUS_CD
|
||||
, 'Y' COUPON_USE_AT
|
||||
, NULL COUPON_USE_DT
|
||||
, NULL RECOVRY_ORGINL_COUPON
|
||||
, GM.MBR_NM
|
||||
, CAST(AES_DECRYPT(UNHEX(GM.MBTLNB) , #{secretKey}) AS CHAR(50)) MBTLNB
|
||||
, GC.BNEF_DV_CD
|
||||
, GC.ADIT_DSCNT_CD
|
||||
, GC.ADIT_DSCNT_AMT
|
||||
, GC.DSCNT_MXMM_AMT
|
||||
, GC.DLVY_AMT_DSCNT_DV_CD
|
||||
, GC.DLVY_AMT_DSCNT_AMT
|
||||
, GC.DLVY_AMT_MXMM_DSCNT_AMT
|
||||
, 'Y' USE_AT
|
||||
, 0 REGUSR
|
||||
, NOW() REGIST_DT
|
||||
, 0 AS UPDUSR
|
||||
, NOW() UPDT_DT
|
||||
FROM GC_MEMBER GM
|
||||
INNER JOIN GC_MARKETING_AGREE GMA -- 마케팅 수신여부 동의, 통합몰의 경우 수신동의 숫자 만큼 멤버 생성
|
||||
ON GM.MBR_INNB = GMA.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GMA.MBR_DV_CD
|
||||
-- AND GMA.MARKT_RECPTN_AGRE_AT = 'Y' -- 마케팅 수신여부 동의 체크 할때는 필수
|
||||
INNER JOIN GC_GRADE_CHANGE_LOG GCL
|
||||
ON GMA.MBR_INNB = GCL.MBR_INNB
|
||||
AND GMA.MBR_DV_CD = GCL.MBR_DV_CD
|
||||
AND GMA.SOPMAL_CD = GCL.SOPMAL_CD
|
||||
AND GCL.CHNG_YM = DATE_FORMAT(CURDATE(), '%Y%m')
|
||||
AND GCL.CHNG_GRAD_DV = 'UP'
|
||||
AND GCL.USE_AT = 'Y'
|
||||
INNER JOIN GC_COUPON_SNDNG SD -- 생일쿠폰은 사이트별로 1개만 유효함
|
||||
ON GMA.SOPMAL_CD = SD.SOPMAL_CD
|
||||
AND SD.SNDNG_DT_DV_CD = '04' -- '03' 은 생일자, '04' 는 등급변경 대상
|
||||
AND SD.USE_AT = 'Y'
|
||||
AND SD.COUPON_SNDNG_USE_AT = 'Y'
|
||||
INNER JOIN GC_COUPON_TRGET_MAPPING TC -- 쿠폰수 만큼 뻥튀기
|
||||
ON SD.COUPON_SNDNG_INNB = TC.COUPON_SNDNG_INNB
|
||||
AND SD.SOPMAL_CD = TC.SOPMAL_CD
|
||||
INNER JOIN GC_COUPON GC
|
||||
ON TC.COUPON_INNB = GC.COUPON_INNB
|
||||
AND TC.SOPMAL_CD = GC.SOPMAL_CD
|
||||
AND GC.COUPON_USE_AT = 'Y'
|
||||
AND GC.USE_AT = 'Y'
|
||||
LEFT JOIN GC_COUPON_PACK CP
|
||||
ON TC.CUPNPK_INNB = CP.CUPNPK_INNB
|
||||
WHERE 1=1
|
||||
AND GM.USE_AT = 'Y'
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 등급 갱신 폰혜택적용상품 -->
|
||||
<insert id="insertCouponMbrGradDwldIssueGoods">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_DOWNLOAD_ISSUEGOODS
|
||||
( DWLD_COUPON_INNB
|
||||
, DWLD_COUPON_APPLC_GOODS_INNB
|
||||
, GOODS_INNB
|
||||
, SOPMAL_CD
|
||||
, CTGRY_ID
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
)
|
||||
SELECT
|
||||
GD.DWLD_COUPON_INNB
|
||||
, CI.COUPON_APPLC_GOODS_INNB
|
||||
, CI.GOODS_INNB
|
||||
, CI.SOPMAL_CD
|
||||
, CI.CTGRY_ID
|
||||
, 0 REGUSR
|
||||
, NOW() REGIST_DT
|
||||
FROM GC_DOWNLOAD GD
|
||||
INNER JOIN GC_COUPON GC
|
||||
ON GD.COUPON_INNB = GC.COUPON_INNB
|
||||
AND GD.SOPMAL_CD = GC.SOPMAL_CD
|
||||
INNER JOIN GC_COUPON_ISSUEGOODS CI
|
||||
ON GC.COUPON_INNB = CI.COUPON_INNB
|
||||
AND GC.SOPMAL_CD = CI.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND GD.COUPON_STTUS_CD = '19'
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
573
src/main/resources/mybatis/xml/mapper/gcone/EmailMapper.xml
Normal file
573
src/main/resources/mybatis/xml/mapper/gcone/EmailMapper.xml
Normal file
@@ -0,0 +1,573 @@
|
||||
<?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.mapper.gcone.EmailMapper">
|
||||
<select id="selectBOEmailSndngTrgetSnb"
|
||||
parameterType="java.lang.Integer"
|
||||
resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
TRGET_SNB
|
||||
FROM GC_EMAIL_TO
|
||||
WHERE 1=1
|
||||
AND EMAIL_SNDNG_INNB IN
|
||||
]]>
|
||||
<foreach collection="emailSndngList" item="item" open="(" separator="," close=")">
|
||||
#{item.emailSndngInnb}
|
||||
</foreach>
|
||||
</select>
|
||||
<!-- 회원 2년 메일 등록 -->
|
||||
<insert id="insertMbrMarktAgreEmail">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_EMAIL (
|
||||
SOPMAL_CD
|
||||
, SNDNG_LC
|
||||
, SJ
|
||||
, CN
|
||||
, SNDR_EMAIL
|
||||
, RECPTN_RJCT_URL
|
||||
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
|
||||
, REGUSR -- 등록자 고유번호
|
||||
, REGIST_DT -- 등록일 현재 NOW()
|
||||
, EMAIL_SNDNG_FORM_INNB
|
||||
)
|
||||
SELECT
|
||||
S.SOPMAL_CD
|
||||
, NULL SNDNG_LC
|
||||
, EF.EMAIL_SJ
|
||||
, EF.EMAIL_CN
|
||||
, HEX(AES_ENCRYPT(S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES, #{secretKey}))
|
||||
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
|
||||
, '03' REGUSR_DV
|
||||
, 0 REGUSR
|
||||
, NOW() REGIST_DT
|
||||
, '3'
|
||||
FROM GC_SHOP S
|
||||
INNER JOIN GC_EMAIL_FORM EF
|
||||
ON S.SOPMAL_CD = EF.SOPMAL_CD
|
||||
AND EF.FORM_DV_CD = 'FORM_DV_CMMN'
|
||||
AND EF.FORM_DTL_DV_CD = '01' -- 광고동의
|
||||
AND EF.USE_AT = 'Y'
|
||||
INNER JOIN GC_MESSAGE_SNDNG MS
|
||||
ON S.SOPMAL_CD = MS.SOPMAL_CD
|
||||
AND MS.FORM_DV_CD = 'FORM_DV_CMMN'
|
||||
AND MS.FORM_DTL_DV_CD = '01'
|
||||
AND MS.USE_AT = 'Y'
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 회원 2년 메일 대상자 -->
|
||||
<insert id="insertMbrMarktAgreEmailTo">
|
||||
INSERT INTO GC_EMAIL_TO (
|
||||
EMAIL_SNDNG_INNB
|
||||
, MBR_INNB
|
||||
, RECPNT_EMAIL
|
||||
, RECPNT_NM
|
||||
, STTUS
|
||||
, SNDNG_DT
|
||||
, RSLT_CD
|
||||
, SUBST_DATA
|
||||
)
|
||||
<![CDATA[
|
||||
SELECT
|
||||
GE.EMAIL_SNDNG_INNB
|
||||
, MBR.MBR_INNB -- 회원번호
|
||||
, MBR.EMAIL AS RECPTN_EMAIL -- 이메일
|
||||
, MBR.MBR_NM
|
||||
, '3'
|
||||
, NOW()
|
||||
, NULL RSLT_CD
|
||||
, CONCAT('{"mbrid"', ':', '"', IFNULL(MBR.MBR_ID, ''), '"'
|
||||
, ',"shopName"',':', '"', IFNULL(SHOP.SOPMAL_NM, ''), '"'
|
||||
, ',"marktRecptnAgreAt"',':', '"', IFNULL( CASE
|
||||
WHEN MA.MARKT_RECPTN_AGRE_AT = 'Y' THEN '동의함'
|
||||
ELSE '미동의'
|
||||
END, ''), '"'
|
||||
, ',"marktRecptnAgreUpdtDt"',':', '"', IFNULL(DATE_FORMAT(MA.MARKT_RECPTN_AGRE_UPDT_DT, '%Y-%m-%d %H:%i:%s'), ''), '"'
|
||||
, ',"cscTelnb"',':', '"', IFNULL(SHOP.SMS_ATMC_SNDNG_DSPTCH_NB, ''), '"'
|
||||
, ',"rejectTelnb"',':', '"', IFNULL(SHOP.REJECT_TELNB, ''), '"'
|
||||
, ',"shopDomain"',':', '"', IFNULL(SHOP.PC_DOMN_ADRES, ''), '"'
|
||||
, ',"operBizrnb"',':', '"', IFNULL(COM.BIZRNB, ''), '"'
|
||||
, ',"operMobDclNb"',':', '"', IFNULL(COM.MOB_DCL_NB, ''), '"'
|
||||
, ',"operReprsntvnm"',':', '"', IFNULL(COM.REPRSNTVNM, ''), '"'
|
||||
, ',"operRnmAdres"',':', '"', IFNULL(COM.RNM_ADRES, ''), '"'
|
||||
, ',"operDtlAdres"',':', '"', IFNULL(COM.DTL_ADRES, ''), '"'
|
||||
, ',"operTelnb"',':', '"', IFNULL(COM.TELNB, ''), '"'
|
||||
'}')
|
||||
FROM
|
||||
GC_MEMBER MBR -- 회원테이블
|
||||
INNER JOIN GC_MARKETING_AGREE MA -- 마케팅 동의
|
||||
ON MBR.MBR_INNB = MA.MBR_INNB
|
||||
AND MBR.MBR_DV_CD = MA.MBR_DV_CD
|
||||
AND MA.MARKT_RECPTN_AGRE_AT = 'Y' -- 동의 대상자조회
|
||||
INNER JOIN GC_SHOP SHOP -- 쇼핑몰 정보
|
||||
ON MA.SOPMAL_CD = SHOP.SOPMAL_CD
|
||||
INNER JOIN GC_SHOP_COMPANY SC -- 쇼핑몰운영사
|
||||
ON SHOP.SOPMAL_CD = SC.SOPMAL_CD
|
||||
AND SC.BSNM_DV_CD = '02'
|
||||
INNER JOIN GC_COMPANY COM -- 법인
|
||||
ON SC.BSNM_INNB = COM.BSNM_INNB
|
||||
INNER JOIN GC_MESSAGE_SNDNG GMS -- 자동발송관리
|
||||
ON GMS.SOPMAL_CD = SHOP.SOPMAL_CD
|
||||
AND GMS.FORM_DV_CD = 'FORM_DV_CMMN'
|
||||
AND GMS.FORM_DTL_DV_CD = '01'
|
||||
INNER JOIN GC_EMAIL GE
|
||||
ON GE.SOPMAL_CD = GMS.SOPMAL_CD
|
||||
AND GE.EMAIL_SNDNG_FORM_INNB = '3'
|
||||
WHERE 1=1
|
||||
AND MBR.USE_AT = 'Y' -- 멤버 쿼리에는 다 들어가야 합니다. 중요***
|
||||
AND MBR.EMAIL > '' -- 이메일 있는 경우만 이메일
|
||||
AND TIMESTAMPDIFF(MONTH, IFNULL(MA.MARKT_RECPTN_AGRE_UPDT_DT, MA.UPDT_DT), CURDATE()) % 24 BETWEEN 22 AND 23
|
||||
AND (TIMESTAMPDIFF(MONTH, IFNULL(MA.MARKT_RECPTN_AGRE_UPDT_DT, MA.UPDT_DT), CURDATE()) <= 24
|
||||
OR TIMESTAMPDIFF(MONTH, MA.MARKT_RECPTN_AGRE_TRNSMIS_DT, CURDATE()) <=24 )
|
||||
AND MARKT_RECPTN_AGRE_TRNSMIS_DT < DATE_SUB(CURDATE(), INTERVAL 18 MONTH) -- 넉넉하게 18개월 이내 문자 나간 애들은 제외
|
||||
LIMIT 10000
|
||||
]]>
|
||||
</insert>
|
||||
<select id="selectMarktAgreTrgtList"
|
||||
resultType="dataMap">
|
||||
</select>
|
||||
|
||||
<insert id="insertEmailLog">
|
||||
<selectKey order="BEFORE" keyProperty="emailLogInnb" resultType="java.math.BigInteger">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(EMAIL_LOG_INNB), 0)+1
|
||||
FROM GC_EMAIL_LOG
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT IGNORE 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="mssage" index="index" separator=",">
|
||||
(
|
||||
#{mssage.sopmalCd}
|
||||
, #{mssage.mbrInnb}
|
||||
, #{mssage.atmcSndngAt}
|
||||
, #{mssage.sndngCnt}
|
||||
, HEX(AES_ENCRYPT(#{mssage.snder}, #{mssage.secretKey}))
|
||||
, HEX(AES_ENCRYPT(#{mssage.rcver}, #{mssage.secretKey}))
|
||||
, #{mssage.sj}
|
||||
, #{mssage.cn}
|
||||
, #{mssage.emailSndngFormInnb}
|
||||
, #{mssage.ordrInnb}
|
||||
, #{mssage.sttus}
|
||||
, NOW()
|
||||
)
|
||||
</foreach>
|
||||
|
||||
</insert>
|
||||
|
||||
<!-- 상태 수정 -->
|
||||
<update id="updateMbrMarktAgreEmailSttus">
|
||||
<![CDATA[
|
||||
UPDATE GC_EMAIL AS EMAIL,
|
||||
(SELECT
|
||||
ET.EMAIL_SNDNG_INNB
|
||||
FROM GC_EMAIL_TO ET
|
||||
WHERE ET.STTUS = '3'
|
||||
GROUP BY ET.EMAIL_SNDNG_INNB ) S
|
||||
SET EMAIL.EMAIL_SNDNG_FORM_INNB = '0'
|
||||
WHERE 1 = 1
|
||||
AND EMAIL.EMAIL_SNDNG_FORM_INNB = '3'
|
||||
AND EMAIL.EMAIL_SNDNG_INNB = S.EMAIL_SNDNG_INNB
|
||||
]]>
|
||||
</update>
|
||||
<!-- 상태 삭제 -->
|
||||
<delete id="deleteMbrMarktAgreEmail">
|
||||
<![CDATA[
|
||||
DELETE FROM GC_EMAIL
|
||||
WHERE 1 = 1
|
||||
AND EMAIL_SNDNG_FORM_INNB = '3'
|
||||
]]>
|
||||
</delete>
|
||||
|
||||
<!-- 상태 수정 -->
|
||||
<update id="updateEmailSttus">
|
||||
<![CDATA[
|
||||
UPDATE GC_EMAIL AS EMAIL,
|
||||
(SELECT
|
||||
ET.EMAIL_SNDNG_INNB
|
||||
FROM GC_EMAIL_TO ET
|
||||
WHERE ET.STTUS = #{sttus}
|
||||
GROUP BY ET.EMAIL_SNDNG_INNB ) S
|
||||
SET EMAIL.EMAIL_SNDNG_FORM_INNB = '0'
|
||||
WHERE 1 = 1
|
||||
AND EMAIL.EMAIL_SNDNG_FORM_INNB = #{sttus}
|
||||
AND EMAIL.EMAIL_SNDNG_INNB = S.EMAIL_SNDNG_INNB
|
||||
]]>
|
||||
</update>
|
||||
<!-- 상태 삭제 -->
|
||||
<delete id="deleteEmailNonTrgt">
|
||||
<![CDATA[
|
||||
DELETE FROM GC_EMAIL
|
||||
WHERE 1 = 1
|
||||
AND EMAIL_SNDNG_FORM_INNB = #{sttus}
|
||||
]]>
|
||||
</delete>
|
||||
<!-- 이메일 발신 대상자 조회 -->
|
||||
<select id="selectEmailVoList">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
GET2.EMAIL_SNDNG_INNB
|
||||
, GET2.TRGET_SNB
|
||||
, GET2.MBR_INNB
|
||||
, CAST(AES_DECRYPT(UNHEX(GET2.RECPNT_EMAIL) , #{secretKey}) AS CHAR(50)) AS RECPNT_EMAIL
|
||||
, GET2.RECPNT_NM
|
||||
, GET2.STTUS
|
||||
, GET2.SNDNG_DT
|
||||
, GET2.RSLT_CD
|
||||
, GE.SOPMAL_CD
|
||||
, GE.SJ
|
||||
, GE.CN
|
||||
, CAST(AES_DECRYPT(UNHEX(GE.SNDR_EMAIL), #{secretKey}) AS CHAR(50)) AS SNDR_EMAIL
|
||||
, GE.RECPTN_RJCT_URL
|
||||
, GE.REGUSR_DV
|
||||
, GE.REGIST_DT
|
||||
, GE.EMAIL_SNDNG_FORM_INNB
|
||||
, GET2.SUBST_DATA
|
||||
, SHOP.SOPMAL_NM
|
||||
FROM GC_EMAIL_TO GET2
|
||||
INNER JOIN GC_EMAIL GE
|
||||
ON GET2.EMAIL_SNDNG_INNB = GE.EMAIL_SNDNG_INNB
|
||||
INNER JOIN GC_SHOP SHOP
|
||||
ON SHOP.SOPMAL_CD = GE.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND GET2.STTUS = #{sttus}
|
||||
AND DATE(GE.REGIST_DT) = CURDATE()
|
||||
ORDER BY GET2.EMAIL_SNDNG_INNB ASC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 이메일 발송여부 업데이트 -->
|
||||
<update id="updateBOEmailSndng">
|
||||
<foreach collection="list" item="dto" separator=";">
|
||||
<![CDATA[
|
||||
UPDATE GC_EMAIL_TO
|
||||
SET
|
||||
STTUS = #{dto.sttus}
|
||||
, SNDNG_DT = SYSDATE()
|
||||
, RSLT_CD = #{dto.rsltCd}
|
||||
WHERE EMAIL_SNDNG_INNB = #{dto.emailSndngInnb}
|
||||
AND TRGET_SNB = #{dto.trgetSnb}
|
||||
]]>
|
||||
</foreach>
|
||||
</update>
|
||||
<update id="updateEmailToSttus">
|
||||
<![CDATA[
|
||||
UPDATE GC_EMAIL_TO AS EMAILTO
|
||||
SET EMAILTO.STTUS = 'REG'
|
||||
WHERE 1 = 1
|
||||
AND EMAILTO.STTUS = #{sttus}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<update id="updateMbrMarktAgreEmailToSttus">
|
||||
<![CDATA[
|
||||
UPDATE GC_EMAIL_TO AS EMAILTO
|
||||
SET EMAILTO.STTUS = 'REG'
|
||||
WHERE 1 = 1
|
||||
AND EMAILTO.STTUS = '3'
|
||||
]]>
|
||||
</update>
|
||||
<!-- 쿠폰 만료 -->
|
||||
<!-- 비회원 2년 메일 등록 -->
|
||||
<insert id="insertCouponEndEmail">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_EMAIL (
|
||||
SOPMAL_CD
|
||||
, SNDNG_LC
|
||||
, SJ
|
||||
, CN
|
||||
, SNDR_EMAIL
|
||||
, RECPTN_RJCT_URL
|
||||
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
|
||||
, REGUSR -- 등록자 고유번호
|
||||
, REGIST_DT -- 등록일 현재 NOW()
|
||||
, EMAIL_SNDNG_FORM_INNB
|
||||
)
|
||||
SELECT
|
||||
S.SOPMAL_CD
|
||||
, NULL SNDNG_LC
|
||||
, EF.EMAIL_SJ
|
||||
, EF.EMAIL_CN
|
||||
, S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES
|
||||
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
|
||||
, '03' REGUSR_DV
|
||||
, 0 REGUSR
|
||||
, NOW() REGIST_DT
|
||||
, '21'
|
||||
FROM GC_SHOP S
|
||||
INNER JOIN GC_EMAIL_FORM EF
|
||||
ON S.SOPMAL_CD = EF.SOPMAL_CD
|
||||
AND EF.FORM_DV_CD = 'FORM_DV_REMND'
|
||||
AND EF.FORM_DTL_DV_CD = '03' -- 광고동의
|
||||
AND EF.USE_AT = 'Y'
|
||||
INNER JOIN GC_MESSAGE_SNDNG MS
|
||||
ON S.SOPMAL_CD = MS.SOPMAL_CD
|
||||
AND MS.FORM_DV_CD = 'FORM_DV_REMND'
|
||||
AND MS.FORM_DTL_DV_CD = '03'
|
||||
AND MS.USE_AT = 'Y'
|
||||
]]>
|
||||
</insert>
|
||||
<insert id="insertCartEmail">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_EMAIL (
|
||||
SOPMAL_CD
|
||||
, SNDNG_LC
|
||||
, SJ
|
||||
, CN
|
||||
, SNDR_EMAIL
|
||||
, RECPTN_RJCT_URL
|
||||
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
|
||||
, REGUSR -- 등록자 고유번호
|
||||
, REGIST_DT -- 등록일 현재 NOW()
|
||||
, EMAIL_SNDNG_FORM_INNB
|
||||
)
|
||||
SELECT
|
||||
S.SOPMAL_CD
|
||||
, NULL SNDNG_LC
|
||||
, EF.EMAIL_SJ
|
||||
, EF.EMAIL_CN
|
||||
, S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES
|
||||
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
|
||||
, '03' REGUSR_DV
|
||||
, 0 REGUSR
|
||||
, NOW() REGIST_DT
|
||||
, '24'
|
||||
FROM GC_SHOP S
|
||||
INNER JOIN GC_EMAIL_FORM EF
|
||||
ON S.SOPMAL_CD = EF.SOPMAL_CD
|
||||
AND EF.FORM_DV_CD = 'FORM_DV_REMND'
|
||||
AND EF.FORM_DTL_DV_CD = '06' -- 광고동의
|
||||
AND EF.USE_AT = 'Y'
|
||||
INNER JOIN GC_MESSAGE_SNDNG MS
|
||||
ON S.SOPMAL_CD = MS.SOPMAL_CD
|
||||
AND MS.FORM_DV_CD = 'FORM_DV_REMND'
|
||||
AND MS.FORM_DTL_DV_CD = '06'
|
||||
AND MS.USE_AT = 'Y'
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<insert id="insertCartSaleEmail">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_EMAIL (
|
||||
SOPMAL_CD
|
||||
, SNDNG_LC
|
||||
, SJ
|
||||
, CN
|
||||
, SNDR_EMAIL
|
||||
, RECPTN_RJCT_URL
|
||||
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
|
||||
, REGUSR -- 등록자 고유번호
|
||||
, REGIST_DT -- 등록일 현재 NOW()
|
||||
, EMAIL_SNDNG_FORM_INNB
|
||||
)
|
||||
SELECT
|
||||
S.SOPMAL_CD
|
||||
, NULL SNDNG_LC
|
||||
, EF.EMAIL_SJ
|
||||
, EF.EMAIL_CN
|
||||
, S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES
|
||||
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
|
||||
, '03' REGUSR_DV
|
||||
, 0 REGUSR
|
||||
, NOW() REGIST_DT
|
||||
, '25'
|
||||
FROM GC_SHOP S
|
||||
INNER JOIN GC_EMAIL_FORM EF
|
||||
ON S.SOPMAL_CD = EF.SOPMAL_CD
|
||||
AND EF.FORM_DV_CD = 'FORM_DV_REMND'
|
||||
AND EF.FORM_DTL_DV_CD = '08' -- 광고동의
|
||||
AND EF.USE_AT = 'Y'
|
||||
INNER JOIN GC_MESSAGE_SNDNG MS
|
||||
ON S.SOPMAL_CD = MS.SOPMAL_CD
|
||||
AND MS.FORM_DV_CD = 'FORM_DV_REMND'
|
||||
AND MS.FORM_DTL_DV_CD = '08'
|
||||
AND MS.USE_AT = 'Y'
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 마일리지 만료 안내 -->
|
||||
<select id="selectMlgTrgtListEmailInqire"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT SHOP.SOPMAL_NM AS SHOP_NAME -- 쇼핑몰명
|
||||
, CONCAT(REPLACE(SHOP.PC_DOMN_ADRES, 'https://',''), '/sopmal/mpage/mbr/selectMpageMainInqire') AS MYPAGE_SHORT_URL -- 마이페이지
|
||||
, MLG.MBR_INNB -- 회원번호
|
||||
, MLG.MBR_DV_CD -- 회원구분코드
|
||||
, MBR.MBR_TY_CD -- 회원타입코드
|
||||
, MBR.MBR_ID -- 회원 아이디
|
||||
, MBR.MBR_NM AS USER_NAME -- 회원명 (템플릿위해 중복)
|
||||
, MBR.MBR_NM AS USERNAME -- 회원명
|
||||
, CURDATE() AS CURDATE -- 현재시간
|
||||
, MBR.EMAIL AS RECPTN_EMAIL -- 수신 이메일
|
||||
, MBR.MBTLNB AS RECPTN_NB -- 수신 번호
|
||||
, MLG.SOPMAL_CD -- 쇼핑몰코드
|
||||
, FORMAT(SUM(BLCE), 0) AS MILEAGE -- 현재 총 마일리지
|
||||
, FORMAT(SUM( IF( DATE(MLG.USE_POSBL_END_DT) BETWEEN DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY)
|
||||
AND LAST_DAY(DATE_ADD(CURDATE(), INTERVAL 1 MONTH)),
|
||||
BLCE,
|
||||
0
|
||||
)
|
||||
), 0
|
||||
) AS EXP_MILEAGE -- 만료예상마일리지 (템플릿 위해 중복 조회)
|
||||
, FORMAT(SUM( IF( DATE(MLG.USE_POSBL_END_DT) BETWEEN DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY)
|
||||
AND LAST_DAY(DATE_ADD(CURDATE(), INTERVAL 1 MONTH)),
|
||||
BLCE,
|
||||
0
|
||||
)
|
||||
), 0
|
||||
) AS MILEAGE_REST -- 만료예상마일리지 (템플릿 위해 중복 조회)
|
||||
, GE.*
|
||||
FROM GC_MILEAGE MLG
|
||||
INNER JOIN GC_MEMBER MBR -- 회원테이블
|
||||
ON MBR.MBR_INNB = MLG.MBR_INNB
|
||||
AND MBR.MBR_DV_CD = MLG.MBR_DV_CD
|
||||
INNER JOIN GC_MESSAGE_SNDNG GMS -- 자동발송테이블
|
||||
ON GMS.SOPMAL_CD = GMA.SOPMAL_CD
|
||||
AND GMS.FORM_DV_CD = #{formDvCd}
|
||||
AND GMS.FORM_DTL_DV_CD = #{formDtlDvCd}
|
||||
INNER JOIN GC_EMAIL_FORM GEF
|
||||
ON GEF.SOPMAL_CD = GMS.SOPMAL_CD
|
||||
AND GEF.EMAIL_SNDNG_FORM_INNB = GMS.EMAIL_SNDNG_FORM_INNB
|
||||
AND GEF.USE_AT = 'Y'
|
||||
INNER JOIN GC_SHOP SHOP -- 쇼핑몰
|
||||
ON SHOP.SOPMAL_CD = MLG.SOPMAL_CD
|
||||
INNER JOIN GC_EMAIL GE
|
||||
ON GE.SOPMAL_CD = SHOP.SOPMAL_CD
|
||||
AND GE.EMAIL_SNDNG_FORM_INNB = '22'
|
||||
WHERE 1=1
|
||||
AND MLG.BLCE > 0 -- 잔액 0 이상
|
||||
AND MLG.CANCL_AT = 'N' -- 취소되지 않은 마일리지
|
||||
AND MLG.END_AT = 'N' -- 만료되지 않은 마일리지
|
||||
AND MLG.USE_POSBL_END_DT >= NOW() -- 만료기간 남아있는 마일리지
|
||||
AND MBR.MBTLNB > ''
|
||||
GROUP BY MLG.MBR_INNB, MLG.MBR_DV_CD, MLG.SOPMAL_CD, SHOP.SOPMAL_NM, SHOP.MBL_DOMN_ADRES, GE.EMAIL_SNDNG_INNB
|
||||
HAVING SUM( IF( DATE(MLG.USE_POSBL_END_DT) BETWEEN DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY)
|
||||
AND LAST_DAY(DATE_ADD(CURDATE(), INTERVAL 1 MONTH)),
|
||||
BLCE,
|
||||
0
|
||||
)
|
||||
) > 0 -- 만료 대상 마일리지가 남아있는 경우
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 회원 2년 메일 등록 -->
|
||||
<insert id="insertMlgExpEmail">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_EMAIL (
|
||||
SOPMAL_CD
|
||||
, SNDNG_LC
|
||||
, SJ
|
||||
, CN
|
||||
, SNDR_EMAIL
|
||||
, RECPTN_RJCT_URL
|
||||
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
|
||||
, REGUSR -- 등록자 고유번호
|
||||
, REGIST_DT -- 등록일 현재 NOW()
|
||||
, EMAIL_SNDNG_FORM_INNB
|
||||
)
|
||||
SELECT
|
||||
S.SOPMAL_CD
|
||||
, NULL SNDNG_LC
|
||||
, EF.EMAIL_SJ
|
||||
, EF.EMAIL_CN
|
||||
, S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES
|
||||
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
|
||||
, '03' REGUSR_DV
|
||||
, 0 REGUSR
|
||||
, NOW() REGIST_DT
|
||||
, '22'
|
||||
FROM GC_SHOP S
|
||||
INNER JOIN GC_EMAIL_FORM EF
|
||||
ON S.SOPMAL_CD = EF.SOPMAL_CD
|
||||
AND EF.FORM_DV_CD = 'FORM_DV_REMND'
|
||||
AND EF.FORM_DTL_DV_CD = '04' -- 광고동의
|
||||
AND EF.USE_AT = 'Y'
|
||||
INNER JOIN GC_MESSAGE_SNDNG MS
|
||||
ON S.SOPMAL_CD = MS.SOPMAL_CD
|
||||
AND MS.FORM_DV_CD = 'FORM_DV_REMND'
|
||||
AND MS.FORM_DTL_DV_CD = '04'
|
||||
AND MS.USE_AT = 'Y'
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 이메일 발송 대상자 조회 -->
|
||||
<select id="selectEmailLogOkList">
|
||||
SELECT
|
||||
LOG.SOPMAL_CD
|
||||
, LOG.MBR_INNB
|
||||
, LOG.RCVER
|
||||
FROM GC_EMAIL_LOG LOG
|
||||
WHERE 1=1
|
||||
AND LOG.EMAIL_SNDNG_FORM_INNB = #{sttus}
|
||||
AND LOG.STTUS = 'OK'
|
||||
</select>
|
||||
<!-- 회원 2년 이메일 대상자 업데이트 -->
|
||||
<update id="updateMarktAgreTrnsmisDt">
|
||||
UPDATE GC_MARKETING_AGREE GMA
|
||||
INNER JOIN GC_MEMBER MBR
|
||||
ON MBR.MBR_DV_CD = GMA.MBR_DV_CD
|
||||
AND MBR.MBR_INNB = GMA.MBR_INNB
|
||||
SET GMA.MARKT_RECPTN_AGRE_TRNSMIS_DT = NOW()
|
||||
WHERE 1=1
|
||||
AND GMA.SOPMAL_CD = #{sopmalCd}
|
||||
AND GMA.MBR_INNB = #{mbrInnb}
|
||||
AND MBR.EMAIL = HEX(AES_ENCRYPT(#{rcver}, #{secretKey}))
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 이메일 발송 후 상태 수정 -->
|
||||
<update id="updateEmailSendSttus">
|
||||
UPDATE GC_EMAIL_TO
|
||||
SET
|
||||
STTUS = #{sttus}
|
||||
, SNDNG_DT = NOW()
|
||||
, RSLT_CD = #{rsltCd}
|
||||
WHERE 1=1
|
||||
AND EMAIL_SNDNG_INNB = #{emailSndngInnb}
|
||||
AND TRGET_SNB = #{trgetSnb}
|
||||
</update>
|
||||
|
||||
<!-- 이메일 로그 등록 -->
|
||||
<insert id="insertEmailSendLog">
|
||||
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
|
||||
(
|
||||
#{sopmalCd}
|
||||
, #{mbrInnb}
|
||||
, #{atmcSndngAt}
|
||||
, #{sndngCnt}
|
||||
, HEX(AES_ENCRYPT(#{snder}, '1df5be2f7e90ae36'))
|
||||
, HEX(AES_ENCRYPT(#{rcver}, '1df5be2f7e90ae36'))
|
||||
, #{sj}
|
||||
, #{cn}
|
||||
, #{emailSndngFormInnb}
|
||||
, #{ordrInnb}
|
||||
, #{sttus}
|
||||
, SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
</mapper>
|
||||
448
src/main/resources/mybatis/xml/mapper/gcone/EpMapper.xml
Normal file
448
src/main/resources/mybatis/xml/mapper/gcone/EpMapper.xml
Normal file
@@ -0,0 +1,448 @@
|
||||
<?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.mapper.gcone.EpMapper">
|
||||
|
||||
<!--네이버 EP 조회-->
|
||||
<select id="selectNaverEp" resultType="com.wb.domainserver.ep.vo.NaverEp">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
GG.SOPMAL_CD -- 쇼핑몰별 구분용
|
||||
,GG.GOODS_INNB AS ID
|
||||
,GG.GOODS_NM AS TITLE
|
||||
,ROUND(GGO.SLEPRIC, 0) AS PRICE_PC
|
||||
,CONCAT(GS.PC_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl', '?goodsInnb=', GG.GOODS_INNB,'&market=naver') AS LINK
|
||||
,CONCAT(GS.MBL_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl', '?goodsInnb=', GG.GOODS_INNB,'&market=naver') AS MOBILE_LINK
|
||||
,GGI.IMG AS IMAGE_LINK
|
||||
,IFNULL(CTGY.FULL_PATH, '') AS CATEGORY_NAME
|
||||
,GS.SOPMAL_NM AS BRAND
|
||||
,CASE WHEN GGO.MLG_POLICY_CD = '01' THEN ROUND(IFNULL(GGO.SLEPRIC,0) * IFNULL(GS.MLG_PYMNT_RT, 0)/100, 0)
|
||||
WHEN GGO.MLG_ACCML_CD = '01' THEN ROUND(IFNULL(GGO.SLEPRIC,0) * IFNULL(GGO.MLG_ACCML_AMT, 0)/100, 0)
|
||||
ELSE ROUND(IFNULL(GGO.MLG_ACCML_AMT, 0), 0) END AS POINT -- 마일리지 적립금액 (통합정책/개별정책에 따라 대체적용_합산없음)
|
||||
,IFNULL(CNT.GOODS_CNT, 0) AS REVIEW_COUNT
|
||||
,ROUND(GSG.DFT_DLVY_AMT, 0) AS SHIPPING
|
||||
FROM
|
||||
GC_GOODS GG
|
||||
INNER JOIN
|
||||
GC_SHOP GS
|
||||
ON GG.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND GS.OPER_AT ='Y'
|
||||
LEFT JOIN -- 기준 가격 관련 조인
|
||||
GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
AND GGO.STDR_DV_AT ='Y'
|
||||
AND GGO.USE_AT ='Y'
|
||||
LEFT JOIN ( -- 재고상태 관련 조인
|
||||
SELECT
|
||||
GGO.GOODS_INNB
|
||||
,GGO.SOPMAL_CD
|
||||
, CASE WHEN GG.INVNTRY_POLICY_CD= '01' THEN -- 01 재고가 있으면 판매
|
||||
CASE WHEN IFNULL(SUM(GGO.INVNTRY_QY), 0) - IFNULL(SUM(GGO.USEFUL_INVNTRY_QY), 0) > IFNULL(GG.AVLINV_LMTT_QY, 0) THEN 'in stock' ELSE '' END
|
||||
ELSE 'in stock' END AS IN_STOCK
|
||||
FROM
|
||||
GC_GOODS GG
|
||||
LEFT JOIN GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GGO.USE_AT = 'Y'
|
||||
AND GGO.SOPMAL_CD IN (SELECT GS.SOPMAL_CD FROM GC_SHOP GS WHERE 1=1 AND GS.OPER_AT ='Y')
|
||||
AND GGO.OPTN_TY IN('01', '02')
|
||||
AND GG.USE_AT = 'Y'
|
||||
GROUP BY
|
||||
GGO.GOODS_INNB
|
||||
,GGO.SOPMAL_CD
|
||||
)STOCK
|
||||
ON GG.GOODS_INNB = STOCK.GOODS_INNB
|
||||
AND GG.SOPMAL_CD = STOCK.SOPMAL_CD
|
||||
LEFT JOIN -- 상품이미지 조인
|
||||
GC_GOODS_IMAGE GGI
|
||||
ON GG.SOPMAL_CD = GGI.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGI.GOODS_INNB
|
||||
AND IMG_KND ='01'
|
||||
AND CUT_NB ='1'
|
||||
LEFT JOIN ( -- 카테고리 조인
|
||||
WITH RECURSIVE CATEGORY AS (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
RANK () OVER (PARTITION BY CL.SOPMAL_CD, CL.GOODS_INNB
|
||||
ORDER BY CL.REPRSNT_CTGRY_AT DESC, CC.CTGRY_DEPTH , CC.SORT_ORDR, CTGRY_ID DESC ) RNK
|
||||
, CL.SOPMAL_CD, CL.GOODS_INNB, CL.REPRSNT_CTGRY_AT
|
||||
, CC.CTGRY_ID, CC.UPPER_CTGRY_ID, CC.CTGRY_DEPTH, CC.CTGRY_NM AS FULL_PATH
|
||||
FROM GC_CATEGORY CC
|
||||
INNER JOIN GC_CATEGORY_LINK CL
|
||||
ON CC.CTGRY_ID = CL.CTGRY_ID
|
||||
AND CC.SOPMAL_CD = CL.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND CL.SOPMAL_CD IN (SELECT GS.SOPMAL_CD FROM GC_SHOP GS WHERE 1=1 AND GS.OPER_AT ='Y')
|
||||
AND CTGRY_DV_CD = '01'
|
||||
) TGT
|
||||
WHERE RNK = 1
|
||||
UNION ALL
|
||||
SELECT CAST(@ROWNUM:= CASE WHEN RNK = 1 THEN 2 ELSE 3 END AS UNSIGNED) AS RNK
|
||||
, C.SOPMAL_CD, CH.GOODS_INNB, CH.REPRSNT_CTGRY_AT
|
||||
, C.CTGRY_ID, C.UPPER_CTGRY_ID, C.CTGRY_DEPTH
|
||||
, CASE WHEN CH.CTGRY_DEPTH <= 3 THEN CH.FULL_PATH ELSE CONCAT(C.CTGRY_NM, '| ', CH.FULL_PATH) END AS FULL_PATH
|
||||
FROM GC_CATEGORY C
|
||||
INNER JOIN CATEGORY CH
|
||||
ON C.CTGRY_ID = CH.UPPER_CTGRY_ID
|
||||
AND C.SOPMAL_CD = CH.SOPMAL_CD
|
||||
WHERE (@ROWNUM:=1) >= 0
|
||||
)
|
||||
SELECT * FROM CATEGORY
|
||||
WHERE RNK = 2
|
||||
)CTGY
|
||||
ON GG.GOODS_INNB = CTGY.GOODS_INNB
|
||||
AND GG.SOPMAL_CD = CTGY.SOPMAL_CD
|
||||
LEFT JOIN(
|
||||
SELECT -- 상품평 갯수
|
||||
count(*) AS GOODS_CNT
|
||||
,GBG.SOPMAL_CD
|
||||
,GBG.GOODS_INNB
|
||||
FROM
|
||||
GC_BOARDMANAGER GB
|
||||
INNER JOIN
|
||||
GC_BOARDDATA GB2
|
||||
ON GB.BBS_ID = GB2.BBS_ID
|
||||
AND GB.SOPMAL_CD = GB2.SOPMAL_CD
|
||||
AND GB.USE_AT ='Y'
|
||||
AND GB.BBS_TY_CD IN ('06', '07') -- 상품후기 게시판(06 : 상품후기, 07: 한달리뷰)
|
||||
AND IFNULL(GB2.Npay_BBSCTT_SNB, '') != '' -- 네이버 후기가 아닌 리뷰
|
||||
INNER JOIN
|
||||
GC_BOARDDATA_GOODS GBG
|
||||
ON GB2.BBSCTT_INNB = GBG.BBSCTT_INNB
|
||||
AND GB2.SOPMAL_CD = GBG.SOPMAL_CD
|
||||
AND GB2.USE_AT ='Y'
|
||||
AND GB2.EXPSR_AT ='Y'
|
||||
WHERE 1=1
|
||||
GROUP BY
|
||||
GBG.SOPMAL_CD
|
||||
,GBG.GOODS_INNB )CNT
|
||||
ON GG.SOPMAL_CD = CNT.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = CNT.GOODS_INNB
|
||||
LEFT JOIN GC_SHIPPING_GROUPING GSG
|
||||
ON GG.SOPMAL_CD = GSG.SOPMAL_CD
|
||||
AND GG.DLVY_GROUP_INNB = GSG.DLVY_GROUP_INNB
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GG.GOODS_KND_CD = '01'
|
||||
AND GG.GOODS_STTUS_CD = '01'
|
||||
AND GG.USE_AT = 'Y'
|
||||
AND STOCK.IN_STOCK != ''
|
||||
AND GG.NAVER_EP_INTRLCK_AT ='Y'
|
||||
ORDER BY GG.SOPMAL_CD, GG.GOODS_INNB ASC
|
||||
]]>
|
||||
</select>
|
||||
<!--구글 EP 조회-->
|
||||
<select id="selectGoogleEp" resultType="com.wb.domainserver.ep.vo.GoogleEp">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
GG.SOPMAL_CD
|
||||
,GG.GOODS_INNB
|
||||
,GG.GOODS_NM
|
||||
,IFNULL(GG.REPRSNT_DC, '') AS REPRSNT_DC
|
||||
,CONCAT(GS.PC_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl', '?goodsInnb=', GG.GOODS_INNB,'&market=google') AS PC_GOODS_LINK
|
||||
-- ,CONCAT(GS.MBL_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl', '?goodsInnb=', GG.GOODS_INNB) AS MBL_GOODS_LINK
|
||||
,GS.PC_DOMN_ADRES
|
||||
,GGI.IMG
|
||||
,GS.SOPMAL_NM
|
||||
,STOCK.IN_STOCK
|
||||
,SUBSTRING_INDEX(IFNULL(CTGY.FULL_PATH, ''),'|',-1) AS PRODUCT_TYPE -- GOOGLE
|
||||
,CONCAT(ROUND(GGO.CNSMRPRIC, 0), ' KRW') AS PRICE
|
||||
,CONCAT(ROUND(GGO.SLEPRIC, 0), ' KRW') AS SALE_PRICE
|
||||
FROM
|
||||
GC_GOODS GG
|
||||
INNER JOIN
|
||||
GC_SHOP GS
|
||||
ON GG.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND GS.OPER_AT ='Y'
|
||||
LEFT JOIN -- 기준 가격 관련 조인
|
||||
GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
AND GGO.STDR_DV_AT ='Y'
|
||||
AND GGO.USE_AT ='Y'
|
||||
LEFT JOIN ( -- 재고상태 관련 조인
|
||||
SELECT
|
||||
GGO.GOODS_INNB
|
||||
,GGO.SOPMAL_CD
|
||||
, CASE WHEN GG.INVNTRY_POLICY_CD= '01' THEN -- 01 재고가 있으면 판매
|
||||
CASE WHEN IFNULL(SUM(GGO.INVNTRY_QY), 0) - IFNULL(SUM(GGO.USEFUL_INVNTRY_QY), 0) > IFNULL(GG.AVLINV_LMTT_QY, 0) THEN 'in stock' ELSE '' END
|
||||
ELSE 'in stock' END AS IN_STOCK
|
||||
FROM
|
||||
GC_GOODS GG
|
||||
LEFT JOIN GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GGO.USE_AT = 'Y'
|
||||
AND GGO.SOPMAL_CD IN (SELECT GS.SOPMAL_CD FROM GC_SHOP GS WHERE 1=1 AND GS.OPER_AT ='Y')
|
||||
AND GGO.OPTN_TY IN('01', '02')
|
||||
AND GG.USE_AT ='Y'
|
||||
GROUP BY
|
||||
GGO.GOODS_INNB
|
||||
,GGO.SOPMAL_CD
|
||||
)STOCK
|
||||
ON GG.GOODS_INNB = STOCK.GOODS_INNB
|
||||
AND GG.SOPMAL_CD = STOCK.SOPMAL_CD
|
||||
LEFT JOIN -- 상품이미지 조인
|
||||
GC_GOODS_IMAGE GGI
|
||||
ON GG.SOPMAL_CD = GGI.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGI.GOODS_INNB
|
||||
AND IMG_KND ='01'
|
||||
AND CUT_NB ='1'
|
||||
LEFT JOIN ( -- 카테고리 조인
|
||||
WITH RECURSIVE CATEGORY AS (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
RANK () OVER (PARTITION BY CL.SOPMAL_CD, CL.GOODS_INNB
|
||||
ORDER BY CL.REPRSNT_CTGRY_AT DESC, CC.CTGRY_DEPTH , CC.SORT_ORDR, CTGRY_ID DESC ) RNK
|
||||
, CL.SOPMAL_CD, CL.GOODS_INNB, CL.REPRSNT_CTGRY_AT
|
||||
, CC.CTGRY_ID, CC.UPPER_CTGRY_ID, CC.CTGRY_DEPTH, CC.CTGRY_NM AS FULL_PATH
|
||||
FROM GC_CATEGORY CC
|
||||
INNER JOIN GC_CATEGORY_LINK CL
|
||||
ON CC.CTGRY_ID = CL.CTGRY_ID
|
||||
AND CC.SOPMAL_CD = CL.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND CL.SOPMAL_CD IN (SELECT GS.SOPMAL_CD FROM GC_SHOP GS WHERE 1=1 AND GS.OPER_AT ='Y')
|
||||
AND CTGRY_DV_CD = '01'
|
||||
) TGT
|
||||
WHERE RNK = 1
|
||||
UNION ALL
|
||||
SELECT CAST(@ROWNUM:= CASE WHEN RNK = 1 THEN 2 ELSE 3 END AS UNSIGNED) AS RNK
|
||||
, C.SOPMAL_CD, CH.GOODS_INNB, CH.REPRSNT_CTGRY_AT
|
||||
, C.CTGRY_ID, C.UPPER_CTGRY_ID, C.CTGRY_DEPTH
|
||||
, CASE WHEN CH.CTGRY_DEPTH <= 3 THEN CH.FULL_PATH ELSE CONCAT(C.CTGRY_NM, '| ', CH.FULL_PATH) END AS FULL_PATH
|
||||
FROM GC_CATEGORY C
|
||||
INNER JOIN CATEGORY CH
|
||||
ON C.CTGRY_ID = CH.UPPER_CTGRY_ID
|
||||
AND C.SOPMAL_CD = CH.SOPMAL_CD
|
||||
WHERE (@ROWNUM:=1) >= 0
|
||||
)
|
||||
SELECT * FROM CATEGORY
|
||||
WHERE RNK = 2
|
||||
)CTGY
|
||||
ON GG.GOODS_INNB = CTGY.GOODS_INNB
|
||||
AND GG.SOPMAL_CD = CTGY.SOPMAL_CD
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GG.GOODS_KND_CD = '01'
|
||||
AND GG.GOODS_STTUS_CD = '01'
|
||||
AND GG.USE_AT = 'Y'
|
||||
AND STOCK.IN_STOCK != ''
|
||||
AND GG.GOOGLE_EP_INTRLCK_AT ='Y' -- 구글 입접마케팅 여부
|
||||
ORDER BY GG.SOPMAL_CD, GG.GOODS_INNB ASC
|
||||
]]>
|
||||
</select>
|
||||
<!--메타 EP 조회-->
|
||||
<select id="selectMetaEp" resultType="com.wb.domainserver.ep.vo.MetaEp">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
GG.SOPMAL_CD
|
||||
,GG.GOODS_INNB
|
||||
,GG.GOODS_NM
|
||||
,IFNULL(GG.REPRSNT_DC, '') AS REPRSNT_DC
|
||||
,CONCAT(GS.PC_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl', '?goodsInnb=', GG.GOODS_INNB,'&market=meta') AS PC_GOODS_LINK
|
||||
-- ,CONCAT(GS.MBL_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl', '?goodsInnb=', GG.GOODS_INNB) AS MBL_GOODS_LINK
|
||||
,GS.PC_DOMN_ADRES
|
||||
,GGI.IMG
|
||||
,GS.SOPMAL_NM
|
||||
,STOCK.IN_STOCK
|
||||
,CONCAT(ROUND(GGO.CNSMRPRIC, 0), ' KRW') AS PRICE
|
||||
,CONCAT(ROUND(GGO.SLEPRIC, 0), ' KRW') AS SALE_PRICE
|
||||
FROM
|
||||
GC_GOODS GG
|
||||
INNER JOIN
|
||||
GC_SHOP GS
|
||||
ON GG.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND GS.OPER_AT ='Y'
|
||||
LEFT JOIN -- 기준 가격 관련 조인
|
||||
GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
AND GGO.STDR_DV_AT ='Y'
|
||||
AND GGO.USE_AT ='Y'
|
||||
LEFT JOIN ( -- 재고상태 관련 조인
|
||||
SELECT
|
||||
GGO.GOODS_INNB
|
||||
,GGO.SOPMAL_CD
|
||||
, CASE WHEN GG.INVNTRY_POLICY_CD= '01' THEN -- 01 재고가 있으면 판매
|
||||
CASE WHEN IFNULL(SUM(GGO.INVNTRY_QY), 0) - IFNULL(SUM(GGO.USEFUL_INVNTRY_QY), 0) > IFNULL(GG.AVLINV_LMTT_QY, 0) THEN 'in stock' ELSE '' END
|
||||
ELSE 'in stock' END AS IN_STOCK
|
||||
FROM
|
||||
GC_GOODS GG
|
||||
LEFT JOIN GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GGO.USE_AT = 'Y'
|
||||
AND GGO.SOPMAL_CD IN (SELECT GS.SOPMAL_CD FROM GC_SHOP GS WHERE 1=1 AND GS.OPER_AT ='Y')
|
||||
AND GGO.OPTN_TY IN('01', '02')
|
||||
AND GG.USE_AT ='Y'
|
||||
GROUP BY
|
||||
GGO.GOODS_INNB
|
||||
,GGO.SOPMAL_CD
|
||||
)STOCK
|
||||
ON GG.GOODS_INNB = STOCK.GOODS_INNB
|
||||
AND GG.SOPMAL_CD = STOCK.SOPMAL_CD
|
||||
LEFT JOIN -- 상품이미지 조인
|
||||
GC_GOODS_IMAGE GGI
|
||||
ON GG.SOPMAL_CD = GGI.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGI.GOODS_INNB
|
||||
AND IMG_KND ='01'
|
||||
AND CUT_NB ='1'
|
||||
LEFT JOIN ( -- 카테고리 조인
|
||||
WITH RECURSIVE CATEGORY AS (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
RANK () OVER (PARTITION BY CL.SOPMAL_CD, CL.GOODS_INNB
|
||||
ORDER BY CL.REPRSNT_CTGRY_AT DESC, CC.CTGRY_DEPTH , CC.SORT_ORDR, CTGRY_ID DESC ) RNK
|
||||
, CL.SOPMAL_CD, CL.GOODS_INNB, CL.REPRSNT_CTGRY_AT
|
||||
, CC.CTGRY_ID, CC.UPPER_CTGRY_ID, CC.CTGRY_DEPTH, CC.CTGRY_NM AS FULL_PATH
|
||||
FROM GC_CATEGORY CC
|
||||
INNER JOIN GC_CATEGORY_LINK CL
|
||||
ON CC.CTGRY_ID = CL.CTGRY_ID
|
||||
AND CC.SOPMAL_CD = CL.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND CL.SOPMAL_CD IN (SELECT GS.SOPMAL_CD FROM GC_SHOP GS WHERE 1=1 AND GS.OPER_AT ='Y')
|
||||
AND CTGRY_DV_CD = '01'
|
||||
) TGT
|
||||
WHERE RNK = 1
|
||||
UNION ALL
|
||||
SELECT CAST(@ROWNUM:= CASE WHEN RNK = 1 THEN 2 ELSE 3 END AS UNSIGNED) AS RNK
|
||||
, C.SOPMAL_CD, CH.GOODS_INNB, CH.REPRSNT_CTGRY_AT
|
||||
, C.CTGRY_ID, C.UPPER_CTGRY_ID, C.CTGRY_DEPTH
|
||||
, CASE WHEN CH.CTGRY_DEPTH <= 3 THEN CH.FULL_PATH ELSE CONCAT(C.CTGRY_NM, '| ', CH.FULL_PATH) END AS FULL_PATH
|
||||
FROM GC_CATEGORY C
|
||||
INNER JOIN CATEGORY CH
|
||||
ON C.CTGRY_ID = CH.UPPER_CTGRY_ID
|
||||
AND C.SOPMAL_CD = CH.SOPMAL_CD
|
||||
WHERE (@ROWNUM:=1) >= 0
|
||||
)
|
||||
SELECT * FROM CATEGORY
|
||||
WHERE RNK = 2
|
||||
)CTGY
|
||||
ON GG.GOODS_INNB = CTGY.GOODS_INNB
|
||||
AND GG.SOPMAL_CD = CTGY.SOPMAL_CD
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GG.GOODS_KND_CD = '01'
|
||||
AND GG.GOODS_STTUS_CD = '01'
|
||||
AND GG.USE_AT = 'Y'
|
||||
AND STOCK.IN_STOCK != ''
|
||||
AND GG.META_EP_INTRLCK_AT ='Y' -- 메타 입점마케팅 여부
|
||||
ORDER BY GG.SOPMAL_CD, GG.GOODS_INNB ASC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--모비온 EP 조회-->
|
||||
<select id="selectMobionEp" resultType="com.wb.domainserver.ep.vo.MobionEp">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
GG.SOPMAL_CD
|
||||
,GG.GOODS_INNB
|
||||
,GG.GOODS_NM
|
||||
,CONCAT(GS.PC_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl', '?goodsInnb=', GG.GOODS_INNB,'&market=mobion') AS PC_GOODS_LINK
|
||||
,CONCAT(GS.MBL_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl', '?goodsInnb=', GG.GOODS_INNB,'&market=mobion') AS MBL_GOODS_LINK
|
||||
,IFNULL(GIMG.IMG, '') AS IMG
|
||||
,ROUND(GGO.CNSMRPRIC, 0) AS PRICE
|
||||
,ROUND(GGO.SLEPRIC, 0) AS SALE_PRICE
|
||||
,IFNULL(CTGY.FULL_PATH, '') AS CATEGORY_NAME
|
||||
FROM
|
||||
GC_GOODS GG
|
||||
INNER JOIN
|
||||
GC_SHOP GS
|
||||
ON GG.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND GS.OPER_AT ='Y'
|
||||
LEFT JOIN -- 기준 가격 관련 조인
|
||||
GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
AND GGO.STDR_DV_AT ='Y'
|
||||
AND GGO.USE_AT ='Y'
|
||||
LEFT JOIN ( -- 재고상태 관련 조인
|
||||
SELECT
|
||||
GGO.GOODS_INNB
|
||||
,GGO.SOPMAL_CD
|
||||
, CASE WHEN GG.INVNTRY_POLICY_CD= '01' THEN -- 01 재고가 있으면 판매
|
||||
CASE WHEN IFNULL(SUM(GGO.INVNTRY_QY), 0) - IFNULL(SUM(GGO.USEFUL_INVNTRY_QY), 0) > IFNULL(GG.AVLINV_LMTT_QY, 0) THEN 'in stock' ELSE '' END
|
||||
ELSE 'in stock' END AS IN_STOCK
|
||||
FROM
|
||||
GC_GOODS GG
|
||||
LEFT JOIN GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GGO.USE_AT = 'Y'
|
||||
AND GGO.SOPMAL_CD IN (SELECT GS.SOPMAL_CD FROM GC_SHOP GS WHERE 1=1 AND GS.OPER_AT ='Y')
|
||||
AND GGO.OPTN_TY IN('01', '02')
|
||||
AND GG.USE_AT ='Y'
|
||||
GROUP BY
|
||||
GGO.GOODS_INNB
|
||||
,GGO.SOPMAL_CD
|
||||
)STOCK
|
||||
ON GG.GOODS_INNB = STOCK.GOODS_INNB
|
||||
AND GG.SOPMAL_CD = STOCK.SOPMAL_CD
|
||||
LEFT JOIN -- 상품이미지 조인
|
||||
(SELECT GG.SOPMAL_CD, GG.GOODS_INNB, GROUP_CONCAT(GGI.IMG SEPARATOR '|') AS IMG
|
||||
FROM GC_GOODS GG
|
||||
LEFT JOIN GC_GOODS_IMAGE GGI
|
||||
ON GG.SOPMAL_CD = GGI.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGI.GOODS_INNB
|
||||
AND IMG_KND ='01'
|
||||
GROUP BY GG.SOPMAL_CD, GG.GOODS_INNB
|
||||
) GIMG
|
||||
ON GIMG.SOPMAL_CD = GG.SOPMAL_CD
|
||||
AND GIMG.GOODS_INNB = GG.GOODS_INNB
|
||||
LEFT JOIN ( -- 카테고리 조인
|
||||
WITH RECURSIVE CATEGORY AS (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
RANK () OVER (PARTITION BY CL.SOPMAL_CD, CL.GOODS_INNB
|
||||
ORDER BY CL.REPRSNT_CTGRY_AT DESC, CC.CTGRY_DEPTH , CC.SORT_ORDR, CTGRY_ID DESC ) RNK
|
||||
, CL.SOPMAL_CD, CL.GOODS_INNB, CL.REPRSNT_CTGRY_AT
|
||||
, CC.CTGRY_ID, CC.UPPER_CTGRY_ID, CC.CTGRY_DEPTH, CC.CTGRY_NM AS FULL_PATH
|
||||
FROM GC_CATEGORY CC
|
||||
INNER JOIN GC_CATEGORY_LINK CL
|
||||
ON CC.CTGRY_ID = CL.CTGRY_ID
|
||||
AND CC.SOPMAL_CD = CL.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND CL.SOPMAL_CD IN (SELECT GS.SOPMAL_CD FROM GC_SHOP GS WHERE 1=1 AND GS.OPER_AT ='Y')
|
||||
AND CTGRY_DV_CD = '01'
|
||||
) TGT
|
||||
WHERE RNK = 1
|
||||
UNION ALL
|
||||
SELECT CAST(@ROWNUM:= CASE WHEN RNK = 1 THEN 2 ELSE 3 END AS UNSIGNED) AS RNK
|
||||
, C.SOPMAL_CD, CH.GOODS_INNB, CH.REPRSNT_CTGRY_AT
|
||||
, C.CTGRY_ID, C.UPPER_CTGRY_ID, C.CTGRY_DEPTH
|
||||
, CASE WHEN CH.CTGRY_DEPTH <= 3 THEN CH.FULL_PATH ELSE CONCAT(C.CTGRY_NM, '|', CH.FULL_PATH) END AS FULL_PATH
|
||||
FROM GC_CATEGORY C
|
||||
INNER JOIN CATEGORY CH
|
||||
ON C.CTGRY_ID = CH.UPPER_CTGRY_ID
|
||||
AND C.SOPMAL_CD = CH.SOPMAL_CD
|
||||
WHERE (@ROWNUM:=1) >= 0
|
||||
)
|
||||
SELECT * FROM CATEGORY
|
||||
WHERE RNK = 2
|
||||
)CTGY
|
||||
ON GG.GOODS_INNB = CTGY.GOODS_INNB
|
||||
AND GG.SOPMAL_CD = CTGY.SOPMAL_CD
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GG.GOODS_KND_CD = '01'
|
||||
AND GG.GOODS_STTUS_CD = '01'
|
||||
AND GG.USE_AT = 'Y'
|
||||
AND STOCK.IN_STOCK != ''
|
||||
AND GG.MOBION_EP_INTRLCK_AT ='Y' -- 모비온 입점마케팅 여부
|
||||
ORDER BY GG.SOPMAL_CD, GG.GOODS_INNB ASC
|
||||
]]>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,50 @@
|
||||
<?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.mapper.gcone.ExtOrdrMapper">
|
||||
<!-- GC_EXT_OREDER MAX값 조회-->
|
||||
<select id = "selectExtOrdrMaxInnb" resultType="DataMap">
|
||||
SELECT
|
||||
IFNULL(MAX(ERP_ORDER_INNB),0) AS MAX_ERP_ORDER_INNB
|
||||
FROM
|
||||
GC_ERP_ORDER
|
||||
</select>
|
||||
<!-- GC_EXT_ORDER 등록 -->
|
||||
<insert id = "insertExtOrdr">
|
||||
INSERT INTO GC_ERP_ORDER
|
||||
( ERP_ORDER_INNB,
|
||||
CPR_CD,
|
||||
BRAND_CD,
|
||||
SOPMAL_DV,
|
||||
SOPMAL,
|
||||
ORDR_NB,
|
||||
ORDR_DT,
|
||||
DLIVY_DT,
|
||||
MBTLNB,
|
||||
NM,
|
||||
ADRES,
|
||||
EMAIL,
|
||||
MEMO,
|
||||
UPLOAD_GROUP,
|
||||
REGIST_DT,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{erpOrderInnb},
|
||||
#{cprCd},
|
||||
#{brandCd},
|
||||
#{sopmalDv},
|
||||
#{sopmal},
|
||||
#{ordrNb},
|
||||
#{ordrDt},
|
||||
#{dlivyDt},
|
||||
HEX(AES_ENCRYPT(#{mbtlnb}, '1df5be2f7e90ae36')),
|
||||
#{nm},
|
||||
#{adres},
|
||||
HEX(AES_ENCRYPT(#{email}, '1df5be2f7e90ae36')),
|
||||
#{memo},
|
||||
#{uploadGroup},
|
||||
NOW(),
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
</mapper>
|
||||
1153
src/main/resources/mybatis/xml/mapper/gcone/GconeMqReqCommMapper.xml
Normal file
1153
src/main/resources/mybatis/xml/mapper/gcone/GconeMqReqCommMapper.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
<?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.mapper.gcone.SampleGconeMapper">
|
||||
|
||||
<insert id="insertGconeCheck" parameterType="com.wb.domainserver.sample.vo.BbsmngrVO">
|
||||
INSERT INTO test (id, code) VALUES(#{bbsId},#{bbsNm})
|
||||
</insert>
|
||||
</mapper>
|
||||
33
src/main/resources/mybatis/xml/mapper/gcone/LogMapper.xml
Normal file
33
src/main/resources/mybatis/xml/mapper/gcone/LogMapper.xml
Normal 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.mapper.gcone.LogMapper">
|
||||
|
||||
|
||||
<!--삭제대상 기준정보 조회-->
|
||||
<select id="selectSopmalAccessLogStdr" resultType="com.wb.domainserver.log.vo.AccessLogVO">
|
||||
SELECT MAX(ACCESS_LOG_INNB) AS ACCESS_LOG_INNB
|
||||
FROM GC_ACCESS_LOG2
|
||||
WHERE 1 = 1
|
||||
AND REGIST_DE <![CDATA[<=]]> DATE_SUB(NOW(), INTERVAL 7 DAY)
|
||||
</select>
|
||||
|
||||
<!-- 삭제대상 정보 데이터 백업-->
|
||||
<insert id="insertSopmalAccessLogBak" parameterType="com.wb.domainserver.log.vo.AccessLogVO">
|
||||
INSERT IGNORE INTO
|
||||
GC_ACCESS_LOG
|
||||
SELECT
|
||||
*
|
||||
FROM GC_ACCESS_LOG2
|
||||
WHERE 1=1
|
||||
AND ACCESS_LOG_INNB <![CDATA[<=]]> #{accessLogInnb}
|
||||
</insert>
|
||||
|
||||
<!-- 엑세스로그 삭제 -->
|
||||
<delete id="deleteSopmalAccessLog" parameterType="com.wb.domainserver.log.vo.AccessLogVO">
|
||||
DELETE
|
||||
FROM
|
||||
GC_ACCESS_LOG2
|
||||
WHERE 1 = 1
|
||||
AND ACCESS_LOG_INNB <![CDATA[<=]]> #{accessLogInnb}
|
||||
</delete>
|
||||
</mapper>
|
||||
262
src/main/resources/mybatis/xml/mapper/gcone/MbrGradMapper.xml
Normal file
262
src/main/resources/mybatis/xml/mapper/gcone/MbrGradMapper.xml
Normal file
@@ -0,0 +1,262 @@
|
||||
<?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.mapper.gcone.MbrGradMapper">
|
||||
<insert id="insertGcGradChangeLog">
|
||||
INSERT INTO GC_GRADE_CHANGE_LOG
|
||||
( GRAD_CHNG_LOG_INNB
|
||||
, CHNG_YM
|
||||
, MBR_INNB
|
||||
, MBR_DV_CD
|
||||
, SOPMAL_CD
|
||||
, MBR_GRAD_INNB
|
||||
, MBR_GRAD_ORDR
|
||||
, NEW_MBR_GRAD_INNB
|
||||
, NEW_GRAD_ORDR
|
||||
, CHNG_GRAD_DV
|
||||
, CALC_PD_MT_CNT
|
||||
, GRAD_MDAT_CYCLE_MT_CNT
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT)
|
||||
SELECT CAST(@ROWNUM := @ROWNUM + 1 AS UNSIGNED) AS GRAD_CHNG_LOG_INNB
|
||||
, DATE_FORMAT(CURDATE(), '%Y%m')
|
||||
, CG.MBR_INNB
|
||||
, CG.MBR_DV_CD
|
||||
, CG.SOPMAL_CD
|
||||
, CG.MBR_GRAD_INNB
|
||||
, CG.OLD_GRAD_ORDR
|
||||
, CG.NEW_MBR_GRAD_INNB
|
||||
, CG.NEW_GRAD_ORDR
|
||||
, CASE
|
||||
WHEN CG.OLD_GRAD_ORDR <![CDATA[<]]> CG.NEW_GRAD_ORDR THEN 'UP'
|
||||
WHEN CG.OLD_GRAD_ORDR <![CDATA[>]]> CG.NEW_GRAD_ORDR THEN 'DN'
|
||||
ELSE 'EQ'
|
||||
END CHNG_GRAD_DV
|
||||
, CG.CALC_PD_MT_CNT
|
||||
, CG.GRAD_MDAT_CYCLE_MT_CNT
|
||||
, 'Y'
|
||||
, 0
|
||||
, SYSDATE()
|
||||
FROM (SELECT GM2.MBR_INNB
|
||||
, GM2.MBR_DV_CD
|
||||
, GM2.MBR_ID
|
||||
, GM2.MBR_NM
|
||||
, GM2.SOPMAL_CD
|
||||
, GM2.MBR_GRAD_INNB
|
||||
, (SELECT MBR_GRAD_ORDR
|
||||
FROM GC_MEMBER_GRAD MG
|
||||
WHERE MG.MBR_GRAD_INNB = GM2.MBR_GRAD_INNB) OLD_GRAD_ORDR
|
||||
, FN_GET_MEMBER_GRAD_NAME(GM2.SOPMAL_CD, GM2.MBR_DV_CD, GM2.MBR_INNB) MBR_GRAD_NM
|
||||
, GM2.CALC_PD_MT_CNT
|
||||
, GM2.GRAD_MDAT_CYCLE_MT_CNT
|
||||
, GM2.CALC_BGN_DT
|
||||
, GM2.CALC_END_DT
|
||||
, IFNULL(ORDR.RL_SETLE_AMT, 0) RL_SETLE_AMT
|
||||
, IFNULL(ORDR.REFUND_AMT, 0) REFUND_AMT
|
||||
, (SELECT MAX(MBR_GRAD_INNB)
|
||||
FROM GC_MEMBER_GRAD GMG
|
||||
WHERE GMG.SOPMAL_CD = GM2.SOPMAL_CD
|
||||
AND GMG.MBR_GRAD_AMT <![CDATA[<=]]>
|
||||
IFNULL(ORDR.RL_SETLE_AMT, 0) - IFNULL(ORDR.REFUND_AMT, 0)) NEW_MBR_GRAD_INNB
|
||||
, (SELECT MBR_GRAD_ORDR
|
||||
FROM GC_MEMBER_GRAD MG2
|
||||
WHERE MG2.MBR_GRAD_INNB = (SELECT MAX(MBR_GRAD_INNB)
|
||||
FROM GC_MEMBER_GRAD GMG2
|
||||
WHERE GMG2.SOPMAL_CD = GM2.SOPMAL_CD
|
||||
AND GMG2.MBR_GRAD_AMT <![CDATA[<=]]> IFNULL(ORDR.RL_SETLE_AMT, 0) -
|
||||
IFNULL(ORDR.REFUND_AMT, 0))) NEW_GRAD_ORDR
|
||||
FROM (SELECT GM.MBR_INNB
|
||||
, GM.MBR_DV_CD
|
||||
, GM.MBR_ID
|
||||
, GM.MBR_NM
|
||||
, GMGM.SOPMAL_CD
|
||||
, GMGM.MBR_GRAD_INNB
|
||||
, FN_GET_MEMBER_GRAD_NAME(GMGM.SOPMAL_CD, GM.MBR_DV_CD, GM.MBR_INNB) MBR_GRAD_NM
|
||||
, MGG.CALC_PD_MT_CNT
|
||||
, MGG.GRAD_MDAT_CYCLE_MT_CNT
|
||||
, MGG.CALC_BGN_DT
|
||||
, MGG.CALC_END_DT
|
||||
FROM GC_MEMBER GM
|
||||
INNER JOIN GC_MEMBER_GRAD_MAPPING GMGM
|
||||
ON GM.MBR_INNB = GMGM.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GMGM.MBR_DV_CD
|
||||
AND GM.MBR_TY_CD = '01'
|
||||
INNER JOIN (SELECT GMGG.SOPMAL_CD
|
||||
, DATE_FORMAT(NOW(), '%Y-01-01') STD_DT
|
||||
, GMGG.CALC_PD_MT_CNT -- 산정기간월수
|
||||
, GMGG.GRAD_MDAT_CYCLE_MT_CNT -- 등급조정주기
|
||||
, DATE_FORMAT(DATE_SUB(NOW(), INTERVAL CALC_PD_MT_CNT MONTH),
|
||||
'%Y-%m-01 00:00:00') CALC_BGN_DT
|
||||
, DATE_FORMAT(LAST_DAY(DATE_SUB(NOW(), INTERVAL 1 MONTH)),
|
||||
'%Y-%m-%d 23:59:59') CALC_END_DT
|
||||
FROM GC_MEMBER_GRAD_GROUP GMGG
|
||||
WHERE GMGG.USE_AT = 'Y'
|
||||
AND GMGG.GRAD_MDAT_AT = 'Y') MGG
|
||||
ON GMGM.SOPMAL_CD = MGG.SOPMAL_CD) GM2
|
||||
LEFT JOIN LATERAL
|
||||
( SELECT GO2.MBR_INNB,
|
||||
GO2.MBR_DV_CD,
|
||||
GO2.SOPMAL_CD,
|
||||
SUM(GO2.RL_SETLE_AMT) RL_SETLE_AMT,
|
||||
IFNULL(SUM(RE.REFUND_AMT), 0) REFUND_AMT
|
||||
FROM GC_ORDER GO2
|
||||
LEFT JOIN
|
||||
(SELECT GOR.ORDR_INNB, GOR.SOPMAL_CD, SUM(IFNULL(GOR.REFUND_AMT, 0)) REFUND_AMT
|
||||
FROM GC_ORDER_REFUND GOR
|
||||
WHERE 1 = 1
|
||||
AND GOR.REFUND_PROCS_STTUS_CD = '03'
|
||||
AND GOR.USE_AT = 'Y'
|
||||
-- AND GOR.REFUND_REQST_DT BETWEEN GM.CALC_BGN_DT AND GM.CALC_END_DT
|
||||
GROUP BY GOR.ORDR_INNB, GOR.SOPMAL_CD) RE
|
||||
ON GO2.ORDR_INNB = RE.ORDR_INNB
|
||||
AND GO2.SOPMAL_CD = RE.SOPMAL_CD
|
||||
WHERE GO2.USE_AT = 'Y'
|
||||
AND GO2.MBR_INNB > 0
|
||||
AND GO2.ORDR_STTUS_CD = '75'
|
||||
AND GO2.SOPMAL_CD = GM2.SOPMAL_CD
|
||||
and GO2.MBR_INNB = GM2.MBR_INNB
|
||||
AND GO2.ORDR_RCEPT_DT BETWEEN GM2.CALC_BGN_DT AND GM2.CALC_END_DT
|
||||
GROUP BY GO2.MBR_INNB, GO2.MBR_DV_CD, GO2.SOPMAL_CD
|
||||
) ORDR
|
||||
ON GM2.MBR_INNB = ORDR.MBR_INNB
|
||||
AND GM2.MBR_DV_CD = ORDR.MBR_DV_CD
|
||||
AND GM2.SOPMAL_CD = ORDR.SOPMAL_CD
|
||||
WHERE 1 = 1 #AND GM2.MBR_INNB IN (6, 11)
|
||||
-- AND GM.MBR_TY_CD = '01'
|
||||
-- AND GO2.SLE_ENVRN_CD = 판매환경 관계없이 다 포함(TM,POS 등 모두:금이사님~)
|
||||
GROUP BY GM2.MBR_INNB
|
||||
, GM2.MBR_DV_CD
|
||||
, GM2.MBR_ID
|
||||
, GM2.MBR_NM
|
||||
, GM2.SOPMAL_CD
|
||||
, GM2.MBR_GRAD_INNB
|
||||
, GM2.CALC_PD_MT_CNT
|
||||
, GM2.GRAD_MDAT_CYCLE_MT_CNT
|
||||
, GM2.CALC_BGN_DT
|
||||
, GM2.CALC_END_DT) CG
|
||||
WHERE (@ROWNUM := (SELECT IFNULL(MAX(D.GRAD_CHNG_LOG_INNB), 0) FROM GC_GRADE_CHANGE_LOG D)) >= 0
|
||||
AND MBR_GRAD_INNB <![CDATA[<>]]> NEW_MBR_GRAD_INNB
|
||||
</insert>
|
||||
<update id="updateGcGrad">
|
||||
UPDATE
|
||||
GC_MEMBER_GRAD_MAPPING as GGM,
|
||||
(SELECT CG.MBR_INNB, CG.MBR_DV_CD, CG.SOPMAL_CD, CG.MBR_GRAD_INNB, CG.NEW_MBR_GRAD_INNB
|
||||
FROM (
|
||||
SELECT GM2.MBR_INNB
|
||||
, GM2.MBR_DV_CD
|
||||
, GM2.MBR_ID
|
||||
, GM2.MBR_NM
|
||||
, GM2.SOPMAL_CD
|
||||
, GM2.MBR_GRAD_INNB
|
||||
, (SELECT MBR_GRAD_ORDR FROM GC_MEMBER_GRAD MG WHERE MG.MBR_GRAD_INNB = GM2.MBR_GRAD_INNB) OLD_GRAD_ORDR
|
||||
, FN_GET_MEMBER_GRAD_NAME(GM2.SOPMAL_CD,GM2.MBR_DV_CD,GM2.MBR_INNB)MBR_GRAD_NM
|
||||
, GM2.CALC_PD_MT_CNT
|
||||
, GM2.GRAD_MDAT_CYCLE_MT_CNT
|
||||
, GM2.CALC_BGN_DT
|
||||
, GM2.CALC_END_DT
|
||||
, IFNULL(ORDR.RL_SETLE_AMT,0) RL_SETLE_AMT
|
||||
, IFNULL(ORDR.REFUND_AMT,0) REFUND_AMT
|
||||
, (SELECT MAX(MBR_GRAD_INNB)
|
||||
FROM GC_MEMBER_GRAD GMG
|
||||
WHERE GMG.SOPMAL_CD = GM2.SOPMAL_CD
|
||||
AND GMG.MBR_GRAD_AMT <![CDATA[<=]]> IFNULL(ORDR.RL_SETLE_AMT,0) - IFNULL(ORDR.REFUND_AMT,0)
|
||||
) NEW_MBR_GRAD_INNB
|
||||
, (SELECT MBR_GRAD_ORDR
|
||||
FROM GC_MEMBER_GRAD MG2
|
||||
WHERE MG2.MBR_GRAD_INNB = (SELECT MAX(MBR_GRAD_INNB)
|
||||
FROM GC_MEMBER_GRAD GMG2
|
||||
WHERE GMG2.SOPMAL_CD = GM2.SOPMAL_CD
|
||||
AND GMG2.MBR_GRAD_AMT <![CDATA[<=]]> IFNULL(ORDR.RL_SETLE_AMT,0) - IFNULL(ORDR.REFUND_AMT,0)
|
||||
)
|
||||
) NEW_GRAD_ORDR
|
||||
FROM (
|
||||
SELECT GM.MBR_INNB
|
||||
, GM.MBR_DV_CD
|
||||
, GM.MBR_ID
|
||||
, GM.MBR_NM
|
||||
, GMGM.SOPMAL_CD
|
||||
, GMGM.MBR_GRAD_INNB
|
||||
, FN_GET_MEMBER_GRAD_NAME(GMGM.SOPMAL_CD,GM.MBR_DV_CD,GM.MBR_INNB)MBR_GRAD_NM
|
||||
, MGG.CALC_PD_MT_CNT
|
||||
, MGG.GRAD_MDAT_CYCLE_MT_CNT
|
||||
, MGG.CALC_BGN_DT
|
||||
, MGG.CALC_END_DT
|
||||
FROM GC_MEMBER GM
|
||||
INNER JOIN GC_MEMBER_GRAD_MAPPING GMGM
|
||||
ON GM.MBR_INNB = GMGM.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GMGM.MBR_DV_CD
|
||||
AND GM.MBR_TY_CD = '01'
|
||||
INNER JOIN (SELECT GMGG.SOPMAL_CD
|
||||
, DATE_FORMAT(NOW(),'%Y-01-01') STD_DT
|
||||
, GMGG.CALC_PD_MT_CNT -- 산정기간월수
|
||||
, GMGG.GRAD_MDAT_CYCLE_MT_CNT -- 등급조정주기
|
||||
, DATE_FORMAT(DATE_SUB(NOW(), INTERVAL CALC_PD_MT_CNT MONTH), '%Y-%m-01 00:00:00') CALC_BGN_DT
|
||||
, DATE_FORMAT(LAST_DAY(DATE_SUB(NOW(), INTERVAL 1 MONTH)), '%Y-%m-%d 23:59:59') CALC_END_DT
|
||||
FROM GC_MEMBER_GRAD_GROUP GMGG
|
||||
WHERE GMGG.USE_AT ='Y'
|
||||
AND GMGG.GRAD_MDAT_AT = 'Y'
|
||||
) MGG
|
||||
ON GMGM.SOPMAL_CD = MGG.SOPMAL_CD
|
||||
) GM2
|
||||
LEFT JOIN LATERAL
|
||||
( SELECT GO2.MBR_INNB, GO2.MBR_DV_CD, GO2.SOPMAL_CD, SUM(GO2.RL_SETLE_AMT) RL_SETLE_AMT, IFNULL(SUM(RE.REFUND_AMT),0) REFUND_AMT
|
||||
FROM GC_ORDER GO2
|
||||
LEFT JOIN
|
||||
( SELECT GOR.ORDR_INNB, GOR.SOPMAL_CD, SUM(IFNULL(GOR.REFUND_AMT,0)) REFUND_AMT
|
||||
FROM GC_ORDER_REFUND GOR
|
||||
WHERE 1 = 1
|
||||
AND GOR.REFUND_PROCS_STTUS_CD = '03'
|
||||
AND GOR.USE_AT ='Y'
|
||||
-- AND GOR.REFUND_REQST_DT BETWEEN GM.CALC_BGN_DT AND GM.CALC_END_DT
|
||||
GROUP BY GOR.ORDR_INNB, GOR.SOPMAL_CD
|
||||
) RE
|
||||
ON GO2.ORDR_INNB = RE.ORDR_INNB
|
||||
AND GO2.SOPMAL_CD = RE.SOPMAL_CD
|
||||
WHERE GO2.USE_AT = 'Y'
|
||||
AND GO2.MBR_INNB <![CDATA[>]]> 0
|
||||
AND GO2.ORDR_STTUS_CD = '75'
|
||||
AND GO2.SOPMAL_CD = GM2.SOPMAL_CD
|
||||
and GO2.MBR_INNB = GM2.MBR_INNB
|
||||
AND GO2.ORDR_RCEPT_DT BETWEEN GM2.CALC_BGN_DT AND GM2.CALC_END_DT
|
||||
GROUP BY GO2.MBR_INNB, GO2.MBR_DV_CD, GO2.SOPMAL_CD
|
||||
) ORDR
|
||||
ON GM2.MBR_INNB = ORDR.MBR_INNB
|
||||
AND GM2.MBR_DV_CD = ORDR.MBR_DV_CD
|
||||
AND GM2.SOPMAL_CD = ORDR.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
#AND GM2.MBR_INNB IN (6, 11)
|
||||
-- AND GM.MBR_TY_CD = '01'
|
||||
-- AND GO2.SLE_ENVRN_CD = 판매환경 관계없이 다 포함(TM,POS 등 모두:금이사님~)
|
||||
GROUP BY GM2.MBR_INNB
|
||||
, GM2.MBR_DV_CD
|
||||
, GM2.MBR_ID
|
||||
, GM2.MBR_NM
|
||||
, GM2.SOPMAL_CD
|
||||
, GM2.MBR_GRAD_INNB
|
||||
, GM2.CALC_PD_MT_CNT
|
||||
, GM2.GRAD_MDAT_CYCLE_MT_CNT
|
||||
, GM2.CALC_BGN_DT
|
||||
, GM2.CALC_END_DT
|
||||
) CG
|
||||
WHERE 1 =1
|
||||
AND MBR_GRAD_INNB <![CDATA[<>]]> NEW_MBR_GRAD_INNB) S
|
||||
SET
|
||||
GGM.MBR_GRAD_INNB = S.NEW_MBR_GRAD_INNB
|
||||
, GGM.GRAD_MDAT_DT = NOW()
|
||||
, GGM.REGUSR = 0
|
||||
, GGM.REGIST_DT = SYSDATE()
|
||||
WHERE 1 = 1
|
||||
AND GGM.MBR_INNB = S.MBR_INNB
|
||||
AND GGM.MBR_DV_CD = S.MBR_DV_CD
|
||||
AND GGM.SOPMAL_CD = S.SOPMAL_CD
|
||||
</update>
|
||||
<update id="updateGcGradLogUseAt">
|
||||
UPDATE GC_GRADE_CHANGE_LOG GCL
|
||||
SET USE_AT = 'N'
|
||||
WHERE 1 = 1
|
||||
AND GCL.CHNG_YM = DATE_FORMAT(CURDATE(), '%Y%m')
|
||||
AND GCL.USE_AT = 'Y'
|
||||
</update>
|
||||
</mapper>
|
||||
|
||||
|
||||
171
src/main/resources/mybatis/xml/mapper/gcone/MbrMapper.xml
Normal file
171
src/main/resources/mybatis/xml/mapper/gcone/MbrMapper.xml
Normal file
@@ -0,0 +1,171 @@
|
||||
<?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.mapper.gcone.MbrMapper">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--회원 검색 WHERE절-->
|
||||
<sql id="mbrListInqireWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
AND FM.MBR_DV_CD = (SELECT CASE WHEN SOPMAL_TY_CD = '01' THEN 'GC' ELSE SOPMAL_CD END MBR_DV_CD FROM GC_SHOP WHERE SOPMAL_CD = #{sopmalCd})
|
||||
AND FM.MBR_TY_CD = '01'
|
||||
AND FM.USE_AT = 'Y'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchMbrNm)">
|
||||
<![CDATA[
|
||||
AND FM.MBR_NM = #{srchMbrNm}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKywordID)">
|
||||
<![CDATA[
|
||||
AND FM.MBR_ID = #{srchKywordID}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKywordEmail)">
|
||||
<![CDATA[
|
||||
AND FM.EMAIL = (select HEX(AES_ENCRYPT(#{srchKywordEmail} , '1df5be2f7e90ae36')))
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKywordMb)">
|
||||
<![CDATA[
|
||||
AND FM.MBTLNB = (select HEX(AES_ENCRYPT(#{srchKywordMb}, '1df5be2f7e90ae36')))
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(actionDv)">
|
||||
AND FMAG.MARKT_RECPTN_AGRE_AT = 'Y'
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(actionDv, 'email')">
|
||||
AND FMAG.EMAIL_RECPTN_AT = 'Y'
|
||||
</when>
|
||||
<otherwise>
|
||||
AND FMAG.SMS_RECPTN_AT = 'Y'
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<select id="selectBOMbrListInqire">
|
||||
<![CDATA[
|
||||
SELECT CAST(AES_DECRYPT(UNHEX(FM.MBTLNB), #{secretKey}) AS CHAR(50)) AS MBTLNB
|
||||
, CAST(AES_DECRYPT(UNHEX(FM.MBTLNB), #{secretKey}) AS CHAR(50)) AS SNDNG_MBTLNB
|
||||
, FM.MBR_DV_CD
|
||||
, FM.INFLOW_COURS_DOMN
|
||||
, SUBSTRING(FM.INFLOW_COURS_DOMN, 1, 1) AS SUM_INFOW_COURS
|
||||
, FM.MBR_TY_CD
|
||||
, FMG.MBR_GRAD_NM
|
||||
, FM.MBR_ID
|
||||
, FM.MBR_NM
|
||||
, FM.MBR_NM AS RECPNT_NM
|
||||
, FM.MBR_INNB
|
||||
, CAST(AES_DECRYPT(UNHEX(FM.EMAIL), #{secretKey}) AS CHAR(50)) AS EMAIL
|
||||
, DATE_FORMAT(FM.REGIST_DT, '%Y-%m-%d %H:%i:%s') REGIST_DT
|
||||
, DATE_FORMAT(FMS.LAST_LOGIN_DT, '%Y-%m-%d %H:%i:%s') LAST_LOGIN_DT
|
||||
, FMA.APPN_INNB
|
||||
, FMA.APPN_DV_CD
|
||||
, FMAG.MARKT_RECPTN_AGRE_AT
|
||||
, SUM(FMI.BLCE) AS MILEAGE
|
||||
, FM.JOIN_MTH_CD
|
||||
FROM GC_MEMBER FM
|
||||
LEFT JOIN GC_MEMBER_SITE FMS
|
||||
ON FM.MBR_DV_CD = FMS.MBR_DV_CD
|
||||
AND FM.MBR_INNB = FMS.MBR_INNB
|
||||
AND FMS.SOPMAL_CD = #{sopmalCd}
|
||||
LEFT JOIN GC_MEMBER_GRAD_MAPPING FMGM
|
||||
ON FM.MBR_DV_CD = FMGM.MBR_DV_CD
|
||||
AND FM.MBR_INNB = FMGM.MBR_INNB
|
||||
AND FMGM.SOPMAL_CD = #{sopmalCd}
|
||||
LEFT JOIN GC_MEMBER_GRAD FMG
|
||||
ON FMGM.MBR_GRAD_INNB = FMG.MBR_GRAD_INNB
|
||||
INNER JOIN GC_MARKETING_AGREE FMAG
|
||||
ON FMAG.MBR_INNB = FM.MBR_INNB
|
||||
AND FMAG.MBR_DV_CD = FM.MBR_DV_CD
|
||||
AND FMAG.SOPMAL_CD = #{sopmalCd}
|
||||
LEFT JOIN GC_MEMBER_APPN FMA
|
||||
ON FM.MBR_INNB = FMA.IDNTFC_INFO
|
||||
AND FM.MBR_DV_CD = FMA.MBR_DV_CD
|
||||
LEFT JOIN GC_MILEAGE FMI
|
||||
ON FM.MBR_INNB = FMI.MBR_INNB
|
||||
AND FM.MBR_DV_CD = FMI.MBR_DV_CD
|
||||
AND FMI.BLCE > 0
|
||||
AND FMI.USE_POSBL_END_DT >= DATE_FORMAT(NOW(), '%Y-%m-01')
|
||||
AND FMI.MLG_ACCML_DV_CD IN ('add', 'up')
|
||||
AND FMI.CANCL_AT = 'N'
|
||||
]]>
|
||||
<include refid = "mbrListInqireWhere"/>
|
||||
<![CDATA[
|
||||
GROUP BY MBTLNB
|
||||
, FM.MBR_DV_CD
|
||||
, FM.INFLOW_COURS_DOMN
|
||||
, FM.MBR_TY_CD
|
||||
, FMG.MBR_GRAD_NM
|
||||
, FM.MBR_ID
|
||||
, FM.MBR_NM
|
||||
, FM.MBR_INNB
|
||||
, EMAIL
|
||||
, REGIST_DT
|
||||
, LAST_LOGIN_DT
|
||||
, FMA.APPN_INNB
|
||||
, FMA.APPN_DV_CD
|
||||
, FMAG.EMAIL_RECPTN_AT
|
||||
, FMAG.SMS_RECPTN_AT
|
||||
ORDER BY FM.REGIST_DT DESC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectBOMbrListTotCnt">
|
||||
SELECT COUNT(1)
|
||||
FROM (SELECT CAST(AES_DECRYPT(UNHEX(FM.MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)) AS MBTLNB
|
||||
, CAST(AES_DECRYPT(UNHEX(FM.EMAIL), '1df5be2f7e90ae36') AS CHAR(50)) AS EMAIL
|
||||
FROM GC_MEMBER FM
|
||||
LEFT JOIN GC_MEMBER_SITE FMS
|
||||
ON FM.MBR_DV_CD = FMS.MBR_DV_CD
|
||||
AND FM.MBR_INNB = FMS.MBR_INNB
|
||||
AND FMS.SOPMAL_CD = #{sopmalCd}
|
||||
LEFT JOIN GC_MEMBER_GRAD_MAPPING FMGM
|
||||
ON FM.MBR_DV_CD = FMGM.MBR_DV_CD
|
||||
AND FM.MBR_INNB = FMGM.MBR_INNB
|
||||
AND FMGM.SOPMAL_CD = #{sopmalCd}
|
||||
LEFT JOIN GC_MEMBER_GRAD FMG
|
||||
ON FMGM.MBR_GRAD_INNB = FMG.MBR_GRAD_INNB
|
||||
INNER JOIN GC_MARKETING_AGREE FMAG
|
||||
ON FMAG.MBR_INNB = FM.MBR_INNB
|
||||
AND FMAG.MBR_DV_CD = FM.MBR_DV_CD
|
||||
AND FMAG.SOPMAL_CD = #{sopmalCd}
|
||||
LEFT JOIN GC_MEMBER_APPN FMA
|
||||
ON FM.MBR_INNB = FMA.IDNTFC_INFO
|
||||
AND FM.MBR_DV_CD = FMA.MBR_DV_CD
|
||||
LEFT JOIN GC_MILEAGE FMI
|
||||
ON FM.MBR_INNB = FMI.MBR_INNB
|
||||
AND FM.MBR_DV_CD = FMI.MBR_DV_CD
|
||||
AND FMI.BLCE > 0
|
||||
AND FMI.USE_POSBL_END_DT >= DATE_FORMAT(NOW(), '%Y-%m-01')
|
||||
AND FMI.MLG_ACCML_DV_CD IN ('add', 'up')
|
||||
AND FMI.CANCL_AT = 'N'
|
||||
<include refid = "mbrListInqireWhere"/>
|
||||
GROUP BY FM.MBTLNB
|
||||
, FM.MBR_DV_CD
|
||||
, FM.INFLOW_COURS_DOMN
|
||||
, FM.MBR_TY_CD
|
||||
, FMG.MBR_GRAD_NM
|
||||
, FM.MBR_ID
|
||||
, FM.MBR_NM
|
||||
, FM.MBTLNB
|
||||
, FM.EMAIL
|
||||
, FM.REGIST_DT
|
||||
, FMS.LAST_LOGIN_DT) TB
|
||||
WHERE 1 = 1
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
106
src/main/resources/mybatis/xml/mapper/gcone/MemberAppnMapper.xml
Normal file
106
src/main/resources/mybatis/xml/mapper/gcone/MemberAppnMapper.xml
Normal file
@@ -0,0 +1,106 @@
|
||||
<?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.mapper.gcone.MemberAppnMapper">
|
||||
<!--GC_MEMBER_APPN ERP 삭제-->
|
||||
<delete id = "deleteRslrAppn">
|
||||
DELETE FROM GC_MEMBER_APPN WHERE ORIGIN_DV_CD = '03'
|
||||
</delete>
|
||||
|
||||
<!--GC_MEMBER_APPN ERP 등록-->
|
||||
<insert id = "insertRslrAppn">
|
||||
<selectKey keyProperty="appnInnb" resultType = "String" order="BEFORE">
|
||||
SELECT IFNULL(MAX(APPN_INNB),0) + 1
|
||||
FROM GC_MEMBER_APPN
|
||||
</selectKey>
|
||||
INSERT INTO
|
||||
GC_MEMBER_APPN
|
||||
(APPN_INNB,
|
||||
SOPMAL_CD,
|
||||
ORIGIN_DV_CD,
|
||||
APPN_DV_CD,
|
||||
IDNTFC_STDR_CD,
|
||||
IDNTFC_INFO,
|
||||
APPN_MEMO,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT)
|
||||
VALUES(
|
||||
#{appnInnb},
|
||||
'CM',
|
||||
'03',
|
||||
'02',
|
||||
#{idntfcStdrCd},
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(idntfcStdrCd, 'order_mbtlnb')">
|
||||
HEX(AES_ENCRYPT(REGEXP_REPLACE(#{idntfcInfo},'/[^0-9]/', ''),'1df5be2f7e90ae36')),
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(idntfcStdrCd, 'adres')">
|
||||
TRIM(REPLACE(#{idntfcInfo}, '"', '')),
|
||||
</when>
|
||||
<otherwise>
|
||||
#{idntfcInfo},
|
||||
</otherwise>
|
||||
</choose>
|
||||
#{appnMemo},
|
||||
0,
|
||||
#{registDt},
|
||||
0,
|
||||
NOW())
|
||||
</insert>
|
||||
|
||||
<!-- GC_MEMBER_APPN_LOG 등록 -->
|
||||
<insert id = "insertAppnLog">
|
||||
INSERT INTO
|
||||
GC_MEMBER_APPN_LOG
|
||||
(APPN_INNB,
|
||||
SOPMAL_CD,
|
||||
ORIGIN_DV_CD,
|
||||
APPN_DV_CD,
|
||||
IDNTFC_STDR_CD,
|
||||
IDNTFC_INFO,
|
||||
MBR_DV_CD,
|
||||
ORDR_INNB,
|
||||
APPN_MEMO,
|
||||
LOG_CHNG_DV_CD,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
SELECT
|
||||
APPN_INNB,
|
||||
SOPMAL_CD,
|
||||
ORIGIN_DV_CD,
|
||||
APPN_DV_CD,
|
||||
IDNTFC_STDR_CD,
|
||||
IDNTFC_INFO,
|
||||
MBR_DV_CD,
|
||||
ORDR_INNB,
|
||||
APPN_MEMO,
|
||||
<choose>
|
||||
<when test="appnInnbArr != null">/* 등록 로그 */
|
||||
'I',
|
||||
</when>
|
||||
<otherwise> /* 삭제 로그 */
|
||||
'D',
|
||||
</otherwise>
|
||||
</choose>
|
||||
0,
|
||||
SYSDATE(),
|
||||
0,
|
||||
SYSDATE()
|
||||
FROM GC_MEMBER_APPN
|
||||
<choose>
|
||||
<when test="appnInnbArr != null"> /* 등록 로그 */
|
||||
WHERE APPN_INNB IN
|
||||
<foreach collection="appnInnbArr" item="appnInnbArr" open="(" close=")" separator=",">
|
||||
#{appnInnbArr}
|
||||
</foreach>
|
||||
</when>
|
||||
<otherwise> /* 삭제 로그 */
|
||||
WHERE ORIGIN_DV_CD = '03'
|
||||
</otherwise>
|
||||
</choose>
|
||||
</insert>
|
||||
</mapper>
|
||||
44
src/main/resources/mybatis/xml/mapper/gcone/MlgMapper.xml
Normal file
44
src/main/resources/mybatis/xml/mapper/gcone/MlgMapper.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?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.mapper.gcone.MlgMapper">
|
||||
<!--> ##############################################################################################
|
||||
만료 대상 마일리지
|
||||
################################################################################################# -->
|
||||
<!-- 만료 대상 마일리지 조회 -->
|
||||
<update id="updateMlgExpUpdt">
|
||||
UPDATE
|
||||
GC_MILEAGE
|
||||
SET
|
||||
END_AT = 'Y'
|
||||
, EXTSH_BATCH_BUNDLE = #{extshBatchBundle}
|
||||
WHERE 1=1
|
||||
AND NOW() > USE_POSBL_END_DT
|
||||
AND END_AT = 'N'
|
||||
AND CANCL_AT = 'N'
|
||||
AND IFNULL(EXTSH_BATCH_BUNDLE,'') = ''
|
||||
AND MLG_ACCML_DV_CD IN ('add', 'up')
|
||||
</update>
|
||||
<!-- 만료 등록 대상 조회 -->
|
||||
<select id="selectTsMlgExpTrgtListInqire">
|
||||
SELECT
|
||||
MBR_DV_CD
|
||||
, MBR_INNB
|
||||
, SUM(BLCE)
|
||||
, EXTSH_BATCH_BUNDLE
|
||||
, SOPMAL_CD
|
||||
FROM
|
||||
GC_MILEAGE
|
||||
WHERE 1=1
|
||||
AND END_AT = 'Y'
|
||||
AND EXTSH_BATCH_BUNDLE = ${extshBatchBundle}
|
||||
GROUP BY MBR_DV_CD, MBR_INNB, SOPMAL_CD
|
||||
</select>
|
||||
<!-- 쇼핑몰 정보 조회 -->
|
||||
<select id="selectBOShopInqire">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
GC_SHOP
|
||||
WHERE 1=1
|
||||
</select>
|
||||
</mapper>
|
||||
7792
src/main/resources/mybatis/xml/mapper/gcone/MssageMapper.xml
Normal file
7792
src/main/resources/mybatis/xml/mapper/gcone/MssageMapper.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,11 @@
|
||||
<?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.mapper.gcone.NpayBbsMapper">
|
||||
<select id = "selectSopmalCd" resultType="DataMap">
|
||||
SELECT
|
||||
SOPMAL_CD,
|
||||
DATE_FORMAT(NOW(), '%Y-%m-%d') AS CURR_DATE
|
||||
FROM GC_SHOP
|
||||
WHERE NAVER_PURCHS_AT ='Y' /*네이버 결제 키가 있는 것*/
|
||||
</select>
|
||||
</mapper>
|
||||
134
src/main/resources/mybatis/xml/mapper/gcone/PosMapper.xml
Normal file
134
src/main/resources/mybatis/xml/mapper/gcone/PosMapper.xml
Normal file
@@ -0,0 +1,134 @@
|
||||
<?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.mapper.gcone.PosMapper">
|
||||
|
||||
|
||||
<!--포스 - 매장 정보 조회-->
|
||||
<select id="selectBOPosStrSrch" parameterType="map" resultType="dataMap">
|
||||
SELECT
|
||||
STR_INNB
|
||||
, TENTCPN_NM -- 매장명
|
||||
, CONCAT('S', CAST(STR_OPER_DV AS UNSIGNED)) AS STR_OPER_DV -- 매장운영구분
|
||||
, POS_CD_DV_VAL
|
||||
, POS_CD_PASSIV_INPUT_VAL
|
||||
, STR_OPER_DV AS STR_OPER_DV_CD
|
||||
, MANAGE_CPR -- 관리법인
|
||||
, IFNULL(REPRSNT_BRAND, '') AS REPRSNT_BRAND -- 대표브랜드 코드 (쇼핑몰코드)
|
||||
FROM GC_STORE
|
||||
WHERE 1=1
|
||||
AND MRHST_AT='Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(search_corporate,'Y')">
|
||||
AND MANAGE_CPR = 'SL'
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(provider_status)">
|
||||
AND TENT_STTUS = #{provider_status}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(pgubun)">
|
||||
AND POS_CD_DV_VAL = #{pgubun}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(pcode)">
|
||||
AND POS_CD_PASSIV_INPUT_VAL = #{pcode}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(order_by)">
|
||||
ORDER BY #{order_by}
|
||||
</if>
|
||||
</select>
|
||||
<!--포스로그 조회-->
|
||||
<select id="selectPosLog" parameterType="map" resultType="dataMap">
|
||||
SELECT
|
||||
POS_ACCML_REQST_INNB
|
||||
FROM GC_POS_LOG
|
||||
WHERE 1=1
|
||||
AND STR_INNB = #{store_seq}
|
||||
AND pdate = #{pdate}
|
||||
AND pono = #{pono}
|
||||
AND pnumb = #{pnumb}
|
||||
</select>
|
||||
|
||||
<!--포스로그 수정-->
|
||||
<update id="updatePosLog" parameterType="map">
|
||||
UPDATE GC_POS_LOG
|
||||
SET
|
||||
POS_STTUS_CD = #{status}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty($order_seq)">
|
||||
, ORDR_INNB = #{order_seq}
|
||||
</if>
|
||||
WHERE 1=1
|
||||
AND POS_ACCML_REQST_INNB = #{log_seq}
|
||||
</update>
|
||||
|
||||
<!--회원 조회-->
|
||||
<select id="selectPosMbr" parameterType="map" resultType="dataMap">
|
||||
SELECT
|
||||
GM.MBR_INNB AS useq
|
||||
,GM.MBR_ID AS uid
|
||||
,GM.MBR_NM AS username
|
||||
,GM.MBR_DV_CD
|
||||
,GM.BRTH_DE
|
||||
,GM.ZIP
|
||||
,GM.ADRES_DV -- 주소구분 01 도로명, 02 지번
|
||||
,GM.RNM_ADRES -- 도로명주소
|
||||
,GM.LNB_ADRES -- 지번주소
|
||||
,GM.DTL_ADRES -- 상세수조
|
||||
,GM.SEX -- 성별
|
||||
,GM.MBR_TY_CD -- 회원유형코드
|
||||
,GM.USE_AT
|
||||
,CAST(AES_DECRYPT(UNHEX(GM.EMAIL), #{secretKey}) AS CHAR(50)) AS email
|
||||
,CAST(AES_DECRYPT(UNHEX(GM.MBTLNB) , #{secretKey}) AS CHAR(50)) AS phone
|
||||
,GM.JOIN_MTH_CD -- 가입방법
|
||||
FROM
|
||||
GC_MEMBER GM
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GM.MBR_ID = #{uid}
|
||||
AND GM.MBR_DV_CD = 'GC' -- 통합몰
|
||||
AND GM.MBR_ID NOT LIKE '*%' -- 탈퇴회원 체크
|
||||
AND GM.MBR_ID NOT LIKE 'withdrawal%' -- 탈퇴회원 체크
|
||||
AND GM.USE_AT = 'Y' -- 정상회원 여부
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 포스-주문 가져오기 (get_order_posinfo) -->
|
||||
<select id="selectOrderPosInfo" parameterType="map" resultType="dataMap">
|
||||
SELECT
|
||||
P.*
|
||||
, IFNULL(O.MBR_INNB, 0) MBR_INNB
|
||||
, O.SOPMAL_CD
|
||||
, O.MBR_INNB
|
||||
, O.MBR_DV_CD
|
||||
, O.ORDR_INNB
|
||||
, O.ORDR_STTUS_CD
|
||||
FROM GC_ORDER_POSINFO P
|
||||
LEFT JOIN GC_ORDER O ON(O.ORDR_INNB=P.ORDER_SEQ)
|
||||
WHERE 1=1
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(storeSeq)">
|
||||
AND P.STORE_SEQ = #{storeSeq}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(pdate)">
|
||||
AND P.PDATE = DATE(#{pdate})
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(pono)">
|
||||
AND P.PONO = #{pono}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(pnumb)">
|
||||
AND P.PNUMB = #{pnumb}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="selectRefundCheck">
|
||||
SELECT
|
||||
ORDR_INNB
|
||||
FROM GC_ORDER_REFUND RE
|
||||
WHERE 1=1
|
||||
AND RE.SOPMAL_CD = #{sopmalCd}
|
||||
AND RE.ORDR_INNB = #{ordrInnb}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
192
src/main/resources/mybatis/xml/mapper/gcone/PuriAllimMapper.xml
Normal file
192
src/main/resources/mybatis/xml/mapper/gcone/PuriAllimMapper.xml
Normal file
@@ -0,0 +1,192 @@
|
||||
<?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.mapper.gcone.PuriAllimMapper">
|
||||
|
||||
|
||||
<select id="selectPuriOrderAllimList">
|
||||
<![CDATA[
|
||||
select
|
||||
gpo.puri_order_seq,
|
||||
gpo.purchs_nm,
|
||||
CAST(AES_DECRYPT(UNHEX(gpo.cttpc) , #{secretkey}) AS CHAR(50)) as cttpc,
|
||||
gpo.dlivy_nm,
|
||||
CAST(AES_DECRYPT(UNHEX(gpo.dlivy_cttpc) , #{secretkey}) AS CHAR(50)) as dlivyCttpc,
|
||||
IF(gpo.visit_trgter_at = 'Y', IFNULL(gpo.visit_de, NULL), gpo.dlivy_de) AS dlivyDe
|
||||
from GC_PURI_ORDER gpo
|
||||
left join GC_PURI_ALLIM gpa on (gpa.puri_allim_seq = gpo.puri_allim_seq)
|
||||
where gpo.status != 'cancel'
|
||||
and gpo.purchs_cd in ]]>
|
||||
<foreach item="item" collection="puriCodeEnumVOList" index="index" open="(" separator="," close=")">
|
||||
#{item.code}
|
||||
</foreach>
|
||||
<![CDATA[
|
||||
and (
|
||||
(gpo.visit_trgter_at != 'Y' and gpo.dlivy_de > #{baseDate})
|
||||
or
|
||||
(gpo.visit_trgter_at = 'Y' and gpo.visit_de > #{baseDate})
|
||||
)
|
||||
and gpa.puri_allim_seq is null
|
||||
order by gpo.puri_order_seq
|
||||
]]>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectDupPuriOrderAllimList">
|
||||
<![CDATA[
|
||||
select puri_order_seq, puri_allim_seq from GC_PURI_ALLIM
|
||||
where puri_order_seq = #{puriOrderSeq}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<insert id="insertPuriAllimList">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
<![CDATA[
|
||||
INSERT INTO gcone.GC_PURI_ALLIM(
|
||||
STATUS,
|
||||
REGIST_DT,
|
||||
PURI_ORDER_SEQ,
|
||||
CSTMR_NM,
|
||||
TELNB,
|
||||
INSTALL_DE,
|
||||
NEXT_SNDNG_RESVE_DE,
|
||||
CHNG_LOG)
|
||||
VALUES(#{item.status},SYSDATE(),#{item.puriOrderSeq},#{item.cstmrNm},HEX(AES_ENCRYPT(#{item.telnb}, #{item.secretkey})),#{item.installDe},#{item.nextSndngResveDe},#{item.chngLog})
|
||||
]]>
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updatePuriAllimSeq" parameterType="java.util.List">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
<![CDATA[
|
||||
UPDATE GC_PURI_ORDER SET PURI_ALLIM_SEQ = #{item.puriAllimSeq}
|
||||
WHERE PURI_ORDER_SEQ = #{item.puriOrderSeq}
|
||||
]]>
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="selectCancelPuriOrderList">
|
||||
<![CDATA[
|
||||
select gpo.ordr_cd from GC_PURI_ORDER gpo
|
||||
left join GC_ORDER go on (go.ordr_innb = LEFT(gpo.ordr_cd,19))
|
||||
left join GC_ORDER_ITEM goi on (goi.ordr_innb = go.ordr_innb)
|
||||
left join GC_ORDER_ITEM_OPTION goio on (goio.ordr_goods_innb = goi.ordr_goods_innb)
|
||||
where gpo.purchs_cd in ]]>
|
||||
<foreach item="item" collection="list" index="index" open="(" separator="," close=")">
|
||||
#{item.code}
|
||||
</foreach>
|
||||
<![CDATA[
|
||||
and gpo.status != 'cancel'
|
||||
and goi.goods_innb in('111')
|
||||
group by gpo.ordr_cd
|
||||
having sum(goio.ordr_qy) <= sum(goio.step85)
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<update id="updateCancelPuriOrderList" parameterType="java.util.List">
|
||||
<![CDATA[
|
||||
UPDATE GC_PURI_ORDER SET status = 'cancel',
|
||||
chng_log = concat(chng_log, #{chngLog})
|
||||
WHERE purchs_cd in ]]>
|
||||
<foreach item="item" collection="list" index="index" open="(" separator="," close=")">
|
||||
#{item.code}
|
||||
</foreach>
|
||||
<![CDATA[
|
||||
AND status != 'cancel'
|
||||
AND ordr_cd in]]>
|
||||
<foreach item="item" collection="list" open="(" separator="," close=")">
|
||||
<![CDATA[
|
||||
#{item}
|
||||
]]>
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="selectPuriOrderAllimInsertList">
|
||||
<![CDATA[
|
||||
select
|
||||
#{smsInnb} as smsInnb,
|
||||
'DL' as sopmalCd,
|
||||
#{secretkey} as secretkey,
|
||||
gpa.puri_order_seq,
|
||||
LEFT(gpo.ordr_cd,19) as ordrCd,
|
||||
gpa.puri_allim_seq,
|
||||
gpa.status,
|
||||
gpa.cstmr_nm,
|
||||
CAST(AES_DECRYPT(UNHEX(gpa.telnb) , #{secretkey}) AS CHAR(50)) as telnb,
|
||||
gpa.install_de,
|
||||
gpa.frst_sndng_de,
|
||||
gpa.prev_sndng_de,
|
||||
gpa.next_sndng_resve_de
|
||||
from GC_PURI_ORDER gpo
|
||||
left join GC_PURI_ALLIM gpa on (gpa.puri_allim_seq = gpo.puri_allim_seq)
|
||||
where gpo.status != 'cancel'
|
||||
and gpa.status != 'stop'
|
||||
and gpa.install_de > #{baseDate}
|
||||
and (gpa.prev_sndng_de < #{maxPrevDate} or gpa.prev_sndng_de is null)
|
||||
and gpa.next_sndng_resve_de between #{minNextDay} and #{maxNextDate}
|
||||
]]>
|
||||
|
||||
</select>
|
||||
|
||||
<insert id="insertPuriAllimLogFirst">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
<![CDATA[
|
||||
insert into GC_PURI_ALLIM_LOG (reg_date,puri_allim_seq,act,telnb,sndng_ty,sndng_cn)
|
||||
values (now(),#{item.puriAllimSeq},#{item.act},HEX(AES_ENCRYPT(#{item.telnb}, #{item.secretkey})),'',#{item.sndngCn})
|
||||
]]>
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertPuriAllimLog">
|
||||
<![CDATA[
|
||||
insert into GC_PURI_ALLIM_LOG (reg_date,puri_allim_seq,act,telnb,sndng_de,sndng_ty,sndng_cn)
|
||||
select now(),puri_allim_seq,'send',telnb,#{logMsg.sendDateTime},'6M',#{logMsg.puriMsg}
|
||||
from GC_PURI_ALLIM
|
||||
where puri_allim_seq in
|
||||
]]>
|
||||
<foreach collection="logMsg.tsPuriAllimSeqList" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updatePuriAllimDate">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
UPDATE GC_PURI_ALLIM
|
||||
SET
|
||||
status = 'send',
|
||||
frst_sndng_de = #{item.frstSndngDe},
|
||||
frst_sndng_ty = '6M',
|
||||
prev_sndng_de = #{item.today},
|
||||
prev_sndng_ty = '6M',
|
||||
next_sndng_resve_de = #{item.delivyDe},
|
||||
next_sndng_resve_ty = '6M'
|
||||
WHERE puri_allim_seq = #{item.puriAllimSeq}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="selectSameNumber">
|
||||
<![CDATA[
|
||||
select puri_allim_seq
|
||||
from GC_PURI_ALLIM
|
||||
where telnb = HEX(AES_ENCRYPT(#{telnb}, #{secretkey}))
|
||||
and puri_allim_seq != #{puriAllimSeq}
|
||||
and status in ('wait','send')
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<update id="updateStopAllim">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
UPDATE GC_PURI_ALLIM
|
||||
SET status = 'stop',
|
||||
chng_log = #{item.chngLog}
|
||||
WHERE puri_allim_seq = #{item.puriAllimSeq}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="selectUpdatePuriAllimSeq">
|
||||
select puri_allim_seq, CAST(AES_DECRYPT(UNHEX(telnb) , #{secretkey}) AS CHAR(50)) as telnb, puri_order_seq
|
||||
from GC_PURI_ALLIM
|
||||
where puri_order_seq = #{puriOrderSeq}
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?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.mapper.gcone.ScheduleMapper">
|
||||
<!-- DB 스케줄 상태 수 확인 -->
|
||||
<select id="selectSchesuleSttusListCnt">
|
||||
<![CDATA[
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.events
|
||||
WHERE STATUS != 'ENABLED'
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- DB 스케줄 DISABLE 상태 리스트 조회 -->
|
||||
<select id="selecScheduleUpdtList" resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT CONCAT(EVENT_SCHEMA,'.',EVENT_NAME) AS EVENT_NAME
|
||||
FROM information_schema.events
|
||||
WHERE STATUS != 'ENABLED'
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- Disable -> Enable 상태 업데이트 -->
|
||||
<update id="updateScheduleSttusUpdt">
|
||||
<![CDATA[
|
||||
ALTER EVENT ${eventName} ENABLE;
|
||||
]]>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
419
src/main/resources/mybatis/xml/mapper/gcone/StrMapper.xml
Normal file
419
src/main/resources/mybatis/xml/mapper/gcone/StrMapper.xml
Normal file
@@ -0,0 +1,419 @@
|
||||
<?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.mapper.gcone.StrMapper">
|
||||
<!-- ****************************************************
|
||||
포스 매장 동기화 서비스 시작
|
||||
******************************************************** -->
|
||||
<!--매장 주소 변경 여부 및 데이터 존재 여부 조회-->
|
||||
<select id="selectStrAt" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
CASE
|
||||
WHEN REPLACE(UPPER(STR_RNM_ADRES),' ','') = REPLACE(UPPER(#{strRnmAdres}),' ','') THEN 'N'
|
||||
ELSE 'Y'
|
||||
END ADRES_CHNG_AT
|
||||
FROM
|
||||
GC_STORE
|
||||
WHERE STR_CD = #{strCd}
|
||||
</select>
|
||||
<!-- 매장 수정 -->
|
||||
<update id ="updateStrInfo" parameterType="com.wb.domainserver.str.vo.TsStrVO">
|
||||
UPDATE GC_STORE
|
||||
SET
|
||||
REPRSNTV_INFO_ADRES = #{reprsntvInfoAdres},
|
||||
REPRSNTV_INFO_RNM_ADRES = #{reprsntvInfoRnmAdres},
|
||||
REPRSNTV_INFO_DTL_ADRES = #{reprsntvInfoDtlAdres},
|
||||
REPRSNTV_INFO_REPRSNTVNM = #{reprsntvInfoReprsntvnm},
|
||||
REPRSNTV_INFO_TELNB = #{reprsntvInfoTelnb},
|
||||
REPRSNTV_INFO_ZIP = #{reprsntvInfoZip},
|
||||
REPRSNT_BRAND = #{reprsntBrand},
|
||||
MANAGE_CPR = #{manageCpr},
|
||||
FIXING_EXPNDTR_CARD_FEE = #{fixingExpndtrCardFee},
|
||||
FIXING_EXPNDTR_LBCT = #{fixingExpndtrLbct},
|
||||
FIXING_EXPNDTR_MANAGECT = #{fixingExpndtrManagect},
|
||||
FIXING_EXPNDTR_PRCT = #{fixingExpndtrPrct},
|
||||
FIXING_EXPNDTR_RNTCHRG = #{fixingExpndtrRntchrg},
|
||||
FIXING_EXPNDTR_RYALTY = #{fixingExpndtrRyalty},
|
||||
FIXING_EXPNDTR_STR_OPERCT = #{fixingExpndtrStrOperct},
|
||||
FIXING_EXPNDTR_SYS_RNTFEE = #{fixingExpndtrSysRntfee},
|
||||
STR_ESTBL_DV_CD = #{strEstblDvCd},
|
||||
STR_ADRES = #{strAdres},
|
||||
STR_RNM_ADRES = #{strRnmAdres},
|
||||
STR_DTL_ADRES = #{strDtlAdres},
|
||||
CLSTR_DE = #{clstrDe},
|
||||
OPBIZ_DE = #{opbizDe},
|
||||
<if test="tentcpnNm != null and tentcpnNm.contains('청라점')">
|
||||
STR_OPER_DV = #{strOperDv},
|
||||
</if>
|
||||
STR_TELNB = #{strTelnb},
|
||||
DV = #{dv},
|
||||
STR_KND_DTL = #{strKndDtl},
|
||||
STR_ZIP = #{strZip},
|
||||
CTY_GUN_GU = #{ctyGunGu},
|
||||
HVOF_DE = #{hvofDe},
|
||||
HVOF_DE_ADIT = #{hvofDeAdit},
|
||||
ENTRPS_ADRES = #{entrpsAdres},
|
||||
ADRES_DV = #{adresDv},
|
||||
RNM_ADRES = #{rnmAdres},
|
||||
ENTRPS_DTL_ADRES = #{entrpsDtlAdres},
|
||||
REPRSNTVNM = #{reprsntvnm},
|
||||
SELER_EMAIL = #{selerEmail},
|
||||
SELER_FAX = #{selerFax},
|
||||
BIZCND_INDUTY = #{bizcndInduty},
|
||||
ENTRPS_NM = #{entrpsNm},
|
||||
BSNM_NB = #{bsnmNb},
|
||||
SELER_TELNB = #{selerTelnb},
|
||||
COMM_SLE_DCL_NB = #{commSleDclNb},
|
||||
SVC = #{svc},
|
||||
INDVDL_CPR_DV = #{indvdlCprDv},
|
||||
INHBTNT_CPR_NB = #{inhbtntCprNb},
|
||||
ENTRPS_ZIP = #{entrpsZip},
|
||||
BSN_TME = #{bsnTme},
|
||||
POS_CD_PASSIV_INPUT_VAL = #{posCdPassivInputVal},
|
||||
POS_CD_DV_VAL = #{posCdDvVal},
|
||||
STR_CD = LPAD(#{strCd}, 4, '0'),
|
||||
TENTCPN_NM = #{tentcpnNm},
|
||||
STR_NM = #{strNm},
|
||||
TENT_STTUS = #{tentSttus},
|
||||
TRTMNT_BRAND = #{trtmntBrand},
|
||||
LOC = #{loc},
|
||||
CTY_DO = #{ctyDo},
|
||||
HTGH_PVTCAR = #{htghPvtcar},
|
||||
HTGH_PBTRNSP = #{htghPbtrnsp},
|
||||
REPRSNT_MNGR_AT = 'Y',
|
||||
MNGR_AUTHOR = 'manager_act = Y||daily_revenue = Y||weekly_revenue = Y||monthly_revenue = Y||yearly_revenue = Y||product_revenue = Y||day_revenue = Y||daily_product_revenue = Y||monthly_product_revenue = Y||daily_static = Y||weekly_static = Y||monthly_static = Y||revenue_static = Y||catalog = Y||dormancy_catalog = Y||register = Y||join_paper_upload = Y||gs_seller_notice = Y||gs_seller_notice_act = N||shop_education = Y||shop_education_act = N||member_edit_req = Y||member_edit_req_act = Y||point_edit_req = Y||point_edit_req_act = Y||logistics_req = Y||logistics_req_act = Y||shop_edit_req = Y||shop_edit_req_act = Y||shop_faq = N||shop_faq_act = N||family_req = N||family_req_act = N||admin_shop_list = N||admin_shop_regist = N||revenue_total_crm = N||product_total_crm = N||check_used_coupon = Y||reservation_logistics = Y||admin_list = Y||',
|
||||
MNGR_GROUP = 0,
|
||||
DFT_STL_DE = 1,
|
||||
UPDT_DTLS = <![CDATA[CONCAT(UPDT_DTLS,'<div>[ERP] ',DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%s'),'수정 -> ,',IFNULL(#{registIp},''),'</div>'),]]>
|
||||
LA = #{la},
|
||||
LO = #{lo},
|
||||
STR_ADRES_DV = #{strAdresDv},
|
||||
UPDUSR = 0,
|
||||
UPDT_DT=SYSDATE()
|
||||
WHERE STR_CD = #{strCd}
|
||||
</update>
|
||||
<!-- 매장 등록 -->
|
||||
<insert id = "insertStrInfo" parameterType="com.wb.domainserver.str.vo.TsStrVO">
|
||||
<selectKey order="BEFORE" keyProperty="strInnb" resultType="String">
|
||||
SELECT IFNULL(MAX(STR_INNB), 0)+1
|
||||
FROM GC_STORE
|
||||
</selectKey>
|
||||
INSERT INTO GC_STORE
|
||||
( STR_INNB,
|
||||
TENTCPN_ID,
|
||||
TENTCPN_GRAD,
|
||||
TENTCPN_GRAD_CHNG_DE,
|
||||
TENTCPN_PASSWORD,
|
||||
TENTCPN_NM,
|
||||
STR_NM,
|
||||
TENT_GROUP,
|
||||
TENT_STTUS,
|
||||
ACCES_LMTT_USE_AT,
|
||||
ACCES_LMTT_IP,
|
||||
DLVY_GDS_DLV_CMPT_PRCS_CND,
|
||||
DLVY_GDS_DLV_CMPT_PRCS_ATHR,
|
||||
STL_CNT,
|
||||
DFT_STL_DE,
|
||||
TME_1_STL_DE,
|
||||
TME_2_STL_DE,
|
||||
TME_3_STL_DE,
|
||||
TME_4_STL_DE,
|
||||
RCPMNY_BANK,
|
||||
DPSTR,
|
||||
ACNTNB,
|
||||
DLVY_GROUP,
|
||||
zip,
|
||||
ADRES,
|
||||
DTL_ADRES,
|
||||
ENTRPS_NM,
|
||||
BSNM_NB,
|
||||
REPRSNTVNM,
|
||||
INDVDL_CPR_DV,
|
||||
INHBTNT_CPR_NB,
|
||||
BIZCND_INDUTY,
|
||||
SVC,
|
||||
ENTRPS_ZIP,
|
||||
ENTRPS_ADRES,
|
||||
ENTRPS_DTL_ADRES,
|
||||
UPDT_DTLS,
|
||||
LAST_LOGIN_DT,
|
||||
NRMLT_CYCLE,
|
||||
ADRES_DV,
|
||||
RNM_ADRES,
|
||||
DTL_ADRES2,
|
||||
HEDOFC_MEMO,
|
||||
TENT_USE_MEMO,
|
||||
CRTFC_MBTLNB,
|
||||
COMM_SLE_DCL_NB,
|
||||
SELER_TELNB,
|
||||
SELER_EMAIL,
|
||||
SELER_FAX,
|
||||
DLIVY_COMPT_CTY_INVNTRY_POLICY,
|
||||
TCKT_GDS_DLV_CT_CK_DFT_MTH,
|
||||
OBJT_GOODS_DLIVY_DFT_STTUS,
|
||||
TICKT_GOODS_DLIVY_DFT_STTUS,
|
||||
REPRSNT_MNGR_AT,
|
||||
MNGR_AUTHOR,
|
||||
MNGR_GROUP,
|
||||
PASSWORD_CHNG_DE,
|
||||
DLVY_AMT_FEE,
|
||||
RETURN_DLVY_AMT_FEE,
|
||||
MRHST_AT,
|
||||
MANAGE_CPR,
|
||||
REPRSNT_BRAND,
|
||||
TRTMNT_BRAND,
|
||||
POS_CD_DV_VAL,
|
||||
POS_CD_PASSIV_INPUT_VAL,
|
||||
STR_ESTBL_DV_CD,
|
||||
DV,
|
||||
STR_KND_DTL,
|
||||
OPBIZ_DE,
|
||||
CLSTR_DE,
|
||||
STR_TELNB,
|
||||
STR_OPER_DV,
|
||||
LOC,
|
||||
CTY_DO,
|
||||
CTY_GUN_GU,
|
||||
STR_ADRES_DV,
|
||||
STR_ZIP,
|
||||
LA,
|
||||
LO,
|
||||
STR_ADRES,
|
||||
STR_RNM_ADRES,
|
||||
STR_DTL_ADRES,
|
||||
HTGH_PBTRNSP,
|
||||
HTGH_PVTCAR,
|
||||
HVOF_DE,
|
||||
HVOF_DE_ADIT,
|
||||
BSN_TME,
|
||||
STR_REPRSNT_IMG,
|
||||
STR_DTL_IMG,
|
||||
DATATRANS_INVAL,
|
||||
REPRSNTV_INFO_REPRSNTVNM,
|
||||
REPRSNTV_INFO_TELNB,
|
||||
REPRSNTV_INFO_ADRES_DV,
|
||||
REPRSNTV_INFO_ZIP,
|
||||
REPRSNTV_INFO_ADRES,
|
||||
REPRSNTV_INFO_RNM_ADRES,
|
||||
REPRSNTV_INFO_DTL_ADRES,
|
||||
FIXING_EXPNDTR_RNTCHRG,
|
||||
FIXING_EXPNDTR_MANAGECT,
|
||||
FIXING_EXPNDTR_RYALTY,
|
||||
FIXING_EXPNDTR_SYS_RNTFEE,
|
||||
FIXING_EXPNDTR_LBCT,
|
||||
FIXING_EXPNDTR_CARD_FEE,
|
||||
FIXING_EXPNDTR_PRCT,
|
||||
FIXING_EXPNDTR_STR_OPERCT,
|
||||
STR_CD,
|
||||
AW_LOGIN_AT,
|
||||
CHR_DSPTCH_NB,
|
||||
SITE_EXPSR_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
) VALUES (
|
||||
#{strInnb},
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(tentcpnId)">
|
||||
#{tentcpnId},
|
||||
</when>
|
||||
<otherwise>
|
||||
CONCAT('@',#{strInnb}), /* 임시 아이디 */
|
||||
</otherwise>
|
||||
</choose>
|
||||
1,
|
||||
SYSDATE(),
|
||||
#{tentcpnPassword},
|
||||
#{tentcpnNm},
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(strNm)"> /* strNm이 없으면 tentcpnNm으로 대체 */
|
||||
#{strNm},
|
||||
</when>
|
||||
<otherwise>
|
||||
#{tentcpnNm},
|
||||
</otherwise>
|
||||
</choose>
|
||||
'02',
|
||||
#{tentSttus},
|
||||
'N',
|
||||
#{accesLmttIp},
|
||||
#{dlvyGdsDlvCmptPrcsCnd},
|
||||
#{dlvyGdsDlvCmptPrcsAthr},
|
||||
#{stlCnt},
|
||||
1,
|
||||
#{tme1StlDe},
|
||||
#{tme2StlDe},
|
||||
#{tme3StlDe},
|
||||
#{tme4StlDe},
|
||||
#{rcpmnyBank},
|
||||
#{dpstr},
|
||||
#{acntnb},
|
||||
'02',
|
||||
#{zip},
|
||||
#{adres},
|
||||
#{dtlAdres},
|
||||
#{entrpsNm},
|
||||
#{bsnmNb},
|
||||
#{reprsntvnm},
|
||||
#{indvdlCprDv},
|
||||
#{inhbtntCprNb},
|
||||
#{bizcndInduty},
|
||||
#{svc},
|
||||
#{entrpsZip},
|
||||
#{entrpsAdres},
|
||||
#{entrpsDtlAdres},
|
||||
CONCAT('<![CDATA[<div>]]>[ERP] ',DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%s'),' 신규 ->', IFNULL(#{registIp},''),'<![CDATA[</div>]]>'),
|
||||
#{lastLoginDt},
|
||||
'02',
|
||||
#{adresDv},
|
||||
#{rnmAdres},
|
||||
#{dtlAdres2},
|
||||
#{hedofcMemo},
|
||||
#{tentUseMemo},
|
||||
#{crtfcMbtlnb},
|
||||
#{commSleDclNb},
|
||||
#{selerTelnb},
|
||||
#{selerEmail},
|
||||
#{selerFax},
|
||||
'limit',
|
||||
'limit',
|
||||
'55',
|
||||
'55',
|
||||
'Y',
|
||||
'manager_act=Y||daily_revenue=Y||weekly_revenue=Y||monthly_revenue=Y||yearly_revenue=Y||product_revenue=Y||day_revenue=Y||daily_product_revenue=Y||monthly_product_revenue=Y||daily_static=Y||weekly_static=Y||monthly_static=Y||revenue_static=Y||catalog=Y||dormancy_catalog=Y||register=Y||join_paper_upload=Y||gs_seller_notice=Y||gs_seller_notice_act=N||shop_education=Y||shop_education_act=N||member_edit_req=Y||member_edit_req_act=Y||point_edit_req=Y||point_edit_req_act=Y||logistics_req=Y||logistics_req_act=Y||shop_edit_req=Y||shop_edit_req_act=Y||shop_faq=N||shop_faq_act=N||family_req=N||family_req_act=N||admin_shop_list=N||admin_shop_regist=N||revenue_total_crm=N||product_total_crm=N||check_used_coupon=Y||reservation_logistics=Y||admin_list=Y||',
|
||||
0,
|
||||
#{passwordChngDe},
|
||||
0,
|
||||
0,
|
||||
'Y',
|
||||
#{manageCpr},
|
||||
#{reprsntBrand},
|
||||
#{trtmntBrand},
|
||||
#{posCdDvVal},
|
||||
#{posCdPassivInputVal},
|
||||
#{strEstblDvCd},
|
||||
#{dv},
|
||||
#{strKndDtl},
|
||||
#{opbizDe},
|
||||
#{clstrDe},
|
||||
#{strTelnb},
|
||||
#{strOperDv},
|
||||
#{loc},
|
||||
#{ctyDo},
|
||||
#{ctyGunGu},
|
||||
#{strAdresDv},
|
||||
#{strZip},
|
||||
#{la},
|
||||
#{lo},
|
||||
#{strAdres},
|
||||
#{strRnmAdres},
|
||||
#{strDtlAdres},
|
||||
#{htghPbtrnsp},
|
||||
#{htghPvtcar},
|
||||
#{hvofDe},
|
||||
#{hvofDeAdit},
|
||||
#{bsnTme},
|
||||
#{strReprsntImg},
|
||||
#{strDtlImg},
|
||||
#{datatransInval},
|
||||
#{reprsntvInfoReprsntvnm},
|
||||
#{reprsntvInfoTelnb},
|
||||
#{reprsntvInfoAdresDv},
|
||||
#{reprsntvInfoZip},
|
||||
#{reprsntvInfoAdres},
|
||||
#{reprsntvInfoRnmAdres},
|
||||
#{reprsntvInfoDtlAdres},
|
||||
#{fixingExpndtrRntchrg},
|
||||
#{fixingExpndtrManagect},
|
||||
#{fixingExpndtrRyalty},
|
||||
#{fixingExpndtrSysRntfee},
|
||||
#{fixingExpndtrLbct},
|
||||
#{fixingExpndtrCardFee},
|
||||
#{fixingExpndtrPrct},
|
||||
#{fixingExpndtrStrOperct},
|
||||
LPAD(#{strCd}, 4, '0'), /* 앞자리는 0으로 채움 */
|
||||
IFNULL(#{awLoginAt},'N'),
|
||||
#{chrDsptchNb},
|
||||
IFNULL(#{siteExpsrAt},'N'),
|
||||
0,
|
||||
SYSDATE(),
|
||||
0,
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!--권한등록-->
|
||||
<insert id="insertStrAuth" parameterType="com.wb.domainserver.str.vo.TsStrVO">
|
||||
<selectKey order="BEFORE" keyProperty="strAuthorInnb" resultType="String">
|
||||
SELECT IFNULL(MAX(STR_AUTHOR_INNB), 0)+1
|
||||
FROM GC_STR_AUTH
|
||||
</selectKey>
|
||||
INSERT INTO GC_STR_AUTH
|
||||
(STR_AUTHOR_INNB,
|
||||
AUTHOR_ID,
|
||||
STR_INNB,
|
||||
REGUSR,
|
||||
REGIST_DT)
|
||||
SELECT
|
||||
#{strAuthorInnb},
|
||||
AUTHOR_ID,
|
||||
#{strInnb},
|
||||
0,
|
||||
SYSDATE()
|
||||
FROM
|
||||
GC_AUTH
|
||||
WHERE
|
||||
SYS_DV_CD = '04'
|
||||
AND USE_AT = 'Y'
|
||||
</insert>
|
||||
<!-- ****************************************************
|
||||
포스 매장 동기화 서비스 종료
|
||||
******************************************************** -->
|
||||
|
||||
<!-- ****************************************************
|
||||
포스 상품 재고 동기화 서비스 시작
|
||||
******************************************************** -->
|
||||
<!--gcone pos stock 데이터 전체 삭제-->
|
||||
<delete id="deleteStrStock">
|
||||
DELETE FROM GC_POS_STOCK
|
||||
</delete>
|
||||
|
||||
<!--gcone pos stock 등록-->
|
||||
<insert id="insertStrStock">
|
||||
REPLACE INTO GC_POS_STOCK
|
||||
(GOODS_IDNTFC_CD,
|
||||
STR_IDNTFC_CD,
|
||||
YM,
|
||||
GOODS_POS_HDQRTRS_CD,
|
||||
GOODS_POS_CD,
|
||||
GOODS_NM,
|
||||
GOODS_BRCD,
|
||||
GOODS_CL_CD,
|
||||
CPR_CD,
|
||||
STR_POS_HDQRTRS_CD,
|
||||
STR_POS_CD,
|
||||
STR_NM,
|
||||
INVNTRY_QY,
|
||||
SLE_QY,
|
||||
PD_AVRG_QY)
|
||||
VALUES ( #{goodsIdntfcCd},
|
||||
#{strIdntfcCd},
|
||||
#{ym},
|
||||
#{goodsPosHdqrtrsCd},
|
||||
#{goodsPosCd},
|
||||
#{goodsNm},
|
||||
#{goodsBrcd},
|
||||
#{goodsClCd},
|
||||
#{cprCd},
|
||||
#{strPosHdqrtrsCd},
|
||||
#{strPosCd},
|
||||
#{strNm},
|
||||
#{invntryQy},
|
||||
#{sleQy},
|
||||
#{pdAvrgQy});
|
||||
</insert>
|
||||
|
||||
<!-- ****************************************************
|
||||
포스 상품 재고 동기화 서비스 종료
|
||||
******************************************************** -->
|
||||
</mapper>
|
||||
@@ -0,0 +1,433 @@
|
||||
<?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.mapper.gcone.SweetTrackerCommMapper">
|
||||
|
||||
|
||||
<select id="jsonTest1234">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
DTL_CN
|
||||
FROM GC_ORDER_TRACKER
|
||||
LIMIT 1
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 택배사코드 매핑 -->
|
||||
<select id="selectCommCdHdrycpnCdInqire">
|
||||
SELECT
|
||||
IFNULL(CD, '') AS HDRYCPN_CD
|
||||
FROM GC_CODE
|
||||
WHERE GROUP_CD = 'HDRYCPN'
|
||||
AND CD = #{hdrycpnCd}
|
||||
</select>
|
||||
|
||||
|
||||
<!-- ##############################################################################################
|
||||
스마트택배 조회 및 주문 상태 업데이트 START
|
||||
################################################################################################# -->
|
||||
|
||||
|
||||
<!-- 상태 변경 대상 출고 목록 조회 -->
|
||||
<select id="selectChngTargetExportList">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
EX.DLIVY_INNB
|
||||
,EX.SOPMAL_CD
|
||||
,EX.ORDR_INNB
|
||||
,EX.ORDR_DLVY_INNB
|
||||
,EX.DLIVY_CD_NB
|
||||
,EX.DLIVY_STTUS_CD
|
||||
,EX.STTUS_UPDT_DT
|
||||
,EX.HDRYCPN_CD
|
||||
,(
|
||||
SELECT
|
||||
SWEET_TRACKER_HDRYCPN_CD
|
||||
FROM GC_SWEET_TRACKER_CODE
|
||||
WHERE GCONE_HDRYCPN_CD = EX.HDRYCPN_CD
|
||||
LIMIT 1
|
||||
) AS ST_HDRYCPN_CD
|
||||
,EX.INVCNB
|
||||
,EX.DLIVY_DT
|
||||
,EX.DLIVY_COMPT_DT
|
||||
,EX.DLVY_COMPT_DT
|
||||
,EX.DLVY_GROUP_CD
|
||||
,EX.MNGR_INNB
|
||||
,EX.IMPRTNC_ORDR_AT
|
||||
,EX.REGIST_DT
|
||||
,EX.UPDT_DT
|
||||
,EX.PURCHS_DCSN_DV_CD
|
||||
,EX.PURCHS_DCSN_DT
|
||||
,EX.ACCMLMNY_PYMNT_AT
|
||||
,ST.SETLE_TY_CD
|
||||
FROM GC_GOODS_EXPORT EX
|
||||
LEFT JOIN GC_ORDER_SHIPPING SH
|
||||
ON EX.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND EX.ORDR_DLVY_INNB = SH.ORDR_DLVY_INNB
|
||||
LEFT JOIN GC_ORDER O
|
||||
ON EX.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND EX.ORDR_INNB = O.ORDR_INNB
|
||||
LEFT JOIN GC_ORDER_SETLE ST
|
||||
ON O.SOPMAL_CD = ST.SOPMAL_CD
|
||||
AND O.ORDR_INNB = ST.ORDR_INNB
|
||||
WHERE 1 = 1
|
||||
AND SH.ORDR_STTUS_CD BETWEEN '50' AND '70'
|
||||
AND EX.DLIVY_STTUS_CD BETWEEN '50' AND '70'
|
||||
AND ( EX.HDRYCPN_CD IS NOT NULL AND EX.HDRYCPN_CD != '')
|
||||
AND ( EX.INVCNB IS NOT NULL AND EX.INVCNB != '' )
|
||||
AND EX.INVCNB IS NOT NULL
|
||||
AND EX.DLVY_COMPT_DT IS NULL
|
||||
AND EX.ORDR_DLVY_INNB IS NOT NULL
|
||||
AND EX.DLIVY_DT BETWEEN DATE_SUB(SYSDATE(), INTERVAL 2 MONTH) AND SYSDATE()
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 상태 변경 대상 및 배송 추적 내용 -->
|
||||
<select id="selectOrderTrackerResultList">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
TR.DTL_CN
|
||||
, DLIVY.*
|
||||
FROM (
|
||||
SELECT EX.DLIVY_INNB
|
||||
, EX.SOPMAL_CD
|
||||
, EX.ORDR_INNB
|
||||
, EX.ORDR_DLVY_INNB
|
||||
, EX.DLIVY_CD_NB
|
||||
, EX.DLIVY_STTUS_CD
|
||||
, EX.DLIVY_STTUS_CD AS RL_DLIVY_STTUS_CD
|
||||
, EX.STTUS_UPDT_DT
|
||||
, EX.HDRYCPN_CD
|
||||
, (SELECT SWEET_TRACKER_HDRYCPN_CD
|
||||
FROM GC_SWEET_TRACKER_CODE
|
||||
WHERE GCONE_HDRYCPN_CD = EX.HDRYCPN_CD
|
||||
LIMIT 1) AS ST_HDRYCPN_CD
|
||||
, EX.INVCNB
|
||||
, EX.DLIVY_DT
|
||||
, EX.DLIVY_COMPT_DT
|
||||
, EX.DLVY_COMPT_DT
|
||||
, EX.DLVY_GROUP_CD
|
||||
, EX.MNGR_INNB
|
||||
, EX.IMPRTNC_ORDR_AT
|
||||
, EX.REGIST_DT
|
||||
, EX.UPDT_DT
|
||||
, EX.PURCHS_DCSN_DV_CD
|
||||
, EX.PURCHS_DCSN_DT
|
||||
, EX.ACCMLMNY_PYMNT_AT
|
||||
, ST.SETLE_TY_CD
|
||||
FROM GC_GOODS_EXPORT EX
|
||||
LEFT JOIN GC_ORDER_SHIPPING SH
|
||||
ON EX.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND EX.ORDR_DLVY_INNB = SH.ORDR_DLVY_INNB
|
||||
LEFT JOIN GC_ORDER O
|
||||
ON EX.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND EX.ORDR_INNB = O.ORDR_INNB
|
||||
LEFT JOIN GC_ORDER_SETLE ST
|
||||
ON O.SOPMAL_CD = ST.SOPMAL_CD
|
||||
AND O.ORDR_INNB = ST.ORDR_INNB
|
||||
WHERE 1 = 1
|
||||
AND SH.ORDR_STTUS_CD BETWEEN '50' AND '70'
|
||||
AND EX.DLIVY_STTUS_CD BETWEEN '50' AND '70'
|
||||
AND (EX.HDRYCPN_CD IS NOT NULL AND EX.HDRYCPN_CD != '')
|
||||
AND (EX.INVCNB IS NOT NULL AND EX.INVCNB != '')
|
||||
AND EX.INVCNB IS NOT NULL
|
||||
AND EX.DLVY_COMPT_DT IS NULL
|
||||
AND EX.ORDR_DLVY_INNB IS NOT NULL
|
||||
AND EX.DLIVY_DT BETWEEN DATE_SUB(SYSDATE(), INTERVAL 2 MONTH) AND SYSDATE()
|
||||
) DLIVY
|
||||
INNER JOIN GC_ORDER_TRACKER TR ON DLIVY.INVCNB = TR.INVCNB
|
||||
AND DLIVY.ST_HDRYCPN_CD = TR.ST_HDRYCPN_CD
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 상태 변경 대상 주문 상품 목록 조회 -->
|
||||
<select id="selectOrderTrackerInnbInqire">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
ORDR_DLVY_TRACE_INNB
|
||||
FROM GC_ORDER_TRACKER
|
||||
WHERE ST_HDRYCPN_CD = #{stHdrycpnCd}
|
||||
AND INVCNB = #{invcnb}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<!-- 주문 배송 추적 JSON 내용 업데이트 -->
|
||||
<update id="updateOrderTrackerJsonUpdt">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_ORDER_TRACKER
|
||||
(
|
||||
]]>
|
||||
<if test="ordrDlvyTraceInnb != null">
|
||||
ORDR_DLVY_TRACE_INNB,
|
||||
</if>
|
||||
<![CDATA[
|
||||
INVCNB,
|
||||
ST_HDRYCPN_CD,
|
||||
DTL_CN,
|
||||
REGIST_DT
|
||||
) VALUES (
|
||||
]]>
|
||||
<if test="ordrDlvyTraceInnb != null">
|
||||
#{ordrDlvyTraceInnb},
|
||||
</if>
|
||||
<![CDATA[
|
||||
#{invcnb},
|
||||
#{stHdrycpnCd},
|
||||
#{dtlCn},
|
||||
SYSDATE()
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
DTL_CN = VALUES(DTL_CN)
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 출고 배송중 상태로 상태 변경 -->
|
||||
<update id="updateChngTargetExportSttusupdt">
|
||||
<![CDATA[
|
||||
UPDATE GC_GOODS_EXPORT EX SET
|
||||
DLIVY_STTUS_CD = #{dlivySttusCd}
|
||||
,STTUS_UPDT_DT = SYSDATE()
|
||||
,UPDT_DT = SYSDATE()
|
||||
]]>
|
||||
<if test="dlivySttusCd == '75'">
|
||||
<![CDATA[
|
||||
,DLVY_COMPT_DT = SYSDATE()
|
||||
]]>
|
||||
</if>
|
||||
<![CDATA[
|
||||
WHERE DLIVY_INNB = #{dlivyInnb}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 상태 변경 대상 주문 상품 목록 조회 -->
|
||||
<select id="selectChngTargetExportItemList">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
OIOP.ORDR_GOODS_OPTN_INNB
|
||||
,OIOP.SOPMAL_CD
|
||||
,OIOP.OPTN_TY
|
||||
,(OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75) AS QY
|
||||
FROM GC_ORDER_ITEM_OPTION OIOP
|
||||
INNER JOIN GC_ORDER_SHIPPING SH ON OIOP.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND OIOP.ORDR_DLVY_INNB = SH.ORDR_DLVY_INNB
|
||||
INNER JOIN GC_GOODS_EXPORT_ITEM EXI ON OIOP.SOPMAL_CD = EXI.SOPMAL_CD
|
||||
AND OIOP.OPTN_TY = EXI.OPTN_TY
|
||||
AND OIOP.ORDR_GOODS_OPTN_INNB = EXI.ORDR_GOODS_OPTN_INNB
|
||||
AND EXI.DLIVY_INNB = #{dlivyInnb}
|
||||
WHERE SH.SOPMAL_CD = #{sopmalCd}
|
||||
AND SH.ORDR_INNB = #{ordrInnb}
|
||||
AND SH.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 주문 상품 옵션 상태 및 수량 변경 -->
|
||||
<update id="updateOrdrItemStatusUpdt6575">
|
||||
<![CDATA[
|
||||
UPDATE GC_ORDER_ITEM_OPTION SET
|
||||
]]>
|
||||
<choose>
|
||||
<when test="dlivySttusCd == '65'">
|
||||
<![CDATA[
|
||||
ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN (ORDR_QY - STEP85) > #{qy} THEN '60'
|
||||
WHEN (ORDR_QY - STEP85) <= #{qy} THEN '65'
|
||||
ELSE ORDR_STTUS_CD
|
||||
END
|
||||
,STEP45 = 0
|
||||
,STEP55 = 0
|
||||
,STEP65 = #{qy}
|
||||
,STEP75 = 0
|
||||
,UPDT_DT = SYSDATE()
|
||||
]]>
|
||||
</when>
|
||||
<when test="dlivySttusCd == '75'">
|
||||
<![CDATA[
|
||||
ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN (ORDR_QY - STEP85) > #{qy} THEN '70'
|
||||
WHEN (ORDR_QY - STEP85) <= #{qy} THEN '75'
|
||||
ELSE ORDR_STTUS_CD
|
||||
END
|
||||
,STEP45 = 0
|
||||
,STEP55 = 0
|
||||
,STEP65 = 0
|
||||
,STEP75 = #{qy}
|
||||
,UPDT_DT = SYSDATE()
|
||||
]]>
|
||||
</when>
|
||||
<otherwise>
|
||||
UPDT_DT = SYSDATE()
|
||||
</otherwise>
|
||||
</choose>
|
||||
<![CDATA[
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND OPTN_TY = #{optnTy}
|
||||
AND ORDR_GOODS_OPTN_INNB = #{ordrGoodsOptnInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 주문 배송 상태 변경 -->
|
||||
<update id="updateOrdrDlvyStatusUpdt6575">
|
||||
<![CDATA[
|
||||
UPDATE
|
||||
GC_ORDER_SHIPPING SH,
|
||||
(
|
||||
SELECT CASE WHEN MAX(OIOP.ORDR_STTUS_CD) = MIN(OIOP.ORDR_STTUS_CD) THEN MAX(OIOP.ORDR_STTUS_CD)
|
||||
ELSE CAST(MAX(OIOP.ORDR_STTUS_CD) - 5 AS CHAR(2))
|
||||
END ORDR_STTUS_CD
|
||||
, SH.SOPMAL_CD, SH.ORDR_INNB, SH.ORDR_DLVY_INNB
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP
|
||||
ON SH.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND SH.ORDR_DLVY_INNB = OIOP.ORDR_DLVY_INNB
|
||||
AND OIOP.ORDR_QY <> OIOP.STEP85
|
||||
WHERE SH.SOPMAL_CD = #{sopmalCd}
|
||||
AND SH.ORDR_INNB = #{ordrInnb}
|
||||
AND SH.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||
AND SH.USE_AT = 'Y'
|
||||
) STEP
|
||||
SET
|
||||
SH.ORDR_STTUS_CD = STEP.ORDR_STTUS_CD
|
||||
,SH.MNGR_INNB = 0
|
||||
,SH.UPDT_DT = SYSDATE()
|
||||
WHERE 1 = 1
|
||||
AND SH.SOPMAL_CD = STEP.SOPMAL_CD
|
||||
AND SH.ORDR_INNB = STEP.ORDR_INNB
|
||||
AND SH.ORDR_DLVY_INNB = STEP.ORDR_DLVY_INNB
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 주문 상태 변경 -->
|
||||
<update id="updateOrdrStatusUpdt6575">
|
||||
<![CDATA[
|
||||
UPDATE
|
||||
GC_ORDER O,
|
||||
(SELECT CASE WHEN MAX(SH.ORDR_STTUS_CD) = MIN(SH.ORDR_STTUS_CD) THEN MAX(SH.ORDR_STTUS_CD)
|
||||
ELSE CAST(MAX(SH.ORDR_STTUS_CD) - 5 AS CHAR(2))
|
||||
END ORDR_STTUS_CD
|
||||
, O.SOPMAL_CD, O.ORDR_INNB
|
||||
FROM GC_ORDER O
|
||||
INNER JOIN GC_ORDER_SHIPPING SH
|
||||
ON O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD <> '85'
|
||||
WHERE O.SOPMAL_CD = #{sopmalCd}
|
||||
AND O.ORDR_INNB = #{ordrInnb}
|
||||
) STEP
|
||||
SET
|
||||
O.ORDR_STTUS_CD = STEP.ORDR_STTUS_CD
|
||||
,O.MNGR_INNB = 0
|
||||
,O.UPDT_DT = SYSDATE()
|
||||
WHERE 1 = 1
|
||||
AND O.SOPMAL_CD = STEP.SOPMAL_CD
|
||||
AND O.ORDR_INNB = STEP.ORDR_INNB
|
||||
AND O.USE_AT = 'Y'
|
||||
]]>
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 주문 로그 등록 -->
|
||||
<insert id="insertOrderLog">
|
||||
INSERT INTO GC_ORDER_LOG (
|
||||
ORDR_INNB
|
||||
, SOPMAL_CD
|
||||
, LOG_SJ
|
||||
, LOG_DTL_CN
|
||||
, ADIT_INFO_CN
|
||||
, DLIVY_INNB
|
||||
, ORDER_REFUND_INNB
|
||||
, LOG_DV_CD
|
||||
, DV_CD
|
||||
, OPETR_NM
|
||||
, QY
|
||||
, AMT
|
||||
, PROCS_DT
|
||||
) VALUES (
|
||||
#{ordrInnb}
|
||||
, #{sopmalCd}
|
||||
, #{logSj}
|
||||
, #{logDtlCn}
|
||||
, #{aditInfoCn}
|
||||
, #{dlivyInnb}
|
||||
, #{orderRefundInnb}
|
||||
, #{logDvCd}
|
||||
, #{dvCd}
|
||||
, #{opetrNm}
|
||||
, #{qy}
|
||||
, #{amt}
|
||||
, SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 출고 완료(주문자), 배송 완료(주문자) SMS 파라미터 조회 -->
|
||||
<select id="selectDlivySmsListInqire">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
EX.ORDR_INNB AS ORDNO -- 치환코드
|
||||
,'FORM_DV_DLVY' AS FORM_DV_CD
|
||||
, CASE
|
||||
WHEN EX.DLIVY_STTUS_CD = '55' THEN '01'
|
||||
WHEN EX.DLIVY_STTUS_CD = '75' THEN '02'
|
||||
END AS FORM_DTL_DV_CD
|
||||
,EX.SOPMAL_CD
|
||||
,SP.SOPMAL_NM AS SHOP_NAME
|
||||
,EX.HDRYCPN_CD
|
||||
,SW.HDRYCPN_NM AS DELIVERY_COMPANY
|
||||
,EX.INVCNB AS DELIVERY_NUMBER
|
||||
,CASE
|
||||
WHEN COUNT(EI.DLIVY_GOODS_INNB) > 1 THEN CONCAT(MIN(OI.GOODS_NM) , ' 외 ', COUNT(EI.DLIVY_INNB) - 1, '종')
|
||||
ELSE MIN(OI.GOODS_NM)
|
||||
END AS ORD_ITEM
|
||||
,O.ORDRR_NM AS ORDER_USER
|
||||
,O.ORDRR_NM AS RECIPIENT_USER
|
||||
,REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(O.ORDRR_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS RECPTN_NB
|
||||
,REPLACE(SP.PC_DOMN_ADRES, 'https://', '') AS SHOP_DOMAIN
|
||||
,REPLACE(CONCAT(SP.PC_DOMN_ADRES, '/sopmal/mpage/ordr/selectMbrOrdrListInqire'), 'https://', '') AS ORDURL
|
||||
FROM GC_GOODS_EXPORT EX
|
||||
LEFT JOIN GC_ORDER O
|
||||
ON EX.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND EX.ORDR_INNB = O.ORDR_INNB
|
||||
LEFT JOIN GC_SHOP SP
|
||||
ON EX.SOPMAL_CD = SP.SOPMAL_CD
|
||||
LEFT JOIN GC_SWEET_TRACKER_CODE SW
|
||||
ON EX.HDRYCPN_CD = SW.GCONE_HDRYCPN_CD
|
||||
LEFT JOIN GC_GOODS_EXPORT_ITEM EI
|
||||
ON EX.SOPMAL_CD = EI.SOPMAL_CD
|
||||
AND EX.DLIVY_INNB = EI.DLIVY_INNB
|
||||
LEFT JOIN GC_ORDER_ITEM_OPTION OIOP
|
||||
ON EI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
LEFT JOIN GC_ORDER_ITEM OI
|
||||
ON OIOP.SOPMAL_CD = OI.SOPMAL_CD
|
||||
AND OIOP.ORDR_GOODS_INNB = OI.ORDR_GOODS_INNB
|
||||
WHERE EX.SOPMAL_CD = #{sopmalCd}
|
||||
AND EX.DLIVY_INNB = #{dlivyInnb}
|
||||
GROUP BY EX.DLIVY_INNB, EX.SOPMAL_CD, SW.HDRYCPN_NM
|
||||
LIMIT 1
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!--> ##############################################################################################
|
||||
스마트택배 조회 및 주문 상태 업데이트 END
|
||||
################################################################################################# -->
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?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.mapper.mq.CrmExtOrdrMapper">
|
||||
<!--GC_ERP_PURCHSR_INFO ERP에서 주문정보 조회 -->
|
||||
<select id = "selectCrmExtOrdrInfo" parameterType="com.wb.domainserver.crm.vo.TsExtOrdrVO">
|
||||
SELECT
|
||||
ERP_ORDER_INNB,
|
||||
CPR_CD,
|
||||
BRAND_CD,
|
||||
SOPMAL_DV,
|
||||
SOPMAL,
|
||||
ORDR_NB,
|
||||
ORDR_DT,
|
||||
DLIVY_DT,
|
||||
MBTLNB,
|
||||
NM,
|
||||
ADRES,
|
||||
EMAIL,
|
||||
MEMO,
|
||||
UPLOAD_GROUP,
|
||||
REGIST_DT,
|
||||
UPDT_DT
|
||||
FROM
|
||||
GC_ERP_ORDER
|
||||
WHERE ERP_ORDER_INNB <![CDATA[>]]> #{maxExtOrdrInnb}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?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.mapper.mq.CrmMemberAppnMapper">
|
||||
<!--GC_ERP_MEMBER_APPN ERP에서 블랙리스트 조회 -->
|
||||
<select id = "selectCrmRslrlistInqire">
|
||||
SELECT DISTINCT A.*
|
||||
FROM(SELECT
|
||||
GEMA.APPN_DV_CD,
|
||||
GEMA.IDNTFC_STDR_CD,
|
||||
GEMA.IDNTFC_INFO,
|
||||
REGIST_DT
|
||||
FROM
|
||||
GC_ERP_MEMBER_APPN GEMA
|
||||
WHERE
|
||||
GEMA.APPN_DV_CD = '01'
|
||||
AND GEMA.IDNTFC_INFO IS NOT NULL || GEMA.IDNTFC_INFO != '')A
|
||||
</select>
|
||||
</mapper>
|
||||
268
src/main/resources/mybatis/xml/mapper/mq/MqReqCommMapper.xml
Normal file
268
src/main/resources/mybatis/xml/mapper/mq/MqReqCommMapper.xml
Normal file
@@ -0,0 +1,268 @@
|
||||
<?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.mapper.mq.MqReqCommMapper">
|
||||
|
||||
|
||||
<!-- MQ req 출고 내역 목록 조회 -->
|
||||
<select id="selectMapCnt" >
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
req MQ
|
||||
WHERE MQ.MENU = 'order'
|
||||
</select>
|
||||
|
||||
|
||||
<!-- ##############################################################################################
|
||||
출고내역 가져오기 START
|
||||
################################################################################################# -->
|
||||
|
||||
|
||||
<!-- MQ req 출고 내역 목록 조회 -->
|
||||
<update id="updateReqStatusIngUpdt">
|
||||
UPDATE req
|
||||
SET STATUS = 'ing'
|
||||
WHERE MENU = 'order'
|
||||
AND STATUS = 'req'
|
||||
AND REQ_SITE = 'ERP'
|
||||
AND RES_SITE = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- MQ req 출고 내역 목록 조회 -->
|
||||
<select id="selectReqListInqire" >
|
||||
SELECT
|
||||
MQ.SEQ,
|
||||
MQ.MENU,
|
||||
MQ.CMD,
|
||||
MQ.CODE,
|
||||
MQ.PARAM,
|
||||
MQ.STATUS,
|
||||
MQ.REQ_SITE,
|
||||
MQ.REQ_DATE,
|
||||
MQ.RES_SITE,
|
||||
MQ.RES_DATE,
|
||||
MQ.RES_CODE,
|
||||
MQ.RES_MSG,
|
||||
MQ.RES_DATA,
|
||||
MQ.RES_SITE AS SOPMAL_CD
|
||||
FROM
|
||||
req MQ
|
||||
WHERE MQ.MENU = 'order'
|
||||
AND MQ.STATUS = 'ing'
|
||||
AND MQ.REQ_SITE = 'ERP'
|
||||
AND MQ.RES_SITE = #{sopmalCd}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<!--MQ req 테이블 응답 메시지 업데이트 -->
|
||||
<update id="updateMqReqStatusUpdt">
|
||||
UPDATE req SET
|
||||
STATUS = 'end',
|
||||
RES_DATE = SYSDATE(),
|
||||
RES_CODE = #{resCode},
|
||||
RES_MSG = #{resMsg},
|
||||
RES_DATA = #{resData}
|
||||
WHERE MENU = 'order'
|
||||
AND STATUS = 'ing'
|
||||
AND REQ_SITE = 'ERP'
|
||||
AND RES_SITE = #{sopmalCd}
|
||||
AND SEQ = #{mqReqSeq}
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
|
||||
<!--> ##############################################################################################
|
||||
출고내역 가져오기 END
|
||||
################################################################################################# -->
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################################################################
|
||||
주문내역 내보내기 START
|
||||
################################################################################################# -->
|
||||
|
||||
|
||||
<!-- 대상주문 상태 변경 '30' : 출고대기 -->
|
||||
<insert id="insertReqRegist"
|
||||
keyProperty="seq"
|
||||
useGeneratedKeys="true"
|
||||
parameterType="com.wb.domainserver.mq.vo.TsReqVO"
|
||||
>
|
||||
<![CDATA[
|
||||
INSERT INTO req (
|
||||
MENU,
|
||||
CMD,
|
||||
CODE,
|
||||
PARAM,
|
||||
STATUS,
|
||||
REQ_SITE,
|
||||
REQ_DATE,
|
||||
RES_SITE,
|
||||
RES_DATE
|
||||
) VALUES (
|
||||
#{menu},
|
||||
#{cmd},
|
||||
#{code},
|
||||
#{param},
|
||||
'req',
|
||||
#{reqSite},
|
||||
SYSDATE(),
|
||||
#{resSite},
|
||||
'1970-01-01 00:00:00'
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################################################################
|
||||
주문내역 내보내기 END
|
||||
################################################################################################# -->
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################################################################
|
||||
mq_req clear START
|
||||
################################################################################################# -->
|
||||
|
||||
|
||||
<!-- 30일 이전 데이터 모두 삭제 -->
|
||||
<delete id="deleteMtBeforeReqClear">
|
||||
<![CDATA[
|
||||
DELETE FROM req
|
||||
WHERE REQ_DATE < DATE_SUB(CURDATE(), INTERVAL 30 DAY)
|
||||
]]>
|
||||
</delete>
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################################################################
|
||||
mq_req clear END
|
||||
################################################################################################# -->
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################################################################
|
||||
mq -> erp 제상품, 세트상품정보 가져오기
|
||||
################################################################################################# -->
|
||||
|
||||
<!-- MQ ERP 제상품 목록조회-->
|
||||
<select id="selectErpGoodsList" >
|
||||
SELECT
|
||||
BARCODE,
|
||||
SOPMAL_CD,
|
||||
GOODS_NM,
|
||||
GOODS_PRICE
|
||||
FROM
|
||||
GC_ANALYSIS_ERP_GOODS
|
||||
</select>
|
||||
|
||||
<!-- MQ ERP 세트상품 목록조회-->
|
||||
<select id="selectErpSetGoodsList" >
|
||||
SELECT
|
||||
SET_CODE,
|
||||
SOPMAL_CD,
|
||||
BARCODE_QY,
|
||||
BARCODE,
|
||||
GIFT_YN,
|
||||
GOODS_NM,
|
||||
SET_GOODS_NM
|
||||
FROM
|
||||
GC_ANALYSIS_ERP_SET_GOODS
|
||||
</select>
|
||||
|
||||
<!-- MQ ERP 외부주문 내역 조회-->
|
||||
<select id="selectMqErpOrderList" resultType="com.wb.domainserver.analysis.vo.TsAnalysisOrderListVO">
|
||||
SELECT
|
||||
ORDR_INNB,
|
||||
SOPMAL_CD,
|
||||
ORDR_STTUS_CD,
|
||||
BARCODE,
|
||||
BARCODE_QY,
|
||||
GOODS_QY,
|
||||
RL_SETLE_AMT,
|
||||
PAYMENT_DT,
|
||||
GIFT_YN,
|
||||
SOPMAL_DV,
|
||||
GOODS_NM,
|
||||
SHOP_SET_CD
|
||||
FROM GC_ANALYSIS_ORDER_HISTORY
|
||||
|
||||
</select>
|
||||
|
||||
<resultMap id="orderListResultMap" type="com.wb.domainserver.analysis.vo.TsAnalysisOrderListVO">
|
||||
<result property="shopSetCd" column="SHOP_SET_CD" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- MQ ERP 외부주문 내역 조회-->
|
||||
<select id="selectMqErpTotalStatisticsList" resultType="com.wb.domainserver.analysis.vo.TsAnalysisErpTotalStatisticsVO">
|
||||
SELECT
|
||||
CO_CD,
|
||||
STRGRP1_CD,
|
||||
STRGRP2_CD,
|
||||
STRGRP3_CD,
|
||||
STRGRP4_CD,
|
||||
SALE_DT,
|
||||
BARCODE,
|
||||
BRAND_NM,
|
||||
ITM_NM,
|
||||
ITM_ID,
|
||||
SAL_AMT,
|
||||
QTY,
|
||||
SAL_AMT2,
|
||||
CANC_TYPE
|
||||
FROM GC_ERP_TOTAL_STATISTICS
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectPuriOrderList">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
PURI_ORDER_SEQ,
|
||||
STATUS,
|
||||
REGIST_DT,
|
||||
ERP_CODE,
|
||||
PURCHS_DV,
|
||||
PURCHS_CD,
|
||||
PURCHS_NM,
|
||||
ORDR_CD,
|
||||
PURCHS_DE,
|
||||
PURCHS_DTLS,
|
||||
PURCHSR_NM,
|
||||
CTTPC,
|
||||
ORDR_RM,
|
||||
GOODS_CD,
|
||||
GOODS_NM,
|
||||
DLIVY_DE,
|
||||
DLIVY_NM,
|
||||
DLIVY_CTTPC,
|
||||
VISIT_TRGTER_AT,
|
||||
RECENT_VISIT_SEQ,
|
||||
PURI_ALLIM_SEQ,
|
||||
CHNG_LOG,
|
||||
MEMO_LOG,
|
||||
DELETE_YN
|
||||
FROM GC_PURI_ORDER
|
||||
]]>
|
||||
|
||||
</select>
|
||||
|
||||
<update id="updatePuriOrderList" parameterType="java.util.List">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
<![CDATA[
|
||||
UPDATE GC_PURI_ORDER SET DELETE_YN = 'Y', UPDT_DT = NOW()
|
||||
WHERE ERP_CODE = #{item.erpCode}
|
||||
]]>
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
96
src/main/resources/mybatis/xml/mapper/mq/MqStrMapper.xml
Normal file
96
src/main/resources/mybatis/xml/mapper/mq/MqStrMapper.xml
Normal file
@@ -0,0 +1,96 @@
|
||||
<?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.mapper.mq.MqStrMapper">
|
||||
<!--현재 날짜에서 3일전까지 수정한 매장 정보 찾기-->
|
||||
<select id="selectMqStrInfo" resultType="com.wb.domainserver.str.vo.TsStrVO">
|
||||
SELECT REPRSNTV_INFO_ADRES,
|
||||
REPRSNTV_INFO_RNM_ADRES,
|
||||
REPRSNTV_INFO_DTL_ADRES,
|
||||
REPRSNTV_INFO_REPRSNTVNM,
|
||||
REPRSNTV_INFO_TELNB,
|
||||
REPRSNTV_INFO_ZIP,
|
||||
REPRSNT_BRAND,
|
||||
MANAGE_CPR,
|
||||
FIXING_EXPNDTR_CARD_FEE,
|
||||
FIXING_EXPNDTR_LBCT,
|
||||
FIXING_EXPNDTR_MANAGECT,
|
||||
FIXING_EXPNDTR_PRCT,
|
||||
FIXING_EXPNDTR_RNTCHRG,
|
||||
FIXING_EXPNDTR_RYALTY,
|
||||
FIXING_EXPNDTR_STR_OPERCT,
|
||||
FIXING_EXPNDTR_SYS_RNTFEE,
|
||||
STR_ESTBL_DV_CD,
|
||||
STR_ADRES,
|
||||
STR_RNM_ADRES,
|
||||
STR_DTL_ADRES,
|
||||
CASE WHEN CLSTR_DE = '0000-00-00 00:00:00' THEN NULL ELSE CLSTR_DE END AS CLSTR_DE,
|
||||
CASE WHEN OPBIZ_DE = '0000-00-00 00:00:00' THEN NULL ELSE OPBIZ_DE END AS OPBIZ_DE,
|
||||
STR_OPER_DV,
|
||||
STR_TELNB,
|
||||
DV,
|
||||
STR_KND_DTL,
|
||||
STR_ZIP,
|
||||
CTY_GUN_GU,
|
||||
HVOF_DE,
|
||||
HVOF_DE_ADIT,
|
||||
ENTRPS_ADRES,
|
||||
ADRES_DV,
|
||||
RNM_ADRES,
|
||||
ENTRPS_DTL_ADRES,
|
||||
REPRSNTVNM,
|
||||
SELER_EMAIL,
|
||||
SELER_FAX,
|
||||
BIZCND_INDUTY,
|
||||
ENTRPS_NM,
|
||||
BSNM_NB,
|
||||
SELER_TELNB,
|
||||
COMM_SLE_DCL_NB,
|
||||
SVC,
|
||||
INDVDL_CPR_DV,
|
||||
INHBTNT_CPR_NB,
|
||||
ENTRPS_ZIP,
|
||||
AW_LOGIN_AT,
|
||||
BSN_TME,
|
||||
POS_CD_PASSIV_INPUT_VAL,
|
||||
POS_CD_DV_VAL,
|
||||
STR_CD,
|
||||
TENTCPN_NM,
|
||||
STR_NM,
|
||||
TENT_STTUS,
|
||||
TRTMNT_BRAND,
|
||||
CTY_DO,
|
||||
HTGH_PVTCAR,
|
||||
HTGH_PBTRNSP,
|
||||
REPRSNT_MNGR_AT,
|
||||
MNGR_AUTHOR,
|
||||
MNGR_GROUP,
|
||||
DFT_STL_DE,
|
||||
UPDT_DTLS,
|
||||
LA,
|
||||
LO,
|
||||
STR_ADRES_DV,
|
||||
TENTCPN_ID,
|
||||
LOC
|
||||
FROM GC_POS_STORE
|
||||
WHERE UPDT_DT <![CDATA[>=]]> DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-%d 23:59:59'), INTERVAL 3 DAY)
|
||||
</select>
|
||||
<!--포스 상품 재고 조회-->
|
||||
<select id="selectMqStrStock" resultType="com.wb.domainserver.str.vo.TsStrStockVO">
|
||||
SELECT STR_IDNTFC_CD,
|
||||
YM,
|
||||
GOODS_POS_HDQRTRS_CD,
|
||||
GOODS_POS_CD,
|
||||
GOODS_NM,
|
||||
GOODS_BRCD,
|
||||
GOODS_CL_CD,
|
||||
CPR_CD,
|
||||
STR_POS_HDQRTRS_CD,
|
||||
STR_POS_CD,
|
||||
STR_NM,
|
||||
INVNTRY_QY,
|
||||
SLE_QY,
|
||||
PD_AVRG_QY,
|
||||
GOODS_IDNTFC_CD
|
||||
FROM GC_POS_STOCK
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?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.mapper.crm.SampleCrmMapper">
|
||||
|
||||
<insert id="insertMqCheck" parameterType="com.wb.domainserver.sample.vo.BbsmngrVO">
|
||||
INSERT INTO tmp_order (member_seq, order_seq) VALUES(#{bbsId},#{bbsNm})
|
||||
</insert>
|
||||
</mapper>
|
||||
709
src/main/resources/mybatis/xml/mapper/sure/SureMapper.xml
Normal file
709
src/main/resources/mybatis/xml/mapper/sure/SureMapper.xml
Normal file
@@ -0,0 +1,709 @@
|
||||
<?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.mapper.sure.SureMapper">
|
||||
<!-- 수정 대상 조회(슈어엠) -->
|
||||
<select id="selectMsgSureCorrList"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SEQNO
|
||||
, ETC2
|
||||
, ETC3
|
||||
, ETC5
|
||||
FROM
|
||||
SUREData
|
||||
WHERE 1=1
|
||||
AND ETC2 = #{smsInnb}
|
||||
AND ETC3 = #{smsToInnb}
|
||||
AND ETC5 = #{sopmalCd}
|
||||
]]>
|
||||
</select>
|
||||
<!-- 수정 대상 조회(슈어엠) -->
|
||||
<select id="selectMssageSureSttusInqire"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
TB.STTUS
|
||||
, TB.ERRCODE
|
||||
, TB.SNDNG_IDNB
|
||||
, TB.BIZTYPE
|
||||
, TB.DV
|
||||
, TB.FILE
|
||||
, TB.ETC2
|
||||
, TB.ETC3
|
||||
, TB.ETC5
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
(
|
||||
IF(RESULT = '0' OR RESULT = '1', 'WAIT',
|
||||
IF(RESULT = 'R' AND (REQTIME > DATE_ADD(NOW(), INTERVAL 5 MINUTE) AND REQTIME > '00000000000000'), 'WAIT',
|
||||
IF(RESULT = 'R' AND (DATE_ADD(NOW(), INTERVAL 5 MINUTE) >= REQTIME AND REQTIME > '00000000000000'), 'SEND',
|
||||
IF(RESULT = 'Y', 'SEND',
|
||||
IF(RESULT = 'X', 'CAN',
|
||||
IF(RESULT = '2', 'OK', 'FAIL')
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
) AS STTUS
|
||||
, ERRCODE
|
||||
, SEQNO AS SNDNG_IDNB
|
||||
, BIZTYPE AS BIZTYPE
|
||||
, (
|
||||
IF (SENTMEDIA IS NULL, KIND, SENTMEDIA)
|
||||
) AS DV
|
||||
, FKCONTENT AS FILE
|
||||
, ETC2
|
||||
, ETC3
|
||||
, ETC5
|
||||
FROM
|
||||
SUREData
|
||||
WHERE 1=1
|
||||
AND ETC2 = #{smsInnb}
|
||||
AND ETC3 = #{smsToInnb}
|
||||
AND ETC5 = #{sopmalCd}
|
||||
UNION ALL
|
||||
SELECT
|
||||
(
|
||||
IF(RESULT = 'X', 'CAN',
|
||||
IF(RESULT = '2', 'OK', 'FAIL')
|
||||
)
|
||||
) AS STTUS
|
||||
, ERRCODE
|
||||
, SEQNO AS SNDNG_IDNB
|
||||
, BIZTYPE AS BIZTYPE
|
||||
, (
|
||||
IF (SENTMEDIA IS NULL, KIND, SENTMEDIA)
|
||||
) AS DV
|
||||
, FKCONTENT AS FILE
|
||||
, ETC2
|
||||
, ETC3
|
||||
, ETC5
|
||||
FROM
|
||||
]]>
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(yyyyMM)">
|
||||
SUREData_log_${yyyyMM}
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(yyyyMM)">
|
||||
SUREData_log
|
||||
</when>
|
||||
</choose>
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
AND ETC2 = #{smsInnb}
|
||||
AND ETC3 = #{smsToInnb}
|
||||
AND ETC5 = #{sopmalCd}
|
||||
) TB
|
||||
]]>
|
||||
</select>
|
||||
<!-- 발송내역 수정 -->
|
||||
<update id="updateMssageStatusUpdt">
|
||||
<foreach collection="list" item="data" index="index" separator=",">
|
||||
UPDATE
|
||||
GC_SMS_TO
|
||||
SET
|
||||
STTUS = #{data.sttus},
|
||||
RSLT_CD #{data.errorcode}
|
||||
WHERE 1=1
|
||||
AND SMS_INNB = #{data.smsInnb}
|
||||
AND SNDNG_IDNB = #{data.sndngIdnb}
|
||||
AND SMS_TO_INNB = #{data.smsToInnb}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<!-- ##############################################################################################
|
||||
메시지 공통 START
|
||||
################################################################################################# -->
|
||||
<!-- SMS 슈어엠테이블 등록 -->
|
||||
<insert id="insertMssageNtcnSureRegist">
|
||||
<selectKey order="BEFORE" keyProperty="seqno" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(SEQNO), 0)+1
|
||||
FROM SUREData
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO SUREData (
|
||||
SEQNO
|
||||
, INTIME
|
||||
, USERCODE
|
||||
, DEPTCODE
|
||||
, BIZTYPE
|
||||
, YELLOWID_KEY
|
||||
, REQNAME
|
||||
, REQPHONE
|
||||
, CALLPHONE
|
||||
, SUBJECT
|
||||
, MSG
|
||||
, REQTIME
|
||||
, SENTTIME
|
||||
, RECVTIME
|
||||
, RESULT
|
||||
, KIND
|
||||
, FKCONTENT
|
||||
, RETRY
|
||||
, RESEND
|
||||
, TEMPLATECODE
|
||||
, RETEXT
|
||||
, BTN_TYPE_01
|
||||
, BTN_NM_01
|
||||
, BTN_01_URL_01
|
||||
, BTN_01_URL_02
|
||||
, BTN_TYPE_02
|
||||
, BTN_NM_02
|
||||
, BTN_02_URL_01
|
||||
, BTN_02_URL_02
|
||||
, BTN_TYPE_03
|
||||
, BTN_NM_03
|
||||
, BTN_03_URL_01
|
||||
, BTN_03_URL_02
|
||||
, BTN_TYPE_04
|
||||
, BTN_NM_04
|
||||
, BTN_04_URL_01
|
||||
, BTN_04_URL_02
|
||||
, BTN_TYPE_05
|
||||
, BTN_NM_05
|
||||
, BTN_05_URL_01
|
||||
, BTN_05_URL_02
|
||||
, ETC1
|
||||
, ETC2
|
||||
, ETC5
|
||||
, AGENT_FLAG
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="surem" index="index" separator=",">
|
||||
(
|
||||
#{seqno} + #{index}
|
||||
, DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
|
||||
, #{surem.usercode}
|
||||
, #{surem.deptcode}
|
||||
, #{surem.biztype}
|
||||
, #{surem.yellowidKey}
|
||||
, #{surem.reqname}
|
||||
, #{surem.reqphone}
|
||||
, #{surem.callphone}
|
||||
, #{surem.subject}
|
||||
, #{surem.msg}
|
||||
, #{surem.reqtime}
|
||||
, #{surem.senttime}
|
||||
, #{surem.recvtime}
|
||||
, #{surem.result}
|
||||
, #{surem.kind}
|
||||
, #{surem.fkcontent}
|
||||
, #{surem.retry}
|
||||
, #{surem.resend}
|
||||
, #{surem.templatecode}
|
||||
, #{surem.retext}
|
||||
, #{surem.btnType01}
|
||||
, #{surem.btnNm01}
|
||||
, #{surem.btn01url01}
|
||||
, #{surem.btn01url02}
|
||||
, #{surem.btnType02}
|
||||
, #{surem.btnNm02}
|
||||
, #{surem.btn02url01}
|
||||
, #{surem.btn02url02}
|
||||
, #{surem.btnType03}
|
||||
, #{surem.btnNm03}
|
||||
, #{surem.btn03url01}
|
||||
, #{surem.btn03url02}
|
||||
, #{surem.btnType04}
|
||||
, #{surem.btnNm04}
|
||||
, #{surem.btn04url01}
|
||||
, #{surem.btn04url02}
|
||||
, #{surem.btnType05}
|
||||
, #{surem.btnNm05}
|
||||
, #{surem.btn05url01}
|
||||
, #{surem.btn05url02}
|
||||
, #{surem.etc1}
|
||||
, #{surem.etc2}
|
||||
, #{surem.etc5}
|
||||
, #{surem.agentFlag}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
<!-- SMS 슈어엠테이블 로그 등록 -->
|
||||
<insert id="insertMssageNtcnSureLogRegist">
|
||||
<selectKey order="BEFORE" keyProperty="seqno" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(SEQNO), 0)+1
|
||||
FROM SUREData_log
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO SUREData_log (
|
||||
SEQNO
|
||||
, INTIME
|
||||
, USERCODE
|
||||
, DEPTCODE
|
||||
, BIZTYPE
|
||||
, YELLOWID_KEY
|
||||
, REQNAME
|
||||
, REQPHONE
|
||||
, CALLPHONE
|
||||
, SUBJECT
|
||||
, MSG
|
||||
, REQTIME
|
||||
, SENTTIME
|
||||
, RECVTIME
|
||||
, RESULT
|
||||
, KIND
|
||||
, FKCONTENT
|
||||
, RETRY
|
||||
, RESEND
|
||||
, TEMPLATECODE
|
||||
, RETEXT
|
||||
, BTN_TYPE_01
|
||||
, BTN_NM_01
|
||||
, BTN_01_URL_01
|
||||
, BTN_01_URL_02
|
||||
, BTN_TYPE_02
|
||||
, BTN_NM_02
|
||||
, BTN_02_URL_01
|
||||
, BTN_02_URL_02
|
||||
, BTN_TYPE_03
|
||||
, BTN_NM_03
|
||||
, BTN_03_URL_01
|
||||
, BTN_03_URL_02
|
||||
, BTN_TYPE_04
|
||||
, BTN_NM_04
|
||||
, BTN_04_URL_01
|
||||
, BTN_04_URL_02
|
||||
, BTN_TYPE_05
|
||||
, BTN_NM_05
|
||||
, BTN_05_URL_01
|
||||
, BTN_05_URL_02
|
||||
, ETC1
|
||||
, ETC2
|
||||
, ETC5
|
||||
, AGENT_FLAG
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="surem" index="index" separator=",">
|
||||
(
|
||||
#{seqno} + #{index}
|
||||
, DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
|
||||
, #{surem.usercode}
|
||||
, #{surem.deptcode}
|
||||
, #{surem.biztype}
|
||||
, #{surem.yellowidKey}
|
||||
, #{surem.reqname}
|
||||
, #{surem.reqphone}
|
||||
, #{surem.callphone}
|
||||
, #{surem.subject}
|
||||
, #{surem.msg}
|
||||
, #{surem.reqtime}
|
||||
, #{surem.senttime}
|
||||
, #{surem.recvtime}
|
||||
, #{surem.result}
|
||||
, #{surem.kind}
|
||||
, #{surem.fkcontent}
|
||||
, #{surem.retry}
|
||||
, #{surem.resend}
|
||||
, #{surem.templatecode}
|
||||
, #{surem.retext}
|
||||
, #{surem.btnType01}
|
||||
, #{surem.btnNm01}
|
||||
, #{surem.btn01url01}
|
||||
, #{surem.btn01url02}
|
||||
, #{surem.btnType02}
|
||||
, #{surem.btnNm02}
|
||||
, #{surem.btn02url01}
|
||||
, #{surem.btn02url02}
|
||||
, #{surem.btnType03}
|
||||
, #{surem.btnNm03}
|
||||
, #{surem.btn03url01}
|
||||
, #{surem.btn03url02}
|
||||
, #{surem.btnType04}
|
||||
, #{surem.btnNm04}
|
||||
, #{surem.btn04url01}
|
||||
, #{surem.btn04url02}
|
||||
, #{surem.btnType05}
|
||||
, #{surem.btnNm05}
|
||||
, #{surem.btn05url01}
|
||||
, #{surem.btn05url02}
|
||||
, #{surem.etc1}
|
||||
, #{surem.etc2}
|
||||
, #{surem.etc5}
|
||||
, #{surem.agentFlag}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
<!-- 슈어테이블 대상 수 조회 -->
|
||||
<select id="selectMssageSureSeqNo"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
SEQNO
|
||||
, CALLPHONE
|
||||
, ETC2
|
||||
, ETC5
|
||||
FROM
|
||||
SUREData
|
||||
WHERE 1=1
|
||||
AND ETC2 IN
|
||||
<foreach item="item" index="index" collection="smsInnbList"
|
||||
open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
<!-- 대상수 수정 대상 조회 -->
|
||||
<select id="selectSureCntList"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SEQNO
|
||||
, CALLPHONE
|
||||
, ETC2
|
||||
, ETC3
|
||||
, ETC5
|
||||
, INTIME
|
||||
FROM
|
||||
SUREData
|
||||
WHERE 1=1
|
||||
AND SEQNO IN
|
||||
]]>
|
||||
<foreach item="item" index="index" collection="seqSumList"
|
||||
open="(" separator="," close=")">
|
||||
#{item.seqno}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 대상수 수정 대상 조회 -->
|
||||
<select id="selectSureCntList2" parameterType="java.util.List"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
SEQNO
|
||||
, CALLPHONE
|
||||
, ETC2
|
||||
, ETC3
|
||||
, ETC5
|
||||
, INTIME
|
||||
FROM
|
||||
SUREData
|
||||
WHERE 1=1
|
||||
AND ETC2 IN
|
||||
<foreach item="item" index="index" collection="smsList"
|
||||
open="(" separator="," close=")">
|
||||
#{item.smsInnb}
|
||||
</foreach>
|
||||
ORDER BY ETC2, ETC5, SEQNO ASC
|
||||
</select>
|
||||
|
||||
<select id="selectSureUpdtList"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
MAX(SEQNO) AS SEQNO
|
||||
, ETC2
|
||||
, ETC5
|
||||
FROM
|
||||
SUREData
|
||||
WHERE 1=1
|
||||
AND ETC2 IN
|
||||
]]>
|
||||
<foreach item="item" index="index" collection="smsList"
|
||||
open="(" separator="," close=")">
|
||||
#{item.smsInnb}
|
||||
</foreach>
|
||||
GROUP BY ETC2, ETC5
|
||||
</select>
|
||||
|
||||
<!-- 슈어테이블 대상 수 조회 -->
|
||||
<select id="selectMssageSureBySeqno"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
SEQNO
|
||||
, CALLPHONE
|
||||
, ETC2
|
||||
, ETC5
|
||||
FROM
|
||||
SUREData
|
||||
WHERE 1=1
|
||||
AND SEQNO IN
|
||||
<foreach item="item" index="index" collection="smsInnbList"
|
||||
open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!-- 슈어엠 발송상태 갱신 -->
|
||||
<select id="selectMssageSureSttusInqireLog">
|
||||
SELECT
|
||||
TB.STTUS
|
||||
, TB.ERRCODE
|
||||
, TB.SNDNG_IDNB
|
||||
, TB.BIZTYPE
|
||||
, TB.DV
|
||||
, TB.FILE
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
(
|
||||
IF(RESULT = '0' OR RESULT = '1', 'WAIT',
|
||||
IF(RESULT = 'R' AND (
|
||||
REQTIME > DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 5 MINUTE), '%Y%m%d%H%i%s')
|
||||
AND REQTIME > '00000000000000'
|
||||
), 'WAIT',
|
||||
IF(RESULT = 'R' AND (
|
||||
DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 5 MINUTE), '%Y%m%d%H%i%s') >= REQTIME
|
||||
AND REQTIME > '00000000000000'
|
||||
), 'SEND',
|
||||
IF(RESULT = 'Y', 'SEND',
|
||||
IF(RESULT = 'X', 'CAN',
|
||||
IF(RESULT = '2', 'OK', 'FAIL')
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
) AS STTUS
|
||||
, ERRCODE
|
||||
, SEQNO AS SNDNG_IDNB
|
||||
, BIZTYPE AS BIZTYPE
|
||||
, ETC2 AS SMS_INNB
|
||||
, (
|
||||
IF (SENTMEDIA IS NULL, KIND, SENTMEDIA)
|
||||
) AS DV
|
||||
, FKCONTENT AS FILE
|
||||
FROM
|
||||
SUREData
|
||||
WHERE
|
||||
SEQNO IN
|
||||
<foreach item="item" index="index" collection="syncUpdtToList" open="(" separator="," close=")">
|
||||
#{item.sndngIdnb}
|
||||
</foreach>
|
||||
UNION ALL
|
||||
SELECT
|
||||
(
|
||||
IF(RESULT = 'X', 'CAN',
|
||||
IF(RESULT = '2', 'OK', 'FAIL')
|
||||
)
|
||||
) AS STTUS
|
||||
, ERRCODE
|
||||
, SEQNO AS SNDNG_IDNB
|
||||
, BIZTYPE AS BIZTYPE
|
||||
, ETC2 AS SMS_INNB
|
||||
, (
|
||||
IF (SENTMEDIA IS NULL, KIND, SENTMEDIA)
|
||||
) AS DV
|
||||
, FKCONTENT AS FILE
|
||||
FROM
|
||||
SUREData_log_${logDate}
|
||||
WHERE
|
||||
SEQNO IN
|
||||
<foreach item="item" index="index" collection="syncUpdtToList" open="(" separator="," close=")">
|
||||
#{item.sndngIdnb}
|
||||
</foreach>
|
||||
) TB
|
||||
</select>
|
||||
|
||||
<!-- SMS 슈어엠테이블 등록 -->
|
||||
<insert id="insertMssageSureRegistOld"
|
||||
useGeneratedKeys="true" keyProperty="seqno">
|
||||
<![CDATA[
|
||||
INSERT INTO SUREData (
|
||||
INTIME
|
||||
, USERCODE
|
||||
, DEPTCODE
|
||||
, BIZTYPE
|
||||
, YELLOWID_KEY
|
||||
, REQNAME
|
||||
, REQPHONE
|
||||
, CALLPHONE
|
||||
, SUBJECT
|
||||
, MSG
|
||||
, REQTIME
|
||||
, SENTTIME
|
||||
, RECVTIME
|
||||
, RESULT
|
||||
, KIND
|
||||
, FKCONTENT
|
||||
, RETRY
|
||||
, RESEND
|
||||
, TEMPLATECODE
|
||||
, RETEXT
|
||||
, BTN_TYPE_01
|
||||
, BTN_NM_01
|
||||
, BTN_01_URL_01
|
||||
, BTN_01_URL_02
|
||||
, BTN_TYPE_02
|
||||
, BTN_NM_02
|
||||
, BTN_02_URL_01
|
||||
, BTN_02_URL_02
|
||||
, BTN_TYPE_03
|
||||
, BTN_NM_03
|
||||
, BTN_03_URL_01
|
||||
, BTN_03_URL_02
|
||||
, BTN_TYPE_04
|
||||
, BTN_NM_04
|
||||
, BTN_04_URL_01
|
||||
, BTN_04_URL_02
|
||||
, BTN_TYPE_05
|
||||
, BTN_NM_05
|
||||
, BTN_05_URL_01
|
||||
, BTN_05_URL_02
|
||||
, ETC1
|
||||
, ETC2
|
||||
, ETC3
|
||||
, ETC4
|
||||
, ETC5
|
||||
, AGENT_FLAG
|
||||
)
|
||||
]]>
|
||||
VALUES
|
||||
<foreach collection="list" item="surem" index="index" separator=",">
|
||||
(
|
||||
DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
|
||||
, #{surem.usercode}
|
||||
, #{surem.deptcode}
|
||||
, #{surem.biztype}
|
||||
, #{surem.yellowidKey}
|
||||
, #{surem.reqname}
|
||||
, #{surem.reqphone}
|
||||
, #{surem.callphone}
|
||||
, #{surem.subject}
|
||||
, #{surem.msg}
|
||||
, #{surem.reqtime}
|
||||
, #{surem.senttime}
|
||||
, #{surem.recvtime}
|
||||
, #{surem.result}
|
||||
, #{surem.kind}
|
||||
, #{surem.fkcontent}
|
||||
, #{surem.retry}
|
||||
, #{surem.resend}
|
||||
, #{surem.templatecode}
|
||||
, #{surem.retext}
|
||||
, #{surem.btnType01}
|
||||
, #{surem.btnNm01}
|
||||
, #{surem.btn01url01}
|
||||
, #{surem.btn01url02}
|
||||
, #{surem.btnType02}
|
||||
, #{surem.btnNm02}
|
||||
, #{surem.btn02url01}
|
||||
, #{surem.btn02url02}
|
||||
, #{surem.btnType03}
|
||||
, #{surem.btnNm03}
|
||||
, #{surem.btn03url01}
|
||||
, #{surem.btn03url02}
|
||||
, #{surem.btnType04}
|
||||
, #{surem.btnNm04}
|
||||
, #{surem.btn04url01}
|
||||
, #{surem.btn04url02}
|
||||
, #{surem.btnType05}
|
||||
, #{surem.btnNm05}
|
||||
, #{surem.btn05url01}
|
||||
, #{surem.btn05url02}
|
||||
, #{surem.etc1}
|
||||
, #{surem.etc2}
|
||||
, #{surem.etc3}
|
||||
, #{surem.etc4}
|
||||
, #{surem.etc5}
|
||||
, #{surem.agentFlag}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
<!-- SMS 슈어엠테이블 등록 -->
|
||||
<insert id="insertMssageSureRegist"
|
||||
useGeneratedKeys="true" keyProperty="seqno">
|
||||
<![CDATA[
|
||||
INSERT INTO SUREData (
|
||||
INTIME
|
||||
, USERCODE
|
||||
, DEPTCODE
|
||||
, BIZTYPE
|
||||
, YELLOWID_KEY
|
||||
, REQNAME
|
||||
, REQPHONE
|
||||
, CALLPHONE
|
||||
, SUBJECT
|
||||
, MSG
|
||||
, REQTIME
|
||||
, SENTTIME
|
||||
, RECVTIME
|
||||
, RESULT
|
||||
, KIND
|
||||
, FKCONTENT
|
||||
, RETRY
|
||||
, RESEND
|
||||
, TEMPLATECODE
|
||||
, RETEXT
|
||||
, BTN_TYPE_01
|
||||
, BTN_NM_01
|
||||
, BTN_01_URL_01
|
||||
, BTN_01_URL_02
|
||||
, BTN_TYPE_02
|
||||
, BTN_NM_02
|
||||
, BTN_02_URL_01
|
||||
, BTN_02_URL_02
|
||||
, BTN_TYPE_03
|
||||
, BTN_NM_03
|
||||
, BTN_03_URL_01
|
||||
, BTN_03_URL_02
|
||||
, BTN_TYPE_04
|
||||
, BTN_NM_04
|
||||
, BTN_04_URL_01
|
||||
, BTN_04_URL_02
|
||||
, BTN_TYPE_05
|
||||
, BTN_NM_05
|
||||
, BTN_05_URL_01
|
||||
, BTN_05_URL_02
|
||||
, ETC1
|
||||
, ETC2
|
||||
, ETC3
|
||||
, ETC4
|
||||
, ETC5
|
||||
, AGENT_FLAG
|
||||
)
|
||||
]]>
|
||||
VALUES
|
||||
(
|
||||
DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
|
||||
, #{usercode}
|
||||
, #{deptcode}
|
||||
, #{biztype}
|
||||
, #{yellowidKey}
|
||||
, #{reqname}
|
||||
, #{reqphone}
|
||||
, #{callphone}
|
||||
, #{subject}
|
||||
, #{msg}
|
||||
, #{reqtime}
|
||||
, #{senttime}
|
||||
, #{recvtime}
|
||||
, #{result}
|
||||
, #{kind}
|
||||
, #{fkcontent}
|
||||
, #{retry}
|
||||
, #{resend}
|
||||
, #{templatecode}
|
||||
, #{retext}
|
||||
, #{btnType01}
|
||||
, #{btnNm01}
|
||||
, #{btn01url01}
|
||||
, #{btn01url02}
|
||||
, #{btnType02}
|
||||
, #{btnNm02}
|
||||
, #{btn02url01}
|
||||
, #{btn02url02}
|
||||
, #{btnType03}
|
||||
, #{btnNm03}
|
||||
, #{btn03url01}
|
||||
, #{btn03url02}
|
||||
, #{btnType04}
|
||||
, #{btnNm04}
|
||||
, #{btn04url01}
|
||||
, #{btn04url02}
|
||||
, #{btnType05}
|
||||
, #{btnNm05}
|
||||
, #{btn05url01}
|
||||
, #{btn05url02}
|
||||
, #{etc1}
|
||||
, #{etc2}
|
||||
, #{etc3}
|
||||
, #{etc4}
|
||||
, #{etc5}
|
||||
, #{agentFlag}
|
||||
)
|
||||
</insert>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user