乐优商城(三十七)——订单微服务

目录

四、细节优化

4.1 支付页面显示总金额

4.1.1 支付页面

4.1.2 支付成功页面

4.2 修改订单号的传递方式

4.2.1 修改订单提交函数

4.2.2 修改支付页面

4.3 订单提交时进行登录认证

4.4 本地数据删除

4.5 购物车数据更新

4.5.1 Controller

4.5.2 Service

4.5.3 测试

4.5.4 页面处理


四、细节优化

4.1 支付页面显示总金额

在提交订单成功返回订单号时,随着页面跳转到支付页面的同时将计算好的总金额存入LocalStorage,然后在需要的地方进行显示

4.1.1 支付页面

加载数据时,获取总金额:

页面渲染:

4.1.2 支付成功页面

加载支付成功页面的时候先认证用户,然后读取总金额,删除本地存储。

页面渲染:

4.2 修改订单号的传递方式

将订单号放入本地存储,不再通过访问路径传递。

支付成功,将LocalStorage中的订单号删掉。

支付失败还可以跳转到支付页面继续进行支付操作。

4.2.1 修改订单提交函数

4.2.2 修改支付页面

4.3 订单提交时进行登录认证

4.4 本地数据删除

支付成功后,删除本地数据,在paysuccess.html页面中进行修改:

4.5 购物车数据更新

用户支付成功后,将已付款的商品从购物车中删除。

新增接口:根据订单id查询skuId

4.5.1 Controller

请求方式:GET

请求参数:/skuId/id

返回结果:商品编号集合

    /**
     * 根据订单id查询其包含的skuId
     * @param id
     * @return
     */
    @GetMapping("skuId/{id}")
    @ApiOperation(value = "根据订单号查询其包含的所有商品ID",notes = "查询商品ID")
    @ApiImplicitParam(name = "id",value = "订单编号",type = "Long")
    @ApiResponses({
            @ApiResponse(code = 200,message = "商品订单号集合"),
            @ApiResponse(code = 404,message = "没有找到对应的订单号集合"),
            @ApiResponse(code = 500,message = "服务器异常")
    })
    public ResponseEntity<List<Long>> querySkuIdByOrderId(@PathVariable("id") Long id){
        List<Long> longList = this.orderService.querySkuIdByOrderId(id);
        if (longList == null || longList.size() == 0){
            return ResponseEntity.status(HttpStatus.NOT_FOUND).build();
        }
        return ResponseEntity.ok(longList);
    }

4.5.2 Service

接口

实现

    /**
     * 根据订单号查询商品id
     * @param id
     * @return
     */
    @Override
    public List<Long> querySkuIdByOrderId(Long id) {
        Example example = new Example(OrderDetail.class);
        example.createCriteria().andEqualTo("orderId",id);
        List<OrderDetail> orderDetailList = this.orderDetailMapper.selectByExample(example);
        List<Long> ids = new ArrayList<>();
        orderDetailList.forEach(orderDetail -> ids.add(orderDetail.getSkuId()));
        return ids;
    }

4.5.3 测试

结果:

与数据库中的一致:

4.5.4 页面处理

 

猜你喜欢

转载自blog.csdn.net/lyj2018gyq/article/details/83515358