Commit 9425bde9 authored by shoei.kanno's avatar shoei.kanno

Merge branch '購入履歴画面機能' into 'master'

購入履歴機能完成(画像を載せるかは未定)

See merge request !24
parents e1fdfadc 29a41f6b
......@@ -14,7 +14,7 @@ public interface SalesLogRepository extends JpaRepository<SalesLog, Integer>{
@Query(value = "SELECT id,user_id, shoes_id, SUM(price) AS price, created FROM sales_logs AS sl WHERE sl.user_id = ?1 GROUP BY sl.created",
nativeQuery = true)
public List <SalesLog> history(Integer id);
@Query(value = "SELECT id, user_id, shoes_id, price, created FROM sales_logs AS sl WHERE sl.created = ?1",
@Query(value = "SELECT id, user_id, shoes_id, price, created FROM sales_logs AS sl WHERE sl.created = ?1 && sl.user_id = ?2",
nativeQuery = true)
public List <SalesLog> historyShoes(Date created);
public List <SalesLog> historyDetails(Date created, Integer id);
}
......@@ -34,7 +34,7 @@ public class SalesLogService {
return salesLogRepository.history(id);
}
public List <SalesLog> historyShoes(Date created) {
return salesLogRepository.historyShoes(created);
public List <SalesLog> historyDetails(Date created, Integer id) {
return salesLogRepository.historyDetails(created, id);
}
}
......@@ -93,11 +93,21 @@ public class EcsiteController {
//購入履歴画面
@GetMapping("log/{id}")
public String History (@PathVariable Integer id, Model model, SalesLog salesLog, @AuthenticationPrincipal LoginUser userDetails) {
public String history (@PathVariable Integer id, Model model, SalesLog salesLog, @AuthenticationPrincipal LoginUser userDetails) {
User user = userDetails.getUser();
model.addAttribute("user", user);
List<SalesLog> list = salesLogService.history(id);
model.addAttribute("log", list);
return "log";
}
//購入履歴詳細画面
@GetMapping("logDetails/{created}")
public String historyDetails (@PathVariable Date created, Model model, @AuthenticationPrincipal LoginUser userDetails) {
User user = userDetails.getUser();
model.addAttribute("user", user);
List<SalesLog> list = salesLogService.historyDetails(created, user.getId());
model.addAttribute("logDetails", list);
return "logDetails";
}
}
......@@ -97,7 +97,7 @@
<tr class="row tr" th:each="log : ${log}">
<td class="td"><p class="textP" th:text="${log.created}">Convers All Star</p></td>
<td class="td"><p class="textP" th:text="'&yen;' + ${log.price}">10000</p></td>
<td class="td"><button class="details-btn">Details</button></td>
<td class="td"><a th:href="@{/limited/logDetails/{created}(created=${log.created})}"><button class="details-btn">Details</button></a></td>
</tr>
</tbody>
</table>
......
<!doctype html>
<html class="no-js" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="description" content=""/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" href="images/favicon.png" th:href="@{/images/favicon.png}"/>
<link rel="stylesheet" href="css/style.css" th:href="@{/css/style.css}"/>
<!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"/>
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" rel="stylesheet"/>-->
<title>Limited History</title>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<script>window.html5 || document.write('<script src="js/vendor/html5shiv.js"><\/script>')</script>
<![endif]-->
</head>
<body>
<section class="header-top-section">
<div class="container">
<div class="row">
<div class="col-md-6">
<div class="header-top-content">
<ul class="nav nav-pills navbar-left">
<li><a href="#"><i class="pe-7s-call"></i><span>123-123456789</span></a></li>
<li><a href="#"><i class="pe-7s-mail"></i><span> info@mart.com</span></a></li>
</ul>
</div>
</div>
<div class="col-md-6">
<div class="header-top-menu">
<ul class="nav nav-pills navbar-right">
<!-- 履歴ページへ遷移 -->
<li><a th:href="@{/log/{id}(id=${user.id})}">My Purchase Log</a></li>
<!-- カートページへ遷移 -->
<li><a th:href="@{/cart/{id}(id=${user.id})}">Cart</a></li>
<!-- ログアウト -->
<li><form th:action="@{/logout}" method="post"><input type="submit" value="logout" style="border:none;background-color:transparent;text-decoration:none;" class="logoutBtn"/></form></li>
</ul>
</div>
</div>
</div>
</div>
</section>
<header class="header-section">
<nav class="navbar navbar-default">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"><b>L</b>imited</a>
</div>
</div><!-- /.container -->
</nav>
</header>
<!-- ログインフォーム -->
<div class="container">
<p id="log-p-text"><span id="log-text">Purchase History</span></p>
<!--<form id="login-form" method="post" th:action="@{/login}">
<div id="email-form">
<label for="login-email">Email</label>
<input type="email" class="login" name="email" id="login-email" placeholder="Email" required="required"/>
</div>
<div id="password-form">
<label for="login-password">Password</label>
<input type="password" class="login" name="password" id="login-password" placeholder="Password" required="required"/>
</div>
<div id="submit-form">
<input type="submit" class="login" id="btn" value="Login"/>
会員登録ボタン
<button class="js-modal-open" id="sign-up">Sign Up</button>
</div>
</form>-->
<!-- 購入履歴一覧 -->
<div id="log">
<table id="log-table">
<thead class="thead">
<tr class="row" id="theadTr">
<th class="th" id="productNameTh">Product Name</th>
<th class="th" id="sizeTh">Size</th>
<th class="th" id="priceTh">Price</th>
</tr>
</thead>
<tbody>
<tr class="row tr" th:each="logDetails : ${logDetails}">
<td class="td"><p class="textP" th:text="${logDetails.shoes.name}">Convers All Star</p></td>
<td class="td"><p class="textP" th:text="${logDetails.shoes.size} + 'cm'">28</p></td>
<td class="td"><p class="textP" th:text="'&yen;' + ${logDetails.shoes.price}">10000</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- footer -->
<footer class="footer" id="log-footer">
<div class="container">
<div class="row">
<div class="col-md-12">
<p class="center">Made with <i class="fa fa-heart"></i> by <a href="https://revolthemes.net/" target="_blank">Limited</a>. All Rights Reserved</p>
</div>
</div>
</div>
</footer>
<!-- モーダル用 -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<!-- JQUERY -->
<!-- <script src="js/vendor/jquery-1.11.2.min.js" th:src="@{/js/vendor/jquery-1.11.2.min.js}"></script>
<script src="js/vendor/bootstrap.min.js" th:src="@{/js/vendor/bootstrap.min.js}"></script>
<script src="js/isotope.pkgd.min.js" th:src="@{/js/isotope.pkgd.min.js}"></script>
<script src="js/owl.carousel.min.js" th:src="@{/js/owl.carousel.min.js}"></script>
<script src="js/wow.min.js" th:src="@{/js/wow.min.js}"></script>
<script src="js/custom.js" th:src="@{/js/custom.js}"></script>-->
<!-- BootStrap -->
<!-- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> -->
</body>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment