ms_repository.dart 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import 'package:domain/entity/response/sign_in_sign_out_entity.dart';
  2. import 'package:get/get.dart';
  3. import 'package:plugin_platform/http/http_provider.dart';
  4. import 'package:plugin_platform/http/http_result.dart';
  5. import 'package:plugin_platform/platform_export.dart';
  6. import 'package:shared/utils/util.dart';
  7. import '../constants/api_constants.dart';
  8. /// MS/NL等签到签出的功能单独的数据仓库
  9. class MSRepository extends GetxService {
  10. HttpProvider httpProvider;
  11. MSRepository({required this.httpProvider});
  12. /// 获取当前酒店需要签到签出的考勤成员列表
  13. Future<HttpResult<SignInSignOutEntity>> fetchSignInSignOutList(
  14. String? keyword,
  15. String? startDate,
  16. String? endDate, {
  17. CancelToken? cancelToken,
  18. }) async {
  19. Map<String, String> params = {};
  20. if (!Utils.isEmpty(keyword)) {
  21. params["keyword"] = keyword!;
  22. }
  23. if (!Utils.isEmpty(startDate)) {
  24. params["start_date"] = startDate!;
  25. }
  26. if (!Utils.isEmpty(endDate)) {
  27. params["end_date"] = endDate!;
  28. }
  29. final result = await httpProvider.requestNetResult(
  30. ApiConstants.apiSignListMS,
  31. params: params,
  32. cancelToken: cancelToken,
  33. );
  34. //根据返回的结果,封装原始数据为Bean/Entity对象
  35. if (result.isSuccess) {
  36. //重新赋值data或list
  37. final json = result.getDataJson();
  38. var data = SignInSignOutEntity.fromJson(json!);
  39. //重新赋值data或list
  40. return result.convert<SignInSignOutEntity>(data: data);
  41. }
  42. return result.convert();
  43. }
  44. }