46 lines
1.9 KiB
Dart
Raw Normal View History

import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_entity.dart';
import 'package:star_lock/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_state.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/tools/commonDataManage.dart';
class SendEmailNotificationLogic extends BaseGetXController {
final SendEmailNotificationState state = SendEmailNotificationState();
//获取电子钥匙通知模板 渠道1短信 2邮箱
Future<void> getKeyNoticeTemplate() async {
final SendEmailNotificationEntity entity =
await ApiRepository.to.getKeyNoticeTemplate(
lockId: CommonDataManage().currentKeyInfo.lockId ?? 0,
keyId: state.getKeyId.value,
channelType: state.channelType.value,
);
if (entity.errorCode!.codeIsSuccessful) {
state.emailTemplateList.value =
entity.data?.list ?? <EmailNotificationItem>[];
state.currentNotifyItem.value = state.emailTemplateList.first;
state.emailController.text = state.currentNotifyItem.value.template ?? '';
state.emailTemplateList.refresh();
state.currentNotifyItem.refresh();
}
}
//发送短信、邮件通知 channelType--1短信 2邮件 openDoorType--1电子钥匙 2密码
Future<void> keyNoticeSubmitRequest() async {
final SendEmailNotificationEntity entity =
await ApiRepository.to.keyNoticeSubmit(
receiverName: state.getReceiver.value,
lockId: CommonDataManage().currentKeyInfo.lockId ?? 0,
keyId: state.getKeyId.value,
channelType: state.channelType.value,
openDoorType: 1,
templateType: state.currentNotifyItem.value.type ?? '',
);
if (entity.errorCode!.codeIsSuccessful) {
showToast('发送成功');
Get.back();
}
}
}