import dateFormatter from './date-formatter'; export class AlertMessageHandle { // public alertMessage = { // 'FLOP-CNCL':'', // 'FLOP-FRET':'', // 'FLOP-FDIV':'', // 'FLOP-FDEL':'', // 'FLOP-DELY':'', // 'FLOP-ACTT':'', // 'FLOP-GTDT':'', // 'FLOP-PSDT':'', // 'FLOP-ESTT':'', // 'FLOP-PADT':'', // 'FLOP-CKDT':'', // 'FLOP-BOTM':'', // 'FLOP-CLDT':'', // 'FLOP-ROUT':'', // 'FLOP-VIPP':'', // 'FLOP-HNAG':'', // 'FLOP-FLBG':'', // 'FLOP-RENO':'', // 'FLOP-ABTM':'', // 'FLOP-CHOT':'', // 'FLOP-TRML':'', // } public flopCncl(message, airports) { if(message.FLOP.CNCL){ return message.FLOP.FFID + '航班取消'; }else{ return message.FLOP.FFID + '航班恢复'; } } public flopFret(message, airports) { if (message.FLOP.FRET.REID === 'G') { return message.FLOP.FFID + '航班从地面返回,返回原因:' + message.FLOP.FRET.content || message.FLOP.FRET.VALUE; } else if (message.FLOP.FRET.REID === 'A') { return message.FLOP.FFID + '航班从空中返回,返回原因:' + message.FLOP.FRET.content || message.FLOP.FRET.VALUE; } else { return message.FLOP.FFID + '航班从空中或地面返回,返回原因:' + message.FLOP.FRET.content || message.FLOP.FRET.VALUE; } } public flopFdiv(message, airports) { let airportName = ''; let index = airports.findIndex(airport => airport.airportCodeIata === message.FLOP.FDIV.DDES); if (index > -1) { airportName = airports[index].airportNameChn; } if (message.FLOP.FDIV.DDIR === 'FROM') { return message.FLOP.FFID + '航班备降自' + airportName + ',备降原因:' + message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE; } else if (message.FLOP.FDIV.DDIR === 'TO') { return message.FLOP.FFID + '航班备降到' + airportName + ',备降原因:' + message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE; } else { return message.FLOP.FFID + '航班备降,备降原因:' + message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE; } } public flopFdel(message, airports) { return message.FLOP.FFID + '航班被删除了' } public flopDely(message, airports) { return message.FLOP.FFID + '航班延误' + message.FLOP.DELY.DURA + '分钟;延误码:' + message.FLOP.DELY.CODE + ';延误信息:' + message.FLOP.DELY.content || message.FLOP.DELY.VALUE } public flopActt(message, airports) { return message.FLOP.FFID + '航班实际时间:' + dateFormatter(message.FLOP.ACTT); } public flopGtdt(message, airports) { return message.FLOP.FFID + '登机门分配为:' + message.FLOP.GTDT.GATE } public flopPsdt(message, airports) { if (Array.isArray(message.FLOP['PSDT']) && message.FLOP['PSDT'].length > 0) { let psst = []; for (let i = 0; i < message.FLOP['PSDT'].length; i++) { psst.push(message.FLOP['PSDT'][i]['PSST']); } let set = new Set(psst); return message.FLOP.FFID + '计划机位变更为:' + Array.from(set).join(','); } else if (Object.prototype.toString.call(message.FLOP['PSDT']) === '[object Object]') { return message.FLOP.FFID + '计划机位变更为:' + message.FLOP['PSDT']['PSST']; } else { return message.FLOP.FFID + '计划机位变更为:'; } } public flopEstt(message, airports) { return message.FLOP.FFID + '预计时间变更为' + dateFormatter(message.FLOP.ESTT); } public flopPadt(message, airports) { return message.FLOP.FFID + '航班前站实际起飞时间:' + dateFormatter(message.FLOP.PADT); } public flopCkdt(message, airports) { if (Array.isArray(message.FLOP['CKDT']) && message.FLOP['CKDT'].length > 0) { let chkc = []; for (let i = 0; i < message.FLOP['CKDT'].length; i++) { chkc.push(message.FLOP['CKDT'][i]['CHKC']); } let set = new Set(chkc); return message.FLOP.FFID + '航班值机柜台分配为:' + Array.from(set).join(','); } else if (Object.prototype.toString.call(message.FLOP['CKDT']) === '[object Object]') { return message.FLOP.FFID + '航班值机柜台分配为:' + message.FLOP['CKDT']['CHKC']; } else { return message.FLOP.FFID + '航班值机柜台分配为:'; } } public flopBotm(message, airports) { return message.FLOP.FFID + '登机开始时间:' + dateFormatter(message.FLOP.BOTM); } public flopCldt(message, airports) { if (Array.isArray(message.FLOP['CLDT']) && message.FLOP['CLDT'].length > 0) { let belt = []; for (let i = 0; i < message.FLOP['CLDT'].length; i++) { belt.push(message.FLOP['CLDT'][i]['BELT']); } let set = new Set(belt); return message.FLOP.FFID + '行李转盘分配为:' + Array.from(set).join(','); } else if (Object.prototype.toString.call(message.FLOP['CLDT']) === '[object Object]') { return message.FLOP.FFID + '行李转盘分配为:' + message.FLOP['CLDT']['BELT']; } else { return message.FLOP.FFID + '行李转盘分配为:'; } } public flopRout(message, airports, citys) { let mvin = message.FLOP.FFID.split('-')[2]; let rout = []; if (Array.isArray(message.FLOP['ROUT']) && message.FLOP['ROUT'] > 0) { for (let i = 0; i < message.FLOP['ROUT'].length; i++) { let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP['ROUT'][i]['APCD']); let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); rout.push(citys[cityIndex].cityNameChn); } } else if (Object.prototype.toString.call(message.FLOP['ROUT']) === '[object Object]') { let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP['ROUT']['APCD']); let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); rout.push(citys[cityIndex].cityNameChn); } if (mvin === 'A') { rout.push('成都'); } else if (mvin === 'D') { rout.unshift('成都'); } return message.FLOP.FFID + '航线更改为:' + rout.join(' - '); } public flopVipp(message, airports, citys) { return message.FLOP.FFID + 'VIP旅客:' + message.FLOP.VIPP + '人'; } public flopHnag() { return '航班代理事件'; } public flopFlbg(message,airports,citys) { return message.FLOP.FFID + '首末件行李到达时间消息'; } public flopReno(message,airports,citys) { return message.FLOP.FFID + '更换飞机号:' + message.FLOP.RENO; } public flopAbtm(message,airports,citys) { return message.FLOP.FFID + '靠桥撤桥消息'; } public flopChot(message,airports,citys) { return message.FLOP.FFID + '上下轮档消息'; } public flopTrml(message,airports,citys) { return message.FLOP.FFID + '航站楼:' + message.FLOP.TRML; } public schdDnld(message,airports,citys){ return '收到日航班计划'; } }