
import 'package:liftmanager/internal/search/page/search_index.dart';
import 'package:liftmanager/mvp/base_page_presenter.dart';
import 'package:liftmanager/net/api_service.dart';
import 'package:liftmanager/widgets/state_layout.dart';
import 'package:liftmanager/utils/log_util.dart';

class MixListPresenter extends BasePagePresenter<SearchIndexState> {

  Future getQuestionList(int page,String title) async {
    await NewApiService().getQuestionList(page,3,null,null,title,onSuccess: (res) {
      view.closeProgress();
      LogUtil.d(res);
      print(33333334);
      if (res != null) {
        view.provider.setHasMore(res.records.length == 3);
        if(page == 1){
          view.provider.list.clear();
          if (res.records.isEmpty) {
            view.provider.setStateType(StateType.empty);
          } else {
            view.provider.addAll(res.records);
          }
        }else{
          view.provider.addAll(res.records);
        }

      } else {
        /// 加载失败
        view.provider.setHasMore(false);
        view.provider.setStateType(StateType.empty);
      }
    }, onError: (code, msg) {
      view.closeProgress();
      view.provider.setHasMore(false);
      view.provider.setStateType(StateType.network);
    });
  }

  Future getVideoList(int page,String title) async {
    await NewApiService().getVideoList(page,3,null,title,null,"app",onSuccess: (res) {
      print('我的视频列表');
      print(res);
      view.closeProgress();
      if (res != null) {
        view.provider.setHasMore(res.records.length == 3);
        if(page == 1){
          view.provider.list.clear();
          if (res.records.isEmpty) {
            view.provider.setStateType(StateType.empty);
          } else {
            view.provider.addAll(res.records);
          }
        }else{
          view.provider.addAll(res.records);
        }
      } else {
        /// 加载失败
        view.provider.setHasMore(false);
        view.provider.setStateType(StateType.empty);
      }
    }, onError: (code, msg) {
      view.closeProgress();
      view.provider.setHasMore(false);
      view.provider.setStateType(StateType.network);
    });
  }

  Future getPositionList(int page, String job) async {

    await NewApiService().getPositionList(page, 10, job: job,
        onSuccess: (res) {
      view.closeProgress();
      if (res != null) {
        view.provider.setHasMore(res.records.length == 10);
        if (page == 1) {
          view.provider.list.clear();
          if (res.records.isEmpty) {
            view.provider.setStateType(StateType.empty);
          } else {
            view.provider.addAll(res.records);
          }
        } else {
          view.provider.addAll(res.records);
        }
      } else {
        /// 加载失败
        view.provider.setHasMore(false);
        view.provider.setStateType(StateType.empty);
      }
    }, onError: (code, msg) {
      view.closeProgress();
      view.provider.setHasMore(false);
      view.provider.setStateType(StateType.network);
    });
  }

  Future getShopList(int page,String name) async {
    await NewApiService().getShopList(page,10,null,name,onSuccess: (res) {
      view.closeProgress();
      if (res != null) {
        view.provider.setHasMore(res.records.length == 3);
        if(page == 1){
          view.provider.list.clear();
          if (res.records.isEmpty) {
            view.provider.setStateType(StateType.empty);
          } else {
            view.provider.addAll(res.records);
          }
        }else{
          view.provider.addAll(res.records);
        }

      } else {
        /// 加载失败
        view.provider.setHasMore(false);
        view.provider.setStateType(StateType.empty);
      }
    }, onError: (code, msg) {
      view.closeProgress();
      view.provider.setHasMore(false);
      view.provider.setStateType(StateType.network);
    });
  }
}
