1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import 'dart:typed_data';
- import 'package:get/get.dart';
- import 'package:plugin_platform/dio_export.dart';
- import 'package:plugin_platform/http/http_provider.dart';
- import 'package:plugin_platform/http/http_result.dart';
- import 'package:shared/utils/util.dart';
- import '../constants/api_constants.dart';
- import '../entity/response/attendance_entity.dart';
- import '../entity/response/check_success_entity.dart';
- /// 工作相关
- class JobRepository extends GetxService {
- HttpProvider httpProvider;
- JobRepository({required this.httpProvider});
- /// 获取当前酒店的考勤成员列表
- Future<HttpResult<AttendanceEntity>> fetchAttendanceList(
- String? keyword,
- String? startDate,
- String? endDate, {
- CancelToken? cancelToken,
- }) async {
- Map<String, String> params = {};
- params["cur_page"] = "1";
- params["page_size"] = "9999";
- if (!Utils.isEmpty(keyword)) {
- params["keyword"] = keyword!;
- }
- if (!Utils.isEmpty(startDate)) {
- params["start_date"] = startDate!;
- }
- if (!Utils.isEmpty(endDate)) {
- params["end_date"] = endDate!;
- }
- final result = await httpProvider.requestNetResult(
- ApiConstants.apiSignApplied,
- params: params,
- cancelToken: cancelToken,
- );
- //根据返回的结果,封装原始数据为Bean/Entity对象
- if (result.isSuccess) {
- //重新赋值data或list
- final json = result.getDataJson();
- var data = AttendanceEntity.fromJson(json!);
- //重新赋值data或list
- return result.convert<AttendanceEntity>(data: data);
- }
- return result.convert();
- }
- /// 用户上传考勤
- Future<HttpResult<CheckSuccessEntity>> submitCheckInOut(
- String? appliedId,
- ByteData? byteData, {
- bool isCheckIn = false,
- CancelToken? cancelToken,
- }) async {
- //Post请求
- Map<String, String> params = {};
- params['applied_id'] = appliedId ?? "";
- params['check_type'] = isCheckIn ? "1" : "2";
- Map<String, Uint8List> streams = {};
- if (byteData != null) {
- streams["capture"] = byteData.buffer.asUint8List();
- }
- final result = await httpProvider.requestNetResult(
- method: HttpMethod.POST,
- ApiConstants.apiSignInOut,
- params: params,
- pathStreams: streams,
- networkDebounce: true,
- isShowLoadingDialog: true,
- cancelToken: cancelToken,
- );
- //根据返回的结果,封装原始数据为Bean/Entity对象
- if (result.isSuccess) {
- final json = result.getDataJson();
- var data = CheckSuccessEntity.fromJson(json!);
- //重新赋值data
- return result.convert<CheckSuccessEntity>(data: data);
- }
- return result.convert<CheckSuccessEntity>();
- }
- }
|