import 'package:domain/entity/response/agency_detail_entity.dart'; import 'package:domain/entity/response/agency_option_entity.dart'; import 'package:domain/entity/response/agency_table_entity.dart'; import 'package:domain/entity/response/hotel_info_entity.dart'; import 'package:get/get.dart'; import 'package:plugin_platform/http/http_provider.dart'; import 'package:plugin_platform/http/http_result.dart'; import 'package:plugin_platform/platform_export.dart'; import 'package:shared/utils/util.dart'; import '../constants/api_constants.dart'; /// SG的中介相关数据仓库 class SGAgencyRepository extends GetxService { HttpProvider httpProvider; SGAgencyRepository({required this.httpProvider}); /// 获取中介列表选项 Future> fetchAgencyOption({ CancelToken? cancelToken, }) async { final result = await httpProvider.requestNetResult( ApiConstants.apiAgencyOption, ); if (result.isSuccess) { //重新赋值data或list final json = result.getDataJson(); var data = AgencyOptionEntity.fromJson(json!); //重新赋值data或list return result.convert(data: data); } return result.convert(); } /// 获取中介列表Table Future> fetchAgencyTable({ required int curPage, String? keyword, String? status, CancelToken? cancelToken, }) async { //参数 Map params = {}; params["cur_page"] = curPage.toString(); params["page_size"] = "10"; if (Utils.isNotEmpty(keyword)) { params["keyword"] = keyword!; } if (Utils.isNotEmpty(status)) { params["status"] = status!; } final result = await httpProvider.requestNetResult( ApiConstants.apiAgencyTable, params: params, cancelToken: cancelToken, ); if (result.isSuccess) { //重新赋值data或list final json = result.getDataJson(); var data = AgencyTableEntity.fromJson(json!); //重新赋值data或list return result.convert(data: data); } return result.convert(); } /// 删除中介 Future deleteAgencySubmit( String? pivotId, { CancelToken? cancelToken, }) async { //参数 Map params = {}; params['pivot_id'] = pivotId ?? ""; final result = await httpProvider.requestNetResult( ApiConstants.apiAgencyDelete, method: HttpMethod.POST, params: params, networkDebounce: true, isShowLoadingDialog: true, cancelToken: cancelToken, ); if (result.isSuccess) { //重新赋值data或list return result.convert(); } return result.convert(); } /// 添加中介 Future addAgencySubmit({ required String? agencyName, required String? acraNo, String? contactPerson, String? address, String? contactNo, String? contactEmail, CancelToken? cancelToken, }) async { //参数 Map params = {}; params['agency_name'] = agencyName ?? ""; params['acra_no'] = acraNo ?? ""; if (!Utils.isEmpty(contactPerson)) { params["contact_person"] = contactPerson!; } if (!Utils.isEmpty(address)) { params["address"] = address!; } if (!Utils.isEmpty(contactNo)) { params["contact_no"] = contactNo!; } if (!Utils.isEmpty(contactEmail)) { params["contact_email"] = contactEmail!; } final result = await httpProvider.requestNetResult( ApiConstants.apiAgencyAdd, method: HttpMethod.POST, params: params, networkDebounce: true, isShowLoadingDialog: true, cancelToken: cancelToken, ); if (result.isSuccess) { //重新赋值data或list return result.convert(); } return result.convert(); } /// 编辑中介 Future editAgencySubmit({ required String? pivotId, required String? agencyName, required String? acraNo, String? contactPerson, String? address, String? contactNo, String? contactEmail, String? status, CancelToken? cancelToken, }) async { //参数 Map params = {}; params['pivot_id'] = pivotId ?? ""; params['agency_name'] = agencyName ?? ""; params['acra_no'] = acraNo ?? ""; if (!Utils.isEmpty(contactPerson)) { params["contact_person"] = contactPerson!; } if (!Utils.isEmpty(address)) { params["address"] = address!; } if (!Utils.isEmpty(contactNo)) { params["contact_no"] = contactNo!; } if (!Utils.isEmpty(contactEmail)) { params["contact_email"] = contactEmail!; } if (!Utils.isEmpty(status)) { params["status"] = status!; } final result = await httpProvider.requestNetResult( ApiConstants.apiAgencyEdit, method: HttpMethod.POST, params: params, networkDebounce: true, isShowLoadingDialog: true, cancelToken: cancelToken, ); if (result.isSuccess) { //重新赋值data或list return result.convert(); } return result.convert(); } /// 获取中介的编辑详情 Future> fetchAgencyEditDetail({ required String? pivotId, CancelToken? cancelToken, }) async { //参数 Map params = {}; if (!Utils.isEmpty(pivotId)) { params["pivot_id"] = pivotId!; } final result = await httpProvider.requestNetResult( ApiConstants.apiAgencyDetail, params: params, isShowLoadingDialog: true, cancelToken: cancelToken, ); if (result.isSuccess) { //重新赋值data或list final json = result.getDataJson(); var data = AgencyDetailEntity.fromJson(json!); //重新赋值data或list return result.convert(data: data); } return result.convert(); } }