使用 ibootstrap 进行前端界面样式简单选择http://www.ibootstrap.cn/
freemarke 模板渲染的简单使用(循环,判断)Springboot升级后,他的默认后缀不再是ftl,而是ftlh
卖家端订单
controller层
@Controller //现在要返回的是一个页面,所以不能再用@RestController
@RequestMapping("/seller/order")
public class SellerOrderController {
@Autowired
private OrderService orderService;
/*
* page:第几页(从第一页开始)
* size:一页有多少数据
* */
@GetMapping("/list")
public ModelAndView list(@RequestParam(value = "page",defaultValue = "1") Integer page,
@RequestParam(value = "size",defaultValue = "10") Integer size,
Map<String,Object> map){
PageRequest request = PageRequest.of(page-1, size);
Page<OrderDTO> orderDTOPage = orderService.findList(request);
map.put("orderDTOPage",orderDTOPage);//写入模板template
return new ModelAndView("order/list",map);
}
}
freemarke的使用(列表显示 list)
<div class="col-md-12 column">
<table class="table table-condensed table-hover table-bordered">
<thead>
<tr>
<th>订单id</th>
<th>姓名</th>
<th>手机号</th>
<th>地址</th>
<th>金额</th>
<th>订单状态</th>
<th>支付状态</th>
<th>创建时间</th>
<th colspan="2">操作</th>
</tr>
</thead>
<tbody>
<#list orderDTOPage.content as orderDTO>
<tr>
<td>${orderDTO.orderId}</td>
<td>${orderDTO.buyerName}</td>
<td>${orderDTO.buyerPhone}</td>
<td>${orderDTO.buyerAddress}</td>
<td>${orderDTO.orderAmount}</td>
<td>${orderDTO.orderStatusEnum.message}</td>
<td>${orderDTO.payStatusEnum.message}</td>
<td>${orderDTO.createTime}</td>
<td>详情</td>
<td>取消</td>
</tr>
</#list>
</tbody>
</table>
</div>
分页的使用
- 在ibootstrap中寻找到分页的样式
- 设定一个当前页数值currentPage,和size
- 设定各种功能(分页)
<div class="col-md-12 column">
<ul class="pagination pull-right">
<#--上一页 小于1则无法显示上一页-->
<#if currentPage lte 1>
<li class="disabled"><a href="#">上一页</a></li>
<#else >
<li><a href="/sell/seller/order/list?page=${currentPage-1}&size=${size}">上一页</a></li>
</#if>
<#list 1..orderDTOPage.totalPages as index>
<#if currentPage == index>
<li class="disabled"><a href="#">${index}</a></li>
<#else>
<li><a href="/sell/seller/order/list?page=${index}&size=${size}">${index}</a></li>
</#if>
</#list>
<#--下一页 大于orderDTOPage.totalPages则无法显示下一页-->
<#if currentPage gte orderDTOPage.totalPages>
<li class="disabled"><a href="#">下一页</a></li>
<#else >
<li><a href="/sell/seller/order/list?page=${currentPage+1}&size=${size}">下一页</a></li>
</#if>
</ul>
</div>
取消订单
- ”/seller/order/cancel”接口
@GetMapping("/cancel")
public ModelAndView cancel(@RequestParam("orderId") String orderId,
Map<String, Object> map) {
try {
OrderDTO orderDTO = orderService.findOne(orderId);
orderService.cancel(orderDTO);
} catch (SellException e) {
log.error("【卖家端取消订单】发生异常{}", e);
map.put("msg", e.getMessage());
map.put("url", "/sell/seller/order/list");
return new ModelAndView("common/error", map);
}
map.put("msg", ResultEnum.ORDER_CANCEL_SUCCESS.getMessage());
map.put("url", "/sell/seller/order/list");
return new ModelAndView("common/success");
}
- 设定error页面和success页面(resource/templates/success.ftl),取消成功和取消失败(从ibootstrap中查找)
<html>
<head>
<meta charset="utf-8">
<title>成功提示</title>
<link href="https://cdn.bootcss.com/bootstrap/3.0.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<div class="alert alert-dismissable alert-success">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4>
成功!
</h4> <strong>${msg!""}</strong><a href="${url}" class="alert-link">3s后自动跳转</a>
</div>
</div>
</div>
</div>
</body>
<script>
setTimeout('location.href="${url}"', 3000);
</script>
</html>
订单详情
- ”/seller/order/detail”接口
@GetMapping("/detail")
public ModelAndView detail(@RequestParam("orderId") String orderId,
Map<String, Object> map) {
OrderDTO orderDTO = new OrderDTO();
try {
orderDTO = orderService.findOne(orderId);
}catch (SellException e) {
log.error("【卖家端查询订单详情】发生异常{}", e);
map.put("msg", e.getMessage());
map.put("url", "/sell/seller/order/list");
return new ModelAndView("common/error", map);
}
map.put("orderDTO", orderDTO);
return new ModelAndView("order/detail", map);
}
- 设置详情页面
订单完结
”/seller/order/finish”接口
@GetMapping("/finish")
public ModelAndView finished(@RequestParam("orderId") String orderId,
Map<String, Object> map) {
try {
OrderDTO orderDTO = orderService.findOne(orderId);
orderService.finish(orderDTO);
} catch (SellException e) {
log.error("【卖家端完结订单】发生异常{}", e);
map.put("msg", e.getMessage());
map.put("url", "/sell/seller/order/list");
return new ModelAndView("common/error", map);
}
map.put("msg", ResultEnum.ORDER_FINISH_SUCCESS.getMessage());
map.put("url", "/sell/seller/order/list");
return new ModelAndView("common/success");
}
}