|
|
@@ -0,0 +1,156 @@
|
|
|
+package com.style24.scm.biz.web;
|
|
|
+
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
+import com.gagaframework.excel.GagaExcelUtil;
|
|
|
+import com.gagaframework.web.parameter.GagaMap;
|
|
|
+import com.gagaframework.web.rest.server.GagaResponse;
|
|
|
+import com.gagaframework.web.util.GagaDateUtil;
|
|
|
+import com.gagaframework.web.util.GagaFileUtil;
|
|
|
+import com.style24.core.biz.checkout.base.ChangedProductOrderInfo;
|
|
|
+import com.style24.core.biz.checkout.base.ProductOrderChangeType;
|
|
|
+import com.style24.core.biz.service.TscNaverPayService;
|
|
|
+import com.style24.core.biz.service.TscOrderService;
|
|
|
+import com.style24.core.support.env.TscConstants;
|
|
|
+import com.style24.core.support.message.TscMessageByLocale;
|
|
|
+import com.style24.persistence.TscPageRequest;
|
|
|
+import com.style24.persistence.domain.Order;
|
|
|
+import com.style24.scm.biz.service.TssOrderService;
|
|
|
+import com.style24.scm.biz.service.TssRendererService;
|
|
|
+import com.style24.scm.support.controller.TssBaseController;
|
|
|
+import com.style24.scm.support.security.session.TssSession;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.core.env.Environment;
|
|
|
+import org.springframework.core.io.InputStreamResource;
|
|
|
+import org.springframework.http.ResponseEntity;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.servlet.ModelAndView;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.PrintWriter;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collection;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * 주문 Controller
|
|
|
+ *
|
|
|
+ * @author gagamel
|
|
|
+ * @since 2020. 10. 19
|
|
|
+ */
|
|
|
+@Controller
|
|
|
+@RequestMapping("/naverpay")
|
|
|
+@Slf4j
|
|
|
+public class TssNaverpayController extends TssBaseController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TscMessageByLocale message;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TssOrderService orderService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TscOrderService coreOrderService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private Environment env;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TscNaverPayService coreNaverPayService;
|
|
|
+
|
|
|
+ @GetMapping("/send/cancel/complete")
|
|
|
+ @ResponseBody
|
|
|
+ public String sendNaverpayCancelComplete(HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ Order order = new Order();
|
|
|
+ order.setOrdNo(Integer.parseInt(request.getParameter("ordNo")));
|
|
|
+ order.setOrdChgSq(Integer.parseInt(request.getParameter("ordChgSq")));
|
|
|
+ order.setRegNo(Integer.parseInt(request.getParameter("userNo")));
|
|
|
+
|
|
|
+ coreNaverPayService.sendNaverPayOrderCancelConfirm(order);
|
|
|
+
|
|
|
+ return "SUCCESS";
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/recv/order/complete")
|
|
|
+ public ModelAndView naverpayRecvOrderComplete(HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ try {
|
|
|
+ log.info("<<<< 결제완료 수신 시작 >>>>");
|
|
|
+
|
|
|
+ PrintWriter out = response.getWriter();
|
|
|
+ Order time = coreNaverPayService.setInitData();
|
|
|
+ ChangedProductOrderInfo[] changedProductOrderList = coreNaverPayService.changedProductOrderList(ProductOrderChangeType.PAYED, time.getFrom(), time.getTo(), TssSession.getInfo().getUserNo()); // 변경 상품주문 조회;
|
|
|
+
|
|
|
+ if(changedProductOrderList != null) {
|
|
|
+ log.info("<<<< 수신건수: [{}]건 >>>>", changedProductOrderList.length);
|
|
|
+ Order result = coreNaverPayService.createOrderInfo(changedProductOrderList, 99999);
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("<<<< 결제완료 수신 종료 >>>>");
|
|
|
+
|
|
|
+ out.print("<html><body><form><h1>ORDER COMPLETE SUCCESS</h1></body></html>");
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/recv/order/cancel/req")
|
|
|
+ public ModelAndView naverpayRecvOrderCancelReq(HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ try {
|
|
|
+ log.info("<<<< 취소접수 수신 시작 >>>>");
|
|
|
+
|
|
|
+ PrintWriter out = response.getWriter();
|
|
|
+ Order time = coreNaverPayService.setInitData();
|
|
|
+ ChangedProductOrderInfo[] changedProductOrderList = coreNaverPayService.changedProductOrderList(ProductOrderChangeType.CANCEL_REQUESTED, time.getFrom(), time.getTo(), TssSession.getInfo().getUserNo()); // 변경 상품주문 조회;
|
|
|
+
|
|
|
+ if(changedProductOrderList != null) {
|
|
|
+ log.info("<<<< 수신건수: [{}]건 >>>>", changedProductOrderList.length);
|
|
|
+ Order result = coreNaverPayService.cancelReqOrderInfo(changedProductOrderList, 99999);
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("<<<< 취소접수 수신 종료 >>>>");
|
|
|
+
|
|
|
+ out.print("<html><body><form><h1>RECV ORDER CANCEL REQ SUCCESS</h1></body></html>");
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/send/ready/delivery")
|
|
|
+ public ModelAndView naverpaySendReadyDelivery(HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ try {
|
|
|
+ log.info("<<<< 결제완료 수신 시작 >>>>");
|
|
|
+
|
|
|
+ PrintWriter out = response.getWriter();
|
|
|
+ log.info("<<<< 배송준비중 송신 시작 >>>>");
|
|
|
+ Order time = coreNaverPayService.setInitData();
|
|
|
+ Collection<Order> readyDeliveryList = coreNaverPayService.getReadyDeliveryList(time); // 네이버페이 주문형 배송준비중 테스트
|
|
|
+
|
|
|
+ if (readyDeliveryList != null) {
|
|
|
+ // 배송 준비중 데이터 네이버로 송신
|
|
|
+ Order result = coreNaverPayService.sendNaverPayReadyDeliveryOrder(readyDeliveryList, 99999);
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("<<<< 배송준비중 송신 종료 >>>>");
|
|
|
+
|
|
|
+ out.print("<html><body><form><h1>DELIVERY READY SUCCESS</h1></body></html>");
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+}
|