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

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

View File

@@ -0,0 +1,234 @@
<?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.bnft.qrevnt.mapper.BOQREvntMapper">
<!-- QR이벤트 혜택 정보 조회 -->
<select id="selectQREventBenefitInfo" parameterType="com.wb.domainserver.domain.gcone.bnft.qrevnt.vo.BOQREvntVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
<![CDATA[
SELECT
b.BNF_INNB, -- 혜택 고유 번호
b.BNF_SJ, -- 혜택 제목
b.USE_AT, -- 사용여부
b.BNF_BGN_DT, -- 진행기간 시작일시
b.BNF_END_DT, -- 진행기간 종료일시
b.SCR_REPRSNT_IMG, -- 화면 대표 이미지
b.SCR_REPRSNT_IMG_NM, -- 화면 대표 이미지명
b.SCR_REPRSNT_LINK_URL, -- 화면 대표 링크 URL
b.SCR_RWD_IMG, -- 화면 보상 이미지
b.SCR_RWD_IMG_NM, -- 화면 보상 이미지명
b.SCR_RWD_LINK_URL, -- 화면 보상 링크 URL
b.BNF_WORDS_CN, -- 혜택 안내
gd.WORDS_CN_1, -- 안내문 1 (이벤트 설명)
gd.WORDS_CN_2, -- 안내문 2 (쿠폰 사용법)
gd.WORDS_CN_3 -- 안내문 3 (기타 안내)
FROM
GC_BENEFIT b
LEFT JOIN GC_BENEFIT_GDCC gd ON b.BNF_DV_CD = gd.BNF_DV_CD
AND b.SOPMAL_CD = gd.SOPMAL_CD
WHERE
b.BNF_DV_CD = '150' -- QR이벤트 혜택 구분 코드
AND b.USE_AT = 'Y'
AND DATE(NOW()) BETWEEN DATE(b.BNF_BGN_DT) AND DATE(b.BNF_END_DT)
AND b.SOPMAL_CD = #{sopmalCd}
ORDER BY
b.BNF_INNB
]]>
</select>
<!-- QR이벤트 보상 정보 조회 -->
<select id="selectQREventRewardInfo" parameterType="com.wb.domainserver.domain.gcone.bnft.qrevnt.vo.BOQREvntVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
<![CDATA[
SELECT
br.BNF_RWD_CATE_DV_CD, -- 보상 항목 구분 코드
br.BNF_RWD_GODS_DV_CD, -- 보상 상품 구분 코드
br.MLG_RWD_AMT, -- 마일리지 보상 금액
br.COUPON_INNB, -- 쿠폰 고유 번호
COALESCE(cs.COUPON_SNDNG_NM, br.ITM_NM) AS ITM_NM, -- 쿠폰 이름
br.PRZWIN_QY, -- 당첨수량
br.PRZWIN_PRC, -- 당첨확률
cs.DWLD_BGN_DT, -- 다운로드 시작일 (사용유효시작일 대체)
cs.DWLD_END_DT, -- 다운로드 종료일 (사용유효종료일 대체)
cs.COUPON_SNDNG_DC -- 쿠폰 설명 (사용조건내용 대체)
FROM
GC_BENEFIT_REWARD br
LEFT JOIN GC_COUPON_SNDNG cs ON br.COUPON_INNB = cs.COUPON_SNDNG_INNB
AND cs.SOPMAL_CD = #{sopmalCd}
WHERE
br.BNF_INNB = #{bnfInnb}
ORDER BY
br.PRZWIN_PRC DESC
]]>
</select>
<!-- 매장별 참여 여부 확인 -->
<select id="selectStoreParticipationStatus" parameterType="com.wb.domainserver.domain.gcone.bnft.qrevnt.vo.BOQREvntVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
<![CDATA[
SELECT
COUNT(*) AS participationCount -- 참여 횟수
FROM
GC_BENEFIT_PARTCPTN
WHERE
MBR_INNB = #{mbrInnb} -- 회원 고유 번호
AND MBR_DV_CD = #{mbrDvCd}
AND BNF_INNB = #{bnfInnb} -- 혜택 고유 번호
AND STR_INNB = #{strInnb} -- 매장 고유 번호
AND DATE(BNF_PRT_DT) BETWEEN DATE(#{bnfBgnDt}) AND DATE(#{bnfEndDt}) -- 이벤트 기간 내
]]>
</select>
<!-- 전체 참여 여부 확인 (아이디당 1회) -->
<select id="selectTotalParticipationStatus" parameterType="com.wb.domainserver.domain.gcone.bnft.qrevnt.vo.BOQREvntVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
<![CDATA[
SELECT
COUNT(*) AS totalParticipationCount -- 전체 참여 횟수
FROM
GC_BENEFIT_PARTCPTN
WHERE
MBR_INNB = #{mbrInnb} -- 회원 고유 번호
AND MBR_DV_CD = #{mbrDvCd}
AND BNF_INNB = #{bnfInnb} -- 혜택 고유 번호
AND DATE(BNF_PRT_DT) BETWEEN DATE(#{bnfBgnDt}) AND DATE(#{bnfEndDt}) -- 이벤트 기간 내
]]>
</select>
<!-- 매장 정보 조회 -->
<select id="selectStoreInfo" parameterType="com.wb.domainserver.domain.gcone.bnft.qrevnt.vo.BOQREvntVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
<![CDATA[
SELECT
STR_INNB, -- 매장 고유번호
STR_NM, -- 매장명
STR_CD, -- 매장 코드
STR_ADRES, -- 매장 주소
STR_RNM_ADRES, -- 매장 도로명 주소
STR_TELNB, -- 매장 전화번호
CTY_DO, -- 시도
CTY_GUN_GU -- 시군구
FROM
GC_STORE
WHERE
STR_INNB = #{strInnb}
AND TENT_STTUS = '02' -- 개점 상태
]]>
</select>
<!-- QR이벤트 참여 처리 -->
<insert id="participateQREvent" parameterType="com.wb.domainserver.domain.gcone.bnft.qrevnt.vo.BOQREvntVO" useGeneratedKeys="true" keyProperty="bnfPrtInnb" keyColumn="BNF_PRT_INNB">
<![CDATA[
INSERT INTO GC_BENEFIT_PARTCPTN (
BNF_INNB, -- 혜택 고유 번호
BNF_PRT_DT, -- 혜택 참여 일시
MBR_INNB, -- 회원 고유 번호
MBR_DV_CD, -- 회원 구분 코드
STR_INNB, -- 매장 고유 번호
REGUSR, -- 등록자
REGIST_DT -- 등록 일시
) VALUES (
#{bnfInnb},
NOW(),
#{mbrInnb},
#{mbrDvCd},
#{strInnb},
#{regusr},
NOW()
)
]]>
</insert>
<!-- QR이벤트 당첨 결과 처리 (쿠폰 발급) -->
<insert id="insertQREventReward" parameterType="com.wb.domainserver.domain.gcone.bnft.qrevnt.vo.BOQREvntVO">
<selectKey keyProperty="bnfRcvInnb" resultType="java.math.BigInteger" order="BEFORE">
SELECT IFNULL(MAX(BNF_RCV_INNB), 0) + 1 FROM GC_BENEFIT_RECEIPT
</selectKey>
<![CDATA[
INSERT INTO GC_BENEFIT_RECEIPT (
BNF_RCV_INNB, -- 혜택 보상수령 고유 번호
BNF_PRT_INNB, -- 혜택 참여 고유 번호
BNF_RWD_CATE_DV_CD, -- 보상 항목 구분 코드
BNF_RWD_GODS_DV_CD, -- 보상 상품 구분 코드
MLG_RWD_AMT, -- 마일리지 보상 금액
COUPON_INNB, -- 쿠폰 고유 번호
GOODS_INNB, -- 상품 고유 번호
REGUSR, -- 등록자
REGIST_DT -- 등록 일시
) VALUES (
#{bnfRcvInnb},
#{bnfPrtInnb},
#{bnfRwdCateDvCd},
#{bnfRwdGodsDvCd},
#{mlgRwdAmt},
#{couponInnb},
#{goodsInnb},
#{regusr},
NOW()
)
]]>
</insert>
<!-- QR이벤트 참여 내역 조회 -->
<select id="selectQREventParticipationHistory" parameterType="com.wb.domainserver.domain.gcone.bnft.qrevnt.vo.BOQREvntVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
<![CDATA[
SELECT
p.BNF_PRT_INNB, -- 혜택 참여 고유 번호
p.BNF_PRT_DT, -- 혜택 참여 일시
p.STR_INNB, -- 매장 고유 번호
s.STR_NM, -- 매장명
s.STR_ADRES, -- 매장 주소
r.BNF_RCV_INNB, -- 보상 수령 고유 번호 (당첨 여부 확인용)
r.BNF_RWD_CATE_DV_CD, -- 보상 항목 구분 코드
r.BNF_RWD_GODS_DV_CD, -- 보상 상품 구분 코드
r.MLG_RWD_AMT, -- 마일리지 보상 금액
r.COUPON_INNB, -- 쿠폰 고유 번호
COALESCE(cs.COUPON_SNDNG_NM, br.ITM_NM) AS couponName, -- 쿠폰명
cs.DWLD_BGN_DT, -- 다운로드 시작일 (사용유효시작일 대체)
cs.DWLD_END_DT, -- 다운로드 종료일 (사용유효종료일 대체)
cs.COUPON_SNDNG_DC -- 쿠폰 설명 (사용조건내용 대체)
FROM
GC_BENEFIT_PARTCPTN p
LEFT JOIN GC_STORE s ON p.STR_INNB = s.STR_INNB
LEFT JOIN GC_BENEFIT_RECEIPT r ON p.BNF_PRT_INNB = r.BNF_PRT_INNB
LEFT JOIN GC_BENEFIT_REWARD br ON p.BNF_INNB = br.BNF_INNB
AND r.BNF_RWD_CATE_DV_CD = br.BNF_RWD_CATE_DV_CD
AND r.BNF_RWD_GODS_DV_CD = br.BNF_RWD_GODS_DV_CD
LEFT JOIN GC_COUPON_SNDNG cs ON r.COUPON_INNB = cs.COUPON_SNDNG_INNB
AND cs.SOPMAL_CD = #{sopmalCd}
WHERE
p.MBR_INNB = #{mbrInnb} -- 회원 고유 번호
AND p.MBR_DV_CD = #{mbrDvCd}
AND p.BNF_INNB = #{bnfInnb} -- 혜택 고유 번호
ORDER BY
p.BNF_PRT_DT DESC
]]>
</select>
<!-- QR이벤트 당첨 정보 상세 조회 -->
<select id="selectQREventWinningDetail" parameterType="com.wb.domainserver.domain.gcone.bnft.qrevnt.vo.BOQREvntVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
<![CDATA[
SELECT
p.BNF_PRT_INNB, -- 혜택 참여 고유 번호
p.BNF_PRT_DT, -- 혜택 참여 일시
s.STR_NM, -- 참여 매장명
s.STR_ADRES, -- 매장 주소
r.BNF_RCV_INNB, -- 보상 수령 고유 번호
r.COUPON_INNB AS couponNb, -- 쿠폰 번호 (발송 고유번호로 대체)
cs.COUPON_SNDNG_NM AS couponName, -- 쿠폰명
cs.COUPON_SNDNG_DC AS useCndtnCn, -- 쿠폰 설명 (사용조건으로 사용)
br.DSCNT_AMT AS dscntAmt, -- 할인 금액
br.DSCNT_RT AS dscntRt, -- 할인 율
DATE_FORMAT(cs.DWLD_END_DT, '%Y-%m-%d') AS expiryDateTime -- 유효기간
FROM
GC_BENEFIT_PARTCPTN p
INNER JOIN GC_STORE s ON p.STR_INNB = s.STR_INNB
INNER JOIN GC_BENEFIT_RECEIPT r ON p.BNF_PRT_INNB = r.BNF_PRT_INNB
INNER JOIN GC_COUPON_SNDNG cs ON r.COUPON_INNB = cs.COUPON_SNDNG_INNB
AND cs.SOPMAL_CD = #{sopmalCd}
INNER JOIN GC_BENEFIT_REWARD br ON p.BNF_INNB = br.BNF_INNB
AND r.BNF_RWD_CATE_DV_CD = br.BNF_RWD_CATE_DV_CD
AND r.BNF_RWD_GODS_DV_CD = br.BNF_RWD_GODS_DV_CD
WHERE
p.BNF_PRT_INNB = #{bnfPrtInnb} -- 혜택 참여 고유 번호
AND p.MBR_INNB = #{mbrInnb} -- 회원 고유 번호
AND p.MBR_DV_CD = #{mbrDvCd}
]]>
</select>
</mapper>