OrderController.java
페이지 정보

본문
package com.pkt.controller;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.pkt.model.OrderVO;
import com.pkt.model.ReadyResponse;
import com.pkt.service.KakaoPayServiceImpl;
import lombok.extern.log4j.Log4j;
@Controller
@Log4j
@RequestMapping("/order/")
public class OrderController {
@Autowired
private KakaoPayServiceImpl kakaoPayServiceImpl;
@GetMapping("write")
public void getWrite() {
log.info("주문 작성 페이지 ...........................");
}
@PostMapping("write") //무통장 결제
public void postWrite() {
log.info("무통장 결제 ...........................");
}
@PostMapping("pay") //카카오페이 결제
public @ResponseBody ReadyResponse payReady(@RequestBody OrderVO vo, HttpSession session) {
log.info("카카오페이 결제 ...........................");
vo.setPay_method("카카오페이"); //결제방식
int totalAmount = vo.getOdr_total_price(); //총 주문금액
String itemName = "터푸가위_쇼핑몰_상품"; //상품명
int quantity = 1;
String mem_id = "dancepkt"; //가맹점 회원 아이디
// 카카오페이 서버에 1차 준비요청
ReadyResponse readyResponse = kakaoPayServiceImpl.payReady(itemName, quantity, mem_id, totalAmount);
log.info("결제고유번호:"+readyResponse.getTid());
log.info("결제요청URL:"+readyResponse.getNext_redirect_pc_url());
vo.setTid(readyResponse.getTid()); //결제 고유번호 입력
vo.setPay_type(""); //결제 성공여부 null 처리
log.info(vo);
session.setAttribute("tid", readyResponse.getTid()); //결제 성공,실패,취소 시 변경처리 필요
//// mapper 관련 생성 후 insert 처리 구현 ////
return readyResponse;
}
//결제 승인 요청이 성공된 후에 처리(실거래)
@GetMapping("orderApproval")
public String orderApproval(@RequestParam("pg_token") String pgToken) {
log.info("orderApproval ....................");
String mem_id = "dancepkt";
return "redirect:/order/orderComplete";
}
@GetMapping("orderApp")
public void orderApp(HttpSession session) {
log.info("결제 성공.................");
String session_tid = (String)session.getAttribute("tid");
log.info("tid : "+session_tid);
//// insert 처리된 데이터 중 mapper 이용 - 결제 성공 업데이트 처리 ////
session.removeAttribute("tid"); // 생성된 tid 관련 세션 정보 삭제 처리
}
@GetMapping("orderCancel")
public void orderCancel() {
log.info("결제 취소.................");
}
@GetMapping("orderFail")
public void orderFail() {
log.info("결제 실패.................");
}
}
- 이전글OrderVO.java 24.08.06
- 다음글order/write.jsp 24.08.06
댓글목록
등록된 댓글이 없습니다.