up:: SpringBoot电商项目订单模块后台订单列表接口
说明:
(1) 本篇博客的主要内容是开发【后台:订单发货】接口;
(2) 本篇博客的内容比较简单;唯一需要注意的是:订单的状态,以及,订单状态流转的说明;
一:【后台:订单发货】接口说明;
1.【后台:订单发货】接口,接口文档;
说明:
(1) 发货接口,主要的作用是把已经付款的订单给发货;本质也就是,改变订单的状态,由20已付款改为30已发货;
2.订单状态说明;
● 用户刚下单时,订单状态是10未付款;
● 在未付款前(在本项目中,仅支持未付款的订单,去取消订单),用户可以取消订单,然后订单状态就变成了0;但是,用户下单后,即订单状态是10时,用户也可以去付款,此后,订单状态就变成了20;
● 用户付款后,即订单状态变为20后,后台管理员才能够去发货;即,订单当前状态是20时,我们才能够修改订单状态为30;
● 当订单状态是30已发货后;前台用户和后台管理员,都可以调用【前后台通用:订单完结】接口,去完结订单,完结订单也就是订单状态是40;(【前后台通用:订单完结】接口,将在下篇博客介绍)
3.【后台:订单发货】接口,在界面上的表现;
二:正式开发;
1.在OrderAdminController中,创建处理【后台:订单发货】接口的方法:delivered()方法;
说明:
(1) 请求方式,url,参数要符合接口要求;
(2) 我们在service层中编写了发货的逻辑方法:deliver()方法;这在下一部分介绍;
2.在OrderServiceImpl中,创建发货的逻辑方法,deliver方法;
说明:
(1) 在订单发货的时候,也需要校验订单是否存在、订单的状态是否是已付款状态,如果不符合条件,就抛出对应的异常;;
3.在OrderService中,反向生成deliver方法的方法声明;
三:测试;
启动项目;
因为【后台:订单发货】接口,只有管理员才有权限,所以,我们先登录一个管理员用户;
PS:突然意识到,在实际的电商项目中,不同的管理员用户之间也需要做好横向越权的处理;而这需要在数据库设计、程序编码架构上,作修改;只是,本项目并没有这样做;