前排提醒:该案例完全实现需要分为七个智能合约,且每个智能合约代码之间的内在罗辑以及各个智能合约之间的联系都已经详细说明。相信全部看完的你会对智能合约有更深入的了解。
(六).FlightDelayInsurance航班延误险合约
将乘客信息与之对应的航班号赋给变量policies保单(双重映射)=》
定义两个事件(乘客保险费,保险赔偿金)=》
正式开始,初始化设置(构造函数)(可以使用其他合约的指定地址)=》
乘客购买延误险
1.定义可支付函数,内含航班号参数。
(该处补充)2.判断乘客已购买本次航班的机票 (调用函数_hasPurchasedTicket并传入了 _flightNumber 作为参数)
(该处补充)3.判断乘客已购买机票。(映射policies+结构体成员访问操作符)
4.支付保费金额正确 (传入的以太币数量与 insuranceStatus结构体内对应的金额对比)
5.触发乘客传入保险费。
(该处补充)6.记录乘客已经购买航班延误险(policies保单映射+结构体成员访问操作符)=true
7.标记购买保险的时间(policies保单映射+结构体成员访问操作符)= block.timestamp。=》
(该处补充)查询乘客是否购买航班延误险
1.定义bool类型函数(hasPurchasedInsurance),内含航班号参数和乘客参数。