瀏覽代碼

Merge branch 'develop' into bin2107

bin2107 5 年之前
父節點
當前提交
3d374c5666

+ 32 - 0
src/main/java/com/style24/core/biz/service/TscKcpService.java

@@ -0,0 +1,32 @@
+package com.style24.core.biz.service;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Service;
+
+import com.gagaframework.web.parameter.GagaMap;
+import com.style24.persistence.domain.Order;
+
+import lombok.extern.slf4j.Slf4j;
+
+@Service
+@Slf4j
+public class TscKcpService {
+	@Autowired
+	private Environment env;
+
+	public GagaMap kcpOrderRequest(Order param, HttpServletRequest request, HttpServletResponse response) {
+		GagaMap result = new GagaMap();
+		// PC pay_method
+		/* =  신용카드 : 100000000000, 계좌이체  : 010000000000, 가상계좌 : 001000000000 = */
+		/* =  포인트   : 000100000000, 휴대폰   : 000010000000, 상품권   : 000000001000  = */
+		/* =  ARS      : 000000000010                                                    = */
+
+
+
+		return result;
+	}
+}

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

@@ -788,7 +788,6 @@ public class TscOrderService {
 	public Collection<Order> getCartCpnApplyList(Collection<Order> tmtbGoodsApplyList, Collection<Order> cartCpnAllList) {
 		Collection<Order> cartApplyCpnList = new ArrayList<Order>();
 		
-		
 		// 1. 쿠폰대상이 있는 상품만 정리
 		for (Order cartCpn : cartCpnAllList) {
 			int[] cartCpnCartSqArr 	= new int[tmtbGoodsApplyList.size()];

+ 59 - 0
src/main/java/com/style24/core/biz/web/TscKcpController.java

@@ -0,0 +1,59 @@
+package com.style24.core.biz.web;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.gagaframework.web.parameter.GagaMap;
+import com.style24.core.biz.service.TscKcpService;
+import com.style24.core.biz.service.TscOrderService;
+import com.style24.persistence.domain.Order;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * KCP PG Controller
+ * @author xodud1202
+ * @since 2021. 03. 02
+ */
+@Controller
+@RequestMapping("/kcp")
+@Slf4j
+public class TscKcpController {
+	@Autowired
+	private TscKcpService kcpService;
+
+	@Autowired
+	private TscOrderService orderService;
+
+	@Autowired
+	private Environment env;
+
+	/**
+	 * KCP ORDER
+	 * @return
+	 * @author xodud1202
+	 * @since 2021. 01. 28
+	 */
+	@ResponseBody
+	@PostMapping("/test")
+	public GagaMap kcpTest(Order param, HttpServletRequest request, HttpServletResponse response) {
+		GagaMap result = new GagaMap();
+		try {
+			request.setCharacterEncoding("euc-kr");
+			result = kcpService.kcpOrderRequest(param, request, response);
+			result.put("message", "SUCCESS");
+		} catch (Exception e) {
+
+		}
+
+		return result;
+	}
+}

+ 17 - 1
src/main/java/com/style24/persistence/domain/Coupon.java

@@ -59,7 +59,7 @@ public class Coupon extends TscBaseDomain {
     private String dcCdGb;                  // 할인코드유형 (공통코드G233)
     private String rdCpnNm;                 // 랜덤쿠폰 사용키 (시리얼명 or 난수)
 
-    private String custNo;
+    private int custNo;
     private String custNm;
     private String custGbNm;
     private String custGradeNm;
@@ -72,6 +72,22 @@ public class Coupon extends TscBaseDomain {
     private Integer limitCpnId;         // 선착순쿠폰일련번호
     private String delYn;
     private String cpnDesc;             // 쿠폰설명
+    // payco_redirect = Y           >> 페이코 송부시에만
+    // pay_mthod = 100000000000     >> 페이코 송부시에만
+    // pay_method = 100000000000    >> 페이코 송비시에
+    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+    private int[] cartSqArr;		// 장바구니 일련번호 배열
+    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+    private int[] currPrices;		// 상품가격 배열
+    private String custGb;			// 회원구분
+    private String custGrade;		// 회원등급
+    private int rdCpnId;			// 랜덤쿠폰번호
+    private int dcAmt;				// 할인적용금액
+    private int dcVal;				// 할인금액/율
+    private String result;			// 결과
+    private String frontGb;			// 화면 구분
+    private String availYn;			// 지급 받은 쿠폰 사용 가능 유무
+    private int downloadCnt;		// 다운로드수
 
     // 그리드 파라미터
     List<CouponRefval> supplyCompList;          // 공급업체 리스트

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

@@ -4,6 +4,7 @@ import java.util.Collection;
 import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.style24.core.support.util.CryptoUtils;
 import com.style24.persistence.TscBaseDomain;
 import com.style24.persistence.TscPageRequest;
 
@@ -519,4 +520,32 @@ public class Order extends TscBaseDomain {
 	private int cancelCount;
 	private int exchangeCount;
 	private int returnCount;
+
+	// 암호화 대상 복호화 처리
+	public String getCustNm() {
+		this.custNm = CryptoUtils.decryptAES(this.custNm);
+		return this.custNm;
+	}
+	
+	public String getEmail() {
+		this.email = CryptoUtils.decryptAES(this.email);
+		return this.email;
+	}
+	
+	public String getCellPhnno() {
+		this.cellPhnno = CryptoUtils.decryptAES(this.cellPhnno);
+		return this.cellPhnno;
+	}
+	
+	public String getRecipBaseAddr() {
+		this.recipBaseAddr = CryptoUtils.decryptAES(this.recipBaseAddr);
+		return this.recipBaseAddr;
+	}
+
+	public String getRecipDtlAddr() {
+		this.recipDtlAddr = CryptoUtils.decryptAES(this.recipDtlAddr);
+		return this.recipDtlAddr;
+	}
+	
+	
 }

+ 50 - 0
src/main/java/com/style24/persistence/domain/Payment.java

@@ -0,0 +1,50 @@
+package com.style24.persistence.domain;
+
+import java.util.Collection;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.style24.core.support.util.CryptoUtils;
+import com.style24.persistence.TscBaseDomain;
+import com.style24.persistence.TscPageRequest;
+
+import lombok.Data;
+
+/**
+ * 알람 Domain
+ * 
+ * @author jsh77b
+ * @since 2021. 01. 18
+ */
+@SuppressWarnings("serial")
+@Data
+public class Payment extends TscBaseDomain {
+	// KCP
+	private String reqTx;			// 요청종류 (승인 : pay, 취소, 매입 : mod)
+	private String SiteCd;			// 회사코드
+	private String siteName;		// 사이트명
+	private int quotaopt;			// 할부옵션
+	private String currency;		// 결제 화폐단위
+	private String moduleType;		// 모듈타입
+	private String payMethod;		// 지불 방법(신용카드 : 100000000000, 계좌이체 : 010000000000, 가상계좌 : 001000000000, 포인트   : 000100000000, 휴대폰   : 000010000000, 상품권   : 000000001000, ARS      : 000000000010)
+	private String ordrIdxx;		// 주문번호
+	private String goodName;		// 상품명
+	private int goodMny;			// 결제금액
+	private String buyrName;		// 주문자명
+	private String buyrMail;		// 주문자 E-MAIL
+	private String buyrTel1;		// 주문자 연락처1(전화번호)
+	private String buyrTel2;		// 주문자 연락처2(휴대폰번호)
+	private String goodExpr;		// 2012년 8월 18일 전자상거래법 개정 관련 설정 부분 : 제공 기간 설정 0:일회성 1:기간설정(ex 1:2012010120120131)
+	// 필수 항목 : 아래 항목은 표준웹에서 값을 설정하는 부분으로 반드시 포함되어야 합니다 값을 설정하지 마십시오
+	private String resCd;
+	private String resMsg;
+	private String encInfo;
+	private String encData;
+	private String retPayMethod;
+	private String tranCd;
+	private String usePayMethod;
+	private String ordrChk;
+	private String cashYn;
+	private String cashTrCode;
+	private String cashIdInfo;
+}

+ 13 - 6
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -1625,6 +1625,7 @@
 			 , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.CART_DTL_SQ) AS OPT_CD1
 			 , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.CART_DTL_SQ) AS OPT_CD2
 			 , GROUP_CONCAT(Z.ITEM_QTY ORDER BY Z.CART_DTL_SQ) AS ITEM_QTYR
+			 , MAX(Z.ORDER_GRADE) AS ORDER_GRADE
 			 , Z.GOODS_QTY
 			 , Z.GOODS_TYPE
 			 , Z.LIST_PRICE
@@ -1648,7 +1649,7 @@
 			 , Z.CPN1_CPN_SQ
 		     , Z.PNT_PRATE
 		     , Z.PNT_MRATE
-			 , GI.SYS_IMG_NM
+			 , Z.SYS_IMG_NM
 			 , CASE WHEN #{frontGb} = 'P' 
 			        THEN (Z.CURR_PRICE * Z.GOODS_QTY) * (Z.PNT_PRATE/100)
 					ELSE (Z.CURR_PRICE * Z.GOODS_QTY) * (Z.PNT_MRATE/100) 
@@ -1682,6 +1683,10 @@
 		             , G.PNT_PRATE
 					 , G.PNT_MRATE
 					 , DFP.SUPPLY_COMP_CD
+					 , CT.CUST_GRADE
+					 , CASE WHEN GOG.CUST_GRADE IS NOT NULL AND GOG.CUST_GRADE = IFNULL(CT.CUST_GRADE, '') THEN GOG.CUST_GRADE
+							WHEN GOG.CUST_GRADE IS NOT NULL THEN 'NO'
+							ELSE CT.CUST_GRADE END AS ORDER_GRADE
 					 , CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
 							ELSE DFP.DELV_FEE_CD END AS DELV_FEE_CD
 					 , CASE WHEN GRS.DELV_RES_DT IS NOT NULL THEN 'RES'
@@ -1697,6 +1702,8 @@
 					 , IFNULL(OP.ADD_PRICE, 0) AS OPT_ADD_PRICE
 					 , CASE WHEN G.SELF_GOODS_YN = 'Y' AND G.GOODS_TYPE != 'G056_S' THEN CD.OPT_CD1
 							ELSE '00' END AS COLOR_CD
+					 , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
+							ELSE (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM
 				  FROM TB_CART CA
 				 INNER JOIN TB_CART_DETAIL CD
 					ON CA.CART_SQ = CD.CART_SQ
@@ -1717,6 +1724,10 @@
 					ON CA.GOODS_CD = GRS.GOODS_CD
 				   AND GRS.USE_YN = 'Y'
 				   AND GRS.DELV_RES_DT > NOW()
+				  LEFT OUTER JOIN TB_CUSTOMER CT
+				    ON CA.CUST_NO = CT.CUST_NO
+				  LEFT OUTER JOIN TB_GOODS_ORDER_GRADE GOG
+				    ON G.GOODS_CD = GOG.GOODS_CD
 				 WHERE 1 = 1
 				   AND G.GOODS_STAT = 'G008_90'
 				<if test="custNo == 0">
@@ -1731,10 +1742,6 @@
 					#{item}
 				</foreach>
 			) Z
-		LEFT   OUTER JOIN TB_GOODS_IMG GI
-		ON	   Z.GOODS_CD = GI.GOODS_CD
-		AND	   Z.OPT_CD1 = GI.COLOR_CD
-		AND    GI.DEFAULT_IMG_YN = 'Y'
 		GROUP  BY Z.CART_SQ
 			 , Z.BRAND_ENM
 			 , Z.GOODS_NM
@@ -1762,7 +1769,7 @@
 			 , Z.OPT_ADD_PRICE
 		     , Z.PNT_PRATE
 		     , Z.PNT_MRATE
-			 , GI.SYS_IMG_NM
+			 , Z.SYS_IMG_NM
 		ORDER  BY Z.SUPPLY_COMP_CD
 				, Z.DELV_FEE_CD
 				, Z.GOODS_CD

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

@@ -138,6 +138,12 @@
 			<foreach collection="ordDtlStatArr" item="item" index="index"  open="(" close=")" separator=",">
 				#{item}
 			</foreach>
+		</if>
+		<if test="ordDtlNoArr != null and ordDtlNoArr != ''">
+			   AND OD. ORD_DTL_NO IN
+			<foreach collection="ordDtlNoArr" item="item" index="index"  open="(" close=")" separator=",">
+				#{item}
+			</foreach>
 		</if>
 			   AND OD.ORD_NO = #{ordNo}
 		) Z