Compare commits
2 Commits
9336e895b0
...
aa7b83e331
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa7b83e331 | ||
|
|
83024e46d0 |
@@ -999,6 +999,13 @@ public interface BOOrdrMapper {
|
||||
* @param refundVO
|
||||
*/
|
||||
public void updateBOWonRefundAmt(BOOrdrRefundVO refundVO);
|
||||
|
||||
/**
|
||||
* 결제취소 시 구독서비스 환불금액 조회
|
||||
* 계산식 : 전체결제금액 - 전체배송비 - 발송및취소된(35~85)상품금액
|
||||
* @param refundVO
|
||||
*/
|
||||
public Integer selectSubsvcRefundAmt(BOOrdrRefundVO refundVO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2292,9 +2292,15 @@ public class BOOrdrService{
|
||||
}
|
||||
|
||||
//상품 환불금액 합산
|
||||
//각 상품별 금액 합산(일반상품은 문제없음) -> 구독상품은 상품별 금액이 상관없음
|
||||
refundVO.setRefundAmt(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getGoodsRefundAmt().intValue()).sum()));
|
||||
refundVO.setRefundAccmlmnyAmt(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsAccmlMlgAmt().intValue()).sum()));
|
||||
|
||||
Integer subsvcRefundAmt = mapper.selectSubsvcRefundAmt(refundVO);
|
||||
if(subsvcRefundAmt != null){
|
||||
refundVO.setRefundAmt(BigDecimal.valueOf(subsvcRefundAmt.longValue()));
|
||||
}
|
||||
|
||||
BigDecimal useMlg = null;
|
||||
// 구매총수량과 환불요청수량이 같은경우는 전체결제취소 또는 전체 환불신청
|
||||
if (ordrQy == canclQy) { // TODO : 구매확정 수량으로 계산해야함. *****
|
||||
|
||||
@@ -5614,6 +5614,33 @@
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!--
|
||||
결제취소 시 구독서비스 환불금액 조회
|
||||
계산식 : 전체결제금액 - 전체배송비 - 발송및취소된(35~85)상품금액
|
||||
-->
|
||||
<select id="selectSubsvcRefundAmt" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrRefundVO" resultType="java.lang.Integer">
|
||||
SELECT (MAX(O.RL_SETLE_AMT) - SUM(GOS.RL_DLVY_AMT) - SUM(CASE
|
||||
WHEN GOIO.ORDR_STTUS_CD BETWEEN 35 AND 85 THEN (GOIO.SLEPRIC * GOIO.ORDR_QY)
|
||||
ELSE 0
|
||||
END)
|
||||
) AS REFUND_AMT
|
||||
FROM GC_ORDER O
|
||||
INNER JOIN GC_ORDER_SHIPPING GOS
|
||||
ON GOS.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND GOS.ORDR_INNB = O.ORDR_INNB
|
||||
AND GOS.USE_AT = 'Y'
|
||||
INNER JOIN GC_ORDER_ITEM GOI
|
||||
ON GOI.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND GOI.ORDR_INNB = O.ORDR_INNB
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION GOIO
|
||||
ON GOIO.SOPMAL_CD = GOI.SOPMAL_CD
|
||||
AND GOIO.ORDR_GOODS_INNB = GOI.ORDR_GOODS_INNB
|
||||
AND GOIO.ORDR_DLVY_INNB = GOS.ORDR_DLVY_INNB
|
||||
WHERE O.SOPMAL_CD = #{sopmalCd}
|
||||
AND O.ORDR_INNB = #{ordrInnb}
|
||||
AND O.SUBSVC_AT = 'Y'
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user