|
|
@@ -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";
|
|
|
+ }
|
|
|
}
|