第九章 企業(yè)級(jí)微信點(diǎn)餐項(xiàng)目(賣家訂單處理)

賣家訂單

標(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é)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容