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,175 @@
<?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.evntview.mapper.BOEvntViewMapper">
<!-- 이벤트 보기 혜택 기본 정보 및 보상 정보 통합 조회 -->
<select id="selectEventViewBenefitInfoAndContent" parameterType="com.wb.domainserver.domain.gcone.bnft.evntview.vo.BOEvntViewVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
SELECT
a.BNF_INNB, -- 혜택 설정 고유번호
b.CN_DC AS EVENT_DESC, -- 내용 설명
DATE_FORMAT(b.CN_BGN_DT, '%Y-%m-%d %H:%i:%s') AS CN_BGN_DT, -- 시작일시
DATE_FORMAT(b.CN_END_DT, '%Y-%m-%d %H:%i:%s') AS CN_END_DT, -- 종료일시
b.WORDS_CN AS EVENT_DETAIL, -- 안내내용
b.IMG_FIL_COURS AS EVENT_IMG_PATH, -- 이미지파일경로
b.IMG_FIL_NM AS EVENT_IMG_NAME, -- 이미지파일명
b.TME_SECND AS LOADING_TIME, -- 시간(초)
b.LINK_URL AS EVENT_LINK_URL, -- 링크
b.CN_SJ AS EVENT_LINK_TITLE, -- 내용 제목
b.CN_DC AS EVENT_LINK_DESC, -- 내용 설명
-- 보상 정보 추가
r.BNF_RWD_CATE_DV_CD, -- 보상 항목 구분 코드
r.BNF_RWD_GODS_DV_CD, -- 보상 상품 구분 코드
r.MLG_RWD_AMT, -- 마일리지 금액
r.COUPON_INNB, -- 쿠폰고유번호
r.ITM_NM, -- 표시명
CASE
WHEN EXISTS (
SELECT 1
FROM GC_BENEFIT_RECEIPT rcpt
JOIN GC_BENEFIT_PARTCPTN p ON rcpt.BNF_PRT_INNB = p.BNF_PRT_INNB
WHERE p.BNF_INNB = a.BNF_INNB
AND p.MBR_INNB = #{mbrInnb}
AND p.MBR_DV_CD = #{mbrDvCd}
) THEN 'Y'
ELSE 'N'
END AS ACCUMULATED_YN -- 적립 완료 여부
FROM
GC_BENEFIT a -- 혜택 기본 정보 테이블
LEFT JOIN
GC_BENEFIT_CONTENT b ON a.BNF_INNB = b.BNF_INNB -- 혜택 내용설정 정보 테이블
LEFT JOIN
GC_BENEFIT_REWARD r ON a.BNF_INNB = r.BNF_INNB
AND r.BNF_RWD_CATE_DV_CD = '06010' /* 이벤트보기 보상 코드 */
WHERE
a.BNF_DV_CD = '060' /* 이벤트보기 혜택 코드 */
AND a.USE_AT = 'Y' -- 사용여부
AND NOW() BETWEEN b.CN_BGN_DT AND b.CN_END_DT -- gc_benefit_content 테이블의 기간으로 변경
AND a.SOPMAL_CD = #{sopmalCd} -- 쇼핑몰 코드
<if test="bnfInnb != null">
AND a.BNF_INNB = #{bnfInnb} -- 특정 혜택 번호 조건
</if>
ORDER BY
a.REGIST_DT DESC -- 등록일시 기준 내림차순 정렬
</select>
<!-- 이벤트 보기 안내문 조회 -->
<select id="selectEventViewInstruction" parameterType="com.wb.domainserver.domain.gcone.bnft.evntview.vo.BOEvntViewVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
SELECT
WORDS_CN_2 AS WORDS_CN
FROM
GC_BENEFIT_GDCC
WHERE
BNF_DV_CD = 060
AND SOPMAL_CD = #{sopmalCd}
</select>
<!-- 초록잎 지급량 조회 -->
<select id="selectLeafCounts" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
SELECT
PYMNT_CNT, -- 지급 초록잎 개수
SPECIAL_CNT -- 스페셜 지급 초록잎 개수
FROM
GC_BENEFIT_CPSLMKN
WHERE
BNF_DV_CD = '060' -- 혜택 구분 코드
AND SOPMAL_CD = #{sopmalCd} -- 쇼핑몰 코드
</select>
<!-- 이벤트 보기 혜택 참여 정보 삽입 -->
<insert id="insertEventViewBenefitParticipation" parameterType="com.wb.domainserver.domain.gcone.bnft.evntview.vo.BOEvntViewVO">
<selectKey keyProperty="bnfPrtInnb" resultType="java.lang.Long" order="BEFORE">
SELECT IFNULL(MAX(BNF_PRT_INNB), 0) + 1 FROM GC_BENEFIT_PARTCPTN
</selectKey>
INSERT INTO GC_BENEFIT_PARTCPTN (
BNF_PRT_INNB, -- 혜택 참여 고유 번호
BNF_INNB, -- 혜택 설정 고유번호
BNF_PRT_DT, -- 혜택 참여일시
MBR_INNB, -- 회원고유번호
MBR_DV_CD, -- 회원구분코드
PRT_LEAF_CNT, -- 참여 초록잎 개수 추가
REGUSR, -- 등록자
REGIST_DT -- 등록일시
) VALUES (
#{bnfPrtInnb},
#{bnfInnb}, -- 혜택 설정 고유번호 파라미터
NOW(), -- 현재 시간
#{mbrInnb}, -- 회원고유번호 파라미터
#{mbrDvCd}, -- 회원구분코드 파라미터
#{paidLeafCnt}, -- 초록잎 개수 파라미터 추가
#{regusr}, -- 등록자 파라미터
NOW() -- 현재 시간
)
</insert>
<!-- 이벤트 보기 혜택 보상 정보 조회 -->
<select id="selectEventViewBenefitRewards" parameterType="com.wb.domainserver.domain.gcone.bnft.evntview.vo.BOEvntViewVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
SELECT
r.BNF_INNB, -- 혜택 설정 고유번호
r.BNF_RWD_CATE_DV_CD, -- 보상 항목 구분 코드
r.BNF_RWD_GODS_DV_CD, -- 보상 상품 구분 코드
r.MLG_RWD_AMT, -- 마일리지 금액
r.COUPON_INNB, -- 쿠폰고유번호
r.ITM_NM -- 표시명
FROM
GC_BENEFIT_REWARD r -- 혜택 보상설정 정보 테이블
JOIN
GC_BENEFIT b ON r.BNF_INNB = b.BNF_INNB -- 혜택 기본 정보 테이블과 조인 추가
WHERE
r.BNF_INNB = #{bnfInnb} -- 특정 혜택 번호 조건
AND r.BNF_RWD_CATE_DV_CD = '06010' /* 이벤트보기 보상 코드 */
AND b.SOPMAL_CD = #{sopmalCd} -- 쇼핑몰 코드 조건 추가
</select>
<!-- 이벤트 보기 마일리지 적립 여부 확인 -->
<select id="checkMileageAccumulation" parameterType="com.wb.domainserver.domain.gcone.bnft.evntview.vo.BOEvntViewVO" resultType="int">
SELECT
COUNT(1) -- 행 수 카운트
FROM
GC_BENEFIT_RECEIPT r -- 혜택 보상수령 내역 테이블
JOIN
GC_BENEFIT_PARTCPTN p ON r.BNF_PRT_INNB = p.BNF_PRT_INNB -- 혜택 참여 정보 테이블
WHERE
p.BNF_INNB = #{bnfInnb} -- 특정 혜택 번호 조건
AND p.MBR_INNB = #{mbrInnb} -- 회원 고유번호 조건
AND p.MBR_DV_CD = #{mbrDvCd} -- 회원 구분 코드 조건
AND r.BNF_RWD_CATE_DV_CD = '06010' -- 이벤트보기 보상 코드
</select>
<!-- 이벤트 보기 마일리지 적립 정보 삽입 -->
<insert id="insertEventViewMileageAccumulation" parameterType="com.wb.domainserver.domain.gcone.bnft.evntview.vo.BOEvntViewVO">
INSERT INTO GC_BENEFIT_RECEIPT (
BNF_PRT_INNB, -- 혜택 참여 고유번호
BNF_RWD_CATE_DV_CD, -- 보상 항목 구분 코드
BNF_RWD_GODS_DV_CD, -- 보상 상품 구분 코드
MLG_RWD_AMT, -- 마일리지 금액
REGUSR, -- 등록자
REGIST_DT -- 등록일시
) VALUES (
#{bnfPrtInnb}, -- 혜택 참여 고유번호 파라미터
'06010', /* 이벤트보기 보상 코드 */
'010', -- 보상 상품 구분 코드
#{mlgRwdAmt}, -- 마일리지 금액 파라미터
#{regusr}, -- 등록자 파라미터
NOW() -- 현재 시간
)
<selectKey keyProperty="bnfRcvInnb" resultType="java.math.BigInteger" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
</insert>
<!-- 이벤트 유효성 검증 (날짜 체크) -->
<select id="checkEventValidation" parameterType="com.wb.domainserver.domain.gcone.bnft.evntview.vo.BOEvntViewVO" resultType="int">
SELECT
COUNT(1) -- 유효한 이벤트 수
FROM
GC_BENEFIT a -- 혜택 기본 정보 테이블
JOIN
GC_BENEFIT_CONTENT b ON a.BNF_INNB = b.BNF_INNB -- 혜택 내용설정 정보 테이블
WHERE
a.BNF_INNB = #{bnfInnb} -- 특정 혜택 번호 조건
AND a.BNF_DV_CD = '060' /* 이벤트보기 혜택 코드 */
AND a.USE_AT = 'Y' -- 사용여부
AND NOW() BETWEEN b.CN_BGN_DT AND b.CN_END_DT -- gc_benefit_content 테이블의 기간으로 변경
AND a.SOPMAL_CD = #{sopmalCd} -- 쇼핑몰 코드
</select>
</mapper>