notebook_detail_model.dart 3.31 KB
import 'package:flutter/material.dart';
import 'package:one_key/constant/constant.dart';
import 'package:one_key/models/manager.dart';
import 'package:one_key/models/notebook_detail.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/provider/user_model.dart';
import 'package:one_key/utils/navigator_util.dart';
import 'package:one_key/utils/utils.dart';
import 'package:provider/provider.dart';

class NotebookDetailModel extends ChangeNotifier {
  ///获取已预订订单
  Future<NotebookDetail> getReserveDetail(
      BuildContext context, Map<String, String> params) async {
    BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
        .request<Map<String, dynamic>>(
            context, Method.get, HttpUrl.reserve_detail,
            data: params)
        .catchError((error) {
      print(error.toString());
    });
    if (baseResp.code == Constant.status_success) {
      return NotebookDetail.fromJson(baseResp.data);
    }
  }

  ///获取商家信息
  Future<List<Manager>> getManagers(BuildContext context) async {
    UserModel userModel = Provider.of<UserModel>(context, listen: false);
    Map<String, String> params = {
      "seller_id": userModel.user.sellerid,
      "seller_openid": userModel.user.openid
    };
    BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
        .request<Map<String, dynamic>>(context, Method.get, HttpUrl.sellerinfo,
            data: params)
        .catchError((error) {
      print(error.toString());
    });
    if (baseResp?.code == Constant.status_success) {
      return (baseResp.data["manager"] as List)
          .map((value) => Manager.fromJson(value as Map<String, dynamic>))
          .toList();
    }
  }

  ///设置客户经理
  setReserveCusmnan(BuildContext context, Map<String, String> params) async {
    BaseResp<String> baseResp = await DioUtil()
        .request<String>(context, Method.get, HttpUrl.set_reserve_cusman,
            data: params)
        .catchError((error) {
      print(error.toString());
    });
    if (baseResp.code == Constant.status_success) {
    } else {
      Utils.showToast(baseResp.msg ?? "");
    }
  }

  //安排在线预订
  setReserveStatus(BuildContext context, Map<String, String> params,
      {ifPush = true,showLoading=false}) async {
    BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
        .request<Map<String, dynamic>>(
            context, Method.get, HttpUrl.set_reserve_status,
            data: params, showLoading: showLoading)
        .catchError((error) {
      print(error.toString());
    });
    if (baseResp.code == Constant.status_success) {
      if (ifPush) {
        NavigatorUtil.goNotebookDetailPage(context, params["rid"],
            replace: true);
      } else {
        return true;
      }
    } else {
      Utils.showToast(baseResp.msg);
    }
  }

  //设置消息状态
  setMessageStatus(BuildContext context, Map<String, String> params) async {
    BaseResp<dynamic> baseResp = await DioUtil()
        .request<dynamic>(context, Method.get, HttpUrl.set_message_status,
            data: params, showLoading: false)
        .catchError((error) {
      print(error.toString());
    });
    if (baseResp.code == Constant.status_success) {
    } else {
      Utils.showToast(baseResp.msg);
    }
  }
}