賣家訂單
標(biāo)簽(空格分隔): springboot java wechat
Dao層處理
- 全部訂單
/**
* 賣家端查詢列表
* @param pageable
* @return
*/
@Override
public Page<OrderMasterDTO> findList(Pageable pageable) {
Page<OrderMaster> orderMasterPage = orderMasterRepository.findAll(pageable);
List<OrderMasterDTO> orderMasterDTOS = OrderMaster2OrderDtoConverter.covert(orderMasterPage.getContent());
return new PageImpl<OrderMasterDTO>(orderMasterDTOS,pageable,orderMasterPage.getTotalElements());
}
controller層的處理
- 枚舉特例使用(前臺(tái)回顯枚舉值)
# java單繼承特性,所有枚舉已經(jīng)繼承過后,只能實(shí)現(xiàn)接口
public interface CodeEnum {
Integer getCode();
}
public enum OrderStatusEnum implements CodeEnum
public enum PayStatusEnum implements CodeEnum
# 便利枚舉顯示
public static <T extends CodeEnum> T getByCode(Integer code, Class<T> enumClass){
for(T each : enumClass.getEnumConstants()){
if(code.equals(each.getCode())){
return each;
}
}
return null;
}
# 回顯頁(yè)面返回枚舉對(duì)象
/** 前臺(tái)顯示. */
@JsonIgnore
public OrderStatusEnum getOrderStatus(){
return EnumUtil.getByCode(orderStatus,OrderStatusEnum.class);
}
#JsonIngore json顯示隱藏該字段
/** 前臺(tái)顯示. */
@JsonIgnore
public PayStatusEnum getPayStatus(){
return EnumUtil.getByCode(payStauts,PayStatusEnum.class);
}
#前臺(tái)展示字段
${orderMaster.getOrderStatusEnum().message}
- 取消訂單操作
通過傳送orderId的方式進(jìn)行取消訂單,回顯成功或者錯(cuò)誤頁(yè)面,回調(diào)主界面
<#if orderMaster.getOrderStatusEnum().message!="取消訂單">
<a href="/sell/seller/order/cancel?orderId=${orderMaster.orderId}">取消</a>
</#if>
/**
* 取消訂單
* @param orderId
* @param map
* @return
*/
@GetMapping("/order/cancel")
public ModelAndView cancel(@RequestParam("orderId") String orderId,Map<String,Object> map){
try{
OrderMasterDTO orderMasterDTO = orderService.findOne(orderId);
orderService.cancle(orderMasterDTO);
map.put("msg", ResultEnum.ORDER_CANCEL_SUCCESS.getMessage());
map.put("url","/sell/seller/order/list");
return new ModelAndView("common/success",map);
}catch (SellException e){
log.error("【取消訂單】 訂單取消錯(cuò)誤={}",e.getMessage());
map.put("msg",e.getMessage());
map.put("url","/sell/seller/order/list");
return new ModelAndView("common/error",map);
}
}
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet">
<title>操作提示</title>
</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后自動(dòng)跳轉(zhuǎn)!</a>
</div>
</div>
</div>
</div>
<script>
setTimeout('location.href="${url}"',3000);
</script>
</body>
</html>
-
詳情表查看
通過id回顯訂單詳情
@GetMapping("/order/detail")
public ModelAndView detail(@RequestParam("orderId") String orderId,Map<String,Object> map){
OrderMasterDTO orederMasterDTO = new OrderMasterDTO();
try{
orederMasterDTO = orderService.findOne(orderId);
}
catch (SellException e){
log.error("【查看訂單詳情】 錯(cuò)誤={}",e.getMessage());
map.put("msg",e.getMessage());
map.put("url","/sell/seller/order/list");
return new ModelAndView("common/error",map);
}
map.put("orderMasterDTO",orederMasterDTO);
return new ModelAndView("order/detail",map);
}
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet">
<title>買家訂單詳情展示</title>
</head>
<body>
<div class="container">
<div class="row clearfix">
<div class="col-md-4 column">
<table class="table table-bordered">
<thead>
<tr>
<th>編號(hào)</th>
<th>訂單總金額</th>
</tr>
</thead>
<tbody>
<tr>
<td>${orderMasterDTO.orderId}</td>
<td>${orderMasterDTO.orderAmount}</td>
</tr>
</tbody>
</table>
</div>
<div class="col-md-12 column">
<table class="table table-bordered">
<thead>
<tr>
<th>商品ID</th>
<th>商品名稱</th>
<th>價(jià)格</th>
<th>數(shù)量</th>
<th>總金額</th>
</tr>
</thead>
<tbody>
<tr>
<#list orderMasterDTO.orderDetailList as orderDetail>
<td>${orderDetail.productId}</td>
<td>${orderDetail.productName}</td>
<td>${orderDetail.productPrice}</td>
<td>${orderDetail.productQuantity}</td>
<td>${orderDetail.productQuantity * orderDetail.productPrice}</td>
</#list>
</tr>
</tbody>
</table>
</div>
<div class="col-md-12 column">
<#if orderMasterDTO.getOrderStatusEnum().message=="新訂單">
<a href="/sell/seller/order/finish?orderId=${orderMasterDTO.orderId}" type="button" class="btn btn-default btn-info">完結(jié)訂單</a>
<a href="/sell/seller/order/cancel?orderId=${orderMasterDTO.orderId}" type="button" class="btn btn-default btn-danger">取消訂單</a>
</#if>
</div>
</div>
</div>
</body>
</html>
- 完結(jié)訂單
@GetMapping("/order/finish")
public ModelAndView finish(@RequestParam("orderId") String orderId,Map<String,Object> map){
try {
OrderMasterDTO orderMasterDTO = orderService.findOne(orderId);
orderService.finish(orderMasterDTO);
}catch (SellException e){
log.error("【賣家完結(jié)訂單】 錯(cuò)誤={}",e.getMessage());
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",map);
}
- 原視頻UP主慕課網(wǎng)(SpringBoot企業(yè)級(jí)微信點(diǎn)餐項(xiàng)目)
- 本篇博客撰寫人: XiaoJinZi 轉(zhuǎn)載請(qǐng)注明出處
- 學(xué)生能力有限 附上郵箱: 986209501@qq.com 不足以及誤處請(qǐng)大佬指責(zé)