on
[스프링] 쇼핑몰 - 주문관리
[스프링] 쇼핑몰 - 주문관리
관리자가 등록한 상품을 사용자가
회원가입 - 로그인 - 상품목록 - 상품내용 - 장바구니 - 주문 의 로직으로 주문을 완료했을때
아래 관리자페이지의 주문관리에 주문 목록이 표시된다.
주문관리페이지
관리자는 물품준비중에 들어온 주문의 주문번호를 눌러서 물품을 확인하고,
배송이 완료되면 송장번호입력 버튼을 눌러서 송장번호를 입력하면,
배송상태가 배송중으로 바뀌며, DB에 송장번호가 들어가고,
사용자는 마이페이지 주문목록에서 송장번호와 배송상태를 확인 할 수 있다.
사용자가 주문취소 버튼을 누른 건은 취소요청버튼을 눌러서 확인 할 수 있고,
환불처리 또는 교환처리를 할 수 있다.
Mapper
SELECT * FROM ( SELECT ordered_no,ordered_mem_no,ordered_to_name,ordered_to_tel,ordered_to_email, ordered_to_adr,ordered_to_post,ordered_from_name,ordered_from_tel, ordered_from_adr,ordered_from_post,ordered_cartprice,ordered_orderprice, ordered_cpn_name,ordered_cpn_disc,ordered_usepoint,ordered_payhow, ordered_paystate,ordered_delivstate,ordered_delivnum,ordered_date, ordered_cdate, ROW_NUMBER() OVER( ORDER BY ORDERED_NO ASC ) AS RNUM FROM ORDERED WHERE ) WHERE RNUM BETWEEN #{rowStart} AND #{rowEnd} order by ORDERED_NO ASC SELECT COUNT(*) FROM ORDERED WHERE ORDERED_NO > 0 AND ordered_delivstate = 1 AND ordered_paystate = 1 ordered_delivstate = 1 AND ordered_paystate = 1 ordered_delivstate = 1 AND ordered_paystate = 1 ordered_delivstate = 2 AND ordered_paystate = 1 ordered_delivstate = 3 AND ordered_paystate = 1 ordered_paystate = 2 ordered_paystate = 3 ordered_paystate = 4 select count(*) from ordered where ordered_delivstate = 1 AND ordered_paystate = 1 select count(*) from ordered where ordered_delivstate = 2 AND ordered_paystate = 1 select count(*) from ordered where ordered_paystate = 2 update ordered set ORDERED_DELIVSTATE = #{ordered_delivstate} where ordered_no = #{ordered_no} update ordered set ORDERED_DELIVNUM = #{ordered_delivnum} where ordered_no = #{ordered_no} update ordered set ordered_paystate = 3 where ordered_no = #{ordered_no} update ordered set ordered_paystate = 4 where ordered_no = #{ordered_no} select * from orderItem where ORDERITEM_ORDER_NO = #{ordered_no} select * from ordered where ordered_no = #{ordered_no}
주문목록을 위한 List , 송장번호 입력 후 배송중으로 바꾸기 위한 update ,
주문취소, 교환 , 환불처리, 주문서 확인등의 쿼리이다
Controller
@RequestMapping(value = {"/orderManage"}, method = {RequestMethod.GET}) public String itemView(Model model, @ModelAttribute("cri") ItemCriteria cri) throws Exception { model.addAttribute("orderList", clientService.orderList(cri)); ItemPageMaker pageMaker = new ItemPageMaker(); pageMaker.setCri(cri); pageMaker.setTotalCount(clientService.orderCount(cri)); model.addAttribute("pageMaker", pageMaker); model.addAttribute("orderState1", clientService.orderState1()); model.addAttribute("orderState2", clientService.orderState2()); model.addAttribute("orderState3", clientService.orderState3()); return "/master/orderManage"; } @RequestMapping(value = {"/delivNumberInsert"}, method = {RequestMethod.POST}) public String delivNumberInsert(OrderedVO orderedVO)throws Exception{ clientService.delivNumberInsert(orderedVO); orderedVO.setOrdered_delivstate(2); clientService.delivNumberUpdate(orderedVO); return "redirect:/master/orderManage"; } @RequestMapping(value="/orderExchange" , method=RequestMethod.POST) public String orderExchange(int ordered_no)throws Exception{ clientService.orderExchange(ordered_no); return "redirect:/master/orderManage"; } @RequestMapping(value="/orderCancel" , method=RequestMethod.POST) public String orderCancel(int ordered_no)throws Exception{ clientService.orderCancel(ordered_no); return "redirect:/master/orderManage"; } @RequestMapping(value="/orderItemView", method=RequestMethod.GET) public String orderItemView(int ordered_no, Model model) throws Exception{ logger.info("ordered_no"+ordered_no); model.addAttribute("orderItemView", clientService.orderItemView(ordered_no)); model.addAttribute("orderItemInfo", clientService.orderItemInfo(ordered_no)); return "/master/orderItemView"; }
View
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> $(document).ready(function() { console.log("111111"); delivNumberAdd(); }); function delivNumberAdd() { var optionIndex = 1; $("#delivNumberAdd_btn") .on( "click", function() { console.log("dasda"); $("#delivNumber") .append( "
물품준비중 송장번호 입력
취소신청 버튼을 눌렀을 때
다음글은 상품목록과 비동기 검색 부분을 다뤄보겠다.
from http://kimfk567.tistory.com/94 by ccl(A) rewrite - 2021-12-09 02:01:39