fix : 관리자 구독서비스 목록

This commit is contained in:
jazz
2026-01-27 12:07:17 +09:00
parent bda09e6e4f
commit c0d7079e37
11 changed files with 929 additions and 63 deletions

View File

@@ -58,56 +58,66 @@
<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 GC.SUBSVC_INNB
, GC.SOPMAL_CD
, GC.SUBSVC_NM
, GC.SUBSVC_GNR
, GC.SUBSVC_GNR_NM
, GC.DLVY_CNT
, GC.INVNTRY_QY
, GC.INVNTRY_QY - GC.USEFUL_INVNTRY_QY AS AVAIL_QT /*가용제고*/
, GC.SUBSVC_STTUS_CD
, FN_GET_COMMCODE_NAME('GOODS_STTUS', GC.SUBSVC_STTUS_CD) AS SUBSVC_STTUS /*구독서비스 상태*/
, FN_GET_COMMCODE_NAME('EXPSR_DV', GC.EXPSR_DV_CD) AS EXPSR_DV /*노출구분*/
, GC.SUBSVC_CT /*구독료*/
, GC.TME_DLVY_AMT /*1회배송비*/
, GC.CNSMRPRIC /*소비자가*/
, GC.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as RL_SLEPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
, GC.IMG /*섬네일 이미지*/
, GC.LAST_PROCS_ODR /*최종차수*/
FROM GC_SUBSVC GC
WHERE GC.SOPMAL_CD = 'SK'
<if test="srchSelSubsvcNm != null and srchSelSubsvcNm != ''">
AND GC.SUBSVC_NM = #{srchSelSubsvcNm} /*구독서비스 명*/
</if>
<if test="srchSelSubsvcGnr != null and srchSelSubsvcGnr != ''">
AND GC.SUBSVC_GNR = #{srchSelSubsvcGnr} /*기수*/
</if>
<if test="srchSubsvcNm != null and srchSubsvcNm != ''">
AND GC.SUBSVC_NM LIKE CONCAT('%',#{srchSubsvcNm},'%') /*구독서비스 명*/
</if>
<if test="srchSubsvcGnr != null and srchSubsvcGnr != ''">
AND GC.SUBSVC_GNR_NM LIKE CONCAT('%',#{srchSubsvcGnr},'%') /*기수명*/
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchArrSubsvcSttusCd)">
AND GC.SUBSVC_STTUS_CD IN
<foreach collection="srchArrSubsvcSttusCd" item="subsvcSttusCd" open="(" close=")" separator=",">
AND GC.SUBSVC_STTUS_CD IN ('01','02','03') /*판매상태*/
</foreach>
</if>
<if test="srchExpsrDvCd != null and srchExpsrDvCd != ''">
AND GC.EXPSR_DV_CD = '01' /*노출여부*/
ORDER BY
</if>
<if test="sortDv != null and sortDv != ''">
CONCAT(GC.SUBSVC_NM, SUBSVC_GNR_NM) ASC,
</if>
GC.SUBSVC_INNB ASC
) TB
WHERE (@ROWNUM:=0)=0
SELECT TB.*
, CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
FROM (
SELECT COUNT(*) OVER() AS TOT_CNT
, GC.SUBSVC_INNB
, GC.SOPMAL_CD
, GC.SUBSVC_NM
, GC.SUBSVC_GNR
, GC.SUBSVC_GNR_NM
, GC.DLVY_CNT
, GC.INVNTRY_QY
, GC.INVNTRY_QY - GC.USEFUL_INVNTRY_QY AS AVAIL_QT /*가용제고*/
, GC.SUBSVC_STTUS_CD
, FN_GET_COMMCODE_NAME('GOODS_STTUS', GC.SUBSVC_STTUS_CD) AS SUBSVC_STTUS /*구독서비스 상태*/
, FN_GET_COMMCODE_NAME('EXPSR_DV', GC.EXPSR_DV_CD) AS EXPSR_DV /*노출구분*/
, GC.SUBSVC_CT /*구독료*/
, GC.TME_DLVY_AMT /*1회배송비*/
, GC.CNSMRPRIC /*소비자가*/
, GC.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as RL_SLEPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
, GC.IMG /*섬네일 이미지*/
, GC.LAST_PROCS_ODR /*최종차수*/
FROM GC_SUBSVC GC
WHERE GC.USE_AT = 'Y'
AND GC.SOPMAL_CD = #{sopmalCd}
<if test="srchSelSubsvcNm != null and srchSelSubsvcNm != ''">
AND GC.SUBSVC_NM = #{srchSelSubsvcNm} /*구독서비스 명*/
</if>
<if test="srchSelSubsvcGnr != null and srchSelSubsvcGnr != ''">
AND GC.SUBSVC_GNR = #{srchSelSubsvcGnr} /*기수*/
</if>
<if test="srchSubsvcNm != null and srchSubsvcNm != ''">
AND GC.SUBSVC_NM LIKE CONCAT('%',#{srchSubsvcNm},'%') /*구독서비스 명*/
</if>
<if test="srchSubsvcGnrNm != null and srchSubsvcGnrNm != ''">
AND GC.SUBSVC_GNR_NM LIKE CONCAT('%',#{srchSubsvcGnrNm},'%') /*기수명*/
</if>
<choose>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchArrSubsvcSttusCd)">
/*판매상태*/
AND GC.SUBSVC_STTUS_CD IN
<foreach collection="srchArrSubsvcSttusCd" item="subsvcSttusCd" open="(" close=")" separator=",">
#{subsvcSttusCd}
</foreach>
</when>
</choose>
<if test="srchExpsrDvCd != null and srchExpsrDvCd != ''">
AND GC.EXPSR_DV_CD = #{srchExpsrDvCd} /*노출여부*/
</if>
ORDER BY
<choose>
<when test="sortDv == 'subsvcGnrAsc'">
GC.SUBSVC_NM ASC, SUBSVC_GNR_NM ASC,
</when>
<otherwise>
GC.SUBSVC_NM DESC, SUBSVC_GNR_NM DESC,
</otherwise>
</choose>
GC.SUBSVC_INNB ASC
) TB
WHERE (@ROWNUM:=0)=0
) PV
WHERE 1=1
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
@@ -117,6 +127,8 @@
<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>
@@ -127,9 +139,30 @@
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>
</mapper>