Browse Source

이태영 - 20210423 USAFE 보증보험 개발 중

xodud1202 5 năm trước cách đây
mục cha
commit
3ee48ba94f

+ 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 -->

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

@@ -31,6 +31,8 @@ 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;
 
@@ -627,6 +629,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 +693,87 @@ public class TsfOrderService {
 
 		return result;
 	}
+
+	/**
+	 * USAFE 보증보험 신청
+	 * temp.setItemNmArr(goodsNameArr);			// 상품명 배열
+	 * temp.setGoodsPriceArr(goodsPriceArr);	// 상품별 가격 배열
+	 * temp.setItemQtyArr(goodsQuantityArr);	// 상품별 수량 배열
+	 * temp.setCustId("xodud1202");				// 고객 ID
+	 * temp.setOrdNo(1);						// 주문번호
+	 * temp.setRealOrdAmt(32000);				// 결제금액
+	 * temp.setBirthYmd("198912021");			// 생년월일 + 성별(남자 : 1, 여자 : 2)
+	 * temp.setPayMeans(TscConstants.PayMeans.ACCOUNT_TRANSFER.value());		// 무통장입금 or 계좌이체
+	 * temp.setBankCd("BK88");					// 은행코드 (BK + 은행코드)
+	 * 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");		// 수령인휴대폰번호
+	 *
+	 * 	* 계좌이체 : pgTid, 무통장입금 : 가상계좌번호 *
+	 * temp.setPgTid("20210423952698");			// temp.setVaNo("110242222222");
+	 *
+	 * @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 sign = "YYY";
+
+		if(TscConstants.PayMeans.ACCOUNT_TRANSFER.value().equals(param.getPayMeans())) {
+			payMethod = "BMC";
+		} else if (TscConstants.PayMeans.BANK_DEPOSIT.value().equals(param.getPayMeans())) {
+			payMethod = "MON";
+		} else {
+			return "FAIL";
+		}
+
+		if(StringUtils.isEmpty(param.getOrdTelno())) {
+			param.setOrdTelno(param.getOrdPhnno());
+		}
+
+		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(param.getCustId());
+		dInfo.setOId(String.valueOf(param.getOrdNo()));
+		dInfo.setTotalMoney(String.valueOf(param.getRealOrdAmt()));
+		dInfo.setPId(param.getBirthYmd());
+		dInfo.setPayMethod(payMethod);
+		/*dInfo.setPayInfo1(payInfo1);
+		dInfo.setPayInfo2(payInfo2);
+		dInfo.setOrderNm(orderNm);
+		dInfo.setOrderHomeTel(orderHomeTel);
+		dInfo.setOrderHpTel(orderHpTel);
+		dInfo.setOrderZip(orderZip);
+		dInfo.setOrderAddress(orderAddress);
+		dInfo.setOrderEmail(orderEmail);
+		dInfo.setGoodsCount(goodsCount);
+		dInfo.setAcceptor(acceptor);
+		dInfo.setDeliveryTel1(deliveryTel1);
+		dInfo.setDeliveryTel2(deliveryTel2);
+		dInfo.setGoodsNameArr(goodsNameArr);
+		dInfo.setGoodsPriceArr(goodsPriceArr);
+		dInfo.setGoodsQuantityArr(goodsQuantityArr);
+		dInfo.setSign(sign);
+
+		result = manager.contractInsurance(dInfo);*/
+
+		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.setCustId("xodud1202");			// 고객 ID
+		temp.setOrdNo(1);						// 주문번호
+		temp.setRealOrdAmt(32000);				// 결제금액
+		temp.setBirthYmd("198912021");			// 생년월일 + 성별(남자 : 1, 여자 : 2)
+		temp.setPayMeans(TscConstants.PayMeans.ACCOUNT_TRANSFER.value());		// 무통장입금 or 계좌이체
+		temp.setBankCd("BK88");					// 은행코드 (BK + 은행코드)
+
+		/* 무통장입금 : 가상계좌번호, 계좌이체 : pgTid */
+		temp.setPgTid("20210423952698");		// temp.setAccountNo("110242212990");
+		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");	// 수령인휴대폰번호
+		orderService.uSafeGuaranteeInsurance(temp);
+
 		return super.getDeviceViewName("cart/CartListAjaxForm");
 	}
 

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