2024-08-27 11:08:44 +08:00

54 lines
2.0 KiB
Dart
Executable File

import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetailChangeDate/electronicKeyDetailChangeDate_state.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import '../../../../../tools/dateTool.dart';
import '../../../../../tools/eventBusEventManage.dart';
import '../../../lockOperatingRecord/keyOperationRecord_entity.dart';
class ElectronicKeyDetailChangeDateLogic extends BaseGetXController {
final ElectronicKeyDetailChangeDateState state =
ElectronicKeyDetailChangeDateState();
//编辑电子钥匙有效期请求
Future<void> updateKeyDateRequest() async {
final int beginTimeTimestamp = DateTool().dateToTimestamp(state.beginTime.value, 1);
final int endTimeTimestamp = DateTool().dateToTimestamp(state.endTime.value, 1);
if (beginTimeTimestamp > endTimeTimestamp || beginTimeTimestamp == endTimeTimestamp) {
showToast('失效时间需晚于生效时间'.tr);
return;
}
if (endTimeTimestamp < DateTime.now().millisecondsSinceEpoch) {
showToast('生效时间需晚于当前时间'.tr);
return;
}
final KeyOperationRecordEntity entity = await ApiRepository.to.updateKeyDate(
keyId:state.keyId.value.toString(),
lockId:state.lockId.value.toString(),
endDate:endTimeTimestamp.toString(),
startDate:beginTimeTimestamp.toString(),
weekDays:[],
keyType:2,
startTime: 0,
endTime: 0,
isOnlyManageSelf: state.isOnlyManageSelf!.value,
remoteEnable: state.remoteEnable!.value
);
if (entity.errorCode!.codeIsSuccessful) {
showToast('修改成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI());
Get.back(result: {
'beginTimeTimestamp': beginTimeTimestamp,
'endTimeTimestamp': endTimeTimestamp,
});
});
}
}
}