sg_agency_repository.dart 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. import 'package:domain/entity/response/agency_detail_entity.dart';
  2. import 'package:domain/entity/response/agency_option_entity.dart';
  3. import 'package:domain/entity/response/agency_table_entity.dart';
  4. import 'package:domain/entity/response/hotel_info_entity.dart';
  5. import 'package:get/get.dart';
  6. import 'package:plugin_platform/http/http_provider.dart';
  7. import 'package:plugin_platform/http/http_result.dart';
  8. import 'package:plugin_platform/platform_export.dart';
  9. import 'package:shared/utils/util.dart';
  10. import '../constants/api_constants.dart';
  11. /// SG的中介相关数据仓库
  12. class SGAgencyRepository extends GetxService {
  13. HttpProvider httpProvider;
  14. SGAgencyRepository({required this.httpProvider});
  15. /// 获取中介列表选项
  16. Future<HttpResult<AgencyOptionEntity>> fetchAgencyOption({
  17. CancelToken? cancelToken,
  18. }) async {
  19. final result = await httpProvider.requestNetResult(
  20. ApiConstants.apiAgencyOption,
  21. );
  22. if (result.isSuccess) {
  23. //重新赋值data或list
  24. final json = result.getDataJson();
  25. var data = AgencyOptionEntity.fromJson(json!);
  26. //重新赋值data或list
  27. return result.convert<AgencyOptionEntity>(data: data);
  28. }
  29. return result.convert();
  30. }
  31. /// 获取中介列表Table
  32. Future<HttpResult<AgencyTableEntity>> fetchAgencyTable({
  33. required int curPage,
  34. String? keyword,
  35. String? status,
  36. CancelToken? cancelToken,
  37. }) async {
  38. //参数
  39. Map<String, String> params = {};
  40. params["cur_page"] = curPage.toString();
  41. params["page_size"] = "10";
  42. if (Utils.isNotEmpty(keyword)) {
  43. params["keyword"] = keyword!;
  44. }
  45. if (Utils.isNotEmpty(status)) {
  46. params["status"] = status!;
  47. }
  48. final result = await httpProvider.requestNetResult(
  49. ApiConstants.apiAgencyTable,
  50. params: params,
  51. cancelToken: cancelToken,
  52. );
  53. if (result.isSuccess) {
  54. //重新赋值data或list
  55. final json = result.getDataJson();
  56. var data = AgencyTableEntity.fromJson(json!);
  57. //重新赋值data或list
  58. return result.convert<AgencyTableEntity>(data: data);
  59. }
  60. return result.convert();
  61. }
  62. /// 删除中介
  63. Future<HttpResult> deleteAgencySubmit(
  64. String? pivotId, {
  65. CancelToken? cancelToken,
  66. }) async {
  67. //参数
  68. Map<String, String> params = {};
  69. params['pivot_id'] = pivotId ?? "";
  70. final result = await httpProvider.requestNetResult(
  71. ApiConstants.apiAgencyDelete,
  72. method: HttpMethod.POST,
  73. params: params,
  74. networkDebounce: true,
  75. isShowLoadingDialog: true,
  76. cancelToken: cancelToken,
  77. );
  78. if (result.isSuccess) {
  79. //重新赋值data或list
  80. return result.convert();
  81. }
  82. return result.convert();
  83. }
  84. /// 添加中介
  85. Future<HttpResult> addAgencySubmit({
  86. required String? agencyName,
  87. required String? acraNo,
  88. String? contactPerson,
  89. String? address,
  90. String? contactNo,
  91. String? contactEmail,
  92. CancelToken? cancelToken,
  93. }) async {
  94. //参数
  95. Map<String, String> params = {};
  96. params['agency_name'] = agencyName ?? "";
  97. params['acra_no'] = acraNo ?? "";
  98. if (!Utils.isEmpty(contactPerson)) {
  99. params["contact_person"] = contactPerson!;
  100. }
  101. if (!Utils.isEmpty(address)) {
  102. params["address"] = address!;
  103. }
  104. if (!Utils.isEmpty(contactNo)) {
  105. params["contact_no"] = contactNo!;
  106. }
  107. if (!Utils.isEmpty(contactEmail)) {
  108. params["contact_email"] = contactEmail!;
  109. }
  110. final result = await httpProvider.requestNetResult(
  111. ApiConstants.apiAgencyAdd,
  112. method: HttpMethod.POST,
  113. params: params,
  114. networkDebounce: true,
  115. isShowLoadingDialog: true,
  116. cancelToken: cancelToken,
  117. );
  118. if (result.isSuccess) {
  119. //重新赋值data或list
  120. return result.convert();
  121. }
  122. return result.convert();
  123. }
  124. /// 编辑中介
  125. Future<HttpResult> editAgencySubmit({
  126. required String? pivotId,
  127. required String? agencyName,
  128. required String? acraNo,
  129. String? contactPerson,
  130. String? address,
  131. String? contactNo,
  132. String? contactEmail,
  133. String? status,
  134. CancelToken? cancelToken,
  135. }) async {
  136. //参数
  137. Map<String, String> params = {};
  138. params['pivot_id'] = pivotId ?? "";
  139. params['agency_name'] = agencyName ?? "";
  140. params['acra_no'] = acraNo ?? "";
  141. if (!Utils.isEmpty(contactPerson)) {
  142. params["contact_person"] = contactPerson!;
  143. }
  144. if (!Utils.isEmpty(address)) {
  145. params["address"] = address!;
  146. }
  147. if (!Utils.isEmpty(contactNo)) {
  148. params["contact_no"] = contactNo!;
  149. }
  150. if (!Utils.isEmpty(contactEmail)) {
  151. params["contact_email"] = contactEmail!;
  152. }
  153. if (!Utils.isEmpty(status)) {
  154. params["status"] = status!;
  155. }
  156. final result = await httpProvider.requestNetResult(
  157. ApiConstants.apiAgencyEdit,
  158. method: HttpMethod.POST,
  159. params: params,
  160. networkDebounce: true,
  161. isShowLoadingDialog: true,
  162. cancelToken: cancelToken,
  163. );
  164. if (result.isSuccess) {
  165. //重新赋值data或list
  166. return result.convert();
  167. }
  168. return result.convert();
  169. }
  170. /// 获取中介的编辑详情
  171. Future<HttpResult<AgencyDetailEntity>> fetchAgencyEditDetail({
  172. required String? pivotId,
  173. CancelToken? cancelToken,
  174. }) async {
  175. //参数
  176. Map<String, String> params = {};
  177. if (!Utils.isEmpty(pivotId)) {
  178. params["pivot_id"] = pivotId!;
  179. }
  180. final result = await httpProvider.requestNetResult(
  181. ApiConstants.apiAgencyDetail,
  182. params: params,
  183. isShowLoadingDialog: true,
  184. cancelToken: cancelToken,
  185. );
  186. if (result.isSuccess) {
  187. //重新赋值data或list
  188. final json = result.getDataJson();
  189. var data = AgencyDetailEntity.fromJson(json!);
  190. //重新赋值data或list
  191. return result.convert<AgencyDetailEntity>(data: data);
  192. }
  193. return result.convert();
  194. }
  195. }