|
|
@@ -362,9 +362,6 @@ public class TsfOrderService {
|
|
|
param.setOrdNo(param.getOrgOrdNo());
|
|
|
}
|
|
|
|
|
|
- log.info("CHECK INFO :::: {}", param.getPgOrdNo());
|
|
|
- log.info("CHECK INFO :::: {}", param.getOrdNo());
|
|
|
-
|
|
|
// 일반 KCP 결제
|
|
|
result = coreKcpService.kcpPayRequest(param, request, response);
|
|
|
}
|
|
|
@@ -1066,38 +1063,90 @@ public class TsfOrderService {
|
|
|
sb.append("\t<product>\n");
|
|
|
sb.append("\t\t<id>").append(item.getGoodsCd()).append("</id>\n"); //<!-- 상품코드 -->
|
|
|
sb.append("\t\t<ecMallProductId>").append(item.getGoodsCd()).append("</ecMallProductId>\n"); //<!-- 상품코드 -->
|
|
|
- sb.append("\t\t<name>").append(coreOrderService.simpleEncode(item.getGoodsNm())).append("</name>\n"); //<!-- 상품명 -->
|
|
|
+ sb.append("\t\t<name>").append(item.getGoodsNm()).append("</name>\n"); //<!-- 상품명 -->
|
|
|
sb.append("\t\t<basePrice>").append(item.getCurrPrice() + item.getOptAddPrice()).append("</basePrice>\n"); //<!-- 상품금액 -->
|
|
|
// TODO http: 부분 운영 프로토콜 확인 후 수정 필요(운영 상품상세가 HTTPS일 경우 분기처리 필요(개발서버, 운영 구분))
|
|
|
sb.append("\t\t<infoUrl>").append("http:" + (param.getGoodsUrl() + item.getGoodsCd())).append("</infoUrl>\n"); //<!-- 상품상세페이지 URL -->
|
|
|
sb.append("\t\t<imageUrl>").append("http:" + goodsImgUrl + "/" + item.getSysImgNm()).append("</imageUrl>\n"); //<!-- 상품원본이미지 URL -->
|
|
|
+ if(TscConstants.GoodsType.SET.value().equals(item.getGoodsType())) { // 세트상품
|
|
|
+ // 구성상품 옵션정보 split
|
|
|
+ String[] itemNms = item.getItemNm().split("!@!"); // 구성상품명
|
|
|
+ String[] optCds = item.getOptCd().split(","); // 옵션코드
|
|
|
+ String[] colorNms = item.getColorNm().split(","); // 컬러명
|
|
|
+ String[] optCd2s = item.getOptCd2().split(","); // 사이즈
|
|
|
+ String[] itemCds = item.getItemCd().split(","); // 상품코드
|
|
|
+
|
|
|
+ // 상품명, 컬러, 사이즈 확인 ==> 20200517 정지혜과장님 확인 :: 상품명=25,OPT1=13,OPT2=12 글자. 넘어갈경우 뒤에 ".." 붙여서 글자수 맞출것.
|
|
|
+ // 상품명/컬러/사이즈 이므로 가운데 / 를 위해 24, 12, 12로 진행
|
|
|
+ for(int i = 0 ; i < itemNms.length ; i++) {
|
|
|
+ if(itemNms[i].length() > 24) {itemNms[i] = itemNms[i].substring(0, 21) + "..";}
|
|
|
+ if(optCd2s[i].length() > 12) {optCd2s[i] = optCd2s[i].substring(0, 9) + "..";}
|
|
|
+ if(colorNms[i].length() > 12) {colorNms[i] = colorNms[i].substring(0, 9) + "..";}
|
|
|
+
|
|
|
+ // 옵션 정보
|
|
|
+ sb.append("\t\t<option>\n");
|
|
|
+ sb.append("\t\t\t<quantity>").append(item.getGoodsQty()).append("</quantity>\n"); //<!-- 옵션수량-->
|
|
|
+ sb.append("\t\t\t<price>").append(item.getOptAddPrice()).append("</price>\n"); //<!-- 옵션금액 -->
|
|
|
+ sb.append("\t\t\t<manageCode>").append(item.getOptCd()).append("</manageCode>\n"); //<!-- 옵션관리코드 -->
|
|
|
+
|
|
|
+ // 칼라코드
|
|
|
+ sb.append("\t\t\t<selectedItem>\n");
|
|
|
+ sb.append("\t\t\t\t<type>SELECT</type>\n");//<!-- 옵션유형 -->
|
|
|
+ sb.append("\t\t\t\t<name>상품</name>\n");//<!-- 옵션명 -->
|
|
|
+ sb.append("\t\t\t\t<value>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(itemCds[i]).append("/").append(optCds[i]).append("</id>\n");//<!-- 옵션 -->
|
|
|
+ sb.append("\t\t\t\t\t<text>").append(itemNms[i]).append("/").append(colorNms[i]).append("/").append(optCd2s[i]).append("</text>\n");//<!-- 옵션명 -->
|
|
|
+ sb.append("\t\t\t\t</value>\n");
|
|
|
+ sb.append("\t\t\t</selectedItem>\n");
|
|
|
+ sb.append("\t\t</option>\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ } else if("Y".equals(item.getSelfGoodsYn())) { // 세트상품 제외 자사상품
|
|
|
+ // 옵션 정보
|
|
|
+ sb.append("\t\t<option>\n");
|
|
|
+ sb.append("\t\t\t<quantity>").append(item.getGoodsQty()).append("</quantity>\n"); //<!-- 옵션수량-->
|
|
|
+ sb.append("\t\t\t<price>").append(item.getOptAddPrice()).append("</price>\n"); //<!-- 옵션금액 -->
|
|
|
+ sb.append("\t\t\t<manageCode>").append(item.getOptCd()).append("</manageCode>\n"); //<!-- 옵션관리코드 -->
|
|
|
+
|
|
|
+ // 칼라코드
|
|
|
+ sb.append("\t\t\t<selectedItem>\n");
|
|
|
+ sb.append("\t\t\t\t<type>SELECT</type>\n");//<!-- 옵션유형 -->
|
|
|
+ sb.append("\t\t\t\t<name>색상</name>\n");//<!-- 옵션명 -->
|
|
|
+ sb.append("\t\t\t\t<value>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(item.getOptCd1()).append("</id>\n");//<!-- 칼라코드 -->
|
|
|
+ sb.append("\t\t\t\t\t<text>").append(item.getColorNm()).append("</text>\n");//<!-- 칼라명 -->
|
|
|
+ sb.append("\t\t\t\t</value>\n");
|
|
|
+ sb.append("\t\t\t</selectedItem>\n");
|
|
|
+
|
|
|
+ // 사이즈코드
|
|
|
+ sb.append("\t\t\t<selectedItem>\n");
|
|
|
+ sb.append("\t\t\t\t<type>SELECT</type>\n");//<!-- 옵션유형 -->
|
|
|
+ sb.append("\t\t\t\t<name>사이즈</name>\n");//<!-- 옵션명 -->
|
|
|
+ sb.append("\t\t\t\t<value>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(item.getOptCd2()).append("</id>\n");//<!-- 사이즈코드 -->
|
|
|
+ sb.append("\t\t\t\t\t<text>").append(item.getOptCd2()).append("</text>\n");//<!-- 사이즈명 -->
|
|
|
+ sb.append("\t\t\t\t</value>\n");
|
|
|
+ sb.append("\t\t\t</selectedItem>\n");
|
|
|
+ sb.append("\t\t</option>\n");
|
|
|
+ } else { // 세트상품 제외 입점업체 상품
|
|
|
+ // 옵션 정보
|
|
|
+ sb.append("\t\t<option>\n");
|
|
|
+ sb.append("\t\t\t<quantity>").append(item.getGoodsQty()).append("</quantity>\n"); //<!-- 옵션수량-->
|
|
|
+ sb.append("\t\t\t<price>").append(item.getOptAddPrice()).append("</price>\n"); //<!-- 옵션금액 -->
|
|
|
+ sb.append("\t\t\t<manageCode>").append(item.getOptCd()).append("</manageCode>\n"); //<!-- 옵션관리코드 -->
|
|
|
+
|
|
|
+ // 칼라코드
|
|
|
+ sb.append("\t\t\t<selectedItem>\n");
|
|
|
+ sb.append("\t\t\t\t<type>SELECT</type>\n");//<!-- 옵션유형 -->
|
|
|
+ sb.append("\t\t\t\t<name>옵션</name>\n");//<!-- 옵션명 -->
|
|
|
+ sb.append("\t\t\t\t<value>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(item.getOptCd()).append("</id>\n");//<!-- 칼라코드 -->
|
|
|
+ sb.append("\t\t\t\t\t<text>").append(item.getOptCd1()).append("/").append(item.getOptCd2()).append("</text>\n");//<!-- 칼라명 -->
|
|
|
+ sb.append("\t\t\t\t</value>\n");
|
|
|
+ sb.append("\t\t\t</selectedItem>\n");
|
|
|
+ sb.append("\t\t</option>\n");
|
|
|
+ }
|
|
|
|
|
|
- // 옵션 정보
|
|
|
- sb.append("\t\t<option>\n");
|
|
|
- sb.append("\t\t\t<quantity>").append(item.getGoodsQty()).append("</quantity>\n"); //<!-- 옵션수량-->
|
|
|
- sb.append("\t\t\t<price>").append(item.getOptAddPrice()).append("</price>\n"); //<!-- 옵션금액 -->
|
|
|
- sb.append("\t\t\t<manageCode>").append(item.getOptCd()).append("</manageCode>\n"); //<!-- 옵션관리코드 -->
|
|
|
-
|
|
|
- // 칼라코드
|
|
|
- sb.append("\t\t\t<selectedItem>\n");
|
|
|
- sb.append("\t\t\t\t<type>SELECT</type>\n");//<!-- 옵션유형 -->
|
|
|
- sb.append("\t\t\t\t<name>색상</name>\n");//<!-- 옵션명 -->
|
|
|
- sb.append("\t\t\t\t<value>\n");
|
|
|
- sb.append("\t\t\t\t\t<id>").append(item.getOptCd1()).append("</id>\n");//<!-- 칼라코드 -->
|
|
|
- sb.append("\t\t\t\t\t<text>").append(item.getColorNm()).append("</text>\n");//<!-- 칼라명 -->
|
|
|
- sb.append("\t\t\t\t</value>\n");
|
|
|
- sb.append("\t\t\t</selectedItem>\n");
|
|
|
-
|
|
|
- // 사이즈코드
|
|
|
- sb.append("\t\t\t<selectedItem>\n");
|
|
|
- sb.append("\t\t\t\t<type>SELECT</type>\n");//<!-- 옵션유형 -->
|
|
|
- sb.append("\t\t\t\t<name>사이즈</name>\n");//<!-- 옵션명 -->
|
|
|
- sb.append("\t\t\t\t<value>\n");
|
|
|
- sb.append("\t\t\t\t\t<id>").append(item.getOptCd2()).append("</id>\n");//<!-- 사이즈코드 -->
|
|
|
- sb.append("\t\t\t\t\t<text>").append(item.getOptCd2()).append("</text>\n");//<!-- 사이즈명 -->
|
|
|
- sb.append("\t\t\t\t</value>\n");
|
|
|
- sb.append("\t\t\t</selectedItem>\n");
|
|
|
- sb.append("\t\t</option>\n");
|
|
|
|
|
|
// 배송비 판단 후 배송비유형 선택 (추가 기본배송비, 무료배송비 기준 조회후 등록)
|
|
|
//<!-- 배송정보 -->
|
|
|
@@ -1117,8 +1166,8 @@ public class TsfOrderService {
|
|
|
sb.append("\t\t\t<groupId>").append(item.getDelvFeeCd()).append("</groupId>\n"); //<!-- 배송비묶음그룹ID -->
|
|
|
sb.append("\t\t\t<method>DELIVERY</method>\n"); //<!-- 배송방법 : 택배,소포,등기 -->
|
|
|
sb.append("\t\t\t<feeType>").append(delvFeeCrite).append("</feeType>\n"); //<!-- 배송비유형 : 유료 -->
|
|
|
- sb.append("\t\t\t<feePayType>").append("PREPAYED").append("</feePayType>\n"); //<!-- 배송비결제방법 : 선불 -->
|
|
|
- sb.append("\t\t\t<feePrice>").append(delvFee).append("</feePrice>\n"); //<!-- 기본배송비 -->
|
|
|
+ sb.append("\t\t\t<feePayType>").append(feePayType).append("</feePayType>\n"); //<!-- 배송비결제방법 : 선불 -->
|
|
|
+ sb.append("\t\t\t<feePrice>").append(delvFee).append("</feePrice>\n"); //<!-- 기본배송비 -->
|
|
|
|
|
|
// 조건부 무료일경우에만 송부
|
|
|
if(TscConstants.DelvFeeCrite.NORMAL.value().equals(item.getDelvFeeCrite())) {
|
|
|
@@ -1384,52 +1433,83 @@ public class TsfOrderService {
|
|
|
// 옵션 정보
|
|
|
sb.append("\t\t<option>\n");
|
|
|
|
|
|
- // 9.1 옵션 아이템정보 색상
|
|
|
- sb.append("\t\t\t<optionItem>\n");
|
|
|
- sb.append("\t\t\t\t<type>SELECT</type>\n");
|
|
|
- sb.append("\t\t\t\t<name>색상</name>\n");
|
|
|
- for(int j = 0 ; j < colorList.length ; j++) {
|
|
|
- sb.append("\t\t\t\t<value>\n");
|
|
|
- sb.append("\t\t\t\t\t<id>").append(colorList[j]).append("</id>\n");
|
|
|
- sb.append("\t\t\t\t\t<text>").append(colorNmList[j]).append("</text>\n");
|
|
|
- sb.append("\t\t\t\t</value>\n");
|
|
|
- }
|
|
|
- sb.append("\t\t\t</optionItem>\n");
|
|
|
-
|
|
|
- // 9.1 옵션 아이템정보 사이즈
|
|
|
- sb.append("\t\t\t<optionItem>\n");
|
|
|
- sb.append("\t\t\t\t<type>SELECT</type>\n");
|
|
|
- sb.append("\t\t\t\t<name>사이즈</name>\n");
|
|
|
- for(int j = 0 ; j < sizeList.length ; j++) {
|
|
|
- sb.append("\t\t\t\t<value>\n");
|
|
|
- sb.append("\t\t\t\t\t<id>").append(sizeList[j]).append("</id>\n");
|
|
|
- sb.append("\t\t\t\t\t<text>").append(sizeList[j]).append("</text>\n");
|
|
|
- sb.append("\t\t\t\t</value>\n");
|
|
|
+ if("Y".equals(goods.getSelfGoodsYn())) {
|
|
|
+ // 9.1 옵션 아이템정보 색상
|
|
|
+ sb.append("\t\t\t<optionItem>\n");
|
|
|
+ sb.append("\t\t\t\t<type>SELECT</type>\n");
|
|
|
+ sb.append("\t\t\t\t<name>색상</name>\n");
|
|
|
+ for (String color : colorList) {
|
|
|
+ sb.append("\t\t\t\t<value>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(color).append("</id>\n");
|
|
|
+ sb.append("\t\t\t\t\t<text>").append(color).append("</text>\n");
|
|
|
+ sb.append("\t\t\t\t</value>\n");
|
|
|
+ }
|
|
|
+ sb.append("\t\t\t</optionItem>\n");
|
|
|
+
|
|
|
+ // 9.1 옵션 아이템정보 사이즈
|
|
|
+ sb.append("\t\t\t<optionItem>\n");
|
|
|
+ sb.append("\t\t\t\t<type>SELECT</type>\n");
|
|
|
+ sb.append("\t\t\t\t<name>사이즈</name>\n");
|
|
|
+ for (String size : sizeList) {
|
|
|
+ sb.append("\t\t\t\t<value>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(size).append("</id>\n");
|
|
|
+ sb.append("\t\t\t\t\t<text>").append(size).append("</text>\n");
|
|
|
+ sb.append("\t\t\t\t</value>\n");
|
|
|
+ }
|
|
|
+ sb.append("\t\t\t</optionItem>\n");
|
|
|
+
|
|
|
+ // 9.3 옵션 옵션조합정보
|
|
|
+ for(GoodsStock optInfo : optList) {
|
|
|
+ sb.append("\t\t\t<combination>\n");
|
|
|
+ sb.append("\t\t\t\t<manageCode>").append(optInfo.getOptCd()).append("</manageCode>\n");
|
|
|
+ sb.append("\t\t\t\t<price>").append(optInfo.getAddPrice()).append("</price>\n");
|
|
|
+ sb.append("\t\t\t\t<stockQuantity>").append(optInfo.getStockQty()).append("</stockQuantity>\n");
|
|
|
+ sb.append("\t\t\t\t<status>true</status>\n");
|
|
|
+
|
|
|
+ // 9.3.1 옵션 옵션조합정보 색상
|
|
|
+ sb.append("\t\t\t\t<options>\n");
|
|
|
+ sb.append("\t\t\t\t\t<name>색상</name>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(optInfo.getOptCd1()).append("</id>\n");
|
|
|
+ sb.append("\t\t\t\t</options>\n");
|
|
|
+
|
|
|
+ // 9.3.2 옵션 옵션조합정보 사이즈
|
|
|
+ sb.append("\t\t\t\t<options>\n");
|
|
|
+ sb.append("\t\t\t\t\t<name>사이즈</name>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(optInfo.getOptCd2()).append("</id>\n");
|
|
|
+ sb.append("\t\t\t\t</options>\n");
|
|
|
+
|
|
|
+ sb.append("\t\t\t</combination>\n");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 9.1 옵션 아이템정보 색상
|
|
|
+ sb.append("\t\t\t<optionItem>\n");
|
|
|
+ sb.append("\t\t\t\t<type>SELECT</type>\n");
|
|
|
+ sb.append("\t\t\t\t<name>옵션</name>\n");
|
|
|
+ for(GoodsStock optInfo : optList) {
|
|
|
+ sb.append("\t\t\t\t<value>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(optInfo.getOptCd()).append("</id>\n");
|
|
|
+ sb.append("\t\t\t\t\t<text>").append(optInfo.getOptCd1()).append("/").append(optInfo.getOptCd2()).append("</text>\n");
|
|
|
+ sb.append("\t\t\t\t</value>\n");
|
|
|
+ }
|
|
|
+ sb.append("\t\t\t</optionItem>\n");
|
|
|
+
|
|
|
+ // 9.3 옵션 옵션조합정보
|
|
|
+ for(GoodsStock optInfo : optList) {
|
|
|
+ sb.append("\t\t\t<combination>\n");
|
|
|
+ sb.append("\t\t\t\t<manageCode>").append(optInfo.getOptCd()).append("</manageCode>\n");
|
|
|
+ sb.append("\t\t\t\t<price>").append(optInfo.getAddPrice()).append("</price>\n");
|
|
|
+ sb.append("\t\t\t\t<stockQuantity>").append(optInfo.getStockQty()).append("</stockQuantity>\n");
|
|
|
+ sb.append("\t\t\t\t<status>true</status>\n");
|
|
|
+
|
|
|
+ // 9.3.1 옵션 옵션조합정보 색상
|
|
|
+ sb.append("\t\t\t\t<options>\n");
|
|
|
+ sb.append("\t\t\t\t\t<name>옵션</name>\n");
|
|
|
+ sb.append("\t\t\t\t\t<id>").append(optInfo.getOptCd()).append("</id>\n");
|
|
|
+ sb.append("\t\t\t\t</options>\n");
|
|
|
+ sb.append("\t\t\t</combination>\n");
|
|
|
+ }
|
|
|
}
|
|
|
- sb.append("\t\t\t</optionItem>\n");
|
|
|
|
|
|
- // 9.3 옵션 옵션조합정보
|
|
|
- for(GoodsStock optInfo : optList) {
|
|
|
- sb.append("\t\t\t<combination>\n");
|
|
|
- sb.append("\t\t\t\t<manageCode>").append(optInfo.getOptCd()).append("</manageCode>\n");
|
|
|
- sb.append("\t\t\t\t<price>").append(optInfo.getAddPrice()).append("</price>\n");
|
|
|
- sb.append("\t\t\t\t<stockQuantity>").append(optInfo.getStockQty()).append("</stockQuantity>\n");
|
|
|
- sb.append("\t\t\t\t<status>true</status>\n");
|
|
|
-
|
|
|
- // 9.3.1 옵션 옵션조합정보 색상
|
|
|
- sb.append("\t\t\t\t<options>\n");
|
|
|
- sb.append("\t\t\t\t\t<name>색상</name>\n");
|
|
|
- sb.append("\t\t\t\t\t<id>").append(optInfo.getOptCd1()).append("</id>\n");
|
|
|
- sb.append("\t\t\t\t</options>\n");
|
|
|
-
|
|
|
- // 9.3.2 옵션 옵션조합정보 사이즈
|
|
|
- sb.append("\t\t\t\t<options>\n");
|
|
|
- sb.append("\t\t\t\t\t<name>사이즈</name>\n");
|
|
|
- sb.append("\t\t\t\t\t<id>").append(optInfo.getOptCd2()).append("</id>\n");
|
|
|
- sb.append("\t\t\t\t</options>\n");
|
|
|
-
|
|
|
- sb.append("\t\t\t</combination>\n");
|
|
|
- }
|
|
|
sb.append("\t\t</option>\n");
|
|
|
|
|
|
// 10. 배송정보조회
|