Compare commits
2 Commits
9336e895b0
...
aa7b83e331
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa7b83e331 | ||
|
|
83024e46d0 |
@@ -999,6 +999,13 @@ public interface BOOrdrMapper {
|
|||||||
* @param refundVO
|
* @param refundVO
|
||||||
*/
|
*/
|
||||||
public void updateBOWonRefundAmt(BOOrdrRefundVO 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.setRefundAmt(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getGoodsRefundAmt().intValue()).sum()));
|
||||||
refundVO.setRefundAccmlmnyAmt(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsAccmlMlgAmt().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;
|
BigDecimal useMlg = null;
|
||||||
// 구매총수량과 환불요청수량이 같은경우는 전체결제취소 또는 전체 환불신청
|
// 구매총수량과 환불요청수량이 같은경우는 전체결제취소 또는 전체 환불신청
|
||||||
if (ordrQy == canclQy) { // TODO : 구매확정 수량으로 계산해야함. *****
|
if (ordrQy == canclQy) { // TODO : 구매확정 수량으로 계산해야함. *****
|
||||||
|
|||||||
@@ -5614,6 +5614,33 @@
|
|||||||
]]>
|
]]>
|
||||||
</update>
|
</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>
|
</mapper>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user