Files
sake/build/resources/main/mybatis/xml/mapper/FrstLoginMapper.xml

220 lines
6.9 KiB
XML

<?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.frstlogin.mapper.FrstLoginMapper">
<!--비회원 -> 회원 로그인시 장바구니 정보 조회-->
<select id="selectSpbkSesionToMbr" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
SELECT
CART_INNB,
OPTN_TY,
SOPMAL_CD,
GOODS_OPTN_INNB,
GOODS_INNB,
MBR_INNB,
SESION_ID,
CART_DV_CD,
AGENT_ID,
IP,
CNT,
REGUSR,
REGIST_DT,
MBR_DV_CD,
INPUT_OPTN_CN,
INPUT_OPTN_RELATE_NB
FROM
GC_CART GC
WHERE
1 = 1
AND GC.SOPMAL_CD = #{sopmalCd}
AND GC.SESION_ID = #{sesionId}
</select>
<!--회원 -> 장바구니 정보 조회-->
<select id="selectSpbkMbr" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
SELECT
CART_INNB,
OPTN_TY,
SOPMAL_CD,
GOODS_OPTN_INNB,
GOODS_INNB,
MBR_INNB,
SESION_ID,
CART_DV_CD,
AGENT_ID,
IP,
CNT,
REGUSR,
REGIST_DT,
MBR_DV_CD,
INPUT_OPTN_CN,
INPUT_OPTN_RELATE_NB
FROM
GC_CART GC
WHERE
1 = 1
AND GC.SOPMAL_CD = #{sopmalCd}
AND GC.MBR_INNB = #{mbrInnb}
AND GC.MBR_DV_CD = #{mbrDvCd}
</select>
<!--비회원 -> 회원 로그인시 장바구니 정보 등록-->
<insert id="insertSpbkSesionToMbr" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
<selectKey keyProperty="cartInnb" resultType="BigInteger" order="BEFORE">
SELECT IFNULL(MAX(CART_INNB), 0) + 1
FROM GC_CART
</selectKey>
INSERT INTO GC_CART
(
CART_INNB,
OPTN_TY,
SOPMAL_CD,
GOODS_OPTN_INNB,
GOODS_INNB,
MBR_INNB,
SESION_ID,
CART_DV_CD,
AGENT_ID,
IP,
CNT,
REGUSR,
REGIST_DT,
MBR_DV_CD,
INPUT_OPTN_CN,
INPUT_OPTN_RELATE_NB
)
VALUES(
#{cartInnb}
, #{optnTy}
, #{sopmalCd}
, #{goodsOptnInnb}
, #{goodsInnb}
, #{mbrInnb}
, ''
, #{cartDvCd}
, #{agentId}
, #{ip}
, #{cnt}
, #{regusr}
, SYSDATE()
, #{mbrDvCd}
, #{inputOptnCn}
, #{inputOptnRelateNb}
)
ON DUPLICATE KEY UPDATE UPDT_DT = SYSDATE(), UPDUSR = #{regusr}
</insert>
<!--비회원 -> 회원 로그인시 회원 선택구매상태 상품 장바구니로 변경-->
<update id="updatePurchsSpbkMbr" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
UPDATE
GC_CART GC
SET
GC.CART_DV_CD = '01'
WHERE
1 = 1
AND GC.SOPMAL_CD = #{sopmalCd}
AND GC.MBR_INNB = #{mbrInnb}
AND GC.CART_DV_CD = '03'
</update>
<!--비회원 -> 회원 로그인시 세션 장바구니 상품 삭제-->
<delete id="deletePurchsSpbkSesion" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
DELETE
FROM
GC_CART GC
WHERE
1 = 1
AND GC.SOPMAL_CD = #{sopmalCd}
AND GC.SESION_ID = #{sesionId}
</delete>
<!--비회원 -> 회원 로그인시 장바구니 회원 구매하기 상태 상품 삭제-->
<delete id="deletePurchsSpbkMbr" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
DELETE
FROM
GC_CART GC
WHERE
1 = 1
AND GC.SOPMAL_CD = #{sopmalCd}
AND GC.MBR_INNB = #{mbrInnb}
<if test="@ com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cartDvCd)">
AND GC.CART_DV_CD = #{cartDvCd}
</if>
</delete>
<!--비회원 -> 회원 로그인시 비밀번호 변경일 기준 6개월 경과 회원 여부-->
<select id="selectPasswordChngDeAt" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
SELECT
COUNT(*)
FROM
GC_MEMBER GM
LEFT JOIN GC_MEMBER_GRAD_MAPPING GMGM
ON GM.MBR_INNB = GMGM.MBR_INNB
AND GM.MBR_DV_CD = GMGM.MBR_DV_CD
WHERE 1 = 1
AND GMGM.SOPMAL_CD = #{sopmalCd}
AND GM.MBR_INNB = #{mbrInnb}
AND GM.MBR_DV_CD = #{mbrDvCd}
AND GM.JOIN_MTH_CD = 'none' -- 일반회원가입 대상
AND CASE WHEN IFNULL(PASSWORD_CNFIRM_DE, '') = '' THEN -- 비밀번호 재확인일지가 빈값이면
CASE
WHEN GM.PASSWORD_CHNG_DE <![CDATA[<=]]> DATE_SUB(NOW(), INTERVAL #{passwordChngDe} MONTH) THEN 'Y' -- 비밀번호 변경일이 지났으면 비밀번호 변경해야함
ELSE 'N' END
ELSE
CASE
WHEN GM.PASSWORD_CHNG_DE <![CDATA[<=]]> DATE_SUB(NOW(), INTERVAL #{passwordChngDe} MONTH) -- 비밀번호 변경일도 지나고 비밀번호 재확인일자도 지났으면 변경해야함
AND PASSWORD_CNFIRM_DE <![CDATA[<=]]> NOW() THEN 'Y'
ELSE 'N' END
END = 'Y'
</select>
<!--쇼핑몰명 조회-->
<select id="selectshopmalName" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
SELECT
SOPMAL_NM
FROM
GC_SHOP GS
WHERE
1 = 1
AND GS.SOPMAL_CD = #{sopmalCd}
</select>
<insert id="insertMemberLogin" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
INSERT INTO GC_MEMBER_LOGIN (
CONECT_LOG_INNB,
MBR_INNB,
SOPMAL_CD,
MBR_DV_CD,
AGENT_ID,
SESION_ID,
IP,
CONECT_ENVRN_DV,
CONECT_DOMN,
JOIN_MTH_CD,
REGIST_DT
)
VALUES (
#{conectLogInnb},
#{mbrInnb},
#{sopmalCd},
#{mbrDvCd},
#{agentId},
#{sesionId},
#{ip},
#{conectEnvrnDv},
#{conectDomn},
#{joinMthCd},
NOW()
)
</insert>
<!--마케팅수신동의 여부 조회 -->
<select id="selectMemMarktAgree" parameterType="com.wb.domainserver.domain.frstlogin.vo.FrstLoginVO">
SELECT CASE WHEN COUNT(*) = 0 THEN 1 ELSE 0 END AS marktAgreAt
FROM GC_MARKETING_AGREE
WHERE 1 = 1
AND MBR_INNB = #{mbrInnb}
AND MBR_DV_CD = #{mbrDvCd}
AND SOPMAL_CD = #{sopmalCd}
</select>
</mapper>