Просмотр исходного кода

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.core.git into develop

gagamel 5 лет назад
Родитель
Сommit
9def3c0e05

+ 2 - 8
src/main/java/com/style24/core/biz/service/TscFreegiftService.java

@@ -54,7 +54,6 @@ public class TscFreegiftService {
 			
 			Collection<Order> freegiftGoodsApplyAmtList = new ArrayList<Order>();
 			int tempFreegiftSq 		= 0;
-			int tempGoodsApplyAmt 	= 0;
 			int index				= 0;
 			boolean	temp			 = false;
 			
@@ -120,15 +119,10 @@ public class TscFreegiftService {
 						int freegiftSectionSq 	= freegiftGoodsApplySection.getFreegiftSectionSq();
 						int sectionVal 			= freegiftGoodsApplySection.getSectionVal();
 						
-						log.info("freegiftGoodsApplyAmt.getFreegiftSq() ::: {}", freegiftGoodsApplyAmt.getFreegiftSq());
-						log.info("freegiftGoodsApplySection.getFreegiftSq() ::: {}", freegiftGoodsApplySection.getFreegiftSq());
-						log.info("freegiftAmt ::: {}", freegiftAmt);
-						log.info("sectionVal ::: {}", sectionVal);
-						log.info("freegiftSectionSq ::: {}", freegiftSectionSq);
-						
 						// 같은 사은품 프로모션끼리 등록
 						if (freegiftGoodsApplyAmt.getFreegiftSq() == freegiftGoodsApplySection.getFreegiftSq()) {
-							if (freegiftAmt > sectionVal) {
+							// 2021.05.07 금액체크는 이상일때 수정
+							if (freegiftAmt >= sectionVal) {
 								tempFreegiftSectionSq = freegiftSectionSq;
 							}
 						}

+ 62 - 29
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -18,6 +18,7 @@ import com.style24.core.biz.dao.TscOrderDao;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.persistence.domain.DeliveryFee;
+import com.style24.persistence.domain.GiftCard;
 import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.OrderChange;
 import com.style24.persistence.domain.Payment;
@@ -201,6 +202,7 @@ public class TscOrderChangeService {
 		String pgTid						= map.getString("pgTid");										// PG거래ID
 		String payMeans						= map.getString("payMeans");									// 결제수단
 		String pgGb							= map.getString("pgGb");										// PG구분
+		String cashAuthNo					= map.getString("cashAuthNo");									// 현금영수증 승인번호
 		String accountNo					= map.getString("accountNo");									// 환불계좌번호
 		String accountNm					= map.getString("accountNm");									// 환불계좌주명
 		String bankCd						= map.getString("bankCd");										// 환불계좌은행코드
@@ -551,6 +553,7 @@ public class TscOrderChangeService {
 				kakaoPayService.cancelKakaoPayment(pg);
 			}
 
+			// 7. 환불정보 수정
 			Order refundOrder = new Order();
 			refundOrder.setOrdNo(ordNo);
 			refundOrder.setPaySq(pg.getPaySq());
@@ -558,6 +561,16 @@ public class TscOrderChangeService {
 			refundOrder.setUpdNo(userNo);
 
 			orderChangeDao.updateRefundInfo(refundOrder);
+
+			// 8. 현금영수증 취소 처리 (무통장입금 결제완료, 실시간계좌이체)
+			if (StringUtils.isNotBlank(cashAuthNo)) {
+				GiftCard cashReceipts = new GiftCard();
+				cashReceipts.setModType("STPC");
+				cashReceipts.setOrdNo(ordNo);
+				cashReceipts.setGfcdAmt(pg.getPartCancelAmt());
+
+				kcpService.kcpCashReceiptCancel(cashReceipts);
+			}
 		}
 
 		return map;
@@ -1874,20 +1887,21 @@ public class TscOrderChangeService {
 			result = orderRefundService.cnclRtnRefundAmt(cnclReqList);
 
 			// 4. 부분취소 처리 정보 설정
-			result.setInt("ordNo", orderChange.getOrdNo());						// 주문번호
-			result.setString("chgReason", orderChange.getChgReason());			// 변경사유
-			result.setString("chgReasonNm", orderChange.getChgReasonNm());		// 변경사유명
-			result.setString("chgMemo", orderChange.getChgMemo());				// 변경메모
-			result.setString("accountNo", orderChange.getAccountNo());			// 환불계좌번호
-			result.setString("accountNm", orderChange.getAccountNm());			// 환불계좌예금주명
-			result.setString("bankCd", orderChange.getBankCd());				// 환불계좌은행코드
-			result.setString("allLastCanYn", allLastCanYn);						// 전체 마지막 취소 여부
-			result.setString("reqGbn", orderChange.getReqGbn());				// 신청구분
-			result.setString("ipAddress", orderChange.getIpAddress());			// IP주소
-			result.setInt("custNo", orderChange.getCustNo());					// 고객번호
-			result.setString("pgTid", refundPreInfo.getString("pgTid"));		// PG거래ID
-			result.setString("payMeans", refundPreInfo.getString("payMeans"));	// 결제수단
-			result.setString("pgGb", refundPreInfo.getString("pgGb"));			// PG구분
+			result.setInt("ordNo", orderChange.getOrdNo());							// 주문번호
+			result.setString("chgReason", orderChange.getChgReason());				// 변경사유
+			result.setString("chgReasonNm", orderChange.getChgReasonNm());			// 변경사유명
+			result.setString("chgMemo", orderChange.getChgMemo());					// 변경메모
+			result.setString("accountNo", orderChange.getAccountNo());				// 환불계좌번호
+			result.setString("accountNm", orderChange.getAccountNm());				// 환불계좌예금주명
+			result.setString("bankCd", orderChange.getBankCd());					// 환불계좌은행코드
+			result.setString("allLastCanYn", allLastCanYn);							// 전체 마지막 취소 여부
+			result.setString("reqGbn", orderChange.getReqGbn());					// 신청구분
+			result.setString("ipAddress", orderChange.getIpAddress());				// IP주소
+			result.setInt("custNo", orderChange.getCustNo());						// 고객번호
+			result.setString("pgTid", refundPreInfo.getString("pgTid"));			// PG거래ID
+			result.setString("payMeans", refundPreInfo.getString("payMeans"));		// 결제수단
+			result.setString("pgGb", refundPreInfo.getString("pgGb"));				// PG구분
+			result.setString("cashAuthNo", refundPreInfo.getString("cashAuthNo"));	// 현금영수증 승인번호
 
 			// 부분취소 처리
 			partialCancel(result, userNo);
@@ -2148,7 +2162,7 @@ public class TscOrderChangeService {
 	@SuppressWarnings("unchecked")
 	@Transactional("shopTxnManager")
 	public void allCnclComplete(OrderChange orderChange) {
-		int ordNo = orderChange.getOrdNo();
+		Integer ordNo = orderChange.getOrdNo();											// 주문번호
 		String chgReason = orderChange.getChgReason();									// G686_10:고객변심, G686_20:관리자취소, G686_30:품절취소
 		String chgReasonNm = orderChange.getChgReasonNm();								// 고객변심, 관리자취소, 품절취소
 		String chgGb = TscConstants.OrderChangeGb.CANCEL.value();						// 변경구분
@@ -2383,6 +2397,23 @@ public class TscOrderChangeService {
 
 			orderChangeDao.updateRefundInfo(refundOrder);
 		}
+
+		// 12. 보증보험 취소 처리 (무통장입금 전 전체취소 시 처리)
+		if (TscConstants.OrderChangeStat.PAYMENT_BEFORE_CANCEL.value().equals(chgStat)) {
+			Order guarantee = new Order();
+			guarantee.setOrdNo(ordNo);
+
+			orderService.uSafeGuaranteePayedBeforeCancel(guarantee);
+		}
+
+		// 13. 현금영수증 취소 처리 (무통장입금 결제완료, 실시간계좌이체)
+		if (StringUtils.isNotBlank(payment.getCashAuthNo())) {
+			GiftCard cashReceipts = new GiftCard();
+			cashReceipts.setModType("STSQ");
+			cashReceipts.setOrdNo(ordNo);
+
+			kcpService.kcpCashReceiptCancel(cashReceipts);
+		}
 	}
 
 	/**
@@ -2420,20 +2451,21 @@ public class TscOrderChangeService {
 			result = orderRefundService.cnclRtnRefundAmt(cnclReqList);
 
 			// 4. 부분취소 처리 정보 설정
-			result.setInt("ordNo", orderChange.getOrdNo());						// 주문번호
-			result.setString("chgReason", orderChange.getChgReason());			// 변경사유
-			result.setString("chgReasonNm", orderChange.getChgReasonNm());		// 변경사유명
-			result.setString("chgMemo", orderChange.getChgMemo());				// 변경메모
-			result.setString("accountNo", orderChange.getAccountNo());			// 환불계좌번호
-			result.setString("accountNm", orderChange.getAccountNm());			// 환불계좌예금주명
-			result.setString("bankCd", orderChange.getBankCd());				// 환불계좌은행코드
-			result.setString("allLastCanYn", allLastCanYn);						// 전체 마지막 취소 여부
-			result.setString("reqGbn", orderChange.getReqGbn());				// 신청구분
-			result.setString("ipAddress", orderChange.getIpAddress());			// IP주소
-			result.setInt("custNo", orderChange.getCustNo());					// 고객번호
-			result.setString("pgTid", refundPreInfo.getString("pgTid"));		// PG거래ID
-			result.setString("payMeans", refundPreInfo.getString("payMeans"));	// 결제수단
-			result.setString("pgGb", refundPreInfo.getString("pgGb"));			// PG구분
+			result.setInt("ordNo", orderChange.getOrdNo());							// 주문번호
+			result.setString("chgReason", orderChange.getChgReason());				// 변경사유
+			result.setString("chgReasonNm", orderChange.getChgReasonNm());			// 변경사유명
+			result.setString("chgMemo", orderChange.getChgMemo());					// 변경메모
+			result.setString("accountNo", orderChange.getAccountNo());				// 환불계좌번호
+			result.setString("accountNm", orderChange.getAccountNm());				// 환불계좌예금주명
+			result.setString("bankCd", orderChange.getBankCd());					// 환불계좌은행코드
+			result.setString("allLastCanYn", allLastCanYn);							// 전체 마지막 취소 여부
+			result.setString("reqGbn", orderChange.getReqGbn());					// 신청구분
+			result.setString("ipAddress", orderChange.getIpAddress());				// IP주소
+			result.setInt("custNo", orderChange.getCustNo());						// 고객번호
+			result.setString("pgTid", refundPreInfo.getString("pgTid"));			// PG거래ID
+			result.setString("payMeans", refundPreInfo.getString("payMeans"));		// 결제수단
+			result.setString("pgGb", refundPreInfo.getString("pgGb"));				// PG구분
+			result.setString("cashAuthNo", refundPreInfo.getString("cashAuthNo"));	// 현금영수증 승인번호
 
 			// 부분취소 처리
 			partialCancel(result, userNo);
@@ -2535,6 +2567,7 @@ public class TscOrderChangeService {
 		result.setString("pgTid", cnclRtn.getPgTid());							// PG거래ID
 		result.setString("payMeans", cnclRtn.getPayMeans());					// 결제수단
 		result.setString("pgGb", cnclRtn.getPgGb());							// PG구분
+		result.setString("cashAuthNo", cnclRtn.getCashAuthNo());				// 현금영수증 승인번호
 		result.set("cnclReqList", cnclReqList);									// 취소신청목록
 
 		return result;

+ 9 - 1
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -1543,7 +1543,10 @@ public class TscOrderService {
 					order.setSexGb("1");
 				}
 				
-				// orderDao.createInsurance(order);
+				// 2021.05.07 생년월일 + 성별구분
+				String birthYmd = order.getBirthYmd() + order.getSexGb();
+				order.setBirthYmd(birthYmd);
+				orderDao.createInsurance(order);
 
 				/*
 				 * temp.setItemNmArr(goodsNameArr);			// 상품명 배열
@@ -1657,6 +1660,7 @@ public class TscOrderService {
 					custPointInfo.setPntAmt(usPntAmt * -1);
 					custPointInfo.setOrdNo(orderDetail.getOrdNo());
 					custPointInfo.setOrdDtlNo(orderDetail.getOrdDtlNo());
+					custPointInfo.setPntUploadStat(TscConstants.PntUploadStat.APPLY_COMPLETE.value());
 					
 					// 8.2 포인트이력정보등록
 					orderDao.createCustPointHst(custPointInfo);
@@ -1741,6 +1745,7 @@ public class TscOrderService {
 				orderDetail.setOccurGb(TscConstants.PointOccurGb.EXPECT_POINT.value());
 				orderDetail.setOccurDtlDesc("예정포인트적립");
 				orderDetail.setPntAmt(orderDetail.getSavePntAmt());
+				orderDetail.setPntUploadStat(TscConstants.PntUploadStat.APPLY_EXPECT.value());
 				
 				// 12.2 포인트이력정보등록
 				orderDao.createCustPointHst(orderDetail);
@@ -1906,6 +1911,9 @@ public class TscOrderService {
 				order.setPayMeansNm(orderPayment.getPayMeansNm());
 				order.setCardNm(orderPayment.getCardNm());
 				order.setPayType(payType);
+				// 2021.05.07 현금영수증정보
+				order.setCashAuthNo(orderPayment.getCashAuthNo());
+				order.setCashTradeNo(orderPayment.getCashTradeNo());
 				
 				if (orderPayment.getCardMips() != null && !"".equals(orderPayment.getCardMips())) {
 					if ("00".equals(orderPayment.getCardMips())) {

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

@@ -446,6 +446,7 @@ public class Order extends TscBaseDomain {
 	Collection<Order> resCartList;					// 자사예약배송목록
 	Collection<Order> delvCartList;					// 입점업체배송목록
 	Collection<Order> delvAllCartList;				// 배송전체목록 sort
+	Collection<Order> cartGoodsList;				// 다다익선적용장바구니목록
 	List<Order> goodsCpnList;
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private int[] cartCpnCartSqArr;

+ 11 - 9
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -28,13 +28,10 @@
 		   AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
 		 INNER JOIN TB_GOODS G2
 		    ON ODI.ITEM_CD = G2.GOODS_CD
-		  LEFT OUTER JOIN TB_GOODS_IMG GI
-		    ON ODI.ITEM_CD = GI.GOODS_CD
-		   AND ODI.OPT_CD1 = GI.COLOR_CD
 		 INNER JOIN TB_PAYMENT P
 		    ON O.ORD_NO = P.ORD_NO
 		   AND P.PAY_GB = 'O'
-		   AND P.PAY_STAT = 'G016_30'
+		   AND P.PAY_STAT IN ('G016_00', 'G016_30')
 		 INNER JOIN TB_DELIVERY_ADDR DA
 		    ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
 		<if test="(chgStat != null and chgStat != '') or (chgGb != null and chgGb != '')">
@@ -248,7 +245,7 @@
 						 INNER JOIN TB_PAYMENT P
 							ON O.ORD_NO = P.ORD_NO
 						   AND P.PAY_GB = 'O'
-						   AND P.PAY_STAT = 'G016_30'
+						   AND P.PAY_STAT IN ('G016_00', 'G016_30')
 						 INNER JOIN TB_DELIVERY_ADDR DA
 							ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
 		<if test="(chgStat != null and chgStat != '') or (chgGb != null and chgGb != '')">
@@ -559,7 +556,7 @@
 		 INNER JOIN TB_PAYMENT P
 		    ON O.ORD_NO = P.ORD_NO
 		   AND P.PAY_GB = 'O'
-		   AND P.PAY_STAT = 'G016_30'
+		   AND P.PAY_STAT IN ('G016_00', 'G016_30')
 		 INNER JOIN TB_DELIVERY_ADDR DA
 		    ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
 		  LEFT OUTER JOIN (SELECT OD.ORD_DTL_NO
@@ -688,6 +685,8 @@
 		     , DATE_FORMAT(P.VA_DEADLINE, '%Y%m%d%H%i%S') AS VA_DEADLINE
 		     , CARD_MIPS
 		     , CARD_TYPE
+		     , CASH_AUTH_NO
+		     , CASH_TRADE_NO
 		  FROM TB_PAYMENT P
 		 WHERE 1 = 1
 		   AND P.ORD_NO = #{ordNo}
@@ -695,7 +694,7 @@
 		   AND NOT EXISTS (SELECT 1
 		                     FROM TB_ORDER_CHANGE_DETAIL OCD
 		                    WHERE P.ORD_CHG_SQ = OCD.ORD_CHG_SQ
-		                      AND OCD.CHG_STAT = 'G685_31')
+		                      AND OCD.CHG_STAT = 'G685_49')
 		 ORDER BY P.REG_DT DESC
 	</select>
 
@@ -718,7 +717,7 @@
 		           AND NOT EXISTS (SELECT 1
 		                             FROM TB_ORDER_CHANGE_DETAIL OCD
 		                            WHERE DF.ORD_CHG_SQ = OCD.ORD_CHG_SQ
-		                              AND OCD.CHG_STAT = 'G685_31')
+		                              AND OCD.CHG_STAT = 'G685_49')
 		  ) Z
 		 GROUP BY Z.DELV_FEE_GB
 		        , Z.DELV_FEE_GB_NM
@@ -3182,7 +3181,7 @@
 		    , #{ordDtlNo}
 		    , #{reviewSq}
 		    , NULL
-		    , 'G070_10'
+		    , #{pntUploadStat}
 		    , NULL
 		    , #{custNo}
 		    , NOW()
@@ -3493,6 +3492,7 @@
 		     , GROUP_CONCAT(Z.OPT_CD2    ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS OPT_CD2
 		     , GROUP_CONCAT(Z.ITEM_QTY   ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS ITEM_QTYR
 		     , GROUP_CONCAT(Z.COLOR_NM   ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS COLOR_NM
+			 , GROUP_CONCAT(Z.SYS_IMG_NM   ORDER BY Z.ORD_DTL_ITEM_SQ)                  AS SYS_IMG_NM
 		FROM (
 		    SELECT OD.ORD_NO
 		         , OCD.ORD_DTL_NO
@@ -3505,6 +3505,8 @@
 		         , OCD.CHG_QTY 
 		         , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD) AS ITEM_NM
 		         , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), ODI.OPT_CD1) AS COLOR_NM
+		         , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
+		                ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
 		         , OD.CURR_PRICE
 		         , ODI.ORD_DTL_ITEM_SQ
 		         , ODI.OPT_ADD_PRICE

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

@@ -2552,6 +2552,7 @@
 		     , P.PG_TID
 		     , P.PAY_MEANS
 		     , P.PAY_STAT
+		     , P.CASH_AUTH_NO
 		     , CASE WHEN NULLIF(OD.INVOICE_NO, '') IS NULL THEN 'N'
 		            ELSE 'Y'
 		        END AS DELV_YN