| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import 'package:provider/provider.dart';
- import 'package:twong/providers/order_num.dart';
- import 'index.dart';
- import '../utils/index.dart';
- import '../models/index.dart';
- extension OrderAPI on Network {
- // confirm order
- Future<ConfirmInfo> confirmOrder(dynamic cartId) async {
- var resp = await Request.post('order/confirm', params: {"cartId": cartId});
- return ConfirmInfo.fromJson(resp);
- }
- // compute order info
- Future<ComputeInfo> computedOrder(String id, { num addressId, num couponId = 0,
- int shopType = 1, String payType, num useIntegral }) async {
- var data = {
- "addressId": addressId,
- "couponId": couponId,
- "payType": payType,
- "shipping_type": shopType,
- "useIntegral": useIntegral
- };
- var resp = await Request.post("order/computed/$id", params: data);
- Log.d(resp);
- return ComputeInfo.fromJson(resp);
- }
- // pay order from id
- Future<OrderInfo> payOrder({String payType, String orderId}) async {
- var data = {
- "from": "app",
- "payType": payType,
- "uni": orderId
- };
- var resp = await Request.post("order/pay", params: data);
- Log.d(resp);
- return OrderInfo.fromJson(resp);
- }
- // create order
- Future<OrderInfo> createOrder({String orderKey, String payType, int integral = 0, int address}) async {
- var data = {
- "addressId": address,
- "bargainId": 0,
- "combinationId": 0,
- "couponId": 0,
- "from": "app",
- "mark": "",
- "payType": payType,
- "phone": "",
- "pinkId": 0,
- "real_name": "",
- "seckill_id": 0,
- "shipping_type": 1,
- "useIntegral": integral,
- };
- var resp = await Request.post('order/create/$orderKey', params: data);
- return OrderInfo.fromJson(resp);
- }
-
- Future<List<OrderData>> getOrderList({int page = 1, int limit = 20, int type = 0}) async {
- var resp = await Request.get("order/list?page=$page&limit=$limit&type=$type");
- List<OrderData> orders = List<OrderData>();
- for(var item in resp as List<dynamic>) {
- orders.add(OrderData.fromJson(item));
- }
- return orders;
- }
- // get order detail info
- Future<OrderDetails> getOrderDetails(String orderId) async {
- var resp = await Request.get("order/detail/$orderId");
- return OrderDetails.fromJson(resp);
- }
- Future<Express> getOrderExpress(String orderId) async {
- var resp = await Request.get("order/express/$orderId");
- return Express.fromJson(resp);
- }
- Future getOrderData() async {
- var resp = await Request.get("order/data");
- Provider.of<OrderNumModel>(Cache.context, listen: false).update(resp);
- return resp;
- }
- }
|