merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
593
build/resources/main/mybatis/xml/mapper/gcone/tm/BOTmMapper.xml
Normal file
593
build/resources/main/mybatis/xml/mapper/gcone/tm/BOTmMapper.xml
Normal file
@@ -0,0 +1,593 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.wb.domainserver.domain.gcone.tm.mapper.BOTmMapper">
|
||||
<!--주문관련-->
|
||||
<!--주문 조회-->
|
||||
<select id="selectBOOrdrList" resultType="DataMap">
|
||||
SELECT GO.ORDR_INNB,
|
||||
GO.ORDR_STTUS_CD,
|
||||
FN_GET_COMMCODE_NAME('ORDR_STTUS',GO.ORDR_STTUS_CD) AS ORDR_STTUS_NM,
|
||||
GOS.ORDR_DLVY_INNB,
|
||||
GOS.DLVYLC_ADRES_DV_CD
|
||||
FROM GC_ORDER GO
|
||||
INNER JOIN GC_ORDER_SHIPPING GOS
|
||||
ON GO.ORDR_INNB = GOS.ORDR_INNB
|
||||
AND GO.SOPMAL_CD = GOS.SOPMAL_CD
|
||||
WHERE GO.ORDR_INNB = #{order_seq}
|
||||
AND GO.SOPMAL_CD = #{order_site}
|
||||
</select>
|
||||
|
||||
<!--분류 정보 -->
|
||||
<select id = "selectBOTmitmList" resultType="Map">
|
||||
SELECT (C.CTGRY_DEPTH - 2) AS level,
|
||||
CASE
|
||||
WHEN C.CTGRY_DEPTH - 2 = 3 THEN CONCAT(CASE WHEN CHAR_LENGTH(C.UPPER_CTGRY_ID) = 3 THEN CONCAT("0",C.UPPER_CTGRY_ID) ELSE C.UPPER_CTGRY_ID END,C.CTGRY_ID)
|
||||
WHEN C.CTGRY_DEPTH - 2 = 2 THEN CASE WHEN CHAR_LENGTH(C.CTGRY_ID) THEN CONCAT("0",C.CTGRY_ID) ELSE C.UPPER_CTGRY_ID END
|
||||
END AS category_code,
|
||||
C.CTGRY_NM AS title
|
||||
FROM GC_CATEGORY C
|
||||
WHERE 1=1
|
||||
AND C.SOPMAL_CD = #{order_site}
|
||||
AND C.USE_AT = 'Y'
|
||||
AND C.TM_EXPSR_AT = 'Y'
|
||||
ORDER BY
|
||||
C.CTGRY_DEPTH ,
|
||||
C.SORT_ORDR,
|
||||
C.CTGRY_ID
|
||||
</select>
|
||||
|
||||
<!--상품 목록 검색-->
|
||||
<!--상품 목록 건수-->
|
||||
<select id = "selectBOTmGoodsCnt" resultType="Integer">
|
||||
SELECT
|
||||
COUNT(DISTINCT O.GOODS_OPTN_INNB)
|
||||
FROM GC_GOODS G
|
||||
INNER JOIN GC_GOODS_OPTION O
|
||||
ON O.GOODS_INNB = G.GOODS_INNB
|
||||
AND O.SOPMAL_CD = G.SOPMAL_CD
|
||||
AND O.OPTN_EXPSR_AT = 'Y'
|
||||
INNER JOIN GC_CATEGORY_LINK GCL1
|
||||
ON G.GOODS_INNB = GCL1.GOODS_INNB
|
||||
AND G.SOPMAL_CD = GCL1.SOPMAL_CD
|
||||
INNER JOIN GC_CATEGORY C1
|
||||
ON C1.CTGRY_ID = GCL1.CTGRY_ID
|
||||
AND C1.SOPMAL_CD = G.SOPMAL_CD
|
||||
AND C1.USE_AT = 'Y'
|
||||
AND C1.TM_EXPSR_AT = 'Y'
|
||||
WHERE G.SOPMAL_CD = #{order_site}
|
||||
AND G.GOODS_STTUS_CD = '01'
|
||||
AND ((G.EXPSR_DV_CD = 01 OR (G.EXPSR_DV_CD = 03 AND DATE_FORMAT(SYSDATE(), '%Y-%m-%d') BETWEEN G.EXPSR_BGN_DT AND G.EXPSR_END_DT)) OR LEFT(G.GOODS_NM,2)='TM') /*노출 코드*/
|
||||
AND CASE WHEN CAST(IFNULL(#{sch_brand},'') AS UNSIGNED) = '' THEN 1
|
||||
ELSE (C1.CTGRY_ID = CAST(#{sch_brand} AS UNSIGNED) OR C1.UPPER_CTGRY_ID = CAST(#{sch_brand} AS UNSIGNED)) END
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sch_category)">/*2차 카테고리*/
|
||||
AND C1.CTGRY_ID = CASE
|
||||
WHEN LEFT(#{sch_category}, 4) = #{sch_brand} THEN SUBSTRING(#{sch_category}, 5)
|
||||
ELSE 0359360
|
||||
END
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sch_goods)">
|
||||
AND (G.GOODS_NM LIKE CONCAT('%',#{sch_goods},'%') OR O.OPTN_VAL_1 LIKE CONCAT('%',#{sch_goods},'%'))
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!--상품 목록 리스트-->
|
||||
<select id = "selectBOTmGoodsList" resultType="Map">
|
||||
SELECT
|
||||
DISTINCT C1.CTGRY_ID AS category_code,
|
||||
C1.CTGRY_NM AS title,
|
||||
G.GOODS_INNB AS goods_seq,
|
||||
fn_get_commcode_name('GOODS_STTUS',G.GOODS_STTUS_CD ) AS goods_status,
|
||||
'' AS goods_view,
|
||||
G.GOODS_CD AS goods_code,
|
||||
G.REPRSNT_GOODS_CD AS main_goods_code,
|
||||
G.GOODS_NM AS goods_name,
|
||||
'' AS oneplusone,
|
||||
'' AS oneplusone_ea,
|
||||
'' AS oneplusone_cnt,
|
||||
'' AS oneplusone_cross,
|
||||
O.GOODS_OPTN_INNB AS option_seq,
|
||||
'' AS default_option,
|
||||
CONCAT(IFNULL(O.OPTN_NM_1,''),IFNULL(O.OPTN_NM_2,''),IFNULL(O.OPTN_NM_3,''),IFNULL(O.OPTN_NM_4,'')) AS option_title,
|
||||
O.OPTN_VAL_1 AS option1,
|
||||
O.OPTN_CD_1 AS optioncode1,
|
||||
O.CNSMRPRIC AS consumer_price,
|
||||
O.SLEPRIC AS price,
|
||||
O.COMPNB_DSCNT_AT AS opt_multiple_sale_yn,
|
||||
O.SCTN_DSCNT_AT AS opt_cart_sale_yn,
|
||||
C1.CTGRY_ID, /*ORDER BY에 필요함*/
|
||||
C1.SORT_ORDR,
|
||||
GCL1.GOODS_ORDR ,
|
||||
O.GOODS_OPTN_INNB
|
||||
FROM GC_GOODS G
|
||||
INNER JOIN GC_GOODS_OPTION O
|
||||
ON O.GOODS_INNB = G.GOODS_INNB
|
||||
AND O.SOPMAL_CD = G.SOPMAL_CD
|
||||
AND O.OPTN_EXPSR_AT = 'Y'
|
||||
INNER JOIN GC_CATEGORY_LINK GCL1
|
||||
ON G.GOODS_INNB = GCL1.GOODS_INNB
|
||||
AND G.SOPMAL_CD = GCL1.SOPMAL_CD
|
||||
INNER JOIN GC_CATEGORY C1
|
||||
ON C1.CTGRY_ID = GCL1.CTGRY_ID
|
||||
AND C1.SOPMAL_CD = G.SOPMAL_CD
|
||||
AND C1.USE_AT = 'Y'
|
||||
AND C1.TM_EXPSR_AT = 'Y'
|
||||
WHERE G.SOPMAL_CD = #{order_site}
|
||||
AND G.GOODS_STTUS_CD = '01'
|
||||
AND ((G.EXPSR_DV_CD = 01 OR (G.EXPSR_DV_CD = 03 AND DATE_FORMAT(SYSDATE(), '%Y-%m-%d') BETWEEN G.EXPSR_BGN_DT AND G.EXPSR_END_DT)) OR LEFT(G.GOODS_NM,2)='TM') /*노출 코드*/
|
||||
AND CASE WHEN IFNULL(#{sch_brand},'') = '' THEN 1
|
||||
ELSE (C1.CTGRY_ID = #{sch_brand} OR C1.UPPER_CTGRY_ID = #{sch_brand} ) END
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sch_category)">/*2차 카테고리*/
|
||||
AND C1.CTGRY_ID = CASE
|
||||
WHEN LEFT(#{sch_category}, 4) = #{sch_brand} THEN SUBSTRING(#{sch_category}, 5)
|
||||
ELSE #{sch_category}
|
||||
END
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sch_goods)">
|
||||
AND (G.GOODS_NM LIKE CONCAT('%',#{sch_goods},'%') OR O.OPTN_VAL_1 LIKE CONCAT('%',#{sch_goods},'%'))
|
||||
</if>
|
||||
ORDER BY C1.CTGRY_ID, C1.SORT_ORDR , GCL1.GOODS_ORDR , O.GOODS_OPTN_INNB
|
||||
LIMIT #{start}, #{lines}
|
||||
</select>
|
||||
|
||||
<!--상품정보-->
|
||||
<select id ="selectBOTmGoodsDtlInfo" resultType="Map">
|
||||
SELECT
|
||||
C1.CTGRY_ID AS category_code,
|
||||
C1.CTGRY_NM AS brand_name,
|
||||
G.GOODS_INNB AS goods_seq,
|
||||
G.GOODS_NM AS goods_name,
|
||||
G.GOODS_CD AS goods_code,
|
||||
G.REPRSNT_GOODS_CD AS main_goods_code,
|
||||
IF(LENGTH(G.MBL_GOODS_DC) > 10, G.MBL_GOODS_DC, G.GOODS_DC) AS contents
|
||||
FROM GC_GOODS G
|
||||
LEFT JOIN GC_CATEGORY_LINK GCL
|
||||
ON G.GOODS_INNB = GCL.GOODS_INNB
|
||||
AND G.SOPMAL_CD = GCL.SOPMAL_CD
|
||||
LEFT JOIN GC_CATEGORY C1
|
||||
ON C1.CTGRY_ID = GCL.CTGRY_ID
|
||||
AND C1.SOPMAL_CD = G.SOPMAL_CD
|
||||
AND (C1.USE_AT = 'Y' OR LEFT(C1.CTGRY_NM,2)= 'TM')
|
||||
AND C1.CTGRY_DEPTH = 4
|
||||
AND C1.TM_EXPSR_AT = 'Y'
|
||||
AND C1.URL_DV_CD = '01'
|
||||
WHERE G.SOPMAL_CD = #{order_site}
|
||||
AND C1.CTGRY_ID IS NOT NULL
|
||||
AND G.GOODS_INNB = #{goods_seq}
|
||||
AND G.GOODS_STTUS_CD = '01'
|
||||
AND ((G.EXPSR_DV_CD = 01 OR (G.EXPSR_DV_CD = 03 AND DATE_FORMAT(SYSDATE(), '%Y-%m-%d') BETWEEN G.EXPSR_BGN_DT AND G.EXPSR_END_DT)) OR LEFT(G.GOODS_NM,2)='TM')
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!--사은품 이벤트 조회-->
|
||||
<select id="selectBOTmEvtList" resultType="map">
|
||||
SELECT
|
||||
GE.EVT_INNB AS gift_seq,
|
||||
GE.EVTNM AS title,
|
||||
GE.EVT_BGN_DT AS start_date,
|
||||
GE.EVT_END_DT AS end_date,
|
||||
CASE
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '01' THEN 'all'
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '02' THEN 'category'
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '03' THEN 'goods'
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '04' THEN 'except_category'
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '05' THEN 'except_goods'
|
||||
END AS goods_rule,
|
||||
GE.GOODS_APPLC_DV_CD AS goods_applc_dv_cd
|
||||
FROM
|
||||
GC_EVENT GE
|
||||
WHERE 1 =1
|
||||
AND GE.EVT_DV = '02' /* 사은품 이벤트 */
|
||||
AND SYSDATE() BETWEEN GE.EVT_BGN_DT AND GE.EVT_END_DT /* 현재 진행중인 이벤트이고 */
|
||||
AND GE.SOPMAL_CD = #{order_site}
|
||||
AND GE.USE_AT = 'Y'
|
||||
AND CASE WHEN IFNULL(GE.APPLC_DAY, '') = '' THEN 1
|
||||
ELSE GE.APPLC_DAY LIKE CONCAT('%', CONCAT('0', DAYOFWEEK(SYSDATE())), '%')
|
||||
END
|
||||
AND CASE WHEN IFNULL(GE.LMTT_BGNTME, '') = '' OR IFNULL(GE.LMTT_ENDTME, '') = '' THEN 1
|
||||
ELSE DATE_FORMAT(NOW(), '%H%i') BETWEEN GE.LMTT_BGNTME AND GE.LMTT_ENDTME -- EVT_BGN_DT => LMTT_BGNTME 로 변경
|
||||
END
|
||||
AND GE.EVT_TRGET_DV_CD = '01' /* 전체 대상인 이벤트만 적용 */
|
||||
</select>
|
||||
|
||||
<!--사은품 대상 상품/카테고리-->
|
||||
<select id="selectBOTmTgtGiftList" resultType="java.util.Map">
|
||||
SELECT MIN(EC.EVT_APPLC_GOODS_INNB) AS gift_choice_seq,
|
||||
EC.EVT_INNB AS gift_seq, GE.GOODS_APPLC_DV_CD,
|
||||
CASE
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '01' THEN 'all'
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '02' THEN 'goods' -- CTGRY
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '03' THEN 'goods'
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '04' THEN 'except_goods' -- CTGRY
|
||||
WHEN GE.GOODS_APPLC_DV_CD = '05' THEN 'except_goods'
|
||||
END AS choice_type, /*카테고리를 상품으로 치환해서 반환*/
|
||||
TMG.GOODS_INNB AS goods_seq,
|
||||
TMG.SOPMAL_CD
|
||||
-- TMG.CTGRY_ID,
|
||||
-- TMG.CTGRY_NM,
|
||||
-- TMG.UPPER_CTGRY_ID,
|
||||
-- TMG.CTGRY_DEPTH,
|
||||
-- TMG.CTGRY_CD,
|
||||
-- TMG.CTGRY_ID AS category_code
|
||||
FROM GC_EVENT GE
|
||||
INNER JOIN GC_EVENT_CHOICE EC
|
||||
ON EC.SOPMAL_CD = GE.SOPMAL_CD
|
||||
AND EC.EVT_INNB = GE.EVT_INNB
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT G.GOODS_NM,
|
||||
G.GOODS_INNB,
|
||||
-- GGO.GOODS_OPTN_INNB,
|
||||
-- GGO.OPTN_TY,
|
||||
G.SOPMAL_CD,
|
||||
C1.CTGRY_ID,
|
||||
C1.CTGRY_NM,
|
||||
C1.UPPER_CTGRY_ID,
|
||||
C1.CTGRY_DEPTH,
|
||||
C1.CTGRY_CD
|
||||
FROM GC_GOODS G
|
||||
-- INNER JOIN GC_GOODS_OPTION GGO
|
||||
-- ON GGO.GOODS_INNB = G.GOODS_INNB
|
||||
-- AND GGO.SOPMAL_CD = G.SOPMAL_CD
|
||||
-- AND GGO.OPTN_EXPSR_AT = 'Y'
|
||||
INNER JOIN GC_CATEGORY_LINK GCL1
|
||||
ON G.GOODS_INNB = GCL1.GOODS_INNB
|
||||
AND G.SOPMAL_CD = GCL1.SOPMAL_CD
|
||||
INNER JOIN GC_CATEGORY C1
|
||||
ON C1.CTGRY_ID = GCL1.CTGRY_ID
|
||||
AND C1.SOPMAL_CD = G.SOPMAL_CD
|
||||
AND C1.USE_AT = 'Y'
|
||||
AND C1.TM_EXPSR_AT = 'Y'
|
||||
WHERE G.SOPMAL_CD = #{order_site}
|
||||
AND G.GOODS_STTUS_CD = '01'
|
||||
AND G.GOODS_KND_CD = '01'
|
||||
AND G.USE_AT = 'Y'
|
||||
AND (G.EXPSR_DV_CD = '01' OR (G.EXPSR_DV_CD = '03' AND DATE_FORMAT(SYSDATE(), '%Y-%m-%d') BETWEEN G.EXPSR_BGN_DT AND G.EXPSR_END_DT))
|
||||
) TMG
|
||||
ON EC.SOPMAL_CD = TMG.SOPMAL_CD
|
||||
AND CASE WHEN GE.GOODS_APPLC_DV_CD IN ('02', '04') THEN EC.CTGRY_ID = TMG.CTGRY_ID
|
||||
WHEN GE.GOODS_APPLC_DV_CD IN ('03', '05') THEN EC.GOODS_INNB = TMG.GOODS_INNB
|
||||
ELSE 0
|
||||
END
|
||||
WHERE 1 = 1
|
||||
AND GE.SOPMAL_CD = #{order_site}
|
||||
AND GE.EVT_INNB = #{gift_seq}
|
||||
GROUP BY gift_seq, GE.GOODS_APPLC_DV_CD,
|
||||
choice_type,
|
||||
goods_seq,
|
||||
TMG.SOPMAL_CD
|
||||
ORDER BY GOODS_SEQ
|
||||
</select>
|
||||
|
||||
<!--증정 상품-->
|
||||
<select id="selectBOTmGiftList" resultType="java.util.Map">
|
||||
SELECT GEB.EVT_BNEF_INNB AS gift_benefit_seq,
|
||||
GEB.EVT_INNB AS gift_seq,
|
||||
'' AS benefit_rule,
|
||||
GEB.BGN_AMT AS sprice,
|
||||
GEB.END_AMT AS eprice,
|
||||
GEB.PROVD_CNT AS ea,
|
||||
CASE
|
||||
WHEN COUNT(GEBG.GOODS_INNB) > 0 THEN GROUP_CONCAT(GEBG.GOODS_INNB)
|
||||
ELSE NULL
|
||||
END AS gift_goods_seq /*상품고유번호 concat해서 밑에 in절로 뽑음*/
|
||||
FROM GC_EVENT_BENEFITS GEB
|
||||
INNER JOIN GC_EVENT_BENEFIT_GIFT GEBG
|
||||
ON GEB.SOPMAL_CD = GEBG.SOPMAL_CD
|
||||
AND GEB.EVT_BNEF_INNB = GEBG.EVT_BNEF_INNB
|
||||
WHERE GEB.SOPMAL_CD = #{order_site}
|
||||
AND GEB.EVT_INNB = #{gift_seq}
|
||||
GROUP BY GEB.EVT_BNEF_INNB,
|
||||
GEB.EVT_INNB,
|
||||
GEB.BGN_AMT,
|
||||
GEB.END_AMT,
|
||||
GEB.PROVD_CNT
|
||||
ORDER BY GEB.BGN_AMT
|
||||
</select>
|
||||
|
||||
<!--상품 조회-->
|
||||
<select id="selectBOTmGiftGoodsList" resultType="java.util.Map">
|
||||
SELECT GG.GOODS_INNB AS goods_seq,
|
||||
CASE
|
||||
WHEN GG.GOODS_KND_CD = '01' THEN 'goods'
|
||||
ELSE 'gift'
|
||||
END AS goods_type,
|
||||
CASE
|
||||
WHEN GG.GOODS_STTUS_CD = '01' THEN 'normal'
|
||||
WHEN GG.GOODS_STTUS_CD = '02' THEN 'runout'
|
||||
WHEN GG.GOODS_STTUS_CD = '03' THEN 'unsold'
|
||||
END AS goods_status,
|
||||
CASE
|
||||
WHEN GG.EXPSR_DV_CD = '01' THEN 'look'
|
||||
WHEN GG.EXPSR_DV_CD = '02' THEN 'notLook'
|
||||
WHEN GG.EXPSR_DV_CD = '03' AND NOW() BETWEEN GG.EXPSR_BGN_DT AND GG.EXPSR_END_DT THEN 'look'
|
||||
ELSE 'notLook'
|
||||
END AS goods_view,
|
||||
GG.GOODS_CD AS goods_code,
|
||||
GG.GOODS_NM AS goods_name,
|
||||
GGO.GOODS_OPTN_INNB AS option_seq
|
||||
FROM GC_GOODS GG
|
||||
INNER JOIN GC_GOODS_OPTION GGO
|
||||
ON GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
AND GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GGO.USE_AT = 'Y'
|
||||
WHERE GG.GOODS_INNB IN (${giftGoodsSeq})
|
||||
AND GG.SOPMAL_CD = #{order_site}
|
||||
</select>
|
||||
|
||||
<!--결제정보-->
|
||||
<select id="selectOrdrSetleInfo" resultType="Map">
|
||||
SELECT SETLE_COMPT_AT AS deposit_yn,
|
||||
SETLE_DT AS deposit_date,
|
||||
VIRTL_ACNTNB AS virtual_account
|
||||
FROM GC_ORDER_SETLE
|
||||
WHERE ORDR_INNB = #{order_seq}
|
||||
AND SOPMAL_CD = #{order_site}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!--휴대전화로 회원검색-->
|
||||
<select id="selectBOTmMbrInfo" resultType="Map">
|
||||
SELECT
|
||||
MBR_INNB AS member_seq,
|
||||
MBR_NM AS user_name,
|
||||
CAST(AES_DECRYPT(UNHEX(GM.EMAIL) , #{secretKey}) AS CHAR(50)) AS email,
|
||||
'done' AS status
|
||||
FROM GC_MEMBER GM
|
||||
WHERE GM.USE_AT = 'Y'
|
||||
AND GM.MBR_DV_CD = 'GC'
|
||||
AND MBR_NM = #{user_name}
|
||||
AND MBTLNB = HEX(AES_ENCRYPT(REPLACE(#{cellphone}, '-', ''), #{secretKey}))
|
||||
ORDER BY MBR_INNB DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
|
||||
<!--결제성공시 또는 주문접수 완료시 필요 데이터 set-->
|
||||
<select id="selectBOTmOrdrInfo" resultType="Map">
|
||||
SELECT
|
||||
GO.TM_ORDR_INNB AS tm_order_seq,
|
||||
GO.ORDR_INNB AS order_seq,
|
||||
'결제성공' AS order_status,
|
||||
FN_GET_COMMCODE_NAME('ORDR_STTUS', GO.ORDR_STTUS_CD) AS order_msg,
|
||||
GOS.SETLE_COMPT_AT AS deposit_yn,
|
||||
GOS.SETLE_DT AS deposit_date,
|
||||
GOS.VIRTL_ACNTNB AS virtual_account,
|
||||
GOS.VIRTL_ACNT_RCPMNY_LMTT_DE_CTY AS virtual_date,
|
||||
GO.ORDR_STTUS_CD AS step
|
||||
FROM
|
||||
GC_ORDER GO
|
||||
INNER JOIN GC_ORDER_SETLE GOS
|
||||
ON GO.ORDR_INNB = GOS.ORDR_INNB
|
||||
AND GO.SOPMAL_CD = GOS.SOPMAL_CD
|
||||
WHERE
|
||||
GO.SOPMAL_CD = #{sopmalCd}
|
||||
AND GO.ORDR_INNB = #{ordrInnb}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<!-- 싱크 관련 -->
|
||||
<!--최근 주문 내역-->
|
||||
<select id="selectBOTmRecentOrdrList" resultType="Map">
|
||||
SELECT
|
||||
O.ORDR_INNB AS order_seq,
|
||||
O.REGIST_DT AS regist_date,
|
||||
O.RL_SETLE_AMT AS settleprice,
|
||||
CASE
|
||||
WHEN GOS.SETLE_TY_CD = '01' THEN 'card'
|
||||
WHEN GOS.SETLE_TY_CD = '02' THEN 'bank'
|
||||
WHEN GOS.SETLE_TY_CD = '03' THEN 'account'
|
||||
WHEN GOS.SETLE_TY_CD = '04' THEN 'virtual'
|
||||
WHEN GOS.SETLE_TY_CD = '05' THEN 'escrow_virtual'
|
||||
WHEN GOS.SETLE_TY_CD = '06' THEN 'escrow_account'
|
||||
WHEN GOS.SETLE_TY_CD = '07' THEN 'cellphone'
|
||||
WHEN GOS.SETLE_TY_CD = '08' THEN 'point'
|
||||
WHEN GOS.SETLE_TY_CD = '09' THEN 'pos'
|
||||
WHEN GOS.SETLE_TY_CD = '10' THEN 'payco_coupon'
|
||||
WHEN GOS.SETLE_TY_CD = '11' THEN 'multi'
|
||||
END AS payment,
|
||||
FN_GET_COMMCODE_NAME('SETLE_MTH',GOS.SETLE_TY_CD) AS payment_name,
|
||||
IFNULL(S.TENTCPN_NM , '') AS store_name,
|
||||
GROUP_CONCAT(I.GOODS_NM, ' x ', D.ORDR_QY,IF(D.STEP85 > 0, concat('(-', D.STEP85, ')'), ''),'개'SEPARATOR ', ') AS goods_list
|
||||
FROM
|
||||
GC_ORDER O
|
||||
INNER JOIN GC_ORDER_ITEM I
|
||||
ON
|
||||
I.ORDR_INNB = O.ORDR_INNB
|
||||
AND O.SOPMAL_CD = I.SOPMAL_CD
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION D
|
||||
ON
|
||||
D.ORDR_GOODS_INNB = I.ORDR_GOODS_INNB
|
||||
AND D.SOPMAL_CD = I.SOPMAL_CD
|
||||
INNER JOIN GC_ORDER_SETLE GOS
|
||||
ON
|
||||
O.ORDR_INNB = GOS.ORDR_INNB
|
||||
AND O.SOPMAL_CD = GOS.SOPMAL_CD
|
||||
LEFT JOIN GC_STORE S
|
||||
ON
|
||||
S.STR_INNB = O.STR_INNB
|
||||
WHERE
|
||||
O.MBR_INNB = #{member_seq}
|
||||
AND O.SOPMAL_CD = #{order_site}
|
||||
AND O.ORDR_STTUS_CD BETWEEN 25 AND 75
|
||||
AND D.ORDR_QY > D.STEP85
|
||||
GROUP BY
|
||||
O.ORDR_INNB,
|
||||
O.REGIST_DT,
|
||||
O.RL_SETLE_AMT,
|
||||
GOS.SETLE_TY_CD,
|
||||
S.TENTCPN_NM
|
||||
ORDER BY
|
||||
O.ORDR_INNB DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!--주문내역-->
|
||||
<select id="selectBOTmOrdrList">
|
||||
SELECT
|
||||
GROUP_CONCAT(
|
||||
IF(ISNULL(E.DLIVY_INNB), '', CONCAT('{','\"status\":\"', E.DLIVY_STTUS_CD, '\"',
|
||||
',\"company\":\"', ifnull(S.HDRYCPN_NM, ''), '\"',
|
||||
',\"delivery_company_code\":\"', ifnull(E.HDRYCPN_CD, ''), '\"',
|
||||
',\"delivery_number\":\"', ifnull(E.INVCNB, ''), '\"',
|
||||
',\"export_date\":\"', ifnull(E.DLIVY_DT, ''), '\"',
|
||||
',\"shipping_date\":\"', ifnull(E.DLVY_COMPT_DT, ''), '\"','}' )) SEPARATOR '|'
|
||||
) AS export_list,
|
||||
IFNULL((
|
||||
SELECT
|
||||
SUM(IFNULL(REFUND_AMT, 0))
|
||||
FROM GC_ORDER_REFUND
|
||||
WHERE ORDR_INNB = O.ORDR_INNB AND REFUND_PROCS_STTUS_CD = '03'
|
||||
), 0) AS refund_price,
|
||||
O.ORDR_STTUS_CD AS step,
|
||||
GOS.SETLE_COMPT_AT AS deposit_yn,
|
||||
DATE_FORMAT(GOS.SETLE_DT,'%Y-%m-%d %H:%i:%s') AS deposit_date,
|
||||
GOS.RCPMNYER_NM AS depositor,
|
||||
GOS.RCPMNY_ACNTNB AS bank_account,
|
||||
CASE
|
||||
WHEN O.ORDR_STTUS_CD = 15 THEN O.RL_SETLE_AMT
|
||||
ELSE 0
|
||||
END AS remain_price, /* 복합결제 안하니 주문접수일 때 실결제금액으로 남은금액 알려줌 */
|
||||
'' AS multi_pay_list,
|
||||
O.ORDR_INNB order_seq
|
||||
FROM GC_ORDER O
|
||||
INNER JOIN GC_ORDER_SETLE GOS
|
||||
ON O.SOPMAL_CD = GOS.SOPMAL_CD
|
||||
AND O.ORDR_INNB = GOS.ORDR_INNB
|
||||
LEFT JOIN GC_GOODS_EXPORT E
|
||||
ON E.ORDR_INNB = O.ORDR_INNB
|
||||
AND E.SOPMAL_CD = O.SOPMAL_CD
|
||||
LEFT JOIN GC_SWEET_TRACKER_CODE S
|
||||
ON S.GCONE_HDRYCPN_CD=E.HDRYCPN_CD
|
||||
WHERE 1=1
|
||||
AND O.SOPMAL_CD = #{order_site}
|
||||
AND O.ORDR_INNB IN <foreach collection="arr" item="arr" separator="," open="(" close=")">${arr}</foreach>
|
||||
GROUP BY
|
||||
O.ORDR_INNB ,
|
||||
O.ORDR_STTUS_CD,
|
||||
GOS.SETLE_COMPT_AT,
|
||||
GOS.SETLE_DT,
|
||||
GOS.RCPMNYER_NM,
|
||||
GOS.RCPMNY_ACNTNB,
|
||||
O.RL_SETLE_AMT
|
||||
</select>
|
||||
|
||||
<!--환불 동기화-->
|
||||
<select id="selectTmRefundList" resultType="Map">
|
||||
SELECT
|
||||
GOR.ORDER_REFUND_INNB AS refund_seq,
|
||||
CASE
|
||||
WHEN GOR.REFUND_PROCS_STTUS_CD = '01' THEN 'request'
|
||||
WHEN GOR.REFUND_PROCS_STTUS_CD = '02' THEN 'ing'
|
||||
WHEN GOR.REFUND_PROCS_STTUS_CD = '03' THEN 'complete'
|
||||
END AS status,
|
||||
GOR.REFUND_CD AS refund_code
|
||||
FROM
|
||||
GC_ORDER_REFUND GOR
|
||||
WHERE
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(order_site)">GOR.SOPMAL_CD = #{order_site}</when>
|
||||
<otherwise>GOR.SOPMAL_CD IN ('CH','NC')</otherwise>
|
||||
</choose>
|
||||
AND GOR.REFUND_CD IN <foreach collection="arr" item="arr" separator="," open="(" close=")">${arr}</foreach>
|
||||
</select>
|
||||
|
||||
<!--반품 동기화-->
|
||||
<select id="selectTmReturnList" resultType="Map">
|
||||
SELECT
|
||||
GOR.ORDER_REFUND_INNB AS return_seq,
|
||||
CASE
|
||||
WHEN GOR.RETURN_PROCS_STTUS_CD = '01' THEN 'request'
|
||||
WHEN GOR.RETURN_PROCS_STTUS_CD = '02' THEN 'complete'
|
||||
END AS status,
|
||||
GOR.RETURN_CD AS return_code
|
||||
FROM
|
||||
GC_ORDER_REFUND GOR
|
||||
WHERE
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(order_site)">GOR.SOPMAL_CD = #{order_site}</when>
|
||||
<otherwise>GOR.SOPMAL_CD IN ('CH','NC')</otherwise>
|
||||
</choose>
|
||||
AND GOR.RETURN_CD IN <foreach collection="arr" item="arr" separator="," open="(" close=")">${arr}</foreach>
|
||||
</select>
|
||||
|
||||
<!--여러 회원 최근 주문 내역-->
|
||||
<select id="selectTmManyMbrRecentOrdrList" resultType="Map">
|
||||
SELECT
|
||||
O.MBR_INNB AS member_seq,
|
||||
O.ORDR_INNB AS order_seq,
|
||||
FN_GET_SOPMAL_NAME(O.SOPMAL_CD) AS shop_name,
|
||||
LEFT(O.REGIST_DT,10) AS regist_date,
|
||||
O.RL_SETLE_AMT AS settleprice,
|
||||
CASE
|
||||
WHEN GOS.SETLE_TY_CD = '01' THEN 'card'
|
||||
WHEN GOS.SETLE_TY_CD = '02' THEN 'bank'
|
||||
WHEN GOS.SETLE_TY_CD = '03' THEN 'account'
|
||||
WHEN GOS.SETLE_TY_CD = '04' THEN 'virtual'
|
||||
WHEN GOS.SETLE_TY_CD = '05' THEN 'escrow_virtual'
|
||||
WHEN GOS.SETLE_TY_CD = '06' THEN 'escrow_account'
|
||||
WHEN GOS.SETLE_TY_CD = '07' THEN 'cellphone'
|
||||
WHEN GOS.SETLE_TY_CD = '08' THEN 'point'
|
||||
WHEN GOS.SETLE_TY_CD = '09' THEN 'pos'
|
||||
WHEN GOS.SETLE_TY_CD = '10' THEN 'payco_coupon'
|
||||
WHEN GOS.SETLE_TY_CD = '11' THEN 'multi'
|
||||
END AS payment,
|
||||
IFNULL(R.TENTCPN_NM, '') AS store_name,
|
||||
GROUP_CONCAT(I.GOODS_NM, ' x ', GOIO.ORDR_QY, IF(GOIO.STEP85 > 0, concat('(-', GOIO.STEP85, ')'), ''), '개' SEPARATOR ', ') AS goods_list
|
||||
FROM
|
||||
GC_ORDER O
|
||||
INNER JOIN GC_ORDER_ITEM I
|
||||
ON O.ORDR_INNB = I.ORDR_INNB
|
||||
AND O.SOPMAL_CD = I.SOPMAL_CD
|
||||
AND I.GOODS_NM != ''
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION GOIO
|
||||
ON I.ORDR_GOODS_INNB = GOIO.ORDR_GOODS_INNB
|
||||
AND I.SOPMAL_CD = GOIO.SOPMAL_CD
|
||||
AND GOIO.CNSMRPRIC > 0
|
||||
INNER JOIN GC_ORDER_SETLE GOS
|
||||
ON O.ORDR_INNB = GOS.ORDR_INNB
|
||||
AND O.SOPMAL_CD = GOS.SOPMAL_CD
|
||||
LEFT JOIN GC_ORDER_POSINFO GOP
|
||||
ON GOP.ORDER_SEQ = O.ORDR_INNB
|
||||
LEFT JOIN GC_STORE R
|
||||
ON GOP.STORE_SEQ = R.STR_INNB
|
||||
WHERE
|
||||
O.ORDR_INNB IN (
|
||||
SELECT
|
||||
MAX(O2.ORDR_INNB)
|
||||
FROM
|
||||
GC_ORDER O2
|
||||
INNER JOIN GC_ORDER_ITEM GOI
|
||||
ON O2.ORDR_INNB = GOI.ORDR_INNB
|
||||
AND O2.SOPMAL_CD = GOI.SOPMAL_CD
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION GOIO
|
||||
ON GOI.ORDR_GOODS_INNB = GOIO.ORDR_GOODS_INNB
|
||||
AND GOI.SOPMAL_CD = GOIO.SOPMAL_CD
|
||||
WHERE
|
||||
1 = 1
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(order_site)">AND O2.SOPMAL_CD = #{order_site}</when>
|
||||
<otherwise>AND O2.SOPMAL_CD IN ('CH','NC')</otherwise>
|
||||
</choose>
|
||||
AND O2.MBR_INNB IN <foreach collection="arr" item="arr" separator="," open="(" close=")">${arr}</foreach>
|
||||
AND O2.MBR_DV_CD = 'GC'
|
||||
AND O2.SLE_ENVRN_CD <![CDATA[<>]]> 'TM'
|
||||
AND O2.ORDR_STTUS_CD BETWEEN '25' AND '75'
|
||||
AND GOIO.ORDR_QY > GOIO.STEP85
|
||||
GROUP BY
|
||||
O2.MBR_INNB)
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(order_site)">AND O.SOPMAL_CD = #{order_site}</when>
|
||||
<otherwise>AND O.SOPMAL_CD IN ('CH','NC')</otherwise>
|
||||
</choose>
|
||||
AND O.MBR_INNB IN <foreach collection="arr" item="arr" separator="," open="(" close=")">${arr}</foreach>
|
||||
AND O.MBR_DV_CD = 'GC'
|
||||
GROUP BY
|
||||
O.MBR_INNB,
|
||||
O.ORDR_INNB,
|
||||
O.REGIST_DT,
|
||||
O.RL_SETLE_AMT,
|
||||
O.SOPMAL_CD ,
|
||||
GOS.SETLE_TY_CD,
|
||||
R.TENTCPN_NM
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user