merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
@@ -0,0 +1,376 @@
|
||||
<?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.goods.banner.mapper.BOBannerMapper">
|
||||
|
||||
<!-- 배너 상세조회, 수정, 삭제 조건절-->
|
||||
<sql id="selectBOMapperKeyWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
AND BANNER_INNB = #{bannerInnb}
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
<!-- 배너목록 카운트 -->
|
||||
<select id="selectBOBannerListCnt"
|
||||
parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO"
|
||||
resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT count(*)
|
||||
FROM (SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
, TB.*
|
||||
FROM (SELECT BANNER_INNB
|
||||
, BANNER_NM
|
||||
, EXPSRLC_DV
|
||||
, EXPSRLC_DV_CD
|
||||
, DATE_FORMAT(EXPSR_BGN_DT, '%Y-%m-%d %h:%i:%s') AS EXPSR_BGN_DT
|
||||
, DATE_FORMAT(EXPSR_END_DT, '%Y-%m-%d %h:%i:%s') AS EXPSR_END_DT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DE
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
, DATE_FORMAT(UPDT_DT, '%Y-%m-%d') AS UPDT_DE
|
||||
, (SELECT COUNT(1) FROM GC_SHOP_GOODS_BANNER FSGB WHERE FSGB.BANNER_INNB = FGB.BANNER_INNB) AS GOODS_CNT
|
||||
FROM GC_GOODS_BANNER FGB
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
ORDER BY
|
||||
BANNER_INNB DESC ) TB
|
||||
WHERE (@ROWNUM:=0) = 0 ) PV
|
||||
WHERE 1=1
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 배너 목록 조회 -->
|
||||
<select id="selectBOBannerList"
|
||||
parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM (SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
, TB.*
|
||||
FROM (SELECT BANNER_INNB
|
||||
, BANNER_NM
|
||||
, EXPSRLC_DV
|
||||
, EXPSRLC_DV_CD
|
||||
, DATE_FORMAT(EXPSR_BGN_DT, '%Y-%m-%d %h:%i:%s') AS EXPSR_BGN_DT
|
||||
, DATE_FORMAT(EXPSR_END_DT, '%Y-%m-%d %h:%i:%s') AS EXPSR_END_DT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DE
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
, DATE_FORMAT(UPDT_DT, '%Y-%m-%d') AS UPDT_DE
|
||||
, (SELECT COUNT(FSGB.GOODS_INNB) FROM GC_SHOP_GOODS_BANNER FSGB WHERE FSGB.BANNER_INNB = FGB.BANNER_INNB) AS GOODS_CNT
|
||||
, (SELECT COUNT(FSGB.CTGRY_ID) FROM GC_SHOP_GOODS_BANNER FSGB WHERE FSGB.BANNER_INNB = FGB.BANNER_INNB) AS CTGRY_CNT
|
||||
FROM GC_GOODS_BANNER FGB
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
ORDER BY
|
||||
BANNER_INNB DESC ) TB
|
||||
WHERE (@ROWNUM:=0) = 0 ) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 배너 등록 -->
|
||||
<insert id="insertBOBanner"
|
||||
parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO">
|
||||
<selectKey order="BEFORE" keyProperty="bannerInnb" resultType="java.lang.Integer">
|
||||
SELECT IFNULL(MAX(BANNER_INNB), 0)+1
|
||||
FROM GC_GOODS_BANNER
|
||||
</selectKey>
|
||||
INSERT INTO GC_GOODS_BANNER (
|
||||
BANNER_INNB
|
||||
, SOPMAL_CD
|
||||
, BANNER_NM
|
||||
, EXPSRLC_DV
|
||||
, EXPSRLC_DV_CD
|
||||
, EXPSR_BGN_DT
|
||||
, EXPSR_END_DT
|
||||
, GOODS_APPLC_DV_CD
|
||||
, BANNER_URL
|
||||
, ORGINL_FIL_NM
|
||||
, SYS_FIL_NM
|
||||
, FIL_MG
|
||||
, FIL_TY
|
||||
, FIL_COURS
|
||||
, BANNER_ORDR
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{bannerInnb}
|
||||
, #{sopmalCd}
|
||||
, #{bannerNm}
|
||||
, #{expsrlcDv}
|
||||
, #{expsrlcDvCd}
|
||||
<if test="expsrlcDvCd != '03'">
|
||||
, NULL
|
||||
, NULL
|
||||
</if>
|
||||
<if test="expsrlcDvCd == '03'">
|
||||
, #{expsrBgnDt}
|
||||
, #{expsrEndDt}
|
||||
</if>
|
||||
,#{goodsApplcDvCd}
|
||||
,#{bannerUrl}
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(orginlFilNm)">
|
||||
, #{orginlFilNm}
|
||||
, #{sysFilNm}
|
||||
, #{filMg}
|
||||
, #{filTy}
|
||||
, #{filCours}
|
||||
</when>
|
||||
<otherwise>
|
||||
, NULL
|
||||
, NULL
|
||||
, NULL
|
||||
, NULL
|
||||
, NULL
|
||||
</otherwise>
|
||||
</choose>
|
||||
, '99' -- 새로 등록한 배너 순서 맨뒤 지정
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, now()
|
||||
, #{updusr}
|
||||
, now()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 배너 연결 상품 등록 -->
|
||||
<insert id="insertBOBannerIncludeGoods"
|
||||
parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="shopGoodsBannerInnb" resultType="java.lang.Integer">
|
||||
SELECT IFNULL(MAX(SHOP_GOODS_BANNER_INNB), 0)+1
|
||||
FROM GC_SHOP_GOODS_BANNER
|
||||
</selectKey>
|
||||
INSERT INTO GC_SHOP_GOODS_BANNER (
|
||||
SHOP_GOODS_BANNER_INNB
|
||||
, GOODS_INNB
|
||||
, SOPMAL_CD
|
||||
, BANNER_INNB
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{shopGoodsBannerInnb}
|
||||
, #{goodsInnb}
|
||||
, #{sopmalCd}
|
||||
, #{bannerInnb}
|
||||
, #{regusr}
|
||||
, now()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 배너 연결 상품 카테고리ID 등록 -->
|
||||
<insert id="insertBOBannerIncludeGoodsCtgryId"
|
||||
parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="shopGoodsBannerInnb" resultType="java.lang.Integer">
|
||||
SELECT IFNULL(MAX(SHOP_GOODS_BANNER_INNB), 0)+1
|
||||
FROM GC_SHOP_GOODS_BANNER
|
||||
</selectKey>
|
||||
INSERT INTO GC_SHOP_GOODS_BANNER (
|
||||
SHOP_GOODS_BANNER_INNB
|
||||
, CTGRY_ID
|
||||
, SOPMAL_CD
|
||||
, BANNER_INNB
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{shopGoodsBannerInnb}
|
||||
, #{ctgryId}
|
||||
, #{sopmalCd}
|
||||
, #{bannerInnb}
|
||||
, #{regusr}
|
||||
, now()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 배너수정 -->
|
||||
<update id="updateBOBannerDtl" parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO">
|
||||
UPDATE GC_GOODS_BANNER
|
||||
SET
|
||||
BANNER_NM = #{bannerNm}
|
||||
, EXPSRLC_DV = #{expsrlcDv}
|
||||
, EXPSRLC_DV_CD = #{expsrlcDvCd}
|
||||
<if test="expsrlcDvCd == '03'">
|
||||
, EXPSR_BGN_DT = #{expsrBgnDt}
|
||||
, EXPSR_END_DT = #{expsrEndDt}
|
||||
</if>
|
||||
<if test="expsrlcDvCd != '03'">
|
||||
, EXPSR_BGN_DT = NULL
|
||||
, EXPSR_END_DT = NULL
|
||||
</if>
|
||||
<choose>
|
||||
<when test="fileUse == 'new'">
|
||||
, ORGINL_FIL_NM = #{orginlFilNm}
|
||||
, SYS_FIL_NM = #{sysFilNm}
|
||||
, FIL_MG = #{filMg}
|
||||
, FIL_TY = #{filTy}
|
||||
, FIL_COURS = #{filCours}
|
||||
</when>
|
||||
<when test="fileUse == 'none'">
|
||||
, ORGINL_FIL_NM = NULL
|
||||
, SYS_FIL_NM = NULL
|
||||
, FIL_MG = NULL
|
||||
, FIL_TY = NULL
|
||||
, FIL_COURS = NULL
|
||||
</when>
|
||||
<otherwise>
|
||||
</otherwise>
|
||||
</choose>
|
||||
, BANNER_URL = #{bannerUrl}
|
||||
, GOODS_APPLC_DV_CD = #{goodsApplcDvCd}
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = now()
|
||||
<include refid="selectBOMapperKeyWhere"/>
|
||||
</update>
|
||||
|
||||
<!-- 배너 삭제 -->
|
||||
<update id="deleteBOBanner" parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_GOODS_BANNER
|
||||
SET USE_AT = 'N'
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = now()
|
||||
]]>
|
||||
<include refid="selectBOMapperKeyWhere"/>
|
||||
</update>
|
||||
|
||||
<!-- 배너 상세 조회 -->
|
||||
<select id="selectBOBannerDtlForm"
|
||||
parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GGB.BANNER_INNB
|
||||
, GGB.SOPMAL_CD
|
||||
, GGB.BANNER_NM
|
||||
, GGB.EXPSRLC_DV
|
||||
, GGB.EXPSRLC_DV_CD
|
||||
, DATE_FORMAT(GGB.EXPSR_BGN_DT, '%Y-%m-%d %h:%i:%s') AS EXPSR_BGN_DT
|
||||
, DATE_FORMAT(GGB.EXPSR_END_DT, '%Y-%m-%d %h:%i:%s') AS EXPSR_END_DT
|
||||
, DATE_FORMAT(GGB.EXPSR_BGN_DT, '%Y-%m-%d') AS EXPSR_BGN_YMD
|
||||
, DATE_FORMAT(GGB.EXPSR_END_DT, '%Y-%m-%d') AS EXPSR_END_YMD
|
||||
, DATE_FORMAT(GGB.EXPSR_BGN_DT, '%h:%i') AS EXPSR_BGN_TIME
|
||||
, DATE_FORMAT(GGB.EXPSR_END_DT, '%h:%i') AS EXPSR_END_TIME
|
||||
, GGB.BANNER_URL
|
||||
, GGB.ORGINL_FIL_NM
|
||||
, GGB.SYS_FIL_NM
|
||||
, GGB.FIL_MG
|
||||
, GGB.FIL_TY
|
||||
, GGB.FIL_COURS
|
||||
, GGB.REGUSR
|
||||
, GGB.REGIST_DT
|
||||
, DATE_FORMAT(GGB.REGIST_DT, '%Y-%m-%d') AS REGIST_DE
|
||||
, GGB.UPDUSR
|
||||
, GGB.UPDT_DT
|
||||
, DATE_FORMAT(GGB.UPDT_DT, '%Y-%m-%d') AS UPDT_DE
|
||||
, GGB.GOODS_APPLC_DV_CD
|
||||
FROM GC_GOODS_BANNER GGB
|
||||
WHERE 1=1
|
||||
AND GGB.BANNER_INNB =#{bannerInnb}
|
||||
AND GGB.SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 배너 연결 상품 조회 -->
|
||||
<select id="selectBOBannerIncludeGoods"
|
||||
parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO"
|
||||
resultType="String">
|
||||
SELECT GOODS_INNB
|
||||
FROM GC_SHOP_GOODS_BANNER
|
||||
WHERE 1=1
|
||||
AND SOPMAL_CD =#{sopmalCd}
|
||||
AND BANNER_INNB = #{bannerInnb}
|
||||
</select>
|
||||
|
||||
<!--배너 카테고리 정보 조회-->
|
||||
<select id="selectBOBannerCtgry" parameterType="dataMap" resultType="dataMap">
|
||||
WITH RECURSIVE category AS (
|
||||
SELECT CTGRY_ID, CTGRY_NM, UPPER_CTGRY_ID, SOPMAL_CD, CTGRY_NM as full_path
|
||||
FROM GC_CATEGORY
|
||||
where SOPMAL_CD = #{sopmalCd}
|
||||
AND UPPER_CTGRY_ID = 2
|
||||
UNION ALL
|
||||
SELECT c.CTGRY_ID, c.CTGRY_NM, c.UPPER_CTGRY_ID, c.SOPMAL_CD, CONCAT(ch.full_path , ' > ', c.CTGRY_NM ) AS full_path
|
||||
FROM GC_CATEGORY c
|
||||
INNER JOIN category ch
|
||||
ON c.UPPER_CTGRY_ID = ch.CTGRY_ID
|
||||
AND c.sopmal_cd = ch.sopmal_cd
|
||||
)
|
||||
SELECT
|
||||
cc.CTGRY_ID,
|
||||
cc.CTGRY_NM,
|
||||
cc.UPPER_CTGRY_ID,
|
||||
cc.SOPMAL_CD,
|
||||
cc.full_path,
|
||||
GSGB.GOODS_INNB
|
||||
FROM category cc
|
||||
JOIN GC_SHOP_GOODS_BANNER GSGB
|
||||
where GSGB.SOPMAL_CD = cc.sopmal_cd
|
||||
AND GSGB.CTGRY_ID = cc.CTGRY_ID
|
||||
AND GSGB.sopmal_cd = #{sopmalCd}
|
||||
AND GSGB.BANNER_INNB = #{bannerInnb}
|
||||
ORDER BY CTGRY_ID;
|
||||
</select>
|
||||
|
||||
<!-- 배너 연결 상품 삭제 -->
|
||||
<delete id="deleteBOBannerIncludeGoods"
|
||||
parameterType="java.lang.Integer">
|
||||
DELETE FROM GC_SHOP_GOODS_BANNER
|
||||
WHERE 1=1
|
||||
AND BANNER_INNB = #{bannerInnb}
|
||||
</delete>
|
||||
|
||||
<!-- 배너 연결 상품 조회 -->
|
||||
<select id="selectBOBannerIncludeGoodsCnt"
|
||||
parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO"
|
||||
resultType="java.lang.Integer">
|
||||
SELECT count(1)
|
||||
FROM GC_SHOP_GOODS_BANNER
|
||||
WHERE 1=1
|
||||
AND BANNER_INNB = #{bannerInnb}
|
||||
</select>
|
||||
|
||||
<!--배너 순서지정팝업조회-->
|
||||
<select id="selectBOBannerOrdrPopup" parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO" resultType="dataMap">
|
||||
SELECT
|
||||
GGB.BANNER_INNB,
|
||||
GGB.SOPMAL_CD,
|
||||
GGB.BANNER_NM,
|
||||
GGB.EXPSRLC_DV, -- 상단, 하단
|
||||
GGB.BANNER_ORDR
|
||||
FROM
|
||||
GC_GOODS_BANNER GGB
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GGB.USE_AT = 'Y'
|
||||
AND GGB.SOPMAL_CD = #{sopmalCd}
|
||||
AND(CASE WHEN GGB.EXPSRLC_DV_CD = '01' THEN 'Y'
|
||||
WHEN GGB.EXPSRLC_DV_CD = '03' AND DATE_FORMAT(SYSDATE(), '%Y-%m-%d') BETWEEN GGB.EXPSR_BGN_DT AND GGB.EXPSR_END_DT THEN 'Y'
|
||||
ELSE 'N' END )='Y' -- 노출구분이 01 이거나 노출예약이면서 노출기간이 오늘 기준안에 있으면 Y 미노출이면 N)
|
||||
ORDER BY GGB.BANNER_ORDR ASC
|
||||
</select>
|
||||
<!--배너순서수정-->
|
||||
<update id="updateBOBannerOrdr" parameterType="com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO">
|
||||
UPDATE
|
||||
GC_GOODS_BANNER GGB
|
||||
SET
|
||||
GGB.BANNER_ORDR = #{bannerOrdr},
|
||||
GGB.UPDUSR = #{updusr},
|
||||
GGB.UPDT_DT = SYSDATE()
|
||||
WHERE 1=1
|
||||
AND GGB.SOPMAL_CD = #{sopmalCd}
|
||||
AND GGB.BANNER_INNB = #{bannerInnb}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,108 @@
|
||||
<?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.goods.cmnuse.mapper.BOCmnuseMapper">
|
||||
|
||||
<!-- 상품 공용정보 목록 조회 -->
|
||||
<select id="selectBOCmnuseInfoList"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.goods.cmnuse.vo.BOCmnuseVO" >
|
||||
SELECT
|
||||
ROW_NUMBER() OVER(ORDER BY i.REGIST_DT ASC) RNUM
|
||||
,i.CMNUSE_INFO_INNB as CMNUSE_INFO_INNB
|
||||
,i.CMNUSE_INFO_SJ as CMNUSE_INFO_SJ
|
||||
,DATE_FORMAT(i.REGIST_DT, '%Y-%m-%d %H:%i') as REGIST_DT
|
||||
, IFNULL(fg.LINKGOODS, 0) as LINKGOODS
|
||||
FROM GC_GOODS_INFO i
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
CMNUSE_INFO_INNB
|
||||
,COUNT(GOODS_INNB) as LINKGOODS
|
||||
,SOPMAL_CD
|
||||
FROM GC_GOODS
|
||||
WHERE 1=1
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
GROUP BY CMNUSE_INFO_INNB
|
||||
) fg
|
||||
ON i.CMNUSE_INFO_INNB = fg.CMNUSE_INFO_INNB
|
||||
WHERE 1=1
|
||||
AND i.SOPMAL_CD =#{sopmalCd}
|
||||
AND i.USE_AT ='Y'
|
||||
ORDER BY REGIST_DT DESC
|
||||
</select>
|
||||
|
||||
<!-- 상품 공용정보 상세 조회 -->
|
||||
<select id="selectBOCmnuseInfoDtl">
|
||||
SELECT
|
||||
CMNUSE_INFO_INNB,
|
||||
SOPMAL_CD,
|
||||
CMNUSE_INFO_SJ,
|
||||
INFO_CN
|
||||
FROM GC_GOODS_INFO
|
||||
WHERE 1=1
|
||||
AND CMNUSE_INFO_INNB = #{cmnuseInfoInnb}
|
||||
AND USE_AT ='Y'
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
|
||||
<!-- 상품 공용정보 등록 -->
|
||||
<insert id="insertBOCmnuseInfo"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.goods.cmnuse.vo.BOCmnuseVO" >
|
||||
<selectKey keyProperty="cmnuseInfoInnb" resultType="String" order="BEFORE">
|
||||
SELECT IFNULL(MAX(CMNUSE_INFO_INNB), 0) + 1
|
||||
FROM GC_GOODS_INFO
|
||||
</selectKey>
|
||||
INSERT INTO GC_GOODS_INFO
|
||||
(
|
||||
CMNUSE_INFO_INNB,
|
||||
SOPMAL_CD,
|
||||
<if test="bsnmInnb != null and bsnmInnb != ''">
|
||||
BSNM_INNB,
|
||||
</if>
|
||||
<if test="cmnuseInfoSj != null and cmnuseInfoSj != ''">
|
||||
CMNUSE_INFO_SJ,
|
||||
</if>
|
||||
<if test="infoCn != null and infoCn != ''">
|
||||
INFO_CN,
|
||||
</if>
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{cmnuseInfoInnb},
|
||||
#{sopmalCd},
|
||||
<if test="bsnmInnb != null and bsnmInnb != ''">
|
||||
#{bsnmInnb},
|
||||
</if>
|
||||
<if test="cmnuseInfoSj != null and cmnuseInfoSj != ''">
|
||||
#{cmnuseInfoSj},
|
||||
</if>
|
||||
<if test="infoCn != null and infoCn != ''">
|
||||
#{infoCn},
|
||||
</if>
|
||||
'Y',
|
||||
#{regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 상품 공용정보 수정 -->
|
||||
<update id="updateBOCmnuseInfoDtl">
|
||||
UPDATE GC_GOODS_INFO
|
||||
SET CMNUSE_INFO_SJ = #{cmnuseInfoSj},
|
||||
INFO_CN = #{infoCn},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = now()
|
||||
WHERE CMNUSE_INFO_INNB = #{cmnuseInfoInnb}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 상품 공용정보 삭제 -->
|
||||
<update id="deleteBOCmnuseInfo">
|
||||
update GC_GOODS_INFO
|
||||
SET USE_AT = 'N'
|
||||
WHERE CMNUSE_INFO_INNB = #{cmnuseInfoInnb}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1 @@
|
||||
<?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.goods.ctgry.mapper.BOCtgryMapper"></mapper>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,298 @@
|
||||
<?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.goods.goodsinfo.mapper.BOGoodsinfoMapper">
|
||||
|
||||
<!-- 상품 정보 목록 조회 -->
|
||||
<select id="selectBOGoodsInfoList"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO"
|
||||
resultType = "com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
GOODS_EXPSR_INFO_INNB,
|
||||
GOODS_INFO_SETUP_SJ,
|
||||
GOODS_NM_EXPSR_AT,
|
||||
GOODS_NM_EXPSR_ORDR,
|
||||
REPRSNT_DC_EXPSR_AT,
|
||||
REPRSNT_DC_EXPSR_ORDR,
|
||||
PRIC_EXPSR_AT,
|
||||
PRIC_EXPSR_ORDR,
|
||||
DLVY_EXPSR_AT,
|
||||
DLVY_EXPSR_ORDR,
|
||||
RVW_EVL_SCRE_EXPSR_AT,
|
||||
RVW_EVL_SCRE_EXPSR_ORDR,
|
||||
ICON_EXPSR_AT,
|
||||
ICON_EXPSR_ORDR,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
FROM
|
||||
GC_GOODS_EXPSR_INFO
|
||||
WHERE
|
||||
USE_AT = 'Y'
|
||||
) BM
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
ORDER BY RNUM DESC
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
<select id="selectBOGoodsInfoListCnt"
|
||||
parameterType="com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO" resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
GC_GOODS_EXPSR_INFO
|
||||
WHERE
|
||||
USE_AT = 'Y'
|
||||
</select>
|
||||
<select id="selectBOGoodsInfoDtl"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO"
|
||||
resultType = "com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
GOODS_EXPSR_INFO_INNB,
|
||||
GOODS_INFO_SETUP_SJ,
|
||||
GOODS_NM_EXPSR_AT,
|
||||
GOODS_NM_EXPSR_ORDR,
|
||||
REPRSNT_DC_EXPSR_AT,
|
||||
REPRSNT_DC_EXPSR_ORDR,
|
||||
PRIC_EXPSR_AT,
|
||||
PRIC_EXPSR_ORDR,
|
||||
DLVY_EXPSR_AT,
|
||||
DLVY_EXPSR_ORDR,
|
||||
RVW_EVL_SCRE_EXPSR_AT,
|
||||
RVW_EVL_SCRE_EXPSR_ORDR,
|
||||
ICON_EXPSR_AT,
|
||||
ICON_EXPSR_ORDR,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
FROM
|
||||
GC_GOODS_EXPSR_INFO
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
<!-- 상품 정보 등록 -->
|
||||
<insert id="insertBOGoodsInfo"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO" >
|
||||
<selectKey keyProperty = "goodsExpsrInfoInnb" resultType = "String" order="BEFORE">
|
||||
SELECT IFNULL(MAX(GOODS_EXPSR_INFO_INNB),0) + 1
|
||||
FROM GC_GOODS_EXPSR_INFO
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO
|
||||
GC_GOODS_EXPSR_INFO (
|
||||
GOODS_EXPSR_INFO_INNB,
|
||||
SOPMAL_CD,
|
||||
GOODS_INFO_SETUP_SJ,
|
||||
<if test="goodsNmExpsrAt != null and goodsNmExpsrAt != ''">
|
||||
GOODS_NM_EXPSR_AT,
|
||||
</if>
|
||||
<if test="goodsNmExpsrOrdr != null and goodsNmExpsrOrdr != ''">
|
||||
GOODS_NM_EXPSR_ORDR,
|
||||
</if>
|
||||
<if test="reprsntDcExpsrAt != null and reprsntDcExpsrAt != ''">
|
||||
REPRSNT_DC_EXPSR_AT,
|
||||
</if>
|
||||
<if test="reprsntDcExpsrOrdr != null and reprsntDcExpsrOrdr != ''">
|
||||
REPRSNT_DC_EXPSR_ORDR,
|
||||
</if>
|
||||
<if test="pricExpsrAt != null and pricExpsrAt != ''">
|
||||
PRIC_EXPSR_AT,
|
||||
</if>
|
||||
<if test="pricExpsrOrdr != null and pricExpsrOrdr != ''">
|
||||
PRIC_EXPSR_ORDR,
|
||||
</if>
|
||||
<if test="dlvyExpsrAt != null and dlvyExpsrAt != ''">
|
||||
DLVY_EXPSR_AT,
|
||||
</if>
|
||||
<if test="dlvyExpsrOrdr != null and dlvyExpsrOrdr != ''">
|
||||
DLVY_EXPSR_ORDR,
|
||||
</if>
|
||||
<if test="rvwEvlScreExpsrAt != null and rvwEvlScreExpsrAt != ''">
|
||||
RVW_EVL_SCRE_EXPSR_AT,
|
||||
</if>
|
||||
<if test="rvwEvlScreExpsrOrdr != null and rvwEvlScreExpsrOrdr != ''">
|
||||
RVW_EVL_SCRE_EXPSR_ORDR,
|
||||
</if>
|
||||
<if test="iconExpsrAt != null and iconExpsrAt != ''">
|
||||
ICON_EXPSR_AT,
|
||||
</if>
|
||||
<if test="iconExpsrOrdr != null and iconExpsrOrdr != ''">
|
||||
ICON_EXPSR_ORDR,
|
||||
</if>
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{goodsExpsrInfoInnb},
|
||||
#{sopmalCd},
|
||||
#{goodsInfoSetupSj},
|
||||
<if test="goodsNmExpsrAt != null and goodsNmExpsrAt != ''">
|
||||
#{goodsNmExpsrAt},
|
||||
</if>
|
||||
<if test="goodsNmExpsrOrdr != null and goodsNmExpsrOrdr != ''">
|
||||
#{goodsNmExpsrOrdr},
|
||||
</if>
|
||||
<if test="reprsntDcExpsrAt != null and reprsntDcExpsrAt != ''">
|
||||
#{reprsntDcExpsrAt},
|
||||
</if>
|
||||
<if test="reprsntDcExpsrOrdr != null and reprsntDcExpsrOrdr != ''">
|
||||
#{reprsntDcExpsrOrdr},
|
||||
</if>
|
||||
<if test="pricExpsrAt != null and pricExpsrAt != ''">
|
||||
#{pricExpsrAt},
|
||||
</if>
|
||||
<if test="pricExpsrOrdr != null and pricExpsrOrdr != ''">
|
||||
#{pricExpsrOrdr},
|
||||
</if>
|
||||
<if test="dlvyExpsrAt != null and dlvyExpsrAt != ''">
|
||||
#{dlvyExpsrAt},
|
||||
</if>
|
||||
<if test="dlvyExpsrOrdr != null and dlvyExpsrOrdr != ''">
|
||||
#{dlvyExpsrOrdr},
|
||||
</if>
|
||||
<if test="rvwEvlScreExpsrAt != null and rvwEvlScreExpsrAt != ''">
|
||||
#{rvwEvlScreExpsrAt},
|
||||
</if>
|
||||
<if test="rvwEvlScreExpsrOrdr != null and rvwEvlScreExpsrOrdr != ''">
|
||||
#{rvwEvlScreExpsrOrdr},
|
||||
</if>
|
||||
<if test="iconExpsrAt != null and iconExpsrAt != ''">
|
||||
#{iconExpsrAt},
|
||||
</if>
|
||||
<if test="iconExpsrOrdr != null and iconExpsrOrdr != ''">
|
||||
#{iconExpsrOrdr},
|
||||
</if>
|
||||
#{useAt},
|
||||
#{regusr},
|
||||
now(),
|
||||
#{regusr},
|
||||
now()
|
||||
)
|
||||
</insert>
|
||||
<!-- 상품 정보 수정 -->
|
||||
<update id="updateBOGoodsInfoDtl"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.bbs.bbs.vo.BOBbsVO">
|
||||
UPDATE
|
||||
GC_GOODS_EXPSR_INFO
|
||||
SET
|
||||
GOODS_INFO_SETUP_SJ = #{goodsInfoSetupSj},
|
||||
<if test="goodsNmExpsrAt != null and goodsNmExpsrAt != ''">
|
||||
GOODS_NM_EXPSR_AT = #{goodsNmExpsrAt},
|
||||
</if>
|
||||
<if test="goodsNmExpsrOrdr != null and goodsNmExpsrOrdr != ''">
|
||||
GOODS_NM_EXPSR_ORDR = #{goodsNmExpsrOrdr},
|
||||
</if>
|
||||
<if test="reprsntDcExpsrAt != null and reprsntDcExpsrAt != ''">
|
||||
REPRSNT_DC_EXPSR_AT = #{reprsntDcExpsrAt},
|
||||
</if>
|
||||
<if test="reprsntDcExpsrOrdr != null and reprsntDcExpsrOrdr != ''">
|
||||
REPRSNT_DC_EXPSR_ORDR = #{reprsntDcExpsrOrdr},
|
||||
</if>
|
||||
<if test="pricExpsrAt != null and pricExpsrAt != ''">
|
||||
PRIC_EXPSR_AT = #{pricExpsrAt},
|
||||
</if>
|
||||
<if test="pricExpsrOrdr != null and pricExpsrOrdr != ''">
|
||||
PRIC_EXPSR_ORDR = #{pricExpsrOrdr},
|
||||
</if>
|
||||
<if test="dlvyExpsrAt != null and dlvyExpsrAt != ''">
|
||||
DLVY_EXPSR_AT = #{dlvyExpsrAt},
|
||||
</if>
|
||||
<if test="dlvyExpsrOrdr != null and dlvyExpsrOrdr != ''">
|
||||
DLVY_EXPSR_ORDR = #{dlvyExpsrOrdr},
|
||||
</if>
|
||||
<if test="rvwEvlScreExpsrAt != null and rvwEvlScreExpsrAt != ''">
|
||||
RVW_EVL_SCRE_EXPSR_AT = #{rvwEvlScreExpsrAt},
|
||||
</if>
|
||||
<if test="rvwEvlScreExpsrOrdr != null and rvwEvlScreExpsrOrdr != ''">
|
||||
RVW_EVL_SCRE_EXPSR_ORDR = #{rvwEvlScreExpsrOrdr},
|
||||
</if>
|
||||
<if test="iconExpsrAt != null and iconExpsrAt != ''">
|
||||
ICON_EXPSR_AT = #{iconExpsrAt},
|
||||
</if>
|
||||
<if test="iconExpsrOrdr != null and iconExpsrOrdr != ''">
|
||||
ICON_EXPSR_ORDR = #{iconExpsrOrdr},
|
||||
</if>
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = now()
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
GOODS_EXPSR_INFO_INNB = #{goodsExpsrInfoInnb}
|
||||
</update>
|
||||
<!-- 상품정보 삭제 -->
|
||||
<update id="updateBOGoodsInfoDel"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO">
|
||||
UPDATE
|
||||
GC_GOODS_EXPSR_INFO
|
||||
SET
|
||||
USE_AT = 'N'
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
GOODS_EXPSR_INFO_INNB = #{goodsExpsrInfoInnb}
|
||||
|
||||
|
||||
</update>
|
||||
<!-- 상품정보 삭제 -->
|
||||
<!-- <delete id="deleteBOGoodsInfo"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO">
|
||||
DELETE FROM
|
||||
GC_GOODS_EXPSR_INFO
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
GOODS_EXPSR_INFO_INNB = #{goodsExpsrInfoInnb}
|
||||
|
||||
|
||||
</delete> -->
|
||||
|
||||
<select id="selectBOGoodsInfoListNotLimit" resultType = "DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
GOODS_EXPSR_INFO_INNB,
|
||||
GOODS_INFO_SETUP_SJ,
|
||||
GOODS_NM_EXPSR_AT,
|
||||
GOODS_NM_EXPSR_ORDR,
|
||||
REPRSNT_DC_EXPSR_AT,
|
||||
REPRSNT_DC_EXPSR_ORDR,
|
||||
PRIC_EXPSR_AT,
|
||||
PRIC_EXPSR_ORDR,
|
||||
DLVY_EXPSR_AT,
|
||||
DLVY_EXPSR_ORDR,
|
||||
RVW_EVL_SCRE_EXPSR_AT,
|
||||
RVW_EVL_SCRE_EXPSR_ORDR,
|
||||
ICON_EXPSR_AT,
|
||||
ICON_EXPSR_ORDR,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
FROM
|
||||
GC_GOODS_EXPSR_INFO
|
||||
WHERE
|
||||
USE_AT = 'Y'
|
||||
) BM
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
ORDER BY RNUM DESC
|
||||
) PV
|
||||
WHERE 1=1
|
||||
</select>
|
||||
</mapper>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,400 @@
|
||||
<?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.goods.subsvc.mapper.BOSubsvcMapper">
|
||||
|
||||
<!-- 구독서비스 목록 조회 -->
|
||||
<select id="selectBOSubsvcList"
|
||||
parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GS.SUBSVC_INNB
|
||||
, SUBSVC_STTUS_CD
|
||||
, CONCAT(GS.SUBSVC_NM, ' (', GS.SUBSVC_GNR_NM, ')') AS SUBSVC_CONCAT_NM
|
||||
FROM GC_SUBSVC GS
|
||||
WHERE GS.SOPMAL_CD = 'SK'
|
||||
AND GS.SUBSVC_STTUS_CD != '03'
|
||||
AND GS.EXPSR_DV_CD IN ('01','03')
|
||||
AND
|
||||
CASE
|
||||
WHEN EXPSR_DV_CD = '03'
|
||||
THEN NOW() BETWEEN GS.EXPSR_BGN_DT AND GS.EXPSR_END_DT
|
||||
ELSE 1=1
|
||||
END
|
||||
AND GS.USE_AT = 'Y'
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 구독서비스 상세 조회 -->
|
||||
<select id="selectBOSubsvcDetail"
|
||||
parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GS.SUBSVC_INNB
|
||||
, GS.SOPMAL_CD
|
||||
, GS.SUBSVC_NM
|
||||
, GS.SUB_PD /*구독기간*/
|
||||
, GS.SUBSVC_GNR /*기수*/
|
||||
, (SELECT MAX(A.SUBSVC_GNR) + 1 FROM GC_SUBSVC A WHERE A.SOPMAL_CD = GS.SOPMAL_CD AND A.SUBSVC_NM = GS.SUBSVC_NM) AS SUBSVC_NEXT_GNR /*다음기수*/
|
||||
, GS.SUBSVC_GNR_NM /*기수명*/
|
||||
, CONCAT(GS.SUBSVC_NM, ' (', GS.SUBSVC_GNR_NM, ')') AS SUBSVC_CONCAT_NM
|
||||
, GS.DLVY_CNT /*배송횟수*/
|
||||
, GS.DLVY_CYCLE /*배송주기*/
|
||||
, GS.SUBSVC_CT /*구독료*/
|
||||
, GS.TME_DLVY_AMT /*1회배송비*/
|
||||
, GS.CNSMRPRIC /*소비자가*/
|
||||
, GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SLEPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
|
||||
, ROUND((GS.CNSMRPRIC - (GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT))) / NULLIF(GS.CNSMRPRIC, 0) * 100, 0) AS DSCNT_RAITO
|
||||
, GS.INVNTRY_QY /*재고수량*/
|
||||
, GS.USEFUL_INVNTRY_QY /*판매재고수량*/
|
||||
, GS.INVNTRY_QY - GS.USEFUL_INVNTRY_QY AS AVAIL_QT /*가용제고*/
|
||||
, GS.SUBSVC_STTUS_CD /*상태코드*/
|
||||
, FN_GET_COMMCODE_NAME('GOODS_STTUS', GS.SUBSVC_STTUS_CD) AS SUBSVC_STTUS
|
||||
, FN_GET_COMMCODE_NAME('EXPSR_DV', GS.EXPSR_DV_CD) AS EXPSR_DV
|
||||
, GS.EXPSR_DV_CD /*노출구분코드*/
|
||||
, GS.EXPSR_BGN_DT /*노출시작일시*/
|
||||
, GS.EXPSR_END_DT /*노출종료일시*/
|
||||
, GS.INVNTRY_POLICY_CD /*재고정책코드*/
|
||||
, GS.AVLINV_LMTT_QY /*가용재고제한수량*/
|
||||
, GS.SUBSVC_DC /*구독서비스 설명*/
|
||||
, GS.IMG /*섬네일 이미지*/
|
||||
, GS.MBL_SUBSVC_DC /*모바일 구독서비스 설명*/
|
||||
, GS.MBL_SUBSVC_DC_PC_SAME_AT /*모바일 구독서비스 설명 PC동일여부*/
|
||||
, GS.LAST_PROCS_ODR /*최종차수*/
|
||||
, GS.DFT_GOODS_OPTN_INNB /*기본상품옵션고유번호*/
|
||||
, 1 AS QY /*구독서비스 결제 수량*/
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrInnb)">
|
||||
, #{mbrInnb} AS mbrInnb /*회원 고유번호*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrDvCd)">
|
||||
, #{mbrDvCd} AS mbrDvCd /*회원구분코드*/
|
||||
</if>
|
||||
<![CDATA[
|
||||
FROM GC_SUBSVC GS
|
||||
WHERE GS.SOPMAL_CD = #{sopmalCd}
|
||||
AND GS.SUBSVC_INNB = #{subsvcInnb}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 관리자 구독서비스 목록 조회 -->
|
||||
<select id="selectBOMngrSubsvcList" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO" resultType="dataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT TB.*
|
||||
, CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
|
||||
FROM (
|
||||
SELECT COUNT(*) OVER() AS TOT_CNT
|
||||
, GS.SUBSVC_INNB
|
||||
, GS.SOPMAL_CD
|
||||
, CONCAT(GS.SUBSVC_NM, ' (', GS.SUBSVC_GNR_NM, ')') AS SUBSVC_CONCAT_NM
|
||||
, GS.SUBSVC_NM
|
||||
, GS.SUBSVC_GNR
|
||||
, GS.SUBSVC_GNR_NM
|
||||
, GS.DLVY_CNT
|
||||
, GS.INVNTRY_QY
|
||||
, GS.INVNTRY_QY - GS.USEFUL_INVNTRY_QY AS AVAIL_QT /*가용제고*/
|
||||
, GS.SUBSVC_STTUS_CD
|
||||
, FN_GET_COMMCODE_NAME('GOODS_STTUS', GS.SUBSVC_STTUS_CD) AS SUBSVC_STTUS /*구독서비스 상태*/
|
||||
, FN_GET_COMMCODE_NAME('EXPSR_DV', GS.EXPSR_DV_CD) AS EXPSR_DV /*노출구분*/
|
||||
, GS.SUBSVC_CT /*구독료*/
|
||||
, GS.TME_DLVY_AMT /*1회배송비*/
|
||||
, GS.CNSMRPRIC /*소비자가*/
|
||||
, GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SELPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
|
||||
, GS.IMG /*섬네일 이미지*/
|
||||
, GS.LAST_PROCS_ODR /*최종차수*/
|
||||
FROM GC_SUBSVC GS
|
||||
WHERE GS.USE_AT = 'Y'
|
||||
AND GS.SOPMAL_CD = #{sopmalCd}
|
||||
<if test="srchSelSubsvcNm != null and srchSelSubsvcNm != ''">
|
||||
AND GS.SUBSVC_NM = #{srchSelSubsvcNm} /*구독서비스 명*/
|
||||
</if>
|
||||
<if test="srchSelSubsvcGnr != null and srchSelSubsvcGnr != ''">
|
||||
AND GS.SUBSVC_GNR = #{srchSelSubsvcGnr} /*기수*/
|
||||
</if>
|
||||
<if test="srchSubsvcNm != null and srchSubsvcNm != ''">
|
||||
AND GS.SUBSVC_NM LIKE CONCAT('%',#{srchSubsvcNm},'%') /*구독서비스 명*/
|
||||
</if>
|
||||
<if test="srchSubsvcGnrNm != null and srchSubsvcGnrNm != ''">
|
||||
AND GS.SUBSVC_GNR_NM LIKE CONCAT('%',#{srchSubsvcGnrNm},'%') /*기수명*/
|
||||
</if>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchArrSubsvcSttusCd)">
|
||||
/*판매상태*/
|
||||
AND GS.SUBSVC_STTUS_CD IN
|
||||
<foreach collection="srchArrSubsvcSttusCd" item="subsvcSttusCd" open="(" close=")" separator=",">
|
||||
#{subsvcSttusCd}
|
||||
</foreach>
|
||||
</when>
|
||||
</choose>
|
||||
<if test="srchExpsrDvCd != null and srchExpsrDvCd != ''">
|
||||
AND GS.EXPSR_DV_CD = #{srchExpsrDvCd} /*노출여부*/
|
||||
</if>
|
||||
ORDER BY
|
||||
<choose>
|
||||
<when test="sortDv == 'subsvcGnrAsc'">
|
||||
GS.SUBSVC_NM ASC, SUBSVC_GNR ASC,
|
||||
</when>
|
||||
<otherwise>
|
||||
GS.SUBSVC_NM DESC, SUBSVC_GNR DESC,
|
||||
</otherwise>
|
||||
</choose>
|
||||
GS.SUBSVC_INNB ASC
|
||||
) TB
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!-- 관리자 구독서비스 조회조건 구독서비스 -->
|
||||
<select id="selectBOMngrSrchSubsvcList" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO" resultType="dataMap">
|
||||
SELECT GC.SUBSVC_NM, MIN(GC.SUBSVC_INNB) SUBSVC_INNB
|
||||
FROM GC_SUBSVC GC
|
||||
WHERE GC.SOPMAL_CD = #{sopmalCd}
|
||||
AND GC.USE_AT = 'Y'
|
||||
GROUP BY GC.SUBSVC_NM
|
||||
ORDER BY SUBSVC_INNB ASC
|
||||
</select>
|
||||
|
||||
<!-- 관리자 구독서비스 조회조건 구독서비스별 기수 -->
|
||||
<select id="selectBOMngrSrchSubsvcGnrList" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO" resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GC.SUBSVC_GNR, CONCAT(GC.SUBSVC_GNR , '기 (', GC.SUBSVC_GNR_NM, ')') SUBSVC_GNR_NM
|
||||
FROM GC_SUBSVC GC
|
||||
WHERE GC.SUBSVC_NM = #{srchSelSubsvcNm}
|
||||
AND GC.SOPMAL_CD = #{sopmalCd}
|
||||
AND GC.USE_AT = 'Y'
|
||||
GROUP BY GC.SUBSVC_GNR, GC.SUBSVC_GNR_NM
|
||||
ORDER BY GC.SUBSVC_GNR ASC
|
||||
]]>
|
||||
</select>
|
||||
<!--선택된 구독서비스 삭제(사용여부N처리)-->
|
||||
<update id="deleteBOMngrSubsvc" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
UPDATE GC_SUBSVC
|
||||
SET USE_AT = 'N'
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = NOW()
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(arrSubsvcInnb)">
|
||||
AND SUBSVC_INNB IN
|
||||
<foreach collection="arrSubsvcInnb" item="subsvcInnb" open="(" separator="," close=")">
|
||||
#{subsvcInnb}
|
||||
</foreach>
|
||||
</when>
|
||||
<otherwise>
|
||||
AND 1=2
|
||||
</otherwise>
|
||||
</choose>
|
||||
</update>
|
||||
<!--선택된 구독서비스 수정-->
|
||||
<update id="updateBOMngrSubsvc" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
UPDATE GC_SUBSVC
|
||||
SET SOPMAL_CD = #{sopmalCd}
|
||||
, SUBSVC_NM = #{subsvcNm}
|
||||
, SUB_PD = #{subPd}
|
||||
, SUBSVC_GNR_NM = #{subsvcGnrNm}
|
||||
, DLVY_CNT = REPLACE(#{dlvyCnt},',','')
|
||||
, DLVY_CYCLE = #{dlvyCycle}
|
||||
, SUBSVC_CT = REPLACE(#{subsvcCt},',','')
|
||||
, TME_DLVY_AMT = REPLACE(#{tmeDlvyAmt},',','')
|
||||
, CNSMRPRIC = REPLACE(#{cnsmrpric},',','')
|
||||
, INVNTRY_QY = REPLACE(#{invntryQy},',','')
|
||||
, INVNTRY_POLICY_CD = #{invntryPolicyCd}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(usefulInvntryQyInit, 'Y')">
|
||||
, USEFUL_INVNTRY_QY = 0
|
||||
</if>
|
||||
, AVLINV_LMTT_QY = #{avlinvLmttQy}
|
||||
, SUBSVC_STTUS_CD = #{subsvcSttusCd}
|
||||
, EXPSR_DV_CD = #{expsrDvCd}
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrBgnDt)">
|
||||
, EXPSR_BGN_DT = #{expsrBgnDt}
|
||||
</when>
|
||||
<otherwise>
|
||||
, EXPSR_BGN_DT = null
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrEndDt)">
|
||||
, EXPSR_END_DT = #{expsrEndDt}
|
||||
</when>
|
||||
<otherwise>
|
||||
, EXPSR_END_DT = null
|
||||
</otherwise>
|
||||
</choose>
|
||||
, SUBSVC_DC = #{subsvcDc}
|
||||
, MBL_SUBSVC_DC = #{mblSubsvcDc}
|
||||
, MBL_SUBSVC_DC_PC_SAME_AT = #{mblSubsvcDcPcSameAt}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(img)">
|
||||
, IMG = #{img}
|
||||
</if>
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = NOW()
|
||||
WHERE SUBSVC_INNB = #{subsvcInnb}
|
||||
</update>
|
||||
|
||||
<!-- 구독서비스 등록 -->
|
||||
<insert id="insertBOMngrSubsvc" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO" useGeneratedKeys="true" keyProperty="subsvcInnb" keyColumn="SUBSVC_INNB">
|
||||
INSERT INTO GC_SUBSVC (SOPMAL_CD
|
||||
, SUBSVC_NM
|
||||
, SUB_PD
|
||||
, SUBSVC_GNR
|
||||
, SUBSVC_GNR_NM
|
||||
, DLVY_CNT
|
||||
, DLVY_CYCLE
|
||||
, SUBSVC_CT
|
||||
, TME_DLVY_AMT
|
||||
, CNSMRPRIC
|
||||
, INVNTRY_QY
|
||||
, USEFUL_INVNTRY_QY
|
||||
, INVNTRY_POLICY_CD
|
||||
, AVLINV_LMTT_QY
|
||||
, SUBSVC_STTUS_CD
|
||||
, EXPSR_DV_CD
|
||||
, EXPSR_BGN_DT
|
||||
, EXPSR_END_DT
|
||||
, SUBSVC_DC
|
||||
, MBL_SUBSVC_DC
|
||||
, MBL_SUBSVC_DC_PC_SAME_AT
|
||||
, IMG
|
||||
, DFT_GOODS_OPTN_INNB
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT)
|
||||
VALUES (#{sopmalCd}
|
||||
, #{subsvcNm}
|
||||
, #{subPd}
|
||||
, #{subsvcGnr}
|
||||
, #{subsvcGnrNm}
|
||||
, REPLACE(#{dlvyCnt},',','')
|
||||
, #{dlvyCycle}
|
||||
, REPLACE(#{subsvcCt},',','')
|
||||
, REPLACE(#{tmeDlvyAmt},',','')
|
||||
, REPLACE(#{cnsmrpric},',','')
|
||||
, REPLACE(#{invntryQy},',','')
|
||||
, 0
|
||||
, #{invntryPolicyCd}
|
||||
, #{avlinvLmttQy}
|
||||
, #{subsvcSttusCd}
|
||||
, #{expsrDvCd}
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrBgnDt)">
|
||||
, #{expsrBgnDt}
|
||||
</when>
|
||||
<otherwise>
|
||||
, null
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrEndDt)">
|
||||
, #{expsrEndDt}
|
||||
</when>
|
||||
<otherwise>
|
||||
, null
|
||||
</otherwise>
|
||||
</choose>
|
||||
, #{subsvcDc}
|
||||
, #{mblSubsvcDc}
|
||||
, #{mblSubsvcDcPcSameAt}
|
||||
, #{img}
|
||||
, #{dftGoodsOptnInnb}
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 구독서비스명 중복체크 -->
|
||||
<select id="selectBOMngrSubsvcNmDupCheck" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO" resultType="int">
|
||||
SELECT COUNT(*) CNT
|
||||
FROM GC_SUBSVC GS
|
||||
WHERE GS.SOPMAL_CD = #{sopmalCd}
|
||||
AND GS.SUBSVC_NM = #{subsvcNm}
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 구독서비스 주문에 따른 판매재고수량 수정 -->
|
||||
<update id="updateSubsvcOrdrUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_SUBSVC GS
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
GO.SUBSVC_INNB,
|
||||
COUNT(*) AS ORDR_QY
|
||||
FROM GC_ORDER GO
|
||||
WHERE GO.SOPMAL_CD = #{sopmalCd}
|
||||
AND GO.ORDR_INNB = #{ordrInnb}
|
||||
GROUP BY
|
||||
GO.SUBSVC_INNB
|
||||
) SUBQUERY
|
||||
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) + SUBQUERY.ORDR_QY
|
||||
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 구독서비스 환불에 따른 판매재고수량 수정 -->
|
||||
<update id="updateSubsvcRefundUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_SUBSVC GS
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
GO.SUBSVC_INNB,
|
||||
SUM(CASE WHEN GOR.REFUND_TY_CD = '01' THEN 1 ELSE 0 END) AS REFUND_QY
|
||||
FROM GC_ORDER GO
|
||||
INNER JOIN GC_ORDER_REFUND GOR
|
||||
ON GO.ORDR_INNB = GOR.ORDR_INNB
|
||||
WHERE GO.SOPMAL_CD = #{sopmalCd}
|
||||
AND GO.ORDR_INNB = #{ordrInnb}
|
||||
GROUP BY
|
||||
GO.SUBSVC_INNB
|
||||
) SUBQUERY
|
||||
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) - SUBQUERY.REFUND_QY
|
||||
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 구독서비스 주문무효에 따른 판매재고수량 수정 -->
|
||||
<update id="updateSubsvcCancelOrderUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_SUBSVC GS
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
GO.SUBSVC_INNB,
|
||||
COUNT(*) AS ORDR_QY
|
||||
FROM GC_ORDER GO
|
||||
WHERE GO.SOPMAL_CD = #{sopmalCd}
|
||||
AND GO.ORDR_INNB = #{ordrInnb}
|
||||
GROUP BY
|
||||
GO.SUBSVC_INNB
|
||||
) SUBQUERY
|
||||
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) - SUBQUERY.ORDR_QY
|
||||
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 판매재고수량 변경에 따른 구독서비스 상태 수정 -->
|
||||
<update id="updateInvntryPolicySubsvcSttusChng" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_SUBSVC
|
||||
SET SUBSVC_STTUS_CD =
|
||||
CASE
|
||||
WHEN INVNTRY_POLICY_CD = '02' THEN SUBSVC_STTUS_CD
|
||||
ELSE
|
||||
CASE
|
||||
WHEN (INVNTRY_QY - IFNULL(USEFUL_INVNTRY_QY, 0)) > IFNULL(AVLINV_LMTT_QY, 0)
|
||||
AND SUBSVC_STTUS_CD <> '03' THEN '01'
|
||||
WHEN (INVNTRY_QY - IFNULL(USEFUL_INVNTRY_QY, 0)) <= IFNULL(AVLINV_LMTT_QY, 0)
|
||||
AND SUBSVC_STTUS_CD <> '03' THEN '02'
|
||||
ELSE SUBSVC_STTUS_CD
|
||||
END
|
||||
END
|
||||
WHERE SUBSVC_INNB = #{subsvcInnb}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
AND USE_AT = 'Y'
|
||||
]]>
|
||||
</update>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user