구독서비스 결제 - 주문무효 처리 후 재고 및 상태 변경
This commit is contained in:
@@ -35,6 +35,8 @@ public interface BOSubsvcMapper {
|
|||||||
public void updateSubsvcOrdrUsefulInvntryQy(BOSubsvcVO vo);
|
public void updateSubsvcOrdrUsefulInvntryQy(BOSubsvcVO vo);
|
||||||
/** 구독서비스 환불에 따른 판매재고수량 수정*/
|
/** 구독서비스 환불에 따른 판매재고수량 수정*/
|
||||||
public void updateSubsvcRefundUsefulInvntryQy(BOSubsvcVO vo);
|
public void updateSubsvcRefundUsefulInvntryQy(BOSubsvcVO vo);
|
||||||
|
/** 구독서비스 주문취소에 따른 판매재고수량 수정*/
|
||||||
|
public void updateSubsvcCancelOrderUsefulInvntryQy(BOSubsvcVO vo);
|
||||||
/** 판매재고수량 변경에 따른 구독서비스 상태 수정*/
|
/** 판매재고수량 변경에 따른 구독서비스 상태 수정*/
|
||||||
public void updateInvntryPolicySubsvcSttusChng(BOSubsvcVO vo);
|
public void updateInvntryPolicySubsvcSttusChng(BOSubsvcVO vo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -170,4 +170,20 @@ public class BOSubsvcService {
|
|||||||
//구독서비스 상태 수정
|
//구독서비스 상태 수정
|
||||||
mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO);
|
mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 주문취소에 따른 판매재고수량 수정
|
||||||
|
* @param ordrVO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public void updateSubsvcCancelOrderUsefulInvntryQy(BOOrdrVO ordrVO) throws Exception {
|
||||||
|
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||||
|
BeanUtils.copyProperties(ordrVO, subsvcVO);
|
||||||
|
|
||||||
|
//판매수량 수정
|
||||||
|
mapper.updateSubsvcCancelOrderUsefulInvntryQy(subsvcVO);
|
||||||
|
//구독서비스 상태 수정
|
||||||
|
mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1492,7 +1492,18 @@ public class BORtngudrefndService {
|
|||||||
|
|
||||||
|
|
||||||
// ########################################### 상품 재고 ###########################################
|
// ########################################### 상품 재고 ###########################################
|
||||||
boGoodsService.updateCancelOrderUsefulInvntryQy(ordrVO, ordrVO.getOrdrInnb());
|
BOOrdrVO boOrdrVO = new BOOrdrVO();
|
||||||
|
boOrdrVO.setOrdrInnb(ordrVO.getOrdrInnb());
|
||||||
|
boOrdrVO.setSopmalCd(ordrVO.getSopmalCd());
|
||||||
|
|
||||||
|
DataMap ordrDtl = ordrMapper.selectOrdrDtl(boOrdrVO);
|
||||||
|
boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt"));
|
||||||
|
if(subsvcAt) {
|
||||||
|
boOrdrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
|
||||||
|
subsvcService.updateSubsvcCancelOrderUsefulInvntryQy(boOrdrVO);
|
||||||
|
} else {
|
||||||
|
boGoodsService.updateCancelOrderUsefulInvntryQy(ordrVO, ordrVO.getOrdrInnb());
|
||||||
|
}
|
||||||
|
|
||||||
resotreResult.put("restoreResult", "0");
|
resotreResult.put("restoreResult", "0");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
resultType="dataMap">
|
resultType="dataMap">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT GS.SUBSVC_INNB
|
SELECT GS.SUBSVC_INNB
|
||||||
, SUBSVC_STTUS_CD
|
, SUBSVC_STTUS_CD
|
||||||
, CONCAT(GS.SUBSVC_NM, ' (', GS.SUBSVC_GNR_NM, ')') AS SUBSVC_CONCAT_NM
|
, CONCAT(GS.SUBSVC_NM, ' (', GS.SUBSVC_GNR_NM, ')') AS SUBSVC_CONCAT_NM
|
||||||
FROM GC_SUBSVC GS
|
FROM GC_SUBSVC GS
|
||||||
WHERE GS.SOPMAL_CD = 'SK'
|
WHERE GS.SOPMAL_CD = 'SK'
|
||||||
AND GS.SUBSVC_STTUS_CD != '03'
|
AND GS.SUBSVC_STTUS_CD != '03'
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
, GS.SUBSVC_NM
|
, GS.SUBSVC_NM
|
||||||
, GS.SUB_PD /*구독기간*/
|
, GS.SUB_PD /*구독기간*/
|
||||||
, GS.SUBSVC_GNR /*기수*/
|
, 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 /*다음기수*/
|
, (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 /*기수명*/
|
, GS.SUBSVC_GNR_NM /*기수명*/
|
||||||
, CONCAT(GS.SUBSVC_NM, ' (', GS.SUBSVC_GNR_NM, ')') AS SUBSVC_CONCAT_NM
|
, CONCAT(GS.SUBSVC_NM, ' (', GS.SUBSVC_GNR_NM, ')') AS SUBSVC_CONCAT_NM
|
||||||
, GS.DLVY_CNT /*배송횟수*/
|
, GS.DLVY_CNT /*배송횟수*/
|
||||||
@@ -131,10 +131,10 @@
|
|||||||
</if>
|
</if>
|
||||||
ORDER BY
|
ORDER BY
|
||||||
<choose>
|
<choose>
|
||||||
<when test="sortDv == 'subsvcGnrAsc'">
|
<when test="sortDv == 'subsvcGnrAsc'">
|
||||||
GS.SUBSVC_NM ASC, SUBSVC_GNR ASC,
|
GS.SUBSVC_NM ASC, SUBSVC_GNR ASC,
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
GS.SUBSVC_NM DESC, SUBSVC_GNR DESC,
|
GS.SUBSVC_NM DESC, SUBSVC_GNR DESC,
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
@@ -262,7 +262,7 @@
|
|||||||
, USE_AT
|
, USE_AT
|
||||||
, REGUSR
|
, REGUSR
|
||||||
, REGIST_DT)
|
, REGIST_DT)
|
||||||
VALUES (#{sopmalCd}
|
VALUES (#{sopmalCd}
|
||||||
, #{subsvcNm}
|
, #{subsvcNm}
|
||||||
, #{subPd}
|
, #{subPd}
|
||||||
, #{subsvcGnr}
|
, #{subsvcGnr}
|
||||||
@@ -314,29 +314,29 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<!-- 구독서비스 주문에 따른 판매재고수량 수정 -->
|
<!-- 구독서비스 주문에 따른 판매재고수량 수정 -->
|
||||||
<update id="updateSubsvcOrdrUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
<update id="updateSubsvcOrdrUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
UPDATE GC_SUBSVC GS
|
UPDATE GC_SUBSVC GS
|
||||||
INNER JOIN (
|
INNER JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
GO.SUBSVC_INNB,
|
GO.SUBSVC_INNB,
|
||||||
COUNT(*) AS ORDR_QY
|
COUNT(*) AS ORDR_QY
|
||||||
FROM GC_ORDER GO
|
FROM GC_ORDER GO
|
||||||
WHERE GO.SOPMAL_CD = #{sopmalCd}
|
WHERE GO.SOPMAL_CD = #{sopmalCd}
|
||||||
AND GO.ORDR_INNB = #{ordrInnb}
|
AND GO.ORDR_INNB = #{ordrInnb}
|
||||||
GROUP BY
|
GROUP BY
|
||||||
GO.SUBSVC_INNB
|
GO.SUBSVC_INNB
|
||||||
) SUBQUERY
|
) SUBQUERY
|
||||||
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) + SUBQUERY.ORDR_QY
|
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) + SUBQUERY.ORDR_QY
|
||||||
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
]]>
|
]]>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- 구독서비스 환불에 따른 판매재고수량 수정 -->
|
<!-- 구독서비스 환불에 따른 판매재고수량 수정 -->
|
||||||
<update id="updateSubsvcRefundUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
<update id="updateSubsvcRefundUsefulInvntryQy" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
UPDATE GC_SUBSVC GS
|
UPDATE GC_SUBSVC GS
|
||||||
INNER JOIN (
|
INNER JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
@@ -350,15 +350,35 @@
|
|||||||
GROUP BY
|
GROUP BY
|
||||||
GO.SUBSVC_INNB
|
GO.SUBSVC_INNB
|
||||||
) SUBQUERY
|
) SUBQUERY
|
||||||
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
ON GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) - SUBQUERY.REFUND_QY
|
SET GS.USEFUL_INVNTRY_QY = IFNULL(GS.USEFUL_INVNTRY_QY, 0) - SUBQUERY.REFUND_QY
|
||||||
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
WHERE GS.SUBSVC_INNB = SUBQUERY.SUBSVC_INNB
|
||||||
]]>
|
]]>
|
||||||
</update>
|
</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">
|
<update id="updateInvntryPolicySubsvcSttusChng" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
UPDATE GC_SUBSVC
|
UPDATE GC_SUBSVC
|
||||||
SET SUBSVC_STTUS_CD =
|
SET SUBSVC_STTUS_CD =
|
||||||
CASE
|
CASE
|
||||||
@@ -376,5 +396,5 @@
|
|||||||
AND SOPMAL_CD = #{sopmalCd}
|
AND SOPMAL_CD = #{sopmalCd}
|
||||||
AND USE_AT = 'Y'
|
AND USE_AT = 'Y'
|
||||||
]]>
|
]]>
|
||||||
</update>
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user