Skip to content

Commit

Permalink
상품 주문
Browse files Browse the repository at this point in the history
  • Loading branch information
kiteB committed Oct 27, 2021
1 parent 31c0db4 commit cff5e8e
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 0 deletions.
@@ -0,0 +1,46 @@
package jpabook.jpashop.controller;

import jpabook.jpashop.domain.Member;
import jpabook.jpashop.domain.item.Item;
import jpabook.jpashop.service.ItemService;
import jpabook.jpashop.service.MemberService;
import jpabook.jpashop.service.OrderService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@Controller
@RequiredArgsConstructor
public class OrderController {

private final OrderService orderService;
private final MemberService memberService;
private final ItemService itemService;

@GetMapping(value = "/order")
public String createForm(Model model) {

List<Member> members = memberService.findMembers();
List<Item> items = itemService.findItems();

model.addAttribute("members", members);
model.addAttribute("items", items);

return "order/orderForm";
}

@PostMapping(value = "/order")
public String order(@RequestParam("memberId") Long memberId,
@RequestParam("itemId") Long itemId,
@RequestParam("count") int count) {

orderService.order(memberId, itemId, count);
return "redirect:/orders";
}

}
36 changes: 36 additions & 0 deletions jpashop2/src/main/resources/templates/order/orderForm.html
@@ -0,0 +1,36 @@
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="fragments/header :: header" />
<body>
<div class="container">
<div th:replace="fragments/bodyHeader :: bodyHeader"/>
<form role="form" action="/order" method="post">
<div class="form-group">
<label for="member">주문회원</label>
<select name="memberId" id="member" class="form-control">
<option value="">회원선택</option>
<option th:each="member : ${members}"
th:value="${member.id}"
th:text="${member.name}" />
</select>
</div>
<div class="form-group">
<label for="item">상품명</label>
<select name="itemId" id="item" class="form-control">
<option value="">상품선택</option>
<option th:each="item : ${items}"
th:value="${item.id}"
th:text="${item.name}" />
</select>
</div>
<div class="form-group">
<label for="count">주문수량</label>
<input type="number" name="count" class="form-control" id="count" placeholder="주문 수량을 입력하세요">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<br/>
<div th:replace="fragments/footer :: footer" />
</div> <!-- /container -->
</body>
</html>

0 comments on commit cff5e8e

Please sign in to comment.