online_check_edit_provider.dart 4.06 KB
import 'package:flutter/material.dart';
import 'package:one_key/constant/constant.dart';
import 'package:one_key/constant/error.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/new_reserve_list_model.dart';
import 'package:one_key/models/order_info_model.dart';
import 'package:one_key/models/qiniu_info_model.dart';
import 'package:one_key/models/upload_img_model.dart';
import 'package:one_key/net/base_resp.dart';
import 'package:one_key/net/dio_util.dart';
import 'package:one_key/net/http_url.dart';
import 'package:one_key/utils/utils.dart';

class OnlineCheckEditProvider extends ChangeNotifier {
  List<UploadImgModel> imageList = []; //图片信息列表
  List<String> imageQiniuUrlList = []; //七牛云地址列表
  QiniuInfoSunModel qiniuInfoSunModel;
  OrderInfoSunModel orderInfoSunModel;
  List<NewReserveListSunModel> reserveList = [];

  /// 获取七牛上传token信息
  Future<QiniuInfoSunModel> getQiniuInfo(
      BuildContext context, Map<String, String> params,
      {isShowLoading = true}) async {
    BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
        .request<Map<String, dynamic>>(
            context, Method.get, HttpUrl.get_qiniu_info,
            data: params, showLoading: false)
        .catchError((error) {});
    if (baseResp.code == Constant.status_success) {
      if (baseResp.data.isEmpty) {
      } else {
        //解析解析
        qiniuInfoSunModel = QiniuInfoModel.fromJson(baseResp.responseData).data;
        return qiniuInfoSunModel;
      }
    } else {
      if (baseResp != null) {
        Utils.showToast(baseResp.msg ?? "");
      }
    }
  }

  ///获取账单详情
  getOrderInfo(BuildContext context, Map<String, String> params,
      {isShowLoading = true}) async {
    BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
        .request<Map<String, dynamic>>(
            context, Method.get, HttpUrl.get_order_info,
            data: params, showLoading: false)
        .catchError((error) {});
    if (baseResp.code == Constant.status_success) {
      if (baseResp.data == null) {
      } else {
        //解析解析
        orderInfoSunModel = OrderInfoModel.fromJson(baseResp.responseData).data;
      }
      notifyListeners();
    } else {
      if (baseResp != null) {
        Utils.showToast(baseResp.msg ?? "");
      }
    }
  }

  ///商家确认账单
  updateOrderInfo(BuildContext context, Map<String, String> params,
      {isShowLoading = true}) async {
    BaseResp<dynamic> baseResp = await DioUtil()
        .request<dynamic>(context, Method.get, HttpUrl.update_order_info,
            data: params, showLoading: isShowLoading)
        .catchError((error) {});
    if (baseResp.code == Constant.status_success) {
      //解析解析
      if (baseResp.data == 1) {
        print('成功');
        return true;
      } else {
        Utils.showToast(baseResp.msg ?? "");
      }
    } else {
      if (baseResp != null) {
        Utils.showToast(baseResp.msg ?? "");
      }
    }
    return false;
  }

  //商家预订本列表【2019-11-26】
  getNewReserveList(BuildContext context, Map<String, String> params) async {
    BaseResp<List> baseResp = await DioUtil()
        .request<List>(context, Method.get, HttpUrl.new_get_reserve_list,
            data: params, showLoading: false)
        .catchError((error) {
      print(error.toString());
      if (error is MyError) {
        // switch (error.type) {
        //   case 1:
        //     pageState = PageState.ConnectivityError;
        //     break;
        //   case 2:
        //     pageState = PageState.ConnectivityTimeOut;
        //     break;
        //   default:
        //     pageState = PageState.ConnectivityError;
        //     break;
        // }
      }
      notifyListeners();
    });
    if (baseResp.code == Constant.status_success) {
      if (baseResp.data.isEmpty) {
      } else {
        //解析解析
        reserveList = NewReserveListModel.fromJson(baseResp.responseData).data;
      }
      notifyListeners();
    } else {
      if (baseResp != null) {
        Utils.showToast(baseResp.msg ?? "");
      }
    }
  }
}