/// <summary> /// 주문 파라메터를 주문 SP 파라메터로 변환 /// </summary> /// <param name="paymentParam"></param> /// <returns></returns> public static PaymentOrderMultiParamT ConvertRequestInfo2OrderParam(PaymentRequestInfoT paymentParam) { PaymentOrderMultiParamT orderParam = new PaymentOrderMultiParamT(); #region set orderParam orderParam.OrderWayKind = paymentParam.OrderWayKind; orderParam.PosShopCd = paymentParam.PosShopCd; orderParam.PosClassCd = paymentParam.PosClassCd; orderParam.PosClassKind = paymentParam.PosClassKind; orderParam.PrimaryCheckValue = paymentParam.PrimaryCheckValue; orderParam.ShoppingGuideNo = paymentParam.ShoppingGuideNo; orderParam.InterestGroupNo = paymentParam.InterestGroupNo; orderParam.BasketPID = paymentParam.BasketPid; orderParam.GdSelNo = paymentParam.GdSelNo; orderParam.OrderIdx = paymentParam.SelectedOrderIdxs; orderParam.JaehuID = paymentParam.CurrentJaehuID; orderParam.JaehuIDs = paymentParam.JaehuID; orderParam.GoodsCode = paymentParam.ItemNo; orderParam.OrderNo = paymentParam.OrderNo; orderParam.OrderPrice = paymentParam.OrderPrice; orderParam.OrderCnts = paymentParam.OrderCounts; //orderParam.SelItemPrice = paymentParam.SelItemPrice; //orderParam.InventorySeqNo = paymentParam.InventorySeqNo; //orderParam.OptInventorySeqNo = paymentParam.InventorySeqNoOpt; orderParam.ReservationRsvNo = paymentParam.ReservationRsvNo; orderParam.PolicyNos = paymentParam.PolicyNo; orderParam.DeliveryGoodsYN = paymentParam.DeliveryGoodsYN; orderParam.OnlineTransportSid = paymentParam.OnlineTransportSid; //orderParam.JehuGdCds = paymentParam.Jehugoodscode; //orderParam.JehuOrderCnts = paymentParam.Jehuordercnts; //orderParam.JehuOrderNo = paymentParam.Jehuorderno; //orderParam.JehuLType = paymentParam.Jehuorderltype; //orderParam.JehuAtype = paymentParam.Jehuorderatype; //orderParam.GiftPackYn = paymentParam.GiftPackYN; //orderParam.GiftShopYN = paymentParam.GiftShopYN; orderParam.RealCostPrice = paymentParam.RealCostPrice; orderParam.RealDealerCostPrice = paymentParam.RealDealerCostPrice; orderParam.RealDealerCostBasisNo = paymentParam.RealDealerCostBasisNo; orderParam.Sid = paymentParam.Sid; orderParam.PlusDisBcCondNos = paymentParam.PlusDisBcCondNos; orderParam.PlusDisSatisCnts = paymentParam.PlusDisSatisCounts; orderParam.SetCostScdNos = paymentParam.SetCostScdNos; orderParam.SetCondScdNos = paymentParam.SetCondScdNos; orderParam.PackCostPcdNos = paymentParam.PackCostPcdNos; orderParam.PackCondPcdNos = paymentParam.PackCondPcdNos; orderParam.PackCostSatisCnts = paymentParam.PackCostSatisCounts; //orderParam.AuctionNo = paymentParam.AucNo; //orderParam.AuctionBidPrice = Validate.IsNumeric(paymentParam.AuctionBidPrice) ? Convert.ToDecimal(paymentParam.AuctionBidPrice) : 0; //orderParam.AuctionBidAmt = Validate.IsNumeric(paymentParam.AuctionBidAmt) ? Convert.ToInt32(paymentParam.AuctionBidAmt) : 0; //orderParam.BidNo = Validate.IsNumeric(paymentParam.BidNo) ? Convert.ToInt32(paymentParam.BidNo) : 0; orderParam.CustNo = paymentParam.CustNo; orderParam.LoginID = paymentParam.LoginID; orderParam.MemberWay = paymentParam.MemberType; orderParam.BuyerName = paymentParam.BuyerName; orderParam.BuyerTelNo = paymentParam.BuyerTelNo; orderParam.BuyerEmail = paymentParam.BuyerEmail; orderParam.BuyerSSN = string.Empty; // 비회원 주문은 없다 orderParam.BuyerIdentificationNo = string.Empty; // 비회원 주문은 없다 orderParam.PayAuthSeq = paymentParam.PayAuthSeq; orderParam.CardCash = paymentParam.CardCash; orderParam.AcntType = paymentParam.AcntType; orderParam.PaymentCode = paymentParam.PaymentCode; orderParam.SettleLimitKey = paymentParam.SettleLimitKey; orderParam.OnCreditYN = paymentParam.OncreditYN; orderParam.Gbank = paymentParam.Gbank; orderParam.DepositNm = paymentParam.DepositName; orderParam.Vaccount = paymentParam.Vaccount; orderParam.VacntNo = paymentParam.VacntNo; orderParam.GbankGubun = paymentParam.GbankGubun; orderParam.ForeignMoney = paymentParam.ForeignMoney; //orderParam.TransactionNo = paymentParam.TransTransactionConfirmNo; //orderParam.TransBankNo = paymentParam.TransBankNo; //orderParam.TransOrderNo = paymentParam.TransOrderNo; //orderParam.TransSeqNo = Validate.IsNumeric(paymentParam.TransSeqNo) ? Convert.ToInt16(paymentParam.TransSeqNo) : (short)0; orderParam.IsCorpCard = paymentParam.IsCorpCard; orderParam.VirtualCardKind = paymentParam.VirtualCardKind; orderParam.CardNumber = paymentParam.CardNumber; orderParam.Installmonth = paymentParam.Installmonth; orderParam.FreeInterestNo = paymentParam.FreeInterestNo; orderParam.HalbuType = paymentParam.HalbuType; orderParam.CardYear = paymentParam.CardYear; orderParam.CardMonth = paymentParam.CardMonth; orderParam.CardPwd = paymentParam.CardPwd; orderParam.SocialNo2 = paymentParam.SocialNo2; orderParam.KVPSessionkey = paymentParam.KvpSessionkey; orderParam.KVPEncdata = paymentParam.KvpEncdata; orderParam.KVPCardCode = paymentParam.KvpCardcode; orderParam.Xid = paymentParam.Xid; orderParam.Eci = paymentParam.Eci; orderParam.Cavv = paymentParam.Cavv; orderParam.PaySaveCardYN = paymentParam.PaySaveCardYN; //orderParam.FrCode = paymentParam.FrCode; //orderParam.CellPhoneHpNo = paymentParam.CellphoneAuthHpNo; //orderParam.CellPhoneAuthKind = paymentParam.CellphoneAuthKind; //orderParam.CellPhoneSessionKey = paymentParam.CellphoneSessionkey; //orderParam.CellPhoneAuthNo = paymentParam.CellphoneAuthNo; //orderParam.CellPhoneIdentificationNo = paymentParam.CellPhoneIdentificationNo; orderParam.PaypalNo = Validate.IsNumeric(paymentParam.PaypalNo) ? Convert.ToInt32(paymentParam.PaypalNo) : 0; orderParam.PaypalToken = paymentParam.PaypalToken; orderParam.BibitNo = paymentParam.BibitNo; //orderParam.TCashID = paymentParam.TcashTid; orderParam.TaxIssueYN = paymentParam.TaxIssueYN; orderParam.CashIssueYN = paymentParam.CashIssueYN; orderParam.TaxChargeTeam = paymentParam.TaxChargeTeam; orderParam.TaxChargeName = paymentParam.TaxChargeName; orderParam.TaxRegNo = paymentParam.TaxRegNo; orderParam.TaxCompanyNm = paymentParam.TaxCompanyName; orderParam.TaxBoss = paymentParam.TaxBoss; orderParam.TaxAddress = paymentParam.TaxAddress; orderParam.TaxRcvAddress = paymentParam.TaxRcvAddress; orderParam.TaxZipCode = paymentParam.TaxZipCode; orderParam.TaxCategory = paymentParam.TaxCategory; orderParam.TaxKind = paymentParam.TaxKind; orderParam.TaxEmail = paymentParam.TaxEmail; orderParam.TaxPhone = paymentParam.TaxPhone; orderParam.TaxMemo = paymentParam.TaxMemo; orderParam.CashUseType = (string.IsNullOrEmpty(paymentParam.CashUseType) || paymentParam.CashUseType == "0") ? false : true; orderParam.CashRegNo = paymentParam.CashRegNo; orderParam.CashName = paymentParam.CashName; orderParam.CashPhone = paymentParam.CashPhone; orderParam.CashEmail = paymentParam.CashEmail; orderParam.CashReceiptYN = paymentParam.CashReceiptYN; orderParam.IdFlag = paymentParam.CashIdFlag; orderParam.AddressNo = 0; orderParam.ReceiverZipCode = paymentParam.ReceiverZipCode; orderParam.ReceiverAddr1 = paymentParam.ReceiverAddress1; orderParam.ReceiverAddr2 = paymentParam.ReceiverAddress2; orderParam.ReceiverName = paymentParam.ReceiverName; orderParam.ReceiverHpNo = paymentParam.ReceiverHpNo; orderParam.ReceiverPhoneNo = paymentParam.ReceiverPhoneNo; orderParam.Interval = paymentParam.Interval; orderParam.DelMemo = paymentParam.DelMemo; //orderParam.CouponGiftGroupNo = Validate.IsNumeric(paymentParam.CouponGiftGroupNo) ? Convert.ToInt32(paymentParam.CouponGiftGroupNo) : 0; //orderParam.SendGiftYN = paymentParam.SendGiftYN; //orderParam.GiftReceiverCustNo = paymentParam.GiftReceiverCustNo; //orderParam.GiftRecevierNm = paymentParam.GiftReceiverName; //orderParam.GiftReceiverHp = paymentParam.GiftReceiverHpNo; //orderParam.GiftReceiverId = paymentParam.GiftReceiverID; //orderParam.GiftReceiverEmail = paymentParam.GiftReceiverEmail; //orderParam.GiftMemo = paymentParam.GiftMemo; //orderParam.SenderInfoKindI = paymentParam.SenderInfoKindI; //orderParam.SenderInfoKindE = paymentParam.SenderInfoKindE; //orderParam.SenderInfoKindH = paymentParam.SenderInfoKindH; //orderParam.SendGiftWay = paymentParam.SendGiftWay; //orderParam.MsgKind = paymentParam.GiftMessageKind; //orderParam.GiftSenderNm = paymentParam.GiftSenderName; //orderParam.GiftSenderId = paymentParam.GiftSenderID; //orderParam.GiftSenderEmail = paymentParam.GiftSenderEmail; //orderParam.GiftSenderHpNo = paymentParam.GiftSenderHpNo; orderParam.RemoteAddr = paymentParam.RemoteAddress; orderParam.ServerIPAddr = paymentParam.ServerIPAddress; orderParam.ReceiveMailYN = paymentParam.ReceiveMailYn; orderParam.ReceiveSmsYN = paymentParam.ReceiveSmsYN; orderParam.GlinkNations = paymentParam.GlinkNation; //orderParam.OkCashBagSaveYn = paymentParam.OkcashbagSaveYN; //orderParam.Pwd = string.Empty; // 비회원 주문 없다 orderParam.OuterOrderNos = paymentParam.OuterOrderNos; //orderParam.PartnerGiftMsg = paymentParam.PartnerGiftMessage; //orderParam.PartnerGiftMsgReceiver = paymentParam.PartnerGiftMessageReceiver; //orderParam.PartnerGiftMsgSender = paymentParam.PartnerGiftMessageSender; #endregion return orderParam; }
public PaymentGEPPaymentProcessResultT PaymentExecuteOrder( PaymentOrderMultiParamT orderParam , PaymentOrderMultiParamEtcT orderParamEtc , PaymentInfoCheckT payMethodtInfo , List<PaymentDataOrderInfoT> paymentDataOrderInfoList , List<PaymentDataCostBasisInfoT> paymentDataCostBasisInfoList , List<PaymentOrderItemCostInfoT> paymentOrderItemCostInfoList) { PaymentGEPPaymentProcessResultT orderResult = new PaymentGEPPaymentProcessResultT(); PaymentProcessQueryBiz biz = new PaymentProcessQueryBiz(); orderResult.Result = new GEPBaseResultT(); string acntNo = string.Empty; string cashpayWay = "M"; int affectedRowCount = 0; #region 미리 처리할 것들 #endregion #region 주문 중 수량 입력 try { biz.UpdatePaymentOrderCountToOrderBufSell(orderParam.PackNo); } catch { throw new PaymentProcessBizException(-742, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } #endregion #region 결제 수단 처리 // 현금 계좌 생성 if (orderParam.AcntType.Equals("A3", StringComparison.InvariantCultureIgnoreCase)) { if (orderParam.CardCash.Equals("CASH", StringComparison.InvariantCultureIgnoreCase)) { // 일반계좌 생성 if (string.IsNullOrEmpty(orderParam.Vaccount) || orderParam.Vaccount.Length < 3) { cashpayWay = "M"; if (orderParam.MemberWay.Equals("NON", StringComparison.InvariantCultureIgnoreCase)) { acntNo = "300792725"; } else { PaymentCashAccountInfoT customerCashAccountInfo = biz.GetCustomerCashAccountInfo(orderParam.CustNo, cashpayWay); acntNo = customerCashAccountInfo != null ? customerCashAccountInfo.AcntNo : string.Empty; } } else // 가상계좌 생성 { cashpayWay = "V"; // 잘못된 가상계좌 튕겨내기 if (!biz.GetExistAccountMCash(orderParam.CustNo, orderParam.VacntNo, cashpayWay, orderParam.Vaccount).IsExist) { throw new PaymentProcessBizException(-334, "가상계좌 정보에 이상이 있습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } acntNo = orderParam.Vaccount; } if (string.IsNullOrEmpty(acntNo)) { throw new PaymentProcessBizException(-321, "온라인 입금을 위한 계좌 정보를 찾지 못했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } } else if (orderParam.AcntType.Equals("I1", StringComparison.InvariantCultureIgnoreCase)) // Paypal 계좌 생성 { if (orderParam.CardCash.Equals("GBANK_PAYPAL", StringComparison.InvariantCultureIgnoreCase)) { cashpayWay = "P"; try { PaymentGlobalAccountInfoT customerGlobalAccountInfo = biz.GetCustomerGlobalAccountInfo(orderParam.CustNo, cashpayWay); acntNo = customerGlobalAccountInfo != null ? customerGlobalAccountInfo.AcntNo : string.Empty; if (string.IsNullOrEmpty(acntNo) || acntNo.Length < 3) { string result = biz.MakePersonalAccount(orderParam.CustNo, orderParam.AcntType, orderParam.Gbank.ToString() , string.Empty, string.Empty, string.Empty, 0, string.Empty, string.Empty , string.Empty, string.Empty, string.Empty, string.Empty, orderParam.CardCash , string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 0, null , string.Empty, "Y", 0, string.Empty); acntNo = result; } } catch { throw new PaymentProcessBizException(-333, "외화입금 계좌 생성중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } if (string.IsNullOrEmpty(acntNo)) { throw new PaymentProcessBizException(-322, "온라인 입금을 위한 계좌 정보를 찾지 못했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } else if (acntNo == "-1") { throw new PaymentProcessBizException(-333, "외화입금 계좌 생성중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } } else if (orderParam.AcntType.Equals("A2", StringComparison.InvariantCultureIgnoreCase) || orderParam.AcntType.Equals("A7", StringComparison.InvariantCultureIgnoreCase)) // 카드 계좌 생성 { cashpayWay = "M"; try { decimal totalAcntMoney = paymentDataOrderInfoList.Sum(x => (decimal)(x.OrderPrice * x.OrderCnt) + x.SelItemPrice + x.DeliveryFee - x.CostPrice); string result = biz.MakePersonalAccount(orderParam.CustNo, orderParam.AcntType, payMethodtInfo.MasterCard , orderParam.CardNumber, orderParam.CardYear, orderParam.CardMonth, orderParam.Installmonth, orderParam.CardPwd, orderParam.SocialNo2 , orderParam.KVPCardCode, payMethodtInfo.SessionKey, payMethodtInfo.EncData, payMethodtInfo.AppType, string.Empty , string.Empty, string.Empty, string.Empty, string.Empty, orderParam.Eci, 0, null , orderParamEtc.OrderJaehuID, orderParamEtc.DirectYN, totalAcntMoney, orderParam.HalbuType); acntNo = result; } catch { throw new PaymentProcessBizException(-338, "카드 계좌 처리작업중 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } if (string.IsNullOrEmpty(acntNo) || acntNo == "-1") { throw new PaymentProcessBizException(-328, "카드 계좌 생성중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } else { throw new PaymentProcessBizException(-376, "결제 정보가 잘못 되었습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } // PayPal Express CheckOut if (orderParam.CardCash.Equals("GBANK_PAYPAL", StringComparison.InvariantCultureIgnoreCase) && orderParam.PaypalToken.Trim().Length != 0) { if (biz.GetExistPaypalPaymentInfo(orderParam.PaypalToken).IsExist) { throw new PaymentProcessBizException(-727, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } try { PaymentPaypalPaymentInfoT paypalPaymentInfo = biz.GetPaypalPaymentInfo(orderParam.PaypalToken); biz.UpdatePaypalPaymentInfo(orderParam.PackNo, orderParam.PaypalToken, paypalPaymentInfo == null || string.IsNullOrEmpty(paypalPaymentInfo.CustNo) ? orderParam.CustNo : string.Empty); } catch { throw new PaymentProcessBizException(-728, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } // 카드 정보 기록 if (orderParam.AcntType.Equals("A2", StringComparison.InvariantCultureIgnoreCase) || orderParam.AcntType.Equals("A7", StringComparison.InvariantCultureIgnoreCase)) { try { biz.InsertCardInfo(orderParam.PackNo, payMethodtInfo.SessionKey, payMethodtInfo.EncData, payMethodtInfo.AppType , orderParam.Installmonth, orderParam.CardPwd, orderParam.RemoteAddr, orderParam.Eci , (string.IsNullOrEmpty(orderParam.PaySaveCardYN) ? "N" : orderParam.PaySaveCardYN) , orderParam.SocialNo2, orderParam.HalbuType, orderParam.KVPCardCode, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-330, "주문카드 정보 기록중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 경품권 서비스 관련 if (orderParam.MemberWay.Equals("MEM", StringComparison.InvariantCultureIgnoreCase) && !orderParam.OrderWayKind.Equals("BAR", StringComparison.InvariantCultureIgnoreCase)) { try { int insertedRowCount = biz.InsertSticketAccHistory(orderParam.PackNo, orderParam.CustNo, orderParam.LoginID); if (insertedRowCount > 0) { if (biz.GetExistSticketAccount(orderParam.CustNo).IsExist) { biz.UpdateStickerAccount(orderParam.PackNo, orderParam.CustNo, orderParam.LoginID, orderParam.OrderDateTime); } else { biz.InsertStickerAccount(orderParam.PackNo, orderParam.CustNo, orderParam.LoginID); } } } catch { throw new PaymentProcessBizException(-417, "경품권 서비스 관련 오류 발생."); } } #endregion #region 세금계산서 및 현금영수증 요청 처리 if (orderParam.TaxRegNo.Length >= 9) { string cardKind = (orderParam.IsCorpCard.Equals("Y", StringComparison.InvariantCultureIgnoreCase) ? "Y" : (orderParam.IsCorpCard.Equals("N", StringComparison.InvariantCultureIgnoreCase) ? "N" : string.Empty)); try { biz.InsertRequestTaxCheck(orderParam.PackNo, orderParam.CustNo, orderParam.TaxRegNo , orderParam.TaxCompanyNm, orderParam.TaxBoss, orderParam.TaxAddress, orderParam.TaxRcvAddress , orderParam.TaxZipCode, orderParam.TaxCategory, orderParam.TaxKind, cardKind , orderParam.TaxEmail, orderParam.TaxPhone, orderParam.TaxMemo , orderParam.TaxChargeName, orderParam.TaxChargeName, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-808, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다"); } if (orderParam.CashRegNo.Length >= 9) { if (paymentDataOrderInfoList .Where(x => x.TaxIssueYn.Equals("N", StringComparison.InvariantCultureIgnoreCase) && x.CashIssueYn.Equals("Y", StringComparison.InvariantCultureIgnoreCase)) .Sum(x => (decimal)(x.OrderPrice * x.OrderCnt) + x.SelItemPrice + x.DeliveryFee - x.CostPrice) >= 10) { try { List<PaymentDataOrderInfoT> cashReceiptDataOrderList = paymentDataOrderInfoList.Where(x => x.TaxIssueYn.Equals("N", StringComparison.InvariantCultureIgnoreCase) && x.CashIssueYn.Equals("Y", StringComparison.InvariantCultureIgnoreCase)).ToList<PaymentDataOrderInfoT>(); foreach (PaymentDataOrderInfoT item in cashReceiptDataOrderList) { biz.InsertCashReceipt(orderParam.CashUseType, orderParam.CashRegNo, orderParam.CashName , item.OrderNo, item.ItemNo, orderParam.CashPhone, orderParam.CashEmail , (item.SelItemPrice + item.DeliveryFee - item.CostPrice), orderParam.CustNo , "Y", orderParam.IdFlag); } } catch { throw new PaymentProcessBizException(-809, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다"); } } } } else { if (orderParam.CashRegNo.Length >= 9) { if (paymentDataOrderInfoList .Where(x => x.CashIssueYn.Equals("Y", StringComparison.InvariantCultureIgnoreCase)) .Sum(x => (decimal)(x.OrderPrice * x.OrderCnt) + x.SelItemPrice + x.DeliveryFee - x.CostPrice) >= 10) { try { List<PaymentDataOrderInfoT> cashReceiptDataOrderList = paymentDataOrderInfoList.Where(x => x.CashIssueYn.Equals("Y", StringComparison.InvariantCultureIgnoreCase)).ToList<PaymentDataOrderInfoT>(); foreach (PaymentDataOrderInfoT item in cashReceiptDataOrderList) { biz.InsertCashReceipt(orderParam.CashUseType, orderParam.CashRegNo, orderParam.CashName , item.OrderNo, item.ItemNo, orderParam.CashPhone, orderParam.CashEmail , (item.SelItemPrice + item.DeliveryFee - item.CostPrice), orderParam.CustNo , "Y", orderParam.IdFlag); } } catch { throw new PaymentProcessBizException(-810, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다"); } } } } #endregion #region 공급원가 입력 try { biz.InsertPaymentDsorderSttlData(paymentOrderItemCostInfoList); } catch { throw new PaymentProcessBizException(-741, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } #endregion #region 할인정보 입력 if (paymentDataCostBasisInfoList.Count > 0) { try { biz.InsertDsorderCostbasisInfo(orderParam.PackNo, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-113, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 현금성 도용 예외처리 if (biz.GetExistCashTypeGoods(orderParam.PackNo).IsExist) { if (orderParam.AcntType.Equals("AM", StringComparison.InvariantCultureIgnoreCase) || orderParam.AcntType.Equals("A8", StringComparison.InvariantCultureIgnoreCase) || (orderParam.AcntType.Equals("A3", StringComparison.InvariantCultureIgnoreCase) && cashpayWay.Equals("V", StringComparison.InvariantCultureIgnoreCase))) { throw new PaymentProcessBizException(-10, "결제가 불가능 합니다."); } } #endregion #region 사자 주문 입력 // dsorderindex 테이블에 입력하기 affectedRowCount = 0; try { affectedRowCount = biz.InsertDsorderIndex(orderParam.PackNo, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-708, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } if (affectedRowCount != orderParam.ItemCount) { throw new PaymentProcessBizException(-708, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } // dsorder 테이블에 입력하기 affectedRowCount = 0; try { affectedRowCount = biz.InsertDsorder(orderParam.PackNo, orderParam.CustNo, orderParam.TaxRegNo , acntNo, orderParam.ReceiverName, orderParam.ReceiverZipCode, orderParam.ReceiverAddr1, orderParam.ReceiverAddr2 , orderParam.AcntType, orderParam.ReceiverPhoneNo, orderParam.ReceiverHpNo, orderParam.BuyerEmail , orderParam.Gbank, orderParam.DepositNm, orderParam.OnCreditYN, orderParam.Vaccount , orderParam.FreeInterestNo, orderParam.HalbuType, orderParam.AddressNo, cashpayWay, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-709, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } if (affectedRowCount != orderParam.ItemCount) { throw new PaymentProcessBizException(-709, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } // dsorder_sub 테이블에 입력하기 try { biz.InsertDsorderSub(orderParam.PackNo); } catch { throw new PaymentProcessBizException(-720, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } #endregion #region 필수구성/선택옵션 정보 입력 try { biz.InsertDsselorder(orderParam.BasketPID, orderParam.PackNo); } catch { throw new PaymentProcessBizException(-710, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } #endregion #region 필수구성/선택옵션 가격 조작 방지 체크 PaymentCurrentSelPriceInfoT currentSelPriceInfo = biz.GetCurrentSelPriceInfo(orderParam.PackNo); if (currentSelPriceInfo != null) { if (currentSelPriceInfo.SelItemPriceDb != currentSelPriceInfo.SelItemPriceIn) { throw new PaymentProcessBizException(-807, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region G-Plus 카드 쿠폰 사용내용 기록 if (paymentDataCostBasisInfoList.Any(x => x.BasisKind.Equals("PCP", StringComparison.InvariantCultureIgnoreCase)) && orderParam.PaymentCode.Equals("Po_HN_G", StringComparison.InvariantCultureIgnoreCase)) { string useMonth; if (orderParam.OrderDateTime.Day < 5) { useMonth = orderParam.OrderDateTime.AddMonths(-1).Year.ToString() + orderParam.OrderDateTime.AddMonths(-1).Month.ToString().PadLeft(2, '0'); } else { useMonth = orderParam.OrderDateTime.Year.ToString() + orderParam.OrderDateTime.Month.ToString().PadLeft(2, '0'); } affectedRowCount = 0; int gplusCostBasisNo = 0; #if DEBUG || PAYMENT_DEBUG gplusCostBasisNo = 2238819; #else gplusCostBasisNo = 2238819; #endif try { affectedRowCount = biz.InsertGlusUsedCouponInfo(orderParam.PackNo, orderParam.CustNo, orderParam.PaymentCode , "SN", useMonth, gplusCostBasisNo, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-118, "배송비 할인쿠폰 적용 에러입니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } if (affectedRowCount > 0) { try { biz.UpdateUsedCouponSum(orderParam.CustNo, orderParam.LoginID, useMonth, affectedRowCount, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-119, "배송비 할인쿠폰 적용 에러입니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } } #endregion #region 위약금 정보 입력 if (paymentDataOrderInfoList.Any(x => x.PolicyNo != 0)) { try { biz.InsertChargeOffOrder(orderParam.PackNo, orderParam.CustNo, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-504, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 외화입금 정보 입력 if (orderParam.CardCash.Equals("GBANK_PAYPAL", StringComparison.InvariantCultureIgnoreCase)) { int gubunMethod; string paymentMthd; decimal gExchangeRate; if (orderParam.GbankGubun.Equals("citibank", StringComparison.InvariantCultureIgnoreCase)) { gubunMethod = 2000; paymentMthd = "02"; } else if (orderParam.GbankGubun.Equals("resonabank", StringComparison.InvariantCultureIgnoreCase)) { gubunMethod = 30000; paymentMthd = "03"; } else if (orderParam.GbankGubun.Equals("paypal_express", StringComparison.InvariantCultureIgnoreCase)) { gubunMethod = 110000; paymentMthd = "01"; } else { gubunMethod = 10000; paymentMthd = "01"; } try { gExchangeRate = biz.GetExchangeRate(paymentMthd, orderParam.OrderDateTime); biz.InsertDsgbankorder(orderParam.PackNo, gubunMethod, paymentMthd, gExchangeRate, orderParam.ForeignMoney, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-335, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 개인별 할인쿠폰 사용여부 변경 if (paymentDataCostBasisInfoList.Any(x => x.BasisKind.Equals("PCP", StringComparison.InvariantCultureIgnoreCase))) { // 쿠폰 사용내역 업데이트 try { biz.UpdateDcouponDetail(orderParam.PackNo, orderParam.CustNo, orderParam.LoginID, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-114, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } // 쿠폰 사용 히스토리 입력 try { biz.InsertOrderCouponHistory(orderParam.PackNo, orderParam.CustNo, orderParam.LoginID, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-115, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 복수구매 할인 정보 기록 if (paymentDataOrderInfoList.Any(x => x.BundCondNo > 0)) { try { biz.InsertBundKeysProc(orderParam.PackNo, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-116, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 세트구매 할인 정보 기록 if (paymentDataOrderInfoList.Any(x => x.SetCostNo > 0)) { try { biz.InsertDsSetCostOrder(orderParam.PackNo, orderParam.LoginID, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-129, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 묶음구매 할인 정보 기록 if (paymentDataOrderInfoList.Any(x => x.PackCostNo > 0)) { try { biz.InsertDsSetCostOrder(orderParam.PackNo, orderParam.LoginID, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-133, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 결제에 따른 코드 추가 if (!string.IsNullOrEmpty(orderParam.PaymentCode) && orderParam.PaymentCode.Length > 0) { try { biz.UpdateDscontrPolicySttlCode(orderParam.PackNo, orderParam.PaymentCode); } catch { throw new PaymentProcessBizException(-133, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 현금잔고 주문시 장바구니 번호 입력 if (orderParam.AcntType.Equals("A3", StringComparison.InvariantCultureIgnoreCase) && orderParam.CardCash.Equals("CASH", StringComparison.InvariantCultureIgnoreCase) && orderParam.Gbank == 60000) { try { biz.InsertBuySttlBalancePackNo(orderParam.PackNo); } catch { throw new PaymentProcessBizException(-744, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 해외PG 한도 제한 관련 기록 if (!string.IsNullOrEmpty(orderParam.SettleLimitKey) && orderParam.SettleLimitKey.Length > 12) { if (orderParam.AcntType.Equals("I1", StringComparison.InvariantCultureIgnoreCase)) { orderParam.AcntType = "I2"; } decimal totalOrderPeice = paymentDataOrderInfoList.Sum(x => x.OrderPrice * (decimal)x.OrderCnt); try { biz.InsertLimitOrderSettleLog(orderParam.PackNo, orderParam.CustNo, orderParam.LoginID , orderParam.SettleLimitKey, totalOrderPeice, orderParam.AcntType, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-748, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 주문 유입경로 기록 try { biz.InsertOrderFlowLog(orderParam.PackNo, orderParamEtc.PolicyOrderSrc, orderParam.PrimaryCheckValue, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-812, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } #endregion #region 북캐시 적립 정책 기록 if (biz.GetExistBookCashInfo(orderParam.PackNo).IsExist) { try { biz.InsertDsOrderBookCash(orderParam.PackNo, orderParam.LoginID, orderParam.OrderDateTime); } catch { throw new PaymentProcessBizException(-814, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } try { PaymentBookCashPolicyT bookCashPolicy = biz.GetBookCashPolicy("A", orderParam.OrderDateTime); if (bookCashPolicy != null) { if (bookCashPolicy.BcashPNo != 0 && bookCashPolicy.BasisMoney > 0) { biz.InsertDsOrderBookCashPack(orderParam.PackNo, orderParam.LoginID, bookCashPolicy.BcashPNo, bookCashPolicy.PHistNo, bookCashPolicy.BasisMoney, orderParam.OrderDateTime); } } } catch { throw new PaymentProcessBizException(-815, "주문 접수중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } } #endregion #region 쇼핑지원금 차감 처리 if (paymentDataCostBasisInfoList.Any(x => x.BasisKind.Equals("SSD", StringComparison.InvariantCultureIgnoreCase))) { decimal remainSSCash = biz.GetRemainShoppingSupportCash(orderParam.CustNo, orderParam.OrderDateTime); decimal deductSSCash = paymentDataCostBasisInfoList.Where(x => x.BasisKind.Equals("SSD", StringComparison.InvariantCultureIgnoreCase)).Sum(x => x.CostPrice); if (remainSSCash < deductSSCash || remainSSCash <= 0) { throw new PaymentProcessBizException(-157, "쇼핑지원금이 부족합니다."); } // 주문건별로 쇼핑지원금 차감 처리 try { var costSSInfo = (from x in paymentDataCostBasisInfoList where x.BasisKind.Equals("SSD", StringComparison.InvariantCultureIgnoreCase) group x by new { x.PackNo, x.ItemNo, x.BuyOrderNo } into g select new { PackNo = g.Key.PackNo, ItemNo = g.Key.ItemNo, OrderNo = g.Key.BuyOrderNo, ShoppingSupportCash = g.Sum(p => p.CostPrice) } ).ToList(); List<PaymentCostShoppingSupportInfoT> costSSInfoList = new List<PaymentCostShoppingSupportInfoT>(); foreach (var item in costSSInfo) { costSSInfoList.Add(new PaymentCostShoppingSupportInfoT { PackNo = item.PackNo, ItemNo = item.ItemNo, OrderNo = item.OrderNo, ShoppingSupportCash = item.ShoppingSupportCash }); } if (costSSInfoList != null && costSSInfoList.Count > 0) { if (costSSInfoList.Count == 1) { int retCode = 0; try { retCode = biz.SetShoppingSupportCash(orderParam.CustNo, "D1", costSSInfoList[0].ShoppingSupportCash, costSSInfoList[0].PackNo, costSSInfoList[0].ItemNo , costSSInfoList[0].OrderNo, null, null, 0, orderParam.LoginID, 0, "N", 0); } catch { throw new PaymentProcessBizException(-155, "쇼핑지원금 처리에 문제가 발생했습니다."); } if (retCode != 0) { throw new PaymentProcessBizException(-155, "쇼핑지원금 처리에 문제가 발생했습니다."); } } else { try { biz.SetShoppingSupportCash(costSSInfoList, orderParam.CustNo, orderParam.LoginID, "D1"); } catch (PaymentProcessBizException pEx) { throw pEx; } catch { throw new PaymentProcessBizException(-156, "쇼핑지원금 처리에 문제가 발생했습니다."); } } } } catch (PaymentProcessBizException pEx) { throw pEx; } catch { throw new PaymentProcessBizException(-817, "쇼핑지원금 회원권 처리에 문제가 발생하였습니다. 다시 주문해 주시기 바랍니다."); } } #endregion #region 주문 유입 채널 정보 기록 try { //string siteCode = string.Empty; string siteCode = "P"; switch (orderParam.PrimaryCheckValue.ToUpper()) { case "ENG": siteCode = "E"; break; case "BRA": siteCode = "B"; break; case "SOH": siteCode = "S"; break; case "GIR": siteCode = "G"; break; case "GEP": siteCode = "P"; break; } biz.InsertDsOrderChannelInfo(paymentDataOrderInfoList, siteCode, orderParamEtc.OrderJaehuID); } catch { throw new PaymentProcessBizException(-760, "채널 정보 기록 중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } #endregion #region 외부 주문 번호 저장 try { biz.InsertOutContrList(orderParam.PackNo); } catch { throw new PaymentProcessBizException(-764, "외부 주문 정보 기록 중에 문제가 발생했습니다. 다시 주문해 주세요. 주문은 접수되지 않았습니다."); } #endregion #region GEP의 통합주문 목록에 주문 정보 Update #if (!PAYMENT_DEBUG && !PAYMENT_RELEASE) try { List<PaymentGepOrderUpdateInfoT> gepOrderUpdateInfoList = new List<PaymentGepOrderUpdateInfoT>(); foreach (PaymentDataOrderInfoT item in paymentDataOrderInfoList) { gepOrderUpdateInfoList.Add(new PaymentGepOrderUpdateInfoT { GepOrderNo = item.GepOrderNo, ItemNo = item.ItemNo, OrderNo = (long)item.OrderNo, PackNo = item.PackNo }); } new PaymentProcessQueryBiz().UpdateGepOrderList(gepOrderUpdateInfoList, orderParam.OrderDateTime); } catch (PaymentProcessBizException pEx) { throw pEx; } catch { throw new PaymentProcessBizException(-1104, "GEP 주문 정보 기록 중 오류가 발생하였습니다"); } #endif #endregion return orderResult; }
public PaymentAutoCashReceiptInfoT GetAutoCashReceiptInfo(PaymentOrderMultiParamT entity) { return new PaymentProcessQueryDac().GetAutoCashReceiptInfo(entity.CardCash, entity.CustNo, entity.MemberWay , entity.BuyerName, entity.BuyerTelNo, entity.BuyerEmail, entity.BuyerSSN, entity.CashUseType , entity.CashRegNo, entity.CashName, entity.CashPhone, entity.CashEmail, entity.IdFlag, entity.BuyerIdentificationNo); }
/// <summary> /// 주문 /// </summary> /// <param name="reqOrderParam"></param> /// <returns></returns> public PaymentGEPPaymentProcessResultT GEPOrderDomesticMulti(PaymentOrderMultiParamT reqOrderParam) { PaymentGEPPaymentProcessResultT orderResult = new PaymentGEPPaymentProcessResultT(); List<PaymentGEPItemInfoT> paymentGEPItemInfoList; orderResult.Result = new GEPBaseResultT(); #region 주문에 필요한 상품 정보 List 생성 try { paymentGEPItemInfoList = ConvertOrderParam2ItemInfo(reqOrderParam); this._paymentGEPItemInfoList = paymentGEPItemInfoList; } catch (ArgumentException argumentEx) { throw new PaymentProcessBizException(Util.GetSafeInt(argumentEx.ParamName, -900), argumentEx.Message); } catch (Exception ex) { throw ex; } #region CBT 통합 주문 주문가능 여부 확인 #if (!PAYMENT_DEBUG && !PAYMENT_RELEASE) // 주문 가능여부 체크 if (!new PaymentProcessQueryBiz().IsGEPOrderOrderable(paymentGEPItemInfoList.Select(c => Util.GetSafeLong(c.OutOrderNo)).ToList())) { throw new PaymentProcessBizException(-1109, "주문 할 수 없는 GEP 주문 건이 있습니다."); } #endif #endregion //int count = paymentBiz.InsertGEPPaymentItemInfo(paymentGEPItemInfoList); #endregion #region 주문실행 try { this._orderParam = reqOrderParam; #region 주문 실행 시간 this._orderParam.OrderDateTime = this.GetOrderDateTime(); #endregion #region 파라메터 Validate PaymentValidateParameter(); #endregion #region 주문 실행 준비 - 주문건별 Validation 및 주문정보 생성 PaymentPrepare(); #endregion #region 주문에 필요한 상품 정보 입력 // 할인 정보 PaymentInsertDataCostBasis(this._paymentDataCostBasisInfoList); // 상품 정보 PaymentInsertDataOrder(this._paymentDataOrderInfoList); #endregion #region 총 상품 갯수 this._orderParam.ItemCount = this._paymentDataOrderInfoList.Count; #endregion #region 기타정보 입력 this._orderParamEtc.PolicyOrderSrc = "DM"; #endregion #region 주문 orderResult = PaymentExecuteOrder(this._orderParam , this._orderParamEtc , this._paymenPayMethodtInfo , this._paymentDataOrderInfoList , this._paymentDataCostBasisInfoList , this._paymentOrderItemCostInfoList); // 주문 실행 시간 넣어준다. orderResult.OrderDateTime = this._orderParam.OrderDateTime; #endregion } catch (PaymentProcessBizException pEx) { throw pEx; } catch (Exception ex) { throw new PaymentProcessBizException(-1180, ex.Message); } #endregion return orderResult; }
public List<PaymentGEPOrderMultiResultT> SetPaymentGEPOrderMulti(PaymentOrderMultiParamT entity) { List<PaymentGEPOrderMultiResultT> list = new DacHelper(DbHelper, "tiger_write").SelectMultipleEntities < PaymentGEPOrderMultiResultT>( typeof(PaymentGEPOrderMultiResultT), GEPMappingCache.GetDataMappings("PaymentGEPOrderMultiResultT"), CommandType.StoredProcedure, "dbo.up_gmkt_common_payment_gep_insert_order_domestic_multi", SqlParameterHelper.CreateParameter("@order_way_kind", entity.OrderWayKind, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@pos_shop_cd_s", entity.PosShopCd, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@pos_class_cd_s", entity.PosClassCd, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@pos_class_kind_s", entity.PosClassKind, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@primary_check_value", entity.PrimaryCheckValue, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@shopping_guide_no_s", entity.ShoppingGuideNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@interest_group_no_s", entity.InterestGroupNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@pid", entity.BasketPID, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gd_sel_no_s", entity.GdSelNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@g_jaehuid", entity.JaehuID, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@jaehuid_s", entity.JaehuIDs, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gd_no_s", entity.GoodsCode, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@order_no_s", entity.OrderNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@order_price_s", entity.OrderPrice, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@order_cnt_s", entity.OrderCnts, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@sel_item_price_s", entity.SelItemPrice, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@inventory_seq_no_s", entity.InventorySeqNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@opt_inventory_seq_no_s", entity.OptInventorySeqNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@reservation_rsv_no", entity.ReservationRsvNo, SqlDbType.Int), //SqlParameterHelper.CreateParameter("@policy_no_s", entity.PolicyNos, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@deliverygoodsyn", entity.DeliveryGoodsYN, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@online_transport_sid", entity.OnlineTransportSid, SqlDbType.Int), //SqlParameterHelper.CreateParameter("@jehu_gd_no", entity.JehuGdCds, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@jehu_order_cnt", entity.JehuOrderCnts, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@jehu_order_no", entity.JehuOrderNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@jehu_l_type", entity.JehuLType, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@jehu_a_type", entity.JehuAtype, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gift_pack_yn_s", entity.GiftPackYn, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gift_shop_yn_s", entity.GiftShopYN, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@cost_price_s", entity.RealCostPrice, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@dealer_cost_price_s", entity.RealDealerCostPrice, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@dealer_cost_basis_no_s", entity.RealDealerCostBasisNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@sid_s", entity.Sid, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@bund_cond_no_s", entity.PlusDisBcCondNos, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@bund_satis_cnt_s", entity.PlusDisSatisCnts, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@set_cost_no_s", entity.SetCostScdNos, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@set_cond_no_s", entity.SetCondScdNos, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@pack_cost_no_s", entity.PackCostPcdNos, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@pack_cond_no_s", entity.PackCondPcdNos, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@pack_satis_cnt_s", entity.PackCostSatisCnts, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@auction_no_s", entity.AuctionNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@bid_price", entity.AuctionBidPrice, SqlDbType.Money), //SqlParameterHelper.CreateParameter("@bid_amt", entity.AuctionBidAmt, SqlDbType.Int), //SqlParameterHelper.CreateParameter("@bid_no", entity.BidNo, SqlDbType.Int), SqlParameterHelper.CreateParameter("@cust_no", entity.CustNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@login_id", entity.LoginID, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@member_type", entity.MemberWay, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@buyer_name", entity.BuyerName, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@buyer_tel_no", entity.BuyerTelNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@buyer_email", entity.BuyerEmail, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@buyer_ssn", entity.BuyerSSN, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@buyer_identification_no", entity.BuyerIdentificationNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@pay_auth_seq", entity.PayAuthSeq, SqlDbType.Int), SqlParameterHelper.CreateParameter("@card_cash", entity.CardCash, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@acnt_type", entity.AcntType, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@sttl_code", entity.PaymentCode, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@settle_limit_key", entity.SettleLimitKey, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@oncredit_yn", entity.OnCreditYN, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@gbank", entity.Gbank, SqlDbType.Int), SqlParameterHelper.CreateParameter("@deposit_nm", entity.DepositNm, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@vaccount", entity.Vaccount, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@vacnt_no", entity.VacntNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@gbank_gubun", entity.GbankGubun, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@foreign_money", entity.ForeignMoney, SqlDbType.Int), //SqlParameterHelper.CreateParameter("@transaction_no", entity.TransactionNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@trans_bank_no", entity.TransBankNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@trans_order_no", entity.TransOrderNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@trans_seq_no", entity.TransSeqNo, SqlDbType.TinyInt), SqlParameterHelper.CreateParameter("@iscorp_card", entity.IsCorpCard, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@virtual_card_kind", entity.VirtualCardKind, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@card_number", entity.CardNumber, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@installmonth", entity.Installmonth, SqlDbType.Int), SqlParameterHelper.CreateParameter("@fi_no", entity.FreeInterestNo, SqlDbType.Int), SqlParameterHelper.CreateParameter("@halbu_type", entity.HalbuType, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@year", entity.CardYear, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@month", entity.CardMonth, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@card_pwd", entity.CardPwd, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@social_no2", entity.SocialNo2, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@kcp_session_key", entity.KVPSessionkey, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@kcp_enc_data", entity.KVPEncdata, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@kcp_card_code", entity.KVPCardCode, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@xid", entity.Xid, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@eci", entity.Eci, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@cavv", entity.Cavv, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@save_yn", entity.PaySaveCardYN, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@fr_code ", entity.FrCode, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@cellphone_no", entity.CellPhoneHpNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@cellphone_kind", entity.CellPhoneAuthKind, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@cellphone_session_key", entity.CellPhoneSessionKey, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@cellphone_social_no", entity.CellPhoneAuthNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@cellphone_identification_no", entity.CellPhoneIdentificationNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@paypal_no", entity.PaypalNo, SqlDbType.Int), SqlParameterHelper.CreateParameter("@paypal_token", entity.PaypalToken, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@bibit_no", entity.BibitNo, SqlDbType.Int), //SqlParameterHelper.CreateParameter("@tcash_tid", entity.TCashID, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@tax_issue_yns", entity.TaxIssueYN, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@cash_issue_yns", entity.CashIssueYN, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@tax_charge_team", entity.TaxChargeTeam, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@tax_charge_name", entity.TaxChargeName, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@reg_no", entity.TaxRegNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@company_name", entity.TaxCompanyNm, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@boss", entity.TaxBoss, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@Address", entity.TaxAddress, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@Rcv_address", entity.TaxRcvAddress, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@zip_code", entity.TaxZipCode, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@category", entity.TaxCategory, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@kind", entity.TaxKind, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@tax_email", entity.TaxEmail, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@tax_phone", entity.TaxPhone, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@tax_memo", entity.TaxMemo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@receipt_type", entity.CashUseType, SqlDbType.Bit), SqlParameterHelper.CreateParameter("@id_number", entity.CashRegNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@demander", entity.CashName, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@contact", entity.CashPhone, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@email", entity.CashEmail, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@cash_receipt_yn", entity.CashReceiptYN, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@id_flag", entity.IdFlag, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@address_no", entity.AddressNo, SqlDbType.Int), SqlParameterHelper.CreateParameter("@order_zip_code", entity.ReceiverZipCode, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@address1", entity.ReceiverAddr1, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@address2", entity.ReceiverAddr2, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@rcv_nm", entity.ReceiverName, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@hp", entity.ReceiverHpNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@phone", entity.ReceiverPhoneNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@interval_s", entity.Interval, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@del_memo_s", entity.DelMemo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@coupon_gift_group_no", entity.CouponGiftGroupNo, SqlDbType.Int), //SqlParameterHelper.CreateParameter("@send_gift_yn", entity.SendGiftYN, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gift_receiver_cust_no", entity.GiftReceiverCustNo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gift_receiver_nm", entity.GiftRecevierNm, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gift_receiver_hp_no", entity.GiftReceiverHp, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gift_receiver_id", entity.GiftReceiverId, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gift_receiver_email", entity.GiftReceiverEmail, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gift_memo", entity.GiftMemo, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@sender_info_kind_i", entity.SenderInfoKindI, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@sender_info_kind_e", entity.SenderInfoKindE, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@sender_info_kind_h", entity.SenderInfoKindH, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@send_gift_way", entity.SendGiftWay, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@gift_msg_kind", entity.MsgKind, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@sender_nm", entity.GiftSenderNm, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@sender_id", entity.GiftSenderId, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@sender_email", entity.GiftSenderEmail, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@sender_hp_no", entity.GiftSenderHpNo, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@remote_ip", entity.RemoteAddr, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@svr_ip", entity.ServerIPAddr, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@receive_mail_yn", entity.ReceiveMailYN, SqlDbType.VarChar), SqlParameterHelper.CreateParameter("@receive_sms_yn", entity.ReceiveSmsYN, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@glink_nation_s", entity.GlinkNations, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@okcashbag_acc_yn", entity.OkCashBagSaveYn, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@buyerpwd", entity.Pwd, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@out_order_no_s", entity.OuterOrderNos, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@partner_gift_msg", entity.PartnerGiftMsg, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@partner_gift_msg_receiver", entity.PartnerGiftMsgReceiver, SqlDbType.VarChar), //SqlParameterHelper.CreateParameter("@partner_gift_msg_sender", entity.PartnerGiftMsgSender, SqlDbType.VarChar) SqlParameterHelper.CreateParameter("@pack_no", entity.PackNo, SqlDbType.Int), SqlParameterHelper.CreateParameter("@item_count", entity.ItemCount, SqlDbType.Int) ); return list; }
private GEPBaseResultT PaymentExecuteOrderFollowUp(PaymentOrderMultiParamT orderParam) { GEPBaseResultT result = new GEPBaseResultT(); PaymentProcessQueryBiz paymentProcessQueryBiz = new PaymentProcessQueryBiz(); #region 주문시 클라이언트 IP를 기록 try { paymentProcessQueryBiz.InsertOrderLogIpAddress(orderParam.RemoteAddr, orderParam.PackNo.ToString() + ",", orderParam.ServerIPAddr); } catch { // 실패 시 lion.dbo.order_error_log_for_sub_sp 에 기록 } if (!orderParam.AcntType.Equals("GL", StringComparison.InvariantCultureIgnoreCase) && orderParam.PayAuthSeq != 0) { int retCode = 0; //try //{ retCode = paymentProcessQueryBiz.UpdateOrderSubAuthLog(orderParam.PayAuthSeq, orderParam.PackNo, orderParam.OrderDateTime); //} //catch //{ //} // 주문에 영향은 없다고 함. /* if (retCode < 0) { result.RetCode = retCode; result.RetMessage = "정상적으로 주문은 접수되었지만, 문제가 발생했습니다. 나의 쇼핑정보에서 확인해주세요"; return result; } */ } #endregion return result; }
private void PaymentExecuteOrderCleanUp(PaymentOrderMultiParamT orderParam) { PaymentProcessQueryBiz biz = new PaymentProcessQueryBiz(); #region 임시 주문 정보 삭제 try { biz.DeletePaymentDataOrder(orderParam.PackNo); } catch { } try { biz.DeletePaymentDataCoastbasisInfo(orderParam.PackNo); } catch { } #endregion }
/// <summary> /// 주문 실행 /// </summary> /// <param name="orderParam"></param> /// <param name="orderParamEtc"></param> /// <param name="paymenPayMethodtInfo"></param> /// <param name="paymentDataOrderInfoList"></param> /// <param name="paymentDataCostBasisInfoList"></param> /// <param name="paymentOrderItemCostInfoList"></param> /// <returns></returns> //private List<PaymentGEPOrderMultiResultT> PaymentStartOrder() private PaymentGEPPaymentProcessResultT PaymentExecuteOrder(PaymentOrderMultiParamT orderParam , PaymentOrderMultiParamEtcT orderParamEtc , PaymentInfoCheckT paymenPayMethodtInfo , List<PaymentDataOrderInfoT> paymentDataOrderInfoList , List<PaymentDataCostBasisInfoT> paymentDataCostBasisInfoList , List<PaymentOrderItemCostInfoT> paymentOrderItemCostInfoList) { PaymentGEPPaymentProcessResultT orderResult = new PaymentGEPPaymentProcessResultT(); PaymentBiz paymentBiz = new PaymentBiz(); PaymentProcessQueryBiz paymentProcessQueryBiz = new PaymentProcessQueryBiz(); orderResult.Result = new GEPBaseResultT(); #region 주문 #region 주문 실행 PaymentGEPPaymentProcessResultT paymentExecuteOrderResult = paymentProcessQueryBiz.PaymentExecuteOrder( orderParam , orderParamEtc , paymenPayMethodtInfo , paymentDataOrderInfoList , paymentDataCostBasisInfoList , paymentOrderItemCostInfoList); #endregion #region 주문 이후 처리 GEPBaseResultT followUpResult = PaymentExecuteOrderFollowUp(orderParam); if (followUpResult.RetCode != 0) { orderResult.Result = followUpResult; } #endregion #region 주문 내역 조회 List<PaymentGEPOrderMultiResultT> orderItemList = GetExecuteOrderItemList(paymentDataOrderInfoList); #endregion #region 주문 CleanUp try { PaymentExecuteOrderCleanUp(orderParam); } catch { } #endregion paymentExecuteOrderResult.OrderResultList.AddRange(orderItemList); #endregion #region 주문 결과 처리 if (paymentExecuteOrderResult.OrderResultList == null) { orderResult.Result.RetCode = -1107; orderResult.Result.RetMessage = "주문 접수중에 문제가 발생하여 결제가 이루어지지 않았습니다. 확인후 다시 주문해 주시기 바랍니다"; } else { if (paymentExecuteOrderResult.OrderResultList.Count <= 0) { orderResult.Result.RetCode = -1108; orderResult.Result.RetMessage = "주문 접수중에 문제가 발생하여 결제가 이루어지지 않았습니다. 확인후 다시 주문해 주시기 바랍니다"; } else { orderResult.Result.RetCode = paymentExecuteOrderResult.OrderResultList[0].RetCode; orderResult.Result.RetMessage = paymentExecuteOrderResult.OrderResultList[0].RetReason; orderResult.OrderResultList.AddRange(paymentExecuteOrderResult.OrderResultList); } } #endregion return orderResult; }
/// <summary> /// 주문 SP 파라메터 컬렉션 생성 /// </summary> /// <param name="orderParam"></param> /// <returns></returns> private List<PaymentGEPItemInfoT> ConvertOrderParam2ItemInfo(PaymentOrderMultiParamT orderParam) { List<PaymentGEPItemInfoT> list = new List<PaymentGEPItemInfoT>(); string[] arrItemNo = (string.IsNullOrEmpty(orderParam.GoodsCode) ? string.Empty : orderParam.GoodsCode).Split(PaymentConstant.CommaSeperator, StringSplitOptions.RemoveEmptyEntries); int count = arrItemNo.Length; if (count <= 0) return list; Dictionary<string, KeyValuePair<int, string[]>> dicParam = new Dictionary<string, KeyValuePair<int, string[]>>(); #region dicParam 입력 dicParam.Add("ItemNo", new KeyValuePair<int,string[]>(1, arrItemNo)); dicParam.Add("OrderPrice", new KeyValuePair<int, string[]>(2, PaymentUtil.SplitParamNumber(orderParam.OrderPrice, count))); dicParam.Add("OrderCnt", new KeyValuePair<int, string[]>(3, PaymentUtil.SplitParamNumber(orderParam.OrderCnts, count))); dicParam.Add("OrderNo", new KeyValuePair<int, string[]>(8, PaymentUtil.SplitParamNumber(orderParam.OrderNo, count))); dicParam.Add("GdSelNo", new KeyValuePair<int, string[]>(45, PaymentUtil.SplitParam(orderParam.GdSelNo, count))); dicParam.Add("Interval", new KeyValuePair<int,string[]>(4, PaymentUtil.SplitParamNumber(orderParam.Interval, count))); dicParam.Add("PosShopCd", new KeyValuePair<int,string[]>(5, PaymentUtil.SplitParam(orderParam.PosShopCd, count))); dicParam.Add("PosClassCd", new KeyValuePair<int,string[]>(6, PaymentUtil.SplitParam(orderParam.PosClassCd, count))); dicParam.Add("PosClassKind", new KeyValuePair<int,string[]>(7, PaymentUtil.SplitParam(orderParam.PosClassKind, count))); dicParam.Add("Sid", new KeyValuePair<int,string[]>(13, PaymentUtil.SplitParamNumber(orderParam.Sid, count))); dicParam.Add("DelMemo", new KeyValuePair<int, string[]>(17, PaymentUtil.SplitParam(orderParam.DelMemo, PaymentConstant.MainDelimiter, count, false, string.Empty))); dicParam.Add("DealerCostPrice", new KeyValuePair<int,string[]>(18, PaymentUtil.SplitParamNumber(orderParam.RealDealerCostPrice, count))); dicParam.Add("DealerCostBasisNo", new KeyValuePair<int,string[]>(19, PaymentUtil.SplitParamNumber(orderParam.RealDealerCostBasisNo, count))); dicParam.Add("ShoppingGuideNo", new KeyValuePair<int,string[]>(33, PaymentUtil.SplitParamNumber(orderParam.ShoppingGuideNo, count))); dicParam.Add("InterestGroupNo", new KeyValuePair<int,string[]>(37, PaymentUtil.SplitParamNumber(orderParam.InterestGroupNo, count))); dicParam.Add("Jaehuid", new KeyValuePair<int,string[]>(42, PaymentUtil.SplitParam(orderParam.JaehuIDs, count))); dicParam.Add("PolicyNo", new KeyValuePair<int,string[]>(43, PaymentUtil.SplitParamNumber(orderParam.PolicyNos, count))); dicParam.Add("BundCondNo", new KeyValuePair<int,string[]>(44, PaymentUtil.SplitParamNumber(orderParam.PlusDisBcCondNos, count))); dicParam.Add("BundSatisCnt", new KeyValuePair<int,string[]>(46, PaymentUtil.SplitParamNumber(orderParam.PlusDisSatisCnts, count))); dicParam.Add("TaxIssueYn", new KeyValuePair<int,string[]>(47, PaymentUtil.SplitParam(orderParam.TaxIssueYN, count))); dicParam.Add("CashIssueYn", new KeyValuePair<int,string[]>(48, PaymentUtil.SplitParam(orderParam.CashIssueYN, count))); dicParam.Add("CostPrice", new KeyValuePair<int,string[]>(11, PaymentUtil.SplitParamNumber(orderParam.RealCostPrice, count))); dicParam.Add("SetCostNo", new KeyValuePair<int,string[]>(51, PaymentUtil.SplitParamNumber(orderParam.SetCostScdNos, count))); dicParam.Add("SetCondNo", new KeyValuePair<int,string[]>(52, PaymentUtil.SplitParamNumber(orderParam.SetCondScdNos, count))); dicParam.Add("GlinkNation", new KeyValuePair<int,string[]>(53, PaymentUtil.SplitParam(orderParam.GlinkNations, count))); dicParam.Add("PackCostNo", new KeyValuePair<int,string[]>(60, PaymentUtil.SplitParamNumber(orderParam.PackCostPcdNos, count))); dicParam.Add("PackCondNo", new KeyValuePair<int,string[]>(61, PaymentUtil.SplitParamNumber(orderParam.PackCondPcdNos, count))); dicParam.Add("PackSatisCnt", new KeyValuePair<int,string[]>(62, PaymentUtil.SplitParamNumber(orderParam.PackCostSatisCnts, count))); dicParam.Add("OutOrderNo", new KeyValuePair<int,string[]>(64, PaymentUtil.SplitParam(orderParam.OuterOrderNos, count))); dicParam.Add("OrderIdx", new KeyValuePair<int,string[]>(90, PaymentUtil.SplitParamNumber(orderParam.OrderIdx, count))); #endregion // 배열들이 잘 생성되었나 점검 foreach (KeyValuePair<string, KeyValuePair<int, string[]>> kvp in dicParam) { if (kvp.Value.Value.Length != count) { throw new ArgumentException("주문 접수중에 문제가 발생하여 결제가 이루어지지 않았습니다. 확인후 다시 주문해 주시기 바랍니다.", (3000 + kvp.Value.Key).ToString()); } } for (int i = 0; i < count; i++) { list.Add(new PaymentGEPItemInfoT() { PackNo = orderParam.PackNo, ItemNo = dicParam["ItemNo"].Value[i], OrderPrice = Util.GetSafeInt(dicParam["OrderPrice"].Value[i]), OrderCnt = Util.GetSafeInt(dicParam["OrderCnt"].Value[i]), OrderNo = Util.GetSafeLong(dicParam["OrderNo"].Value[i]), GdSelNo = dicParam["GdSelNo"].Value[i], Interval = Util.GetSafeInt(dicParam["Interval"].Value[i]), PosShopCd = dicParam["PosShopCd"].Value[i], PosClassCd = dicParam["PosClassCd"].Value[i], PosClassKind = dicParam["PosClassKind"].Value[i], Sid = Util.GetSafeInt(dicParam["Sid"].Value[i]), DelMemo = dicParam["DelMemo"].Value[i], DealerCostPrice = Util.GetSafeInt(dicParam["DealerCostPrice"].Value[i]), DealerCostBasisNo = Util.GetSafeInt(dicParam["DealerCostBasisNo"].Value[i]), ShoppingGuideNo = Util.GetSafeInt(dicParam["ShoppingGuideNo"].Value[i]), InterestGroupNo = Util.GetSafeInt(dicParam["InterestGroupNo"].Value[i]), Jaehuid = dicParam["Jaehuid"].Value[i], PolicyNo = Util.GetSafeInt(dicParam["PolicyNo"].Value[i]), BundCondNo = Util.GetSafeInt(dicParam["BundCondNo"].Value[i]), BundSatisCnt = Util.GetSafeInt(dicParam["BundSatisCnt"].Value[i]), TaxIssueYn = dicParam["TaxIssueYn"].Value[i], CashIssueYn = dicParam["CashIssueYn"].Value[i], CostPrice = Util.GetSafeInt(dicParam["CostPrice"].Value[i]), SetCostNo = Util.GetSafeInt(dicParam["SetCostNo"].Value[i]), SetCondNo = Util.GetSafeInt(dicParam["SetCondNo"].Value[i]), GlinkNation = dicParam["GlinkNation"].Value[i], PackCostNo = Util.GetSafeInt(dicParam["PackCostNo"].Value[i]), PackCondNo = Util.GetSafeInt(dicParam["PackCondNo"].Value[i]), PackSatisCnt = Util.GetSafeInt(dicParam["PackSatisCnt"].Value[i]), OutOrderNo = dicParam["OutOrderNo"].Value[i], OrderIdx = Util.GetSafeLong(dicParam["OrderIdx"].Value[i]) }); } return list; }
public List<PaymentGEPOrderMultiResultT> SetPaymentGEPOrderMulti(PaymentOrderMultiParamT entity) { return new PaymentDac().SetPaymentGEPOrderMulti(entity); }