Kaynağa Gözat

Merge remote-tracking branch 'TSIT/ST24PRJ-655(환불컨펌-환불계좌기능노출)' into develop

card007 4 yıl önce
ebeveyn
işleme
385e84db8a

+ 20 - 0
src/main/java/com/style24/core/biz/dao/TscOrderChangeDao.java

@@ -226,6 +226,16 @@ public interface TscOrderChangeDao {
 	 * @since 2021. 01. 04
 	 */
 	Collection<Order> getRefundAccount(Order order);
+	
+	/**
+	 * 주문상세 > 주문취소 > 고객환불계좌정보 조회 (TB_REFUND)
+	 *
+	 * @param order - 주문 정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 12. 23
+	 */
+	Collection<Order> getOrdChgSqRefundAccount(Order order);
 
 	/**
 	 * 주문상세 > 주문취소 > 고객환불계좌정보 중복체크
@@ -266,6 +276,16 @@ public interface TscOrderChangeDao {
 	 * @since 2021. 07. 21
 	 */
 	int updateRefundAccount(Order order);
+	
+	/**
+	 * 고객환불계좌정보 수정 (TB_REFUND)
+	 *
+	 * @param order
+	 * @return int
+	 * @author jsh77b
+	 * @since 2021. 12. 27
+	 */
+	int updateTbRefundAccount(Order order);
 
 	/**
 	 * 고객환불계좌정보 삭제

+ 35 - 1
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -2096,7 +2096,25 @@ public class TscOrderChangeService {
 	 * @since 2021. 01. 04.
 	 */
 	public Collection<Order> getRefundAccount(Order order) {
-		return orderChangeDao.getRefundAccount(order);
+		
+		// 2021.12.27 환불계좌정보 로직 변경 1순위 : TB_REFUND, TB_CUST_ACCOUNT
+		Collection<Order> orderRfAccountInfo = new ArrayList<Order>();
+		
+		if (order.getOrdChgSq() > 0) {
+			orderRfAccountInfo = orderChangeDao.getOrdChgSqRefundAccount(order); 
+		}
+		
+		if (orderRfAccountInfo != null && orderRfAccountInfo.size() < 1) {
+			orderRfAccountInfo = orderChangeDao.getRefundAccount(order);
+		}
+		
+		if (orderRfAccountInfo != null && orderRfAccountInfo.size() > 0) {
+			if (orderRfAccountInfo.iterator().next().getAccountNm() == null || "".equals(orderRfAccountInfo.iterator().next().getAccountNm())) {
+				orderRfAccountInfo = orderChangeDao.getRefundAccount(order);
+			}
+		}
+		
+		return orderRfAccountInfo;
 	}
 
 	/**
@@ -2120,6 +2138,22 @@ public class TscOrderChangeService {
 		
 		return 1;
 	}
+	
+	/**
+	 * 환불계좌 저장 (TB_REFUND)
+	 *
+	 * @param order - 주문정보
+	 * @return TsaOrder
+	 * @author jsh77b
+	 * @since 2021. 01. 05.
+	 */
+	public int saveTbRefundAccount(Order order) {
+		
+		// 2021.07.21 환불계좌존재하면 수정, 없으면 등록
+		orderChangeDao.updateTbRefundAccount(order);
+		
+		return 1;
+	}
 
 	/**
 	 * 교환 정보 조회

+ 0 - 1
src/main/java/com/style24/persistence/domain/Order.java

@@ -838,7 +838,6 @@ public class Order extends TscBaseDomain {
 	private String cashReceipReqYn;	/*현금영수증신청여부*/
 	private String shotDelvGb;		/*총알배송구분*/
 	
-	
 	private int dcSumAmt;
 	private String addPayCostPayYn;
 	private String addPayCostPgGb;

+ 32 - 0
src/main/java/com/style24/persistence/mybatis/shop/TscOrderChange.xml

@@ -1224,6 +1224,27 @@
 		  ) Z
 	</select>
 	
+	<!-- 주문상세 > 주문취소 > 고객환불계좌정보 조회 (tb_refund) -->
+	<select id="getOrdChgSqRefundAccount" parameterType="Order" resultType="Order">
+		/* OrderChange.getOrdChgSqRefundAccount */
+		SELECT Z.ACCOUNT_NO
+		     , Z.ACCOUNT_NM
+		     , Z.BANK_CD
+		     , FN_GET_CODE_NM('G940', Z.BANK_CD) AS BANK_NM
+		     , Z.DEFAULT_YN
+		     , Z.REG_DT
+		  FROM (
+		      SELECT RF.RA_NO AS ACCOUNT_NO
+		           , RF.RA_NM AS ACCOUNT_NM
+		           , RF.RA_BANK AS BANK_CD
+		           , 'N' AS DEFAULT_YN
+		           , RF.REG_DT
+		        FROM TB_REFUND RF 
+		       WHERE 1 = 1
+		         AND RF.ORD_CHG_SQ = #{ordChgSq}
+		  ) Z
+	</select>
+	
 	<!-- 주문상세 > 주문취소 > 고객환불계좌정보 중복체크 -->
 	<select id="getRefundAccountCheck" parameterType="Order" resultType="int">
 		/* OrderChange.getRefundAccountCheck */
@@ -1286,6 +1307,17 @@
 		AND    CA.CUST_NO = #{custNo}
 	</update>
 	
+	<!-- 고객환불계좌정보 수정 (TB_REFUND) -->
+	<update id="updateTbRefundAccount" parameterType="Order">
+		/* OrderChange.updateTbRefundAccount */
+		UPDATE TB_REFUND RF
+		SET    RA_BANK = #{bankCd}
+		     , RA_NO = #{accountNo}
+		     , RA_NM = #{accountNm}
+		WHERE  1=1
+		AND    RF.ORD_CHG_SQ = #{ordChgSq}
+	</update>
+	
 	<!-- 고객환불계좌정보 삭제 -->
 	<delete id="deleteRefundAccount" parameterType="Integer">
 		/* OrderChange.deleteRefundAccount */