merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
@@ -0,0 +1,292 @@
|
||||
<?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.atend.mapper.BOAtendMapper">
|
||||
|
||||
<!-- 혜택 화면 설정 정보 조회 -->
|
||||
<select id="selectBOBenefitScreenInfo" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
b.BNF_INNB, -- 혜택 고유 번호
|
||||
b.USE_AT, -- 사용여부
|
||||
b.SCR_REPRSNT_IMG, -- 화면 대표 이미지 경로
|
||||
b.SCR_REPRSNT_LINK_URL, -- 화면 대표 이미지 링크 URL
|
||||
b.SCR_RWD_IMG, -- 보상 이미지 경로
|
||||
b.SCR_RWD_LINK_URL, -- 보상 이미지 링크 URL
|
||||
b.BNF_WORDS_CN, -- 혜택 안내 문구
|
||||
b.BNF_BGN_DT, -- 진행기간 시작일시
|
||||
b.BNF_END_DT, -- 진행기간 종료일시
|
||||
r.MLG_RWD_AMT -- 마일리지 보상 금액
|
||||
FROM
|
||||
GC_BENEFIT b
|
||||
LEFT JOIN GC_BENEFIT_REWARD r ON b.BNF_INNB = r.BNF_INNB
|
||||
WHERE
|
||||
b.BNF_DV_CD = '010' -- 출석체크 혜택 구분 코드
|
||||
AND b.USE_AT = 'Y'
|
||||
AND r.BNF_RWD_CATE_DV_CD = '01010'
|
||||
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>
|
||||
|
||||
<!-- 출석 보상 정보 조회 -->
|
||||
<select id="selectAttendanceRewardInfo" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" 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, -- 쿠폰 고유 번호
|
||||
br.ITM_NM AS ITM_NM, -- 보상 상품 이름
|
||||
br.RWD_CND_CNT, -- 보상 조건 횟수
|
||||
CASE
|
||||
WHEN br.BNF_RWD_CATE_DV_CD = '01010' THEN '매일'
|
||||
WHEN br.BNF_RWD_CATE_DV_CD IN ('01020', '01030') THEN CONCAT('누적 ', br.RWD_CND_CNT, '회')
|
||||
WHEN br.BNF_RWD_CATE_DV_CD = '01040' THEN '100% 출석'
|
||||
ELSE ''
|
||||
END AS reward_condition -- 보상 조건 설명
|
||||
from GC_BENEFIT gb
|
||||
LEFT JOIN
|
||||
GC_BENEFIT_REWARD br
|
||||
ON gb.BNF_INNB = br.BNF_INNB
|
||||
WHERE
|
||||
br.BNF_INNB = #{bnfInnb}
|
||||
AND gb.SOPMAL_CD = #{sopmalCd}
|
||||
ORDER BY
|
||||
br.RWD_CND_CNT;
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 월간 출석 현황 조회 -->
|
||||
<select id="selectMonthlyAttendance" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
DATE_FORMAT(BNF_PRT_DT, '%Y-%m-%d') AS attendanceDate -- 출석 날짜
|
||||
FROM
|
||||
GC_BENEFIT_PARTCPTN
|
||||
WHERE
|
||||
MBR_INNB = #{mbrInnb} -- 회원 고유 번호
|
||||
AND MBR_DV_CD = #{mbrDvCd}
|
||||
AND BNF_INNB = #{bnfInnb} -- 혜택 고유 번호
|
||||
AND DATE_FORMAT(BNF_PRT_DT, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m') -- 현재 월 조건
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 일일 출석 보상 정보 조회 -->
|
||||
<select id="selectDailyAttendanceReward" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
BNF_RWD_CATE_DV_CD, -- 보상 항목 구분 코드
|
||||
BNF_RWD_GODS_DV_CD, -- 보상 상품 구분 코드
|
||||
MLG_RWD_AMT, -- 마일리지 보상 금액
|
||||
COUPON_INNB, -- 쿠폰 고유 번호
|
||||
ITM_NM -- 표시명
|
||||
FROM
|
||||
GC_BENEFIT_REWARD
|
||||
WHERE
|
||||
BNF_INNB = #{bnfInnb} -- 혜택 고유 번호
|
||||
AND BNF_RWD_CATE_DV_CD = '01010' -- 일일 출석 보상 코드
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 누적 출석 보상 정보 조회 -->
|
||||
<select id="selectCumulativeAttendanceReward" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" 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.RWD_CND_CNT -- 보상 조건 횟수
|
||||
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} -- 혜택 고유 번호
|
||||
AND br.BNF_RWD_CATE_DV_CD IN ('01020', '01030', '01040') -- 누적 출석 보상 코드들
|
||||
ORDER BY
|
||||
br.RWD_CND_CNT -- 보상 조건 횟수 기준 정렬
|
||||
]]>
|
||||
</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 = '010' -- 혜택 구분 코드
|
||||
AND SOPMAL_CD = #{sopmalCd} -- 쇼핑몰 코드
|
||||
</select>
|
||||
|
||||
<!-- 출석체크 참여 -->
|
||||
<insert id="participateAttendanceCheck" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" useGeneratedKeys="true" keyProperty="bnfPrtInnb" keyColumn="BNF_PRT_INNB">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_BENEFIT_PARTCPTN (
|
||||
BNF_INNB, -- 혜택 고유 번호
|
||||
BNF_PRT_DT, -- 혜택 참여 일시
|
||||
MBR_INNB, -- 회원 고유 번호
|
||||
MBR_DV_CD, -- 회원 구분 코드
|
||||
PRT_LEAF_CNT, -- 참여 초록잎 개수
|
||||
REGUSR, -- 등록자
|
||||
REGIST_DT -- 등록 일시
|
||||
)
|
||||
SELECT
|
||||
#{bnfInnb},
|
||||
NOW(),
|
||||
#{mbrInnb},
|
||||
#{mbrDvCd},
|
||||
#{paidLeafCnt},
|
||||
#{regusr},
|
||||
NOW()
|
||||
WHERE
|
||||
NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM GC_BENEFIT_PARTCPTN
|
||||
WHERE BNF_INNB = #{bnfInnb}
|
||||
AND MBR_INNB = #{mbrInnb}
|
||||
AND MBR_DV_CD = #{mbrDvCd}
|
||||
AND DATE(BNF_PRT_DT) = CURDATE()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<!-- 마일리지 적립 (일일/누적 보상 구분) -->
|
||||
<insert id="insertMileageReceipt" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO">
|
||||
<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, -- 쿠폰 고유 번호
|
||||
REGUSR, -- 등록자
|
||||
REGIST_DT -- 등록 일시
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{bnfRcvInnb},
|
||||
#{bnfPrtInnb},
|
||||
#{bnfRwdCateDvCd},
|
||||
#{bnfRwdGodsDvCd},
|
||||
#{mlgRwdAmt},
|
||||
#{couponInnb},
|
||||
#{regusr},
|
||||
NOW()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<!-- 이번 달 출석 횟수 조회 -->
|
||||
<select id="selectCurrentMonthAttendanceCount" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(*) AS currentMonthAttendanceCount -- 이번 달 출석 횟수
|
||||
FROM
|
||||
GC_BENEFIT_PARTCPTN
|
||||
WHERE
|
||||
MBR_INNB = #{mbrInnb} -- 회원 고유 번호
|
||||
AND MBR_DV_CD = #{mbrDvCd}
|
||||
AND BNF_INNB = #{bnfInnb} -- 혜택 고유 번호
|
||||
AND DATE_FORMAT(BNF_PRT_DT, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m') -- 현재 월 조건
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 누적 출석 마일리지 조회 -->
|
||||
<select id="selectTotalAttendanceMileage" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COALESCE(SUM(r.MLG_RWD_AMT), 0) AS totalAttendanceMileage -- 누적 출석 마일리지
|
||||
FROM
|
||||
GC_BENEFIT_RECEIPT r
|
||||
JOIN
|
||||
GC_BENEFIT_PARTCPTN p ON r.BNF_PRT_INNB = p.BNF_PRT_INNB
|
||||
WHERE
|
||||
p.MBR_INNB = #{mbrInnb} -- 회원 고유 번호
|
||||
AND p.MBR_DV_CD = #{mbrDvCd}
|
||||
AND p.BNF_INNB = #{bnfInnb} -- 혜택 고유 번호
|
||||
AND r.MLG_RWD_AMT IS NOT NULL
|
||||
AND r.MLG_RWD_AMT > 0
|
||||
AND DATE_FORMAT(p.BNF_PRT_DT, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 오늘 출석체크 참여 정보 조회 -->
|
||||
<select id="selectTodayAttendance" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM
|
||||
GC_BENEFIT_PARTCPTN
|
||||
WHERE
|
||||
MBR_INNB = #{mbrInnb} -- 회원 고유 번호
|
||||
AND MBR_DV_CD = #{mbrDvCd}
|
||||
AND BNF_INNB = #{bnfInnb} -- 혜택 고유 번호
|
||||
AND DATE(BNF_PRT_DT) = CURDATE() -- 오늘 날짜 조건
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 알림 상태 조회 -->
|
||||
<select id="selectNotificationStatus" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
AGRE_AT -- 동의 여부
|
||||
FROM
|
||||
GC_BENEFIT_AGREE
|
||||
WHERE
|
||||
MBR_INNB = #{mbrInnb} -- 회원 고유번호
|
||||
AND MBR_DV_CD = #{mbrDvCd}
|
||||
AND BNF_DV_CD = '010' -- 혜택 구분 코드 (출석체크)
|
||||
AND BNF_AGRE_DV_CD = '010' -- 혜택 동의 구분 코드 (알림동의)
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 알림 신청 -->
|
||||
<insert id="insertNotification" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO">
|
||||
<![CDATA[
|
||||
INSERT INTO GC_BENEFIT_AGREE (
|
||||
SOPMAL_CD, -- 쇼핑몰코드
|
||||
MBR_INNB, -- 회원 고유번호
|
||||
MBR_DV_CD, -- 회원 구분 코드
|
||||
BNF_DV_CD, -- 혜택 구분 코드
|
||||
BNF_AGRE_DV_CD, -- 혜택 동의 구분 코드
|
||||
AGRE_AT, -- 동의 여부
|
||||
REGUSR, -- 등록자
|
||||
REGIST_DT -- 등록 일시
|
||||
) VALUES (
|
||||
#{sopmalCd},
|
||||
#{mbrInnb},
|
||||
#{mbrDvCd},
|
||||
'010', -- 출석체크 혜택 구분 코드
|
||||
'010', -- 알림동의 구분 코드
|
||||
'Y', -- 동의함
|
||||
#{regusr},
|
||||
NOW()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<!-- 알림 on off -->
|
||||
<update id="updateAtendNotification" parameterType="com.wb.domainserver.domain.gcone.bnft.atend.vo.BOAtendVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_BENEFIT_AGREE
|
||||
SET
|
||||
AGRE_AT = #{agreAt},
|
||||
REGIST_DT = NOW()
|
||||
WHERE
|
||||
MBR_INNB = #{mbrInnb}
|
||||
AND MBR_DV_CD = #{mbrDvCd}
|
||||
AND BNF_DV_CD = '010'
|
||||
AND BNF_AGRE_DV_CD = '010'
|
||||
]]>
|
||||
</update>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user