springclouddemo7.2服务提供者-order

从b站学习springcloud项目,现在进行总结,该总结除去了视频中出现的小错误,对有些易错的地方进行了提醒

b站链接:https://www.bilibili.com/video/av55629580?p=1
资料链接:
https://pan.baidu.com/s/1o0Aju3IydKA15Vo1pP4z5w
提取码: 21ru

上一节链接:
https://blog.csdn.net/qq_40893824/article/details/103641158
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103644807

下面的内容总结:
order/entity新建OrderVO→order/repository/OrderRepository修改添加→order/OrderHandler修改添加→检查

order/OrderHandler修改删除→检查→client/index.html 和 client/order.html修改→client/entity的OrderVO→client/entity/Order添加→client/feign/OrderFeign→order/OrderRepository修改→client/OrderHandler修改→测试

实现细节:
1.在order/entity新建实体类OrderVO,加入代码:

package com.southwind.entity;

import lombok.Data;

import java.util.List;

@Data
public class OrderVO {
    private int code;
    private String msg;
    private int count;
    private List<Order> data;
}

2.在order/repository/OrderRepository接口中添加代码 public void count();修改findAll为:

    public List<Order> findAllByUid(int index, int limit, int uid);
    public int countByUid(int uid);

3.在order/mapping/OrderRepository.xml中修改、添加代码:
param1,param2,param3是指传过来的第1、2、3参数

	<select id="findAllByUid" resultMap="orderMap">
		select id,mid,date,state from t_order where uid = #{param3} limit #{param1},#{param2}
	</select>

	<select id="countByUid" parameterType="int" resultType="int">
		select count(*) from t_order where uid=#{id}
	</select>

4.在order/OrderHandler中修改findAll代码 和 添加 countByUid代码:

    @GetMapping("/findAllByUid/{index}/{limit}/{uid}")
    public List<Order> findAllByUid(@PathVariable("index")int index, @PathVariable("limit")int limit,@PathVariable("uid")int uid){
        return orderRepository.findAllByUid(index, limit, uid);
    }

    @GetMapping("/countByUid/{uid}")
    public int count(@PathVariable("uid")int uid){
        return orderRepository.countByUid(uid);
    }

检查:重启order
5. 进入 http://localhost:8010/order/findAllByUid/0/10/1
在这里插入图片描述
进入 http://localhost:8010/order/findAllByUid/0/10/2
在这里插入图片描述
6. 进入 http://localhost:8010/order/countByUid/1
在这里插入图片描述
说明1下单数为12
进入 http://localhost:8010/order/countByUid/2
在这里插入图片描述
说明2下单数为2

先来来实现网页查询功能:
1.在order/OrderHandler中修改findByUid,
类型List< Order> 改为 OrderVO:

    @GetMapping("/findAllByUid/{index}/{limit}/{uid}")
    public OrderVO findAllByUid(@PathVariable("index")int index, @PathVariable("limit")int limit, @PathVariable("uid")int uid){
        OrderVO orderVO = new OrderVO();
        orderVO.setMsg("");
        orderVO.setCount(orderRepository.countByUid(uid));
        orderVO.setData(orderRepository.findAllByUid(index, limit, uid));
        return orderVO;
    }

再删除countByUid部分的代码
2.检查一下 进入 http://localhost:8010/order/findAllByUid/0/10/1
在这里插入图片描述
3.在client/index.html 和 client/order.html 中第13行
<a href="/account/redirect/order"改为<a href="/menu/redirect/order"

4.将order/entity中OrderVO复制至client/entity中
在client/entity/Order中添加private long id;

5.在client/feign/OrderFeign中添加代码:

    @GetMapping("/order/findAllByUid/{index}/{limit}/{uid}")
    public OrderVO findAllByUid(@PathVariable("index")int index, @PathVariable("limit")int limit, @PathVariable("uid")long uid);

6.在order/OrderRepository中 findAllByUid 和 countByUid 的uid改为long类型
order/OrderHandler中uid同样改为long类型
order/mapping/OrderRepository.xml中parameterType="int"改为parameterType=“long”

7.在client/OrderHandler中添加代码:
注意@ResponseBody不可省略!

    @GetMapping("/findAllByUid")
    @ResponseBody
    public OrderVO findAllByUid(@RequestParam("page")int page, @RequestParam("limit")int limit, HttpSession session){
        User user = (User) session.getAttribute("user");
        int index = (page - 1)*limit;
        return orderFeign.findAllByUid(index, limit, user.getId());
    }

测试:
8. 进入http://localhost:8030/login.html 登录zhangsan后:
在这里插入图片描述
点击张三后:
在这里插入图片描述
再点击首页:
在这里插入图片描述
9.在client/controller/OrderHandler的save部分return “index”;改为return “order”;
重新 进入http://localhost:8030/login.html 登录zhangsan后:选择最后一个菜订购,页面就跳转到用户张三的订单记录页面:
在这里插入图片描述
下单成功,记录添加成功!

上一节链接:
https://blog.csdn.net/qq_40893824/article/details/103641158
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103644807

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1403034144

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值