Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/xodud1202' into order

card007 5 anni fa
parent
commit
810f68f946

+ 15 - 0
pom.xml

@@ -148,6 +148,21 @@
 			<artifactId>cxf-rt-transports-http</artifactId>
 			<version>2.7.11</version>
 		</dependency>
+		<!--USAFE 보증보험-->
+		<dependency>
+			<groupId>com.usafe.guarantee</groupId>
+			<artifactId>usafe-guarantee</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/usafe.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>net.sourceforge.blowfishj</groupId>
+			<artifactId>usafe-blowfishj</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/usafe.jar</systemPath>
+		</dependency>
 
 		<!--//NICE 본인인증-->
 		<!-- \\\ WEB-INF lib -->

+ 112 - 0
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -1,6 +1,7 @@
 package com.style24.front.biz.service;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 
@@ -18,19 +19,24 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 import com.gagaframework.web.parameter.GagaMap;
 import com.kcp.J_PP_CLI_N;
 import com.style24.core.biz.dao.TscOrderDao;
+import com.style24.core.biz.service.TscEnvsetService;
 import com.style24.core.biz.service.TscKakaoPayService;
 import com.style24.core.biz.service.TscKcpService;
 import com.style24.core.biz.service.TscNaverPayService;
 import com.style24.core.support.env.TscConstants;
 import com.style24.front.biz.dao.TsfOrderDao;
+import com.style24.front.biz.dao.TsfRendererDao;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Cart;
+import com.style24.persistence.domain.CommonCode;
 import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.GiftCard;
 import com.style24.persistence.domain.KakaoPay;
 import com.style24.persistence.domain.NaverPay;
 import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.Payment;
+import com.usafe.guarantee.InsuranceInfo;
+import com.usafe.guarantee.InsuranceManager;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -65,6 +71,9 @@ public class TsfOrderService {
 	@Autowired
 	private TsfCartService cartService;
 
+	@Autowired
+	private TsfRendererDao rendererDao;
+
 	@Autowired
 	private Environment env;
 
@@ -627,6 +636,8 @@ public class TsfOrderService {
 	 * param.setOrdEmail("xxxx@xxxx.com");		// 구매자이메일 (“7. 현금영수증 매출전표 연동” 을 통해 고객이 직접 전표를 확인코자 한다면 메일주소를 넘겨주지 않았을 경우 구매자 인증 시 인증오류가 발생할 수 있습니다.)
 	 * @param param
 	 * @return
+	 * @author xodud1202
+	 * @since 2021. 04. 23
 	 */
 	public GiftCard kcpCashReceiptsRequest(GiftCard param) {
 		GiftCard result = new GiftCard();
@@ -689,4 +700,105 @@ public class TsfOrderService {
 
 		return result;
 	}
+
+	/**
+	 * USAFE 보증보험 신청
+	 * temp.setItemNmArr(goodsNameArr);			// 상품명 배열
+	 * temp.setGoodsPriceArr(goodsPriceArr);	// 상품별 가격 배열
+	 * temp.setItemQtyArr(goodsQuantityArr);	// 상품별 수량 배열
+	 * temp.setOrdNo(1);						// 주문번호
+	 * temp.setRealOrdAmt(32000);				// 결제금액
+	 * temp.setBirthYmd("198912021");			// 생년월일 + 성별(남자 : 1, 여자 : 2)
+	 * temp.setPayMeans(TscConstants.PayMeans.ACCOUNT_TRANSFER.value());		// 무통장입금 or 계좌이체
+	 * temp.setBankNm("신한은행");				// 은행명  >> PG 송부 후 result에서 값 입력하면됨
+	 * temp.setOrdNm("이태영");					// 주문자명
+	 * temp.setOrdTelno("");					// 주문자전화1 ("-" 포함)
+	 * temp.setOrdPhnno("010-7111-4489");		// 주문자전화2 ("-" 포함)
+	 * temp.setRecipZipcode("08755");			// 주문자우편번호
+	 * temp.setRecipAddr("서울시 관악구 신림동 1414-26 해피타워 501호");	// 주문자주소
+	 * temp.setOrdEmail("xodud1202@naver.com");	// 주문자이메일
+	 * temp.setRecipNm("이태영");				// 수령인명
+	 * temp.setRecipTelno("");					// 수령인전화번호
+	 * temp.setRecipPhnno("010-7111-4489");		// 수령인휴대폰번호
+	 * temp.setCustNo(100010);					// 고객번호
+	 *
+	 * 	* 계좌이체 : pgTid, 무통장입금 : 가상계좌번호 *
+	 * temp.setPgTid("20210423952698");			// temp.setVaNo("110242222222");  >> PG 송부 후 result에서 값 입력하면됨
+	 *
+	 * @param param
+	 * @author xodud1202
+	 * @since 2021. 04. 26
+	 */
+	public String uSafeGuaranteeInsurance(Order param) {
+		InsuranceManager manager = new InsuranceManager("http://gateway.usafe.co.kr/esafe/guartrn.asp" , null );
+
+		InsuranceInfo dInfo = new InsuranceInfo();
+
+		String gubun = "A0";		// 고정
+		String payMethod = "";
+		String payInfo2 = "";
+		String sign = "YYY";
+
+		if(TscConstants.PayMeans.ACCOUNT_TRANSFER.value().equals(param.getPayMeans())) {
+			payMethod = "BMC";
+			payInfo2 = param.getPgTid();
+			param.setIfYn("Y");				// 인터페이스 송부 완료(입금확인)
+		} else if (TscConstants.PayMeans.BANK_DEPOSIT.value().equals(param.getPayMeans())) {
+			payMethod = "CAS";
+			payInfo2 = param.getVaNo();
+			param.setIfYn("N");				// 인터페이스 송부 완료X (입금확인시 Y로 UPDATE 예정)
+		}
+
+		if(StringUtils.isEmpty(param.getOrdTelno())) {	param.setOrdTelno(param.getOrdPhnno());	}
+		if(StringUtils.isEmpty(param.getRecipTelno())) {	param.setRecipTelno(param.getRecipPhnno());	}
+
+		param.setRecipZipcode(param.getRecipZipcode().replaceAll("-", ""));
+		if(param.getRecipZipcode().length() < 6) {
+			param.setRecipZipcode(param.getRecipZipcode() + "X");
+		}
+
+		param.setGoodsCnt(String.valueOf(param.getItemNmArr().length));
+
+		dInfo.setGubun(gubun);
+		dInfo.setMallId(env.getProperty("usafe.guarantee.mall.id"));
+		dInfo.setOId(String.valueOf(param.getOrdNo()));
+		dInfo.setTotalMoney(String.valueOf(param.getRealOrdAmt()));
+		dInfo.setPId(param.getBirthYmd());
+		dInfo.setPayMethod(payMethod);
+		dInfo.setPayInfo1(param.getBankNm());
+		dInfo.setPayInfo2(payInfo2);
+		dInfo.setOrderNm(param.getOrdNm());
+		dInfo.setOrderHomeTel(param.getOrdTelno());
+		dInfo.setOrderHpTel(param.getOrdPhnno());
+		dInfo.setOrderZip(param.getRecipZipcode());
+		dInfo.setOrderAddress(param.getRecipAddr());
+		dInfo.setOrderEmail(param.getOrdEmail());
+		dInfo.setGoodsCount(param.getGoodsCnt());
+		dInfo.setAcceptor(param.getRecipNm());
+		dInfo.setDeliveryTel1(param.getRecipTelno());
+		dInfo.setDeliveryTel2(param.getRecipPhnno());
+		dInfo.setGoodsNameArr(param.getItemNmArr());
+		dInfo.setGoodsPriceArr(param.getGoodsPriceArr());
+		dInfo.setGoodsQuantityArr(param.getItemQtyArr());
+		dInfo.setSign(sign);
+
+		String result = manager.contractInsurance(dInfo);
+
+		// result : 0|주문번호		, 성공시
+		// result : 1|Error Message	, 실패시
+		String[] rtnResult = result.split("[\u007C]");
+
+		param.setResultCd(rtnResult[0]);
+		param.setResultMsg(rtnResult[1]);
+
+		if("0".equals(param.getResultCd())) {
+			param.setInsNo(param.getResultMsg());
+		} else {
+			param.setIfYn("F");			// 인터페이스 송부 실패
+		}
+
+		coreOrderDao.createInsurance(param);
+
+		return "SUCCESS";
+	}
 }

+ 42 - 10
src/main/java/com/style24/front/biz/web/TsfCartController.java

@@ -7,10 +7,6 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.gagaframework.web.rest.server.GagaResponse;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Controller;
@@ -21,14 +17,12 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
-import org.thymeleaf.util.StringUtils;
 
 import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.biz.service.TscKcpService;
 import com.style24.core.biz.service.TscOrderService;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
-import com.style24.core.support.util.CryptoUtils;
 import com.style24.front.biz.service.TsfCartService;
 import com.style24.front.biz.service.TsfCouponService;
 import com.style24.front.biz.service.TsfOrderService;
@@ -36,12 +30,8 @@ import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Cart;
 import com.style24.persistence.domain.Coupon;
-import com.style24.persistence.domain.GiftCard;
-import com.style24.persistence.domain.Goods;
 import com.style24.persistence.domain.Login;
 import com.style24.persistence.domain.Order;
-import com.style24.persistence.domain.Payment;
-import com.style24.persistence.domain.WishList;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -158,6 +148,48 @@ public class TsfCartController extends TsfBaseController {
 		model.addAttribute("order", order);
 		model.addAttribute("IMG_PATH", env.getProperty("upload.goods.view"));
 
+
+		Order temp = new Order();
+		String[]	goodsNameArr	= new String[3];	 //상품명
+		String[]	goodsPriceArr	= new String[3];	 //가격
+		String[]	goodsQuantityArr = new String[3]; //상품수량
+
+		// goodsCount 수량에 맞춰 아래 필드 작성
+		goodsNameArr[0] = "테스트아이템1";
+		goodsNameArr[1] = "테스트아이템2";
+		goodsNameArr[2] = "테스트아이템3";
+
+		goodsPriceArr[0] = "100";
+		goodsPriceArr[1] = "500";
+		goodsPriceArr[2] = "300";
+
+		goodsQuantityArr[0] = "1";
+		goodsQuantityArr[1] = "2";
+		goodsQuantityArr[2] = "3";
+
+		temp.setItemNmArr(goodsNameArr);		// 상품명 배열
+		temp.setGoodsPriceArr(goodsPriceArr);	// 상품별 가격 배열
+		temp.setItemQtyArr(goodsQuantityArr);	// 상품별 수량 배열
+		temp.setOrdNo(6);						// 주문번호
+		temp.setRealOrdAmt(10200);				// 결제금액
+		temp.setBirthYmd("198912021");			// 생년월일 + 성별(남자 : 1, 여자 : 2)
+		temp.setPayMeans(TscConstants.PayMeans.BANK_DEPOSIT.value());		// 무통장입금 or 계좌이체
+		temp.setBankNm("신한은행");					// 은행코드
+
+		/* 무통장입금 : 가상계좌번호, 계좌이체 : pgTid */
+		temp.setVaNo("26190167204848");
+		temp.setOrdNm("이태영");				// 주문자명
+		temp.setOrdTelno("");					// 주문자전화1 ("-" 포함)
+		temp.setOrdPhnno("010-7111-4489");		// 주문자전화2 ("-" 포함)
+		temp.setRecipZipcode("08755");			// 주문자우편번호
+		temp.setRecipAddr("서울시 관악구 신림동 1414-26 해피타워 501호");	// 주문자주소
+		temp.setOrdEmail("xodud1202@naver.com");	// 주문자이메일
+		temp.setRecipNm("이태영");				// 수령인명
+		temp.setRecipTelno("");					// 수령인전화번호
+		temp.setRecipPhnno("010-7111-4489");	// 수령인휴대폰번호
+		temp.setCustNo(100010);
+		//orderService.uSafeGuaranteeInsurance(temp);
+
 		return super.getDeviceViewName("cart/CartListAjaxForm");
 	}
 

+ 2 - 0
src/main/resources/config/application-locd.yml

@@ -54,6 +54,8 @@ upload:
 
 download.path: /WIDE/workspace/files/data
 
+usafe.guarantee.mall.id: TEST00
+
 # PG
 pg:
     kcp:

+ 2 - 0
src/main/resources/config/application-run.yml

@@ -61,6 +61,8 @@ mail:
     image.url: http://www.style24.com/image/mailing
     template.path: /app/was/deploy/wivismall.front/WEB-INF/mail
 
+usafe.guarantee.mall.id: istyle2400
+
 # PG
 pg:
     kcp:

+ 2 - 0
src/main/resources/config/application-tsit.yml

@@ -54,6 +54,8 @@ upload:
 
 download.path: /TSIT/servers/files/data
 
+usafe.guarantee.mall.id: TEST00
+
 # PG
 pg:
     kcp:

BIN
src/main/webapp/WEB-INF/lib/usafe.jar