create_store_model.dart 4.24 KB
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:one_key/constant/constant.dart';
import 'package:one_key/constant/error.dart';
import 'package:one_key/models/get_seller_info_model.dart';
import 'package:one_key/models/store_info.dart';
import 'package:one_key/models/user_create_store.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 CreateStoreModel extends ChangeNotifier {
  StoreInfo storeInfo; //新建店铺基本信息
  UserCreateStore userCreateStore;

  ///添加商家信息
  Future<dynamic> addStoreInfo(BuildContext context, Map<String, String> params,
      {isShowLoading = true}) async {
    BaseResp<dynamic> baseResp = await DioUtil()
        .request<dynamic>(context, Method.post, HttpUrl.add_seller_info,
            data: params, showLoading: isShowLoading)
        .catchError((error) {
      print(error.toString());
      if (error is MyError) {}
      return false;
    });
    if (baseResp.code == Constant.status_success) {
      //  getStoreInfo(context, {});
      if (baseResp.data != null) {
        storeInfo.sellerid = baseResp.data['sellerid'];
        return true;
      } else {
        // Utils.showToast(baseResp.msg ?? "修改失败");
        return false;
      }
    } else {
      if (baseResp != null) {
        if (baseResp.msg == '非法请求:手机号已存在') {
          Utils.showToast('接单电话已存在,请重新填写接单电话');
        } else {
          Utils.showToast(baseResp.msg ?? "");
        }
      }
      return false;
    }
  }

  Future<dynamic> getStoreInfo(BuildContext context, Map<String, String> params,
      {isShowLoading = true}) async {
    BaseResp<dynamic> baseResp = await DioUtil()
        .request<dynamic>(context, Method.post, HttpUrl.get_seller_user_info,
            data: params, showLoading: isShowLoading)
        .catchError((error) {
      print(error.toString());
      if (error is MyError) {}
      return false;
    });
    if (baseResp.code == Constant.status_success) {
      if (baseResp.data != null) {
        List<dynamic> temp = baseResp.data;
        if (temp.length > 0) {
          Map<String, dynamic> data = {};
          data = temp[0];
          print(data.keys);
          print(data);
          // print(data[0]);
          userCreateStore = UserCreateStore();
          userCreateStore.id = data['uid'].toString();
          userCreateStore.account = data['account'].toString();
          userCreateStore.nick_name = data['nick_name'].toString();
          userCreateStore.role_id = data['role_id'].toString();
          userCreateStore.seller_code = data['seller_code'].toString();
          userCreateStore.sellerid = data['sellerid'].toString();
          userCreateStore.role_name = data['role_name'].toString();
          userCreateStore.user_token= data['user_token'].toString();
          return true;
        }

        // coupons = baseResp.data['aid'].split('');
        return false;
      } else {
        // Utils.showToast(baseResp.msg ?? "修改失败");
        return false;
      }
    } else {
      if (baseResp != null) {
        // Utils.showToast(baseResp.msg ?? "");
      }
      return false;
    }
  }

  ///根据商家ID获取商家信息
  Future<GetSellerInfoSunModel> getSellerById(BuildContext context) async {
    Map<String, String> params = {
      "sellerid": storeInfo.sellerid,
    };
    BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
        .request<Map<String, dynamic>>(
            context, Method.post, HttpUrl.get_seller_info,
            data: params)
        .catchError((error) {
      print(error.toString());
    });
    GetSellerInfoSunModel itemModel;
    if (baseResp == null) return itemModel;
    if (baseResp.code == Constant.status_success) {
      if (int.parse(baseResp.status) != Constant.status_success) {
        Utils.showToast(baseResp.msg ?? "");
        return itemModel;
      }
      if (baseResp.responseData['data'] != null) {
        itemModel = GetSellerInfoModel.fromJson(baseResp.responseData).data;
        print(itemModel);
      } else {
        Utils.showToast(baseResp.msg ?? "");
      }
      return itemModel;
    }
  }
}