collect_store_provider.dart 4.9 KB
import 'package:flutter/material.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:provider/provider.dart';

import '../app.dart';
import '../constant/constant.dart';
import '../constant/error.dart';
import '../models/seller_version_model.dart';
import '../net/base_resp.dart';
import '../net/dio_util.dart';
import '../net/http_url.dart';
import '../utils/utils.dart';

class CollectStoreProvider with ChangeNotifier {
  List<SellerVersionSunModel> sellerVersionList = [];

  bool sellerCoupon = false; //优惠券营销
  bool sellerRecharge = false; //储值营销
  bool sellerWine = false; //存酒
  bool sellerOrderCustomer = false; //用户提前点餐
  bool sellerOrderManager = false; //经理排菜
  bool sellerFeast = false; //宴会
  bool sellerPreserve = false; //客情维护
  bool sellerMarketing = false; //客情营销
  bool sellerNormal = false; //超能或者标准

  String sellerNormalEdate = '';

  /// 收集店铺信息
  Future<dynamic> setSellerCollect(
      BuildContext context, Map<String, String> params,
      {isShowLoading = true}) async {
    BaseResp<dynamic> baseResp = await DioUtil()
        .request<dynamic>(context, Method.get, HttpUrl.set_seller_collect,
            data: params, showLoading: isShowLoading)
        .catchError((error) {
      print(error.toString());
      if (error is MyError) {}
      return false;
    });
    if (baseResp.code == Constant.status_success) {
      // if (baseResp.data == 1) {
      // rid = baseResp.data['id'];
      return true;
      // } else {
      //   return false;
      // }
    } else {
      if (baseResp != null) {
        Utils.showToast(baseResp.msg ?? "");
      }
      return false;
    }
  }

  // 获取商家的版本信息
  Future<bool> getSellerVersion(BuildContext context,
      {bool showLoading = true}) async {
    Map<String, String> params = {
      'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid
    };
    BaseResp<dynamic> baseResp = await DioUtil()
        .request<dynamic>(context, Method.get, HttpUrl.get_seller_version,
            data: params, showLoading: showLoading)
        .catchError((error) {
      print(error.toString());
      Utils.showToast('请求失败,请重试');
      return false;
    });
    if (baseResp.code == Constant.status_success) {
      sellerVersionList =
          SellerVersionModel.fromJson(baseResp.responseData).data;
      if (sellerVersionList != null && sellerVersionList.length > 0) {
        List<String> versionCodeList = [];
        sellerVersionList.forEach((element) {
          versionCodeList.add(element.vid);
        });
        sellerCoupon = versionCodeList.any((element) =>
            element == '1' ||
            element == '2' ||
            element == '3' ||
            element == '8');

        sellerRecharge = versionCodeList.any((element) =>
            element == '1' ||
            element == '2' ||
            element == '3' ||
            element == '9');

        sellerWine = versionCodeList.any((element) =>
            element == '1' ||
            element == '2' ||
            element == '3' ||
            element == '7');

        sellerOrderCustomer = versionCodeList.any((element) =>
            element == '1' ||
            element == '2' ||
            element == '3' ||
            element == '6');
        sellerOrderManager = versionCodeList.any((element) =>
            element == '1' ||
            element == '2' ||
            element == '3' ||
            element == '5');
        sellerFeast = versionCodeList.any((element) =>
            element == '1' ||
            element == '2' ||
            element == '3' ||
            element == '12');
        sellerPreserve = versionCodeList.any((element) =>
            element == '1' ||
            element == '2' ||
            element == '3' ||
            element == '10');
        sellerMarketing = versionCodeList.any((element) =>
            element == '1' ||
            element == '2' ||
            element == '3' ||
            element == '11');

        sellerNormal = versionCodeList.any((element) =>
            element == '1' ||
            element == '2' ||
            element == '3' ||
            element == '4');
        sellerVersionList.forEach((element) {
          if (element.vid == '1' ||
              element.vid == '2' ||
              element.vid == '3' ||
              element.vid == '4') {
            sellerNormalEdate = element.edate;
          }
        });
        if (!sellerNormal) {
          //超能版或者标准版过期
          App.sp.setStringList("sellerEdate", ['-1']);
        } else {
          if (App.sp.containsKey("sellerEdate")) {
            App.sp.remove("sellerEdate");
          }
        }
      }else{
         //超能版或者标准版过期
          App.sp.setStringList("sellerEdate", ['-1']);
      }

      return true;
    } else {
      Utils.showToast(baseResp.msg ?? '请求失败,请重试');
    }
    return false;
  }
}