fix : 관리자 결제취소, 환불 원화추가

This commit is contained in:
jazz
2026-03-10 12:09:42 +09:00
parent c82f48966a
commit e7a9499780
6 changed files with 106 additions and 39 deletions

View File

@@ -2291,15 +2291,18 @@ 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()));
BigDecimal useMlg = null;
// 구매총수량과 환불요청수량이 같은경우는 전체결제취소 또는 전체 환불신청
if (ordrQy == canclQy) { // TODO : 구매확정 수량으로 계산해야함. *****
// BigDecimal의 더하기 연산은 add() 메서드를 사용
// 마일리지 합산 + 자투리 합산
useMlg = BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsRefundMlgAmt().intValue()).sum())
.add(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsRefundMlgRmndrAmt().intValue()).sum()));
} else {
// 마일리지 합산
useMlg = BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsRefundMlgAmt().intValue()).sum());
}
@@ -2426,13 +2429,15 @@ public class BOOrdrService{
BigDecimal addPaidDlvyAmt = new BigDecimal(0); // 유료배송 도서산간 추가 배송비 합
BigDecimal returnPaidDlvyAmt = new BigDecimal(0); // 유료배송 반품 배송비
int loopCnt = 0;
if (!CollectionUtils.isEmpty(dlvylcItemList)) {
log.debug("환불 상품 목록 확인 : {}", dlvylcItemList);
// 1. 주문 금액에서 환불 금액빼는 상품별 금액 합산 변수 선언
// 2. 반품 배송비 변수 선언
// 3. 왕복 배송비 변수 선언
/* 반품/환불 신청 인경우*/
if (param.get("returnMthCd") != null) {
for (DataMap shippingGrouping : dlvylcItemList) {
log.debug("환불 상품 확인 : {}", shippingGrouping);
@@ -2453,6 +2458,13 @@ public class BOOrdrService{
BigDecimal subSlepric = (BigDecimal) shippingGrouping.get("subSlepric");
BigDecimal realDlvyAmt = (BigDecimal) shippingGrouping.get("realDlvyAmt"); // 상품별 결제 배송비
/*환불배송비 누적*/
if(loopCnt == 0 ){
rlRefundDlvyAmt = rlRefundDlvyAmt.add(realDlvyAmt);
loopCnt++;
}
if (!StringUtils.isEmpty(shippingGrouping.get("refundQy"))) {
Integer refundQy = Integer.parseInt(String.valueOf(shippingGrouping.get("refundQy"))); // 환불 수량
@@ -2634,10 +2646,9 @@ public class BOOrdrService{
// 최종 반품 배송비
refundVO.setReturnDlvyAmt(rlReturnDlvyAmt);
// 최종 환불 배송비 : 전체 환불일 경우에만 산정됨.
log.debug(" selectBOLastRefundDlvyAmtInqire 업데이트 치기 전 refundVO:: {}", refundVO);
rlRefundDlvyAmt = mapper.selectBOLastRefundDlvyAmtInqire(refundVO);
// rlRefundDlvyAmt = mapper.selectBOLastRefundDlvyAmtInqire(refundVO);
log.debug(" 환불금액이랑 반품 금액 업데이트 치기 전 rlRefundDlvyAmt:: {}", rlRefundDlvyAmt);
refundVO.setRefundDlvyAmt(rlRefundDlvyAmt);
log.debug(" 환불금액이랑 반품 금액 업데이트 치기 전 refundVO:: {}", refundVO);

View File

@@ -57,7 +57,7 @@ import java.util.stream.Collectors;
import static org.springframework.beans.factory.config.BeanDefinition.ROLE_INFRASTRUCTURE;
@EnableWebSecurity(debug = true)
@EnableWebSecurity
@Configuration
//@EnableMethodSecurity
public class ResourceServerConfig {