import ContactService from '@/service/contact/contact-service'; import { Verify } from '@/utils/verify/verify'; /** * 停用 * * @export * @class InactiveLogicBase */ export default class InactiveLogicBase { /** * 名称 * * @memberof InactiveLogicBase */ private name:string ="Inactive"; /** * 唯一标识 * * @memberof InactiveLogicBase */ private id:string = "099C8D9A-D098-439E-9917-5BFDC26C95D6"; /** * 默认参数名称 * * @memberof InactiveLogicBase */ private defaultParamName:string = "Default"; /** * 参数集合 * * @memberof InactiveLogicBase */ private paramsMap:Map<string,any> = new Map(); /** * Creates an instance of InactiveLogicBase. * * @param {*} [opts={}] * @memberof InactiveLogicBase */ constructor(opts: any = {}) { this.initParams(opts); } /** * 初始化参数集合 * * @param {*} [opts={}] * @memberof InactiveLogicBase */ public initParams(opts:any){ this.paramsMap.set('Default',opts); } /** * 计算0节点结果 * * @param params 传入参数 */ public compute0Cond(params:any):boolean{ return true; } /** * 计算1节点结果 * * @param params 传入参数 */ public compute1Cond(params:any):boolean{ return true; } /** * 执行逻辑 * * @param context 应用上下文 * @param params 传入参数 */ public onExecute(context:any,params:any,isloading:boolean){ return this.executeBegin(context,params,isloading); } /** * 更新联系人状态 * * @param context 应用上下文 * @param params 传入参数 */ private async executeDeaction1(context:any,params:any,isloading:boolean){ // 行为处理节点 let result: any; let actionParam:any = this.paramsMap.get('Default'); const targetService:ContactService = new ContactService(); if (targetService['Update'] && targetService['Update'] instanceof Function) { result = await targetService['Update'](actionParam.context,actionParam.data, false); } if(result && result.status == 200){ Object.assign(actionParam.data,result.data); return this.paramsMap.get(this.defaultParamName).data; } } /** * 开始 * * @param params 传入参数 */ private async executeBegin(context:any,params:any,isloading:boolean){ //开始节点 if(this.compute0Cond(params)){ return this.executePrepareparam1(context,params,isloading); } } /** * 准备参数 * * @param context 应用上下文 * @param params 传入参数 */ private async executePrepareparam1(context:any,params:any,isloading:boolean){ // 准备参数节点 let tempDstParam0Context:any = this.paramsMap.get('Default').context?this.paramsMap.get('Default').context:{}; let tempDstParam0Data:any = this.paramsMap.get('Default').data?this.paramsMap.get('Default').data:{}; Object.assign(tempDstParam0Data,{statuscode:"2"}); this.paramsMap.set('Default',{data:tempDstParam0Data,context:tempDstParam0Context}); if(this.compute1Cond(params)){ return this.executeDeaction1(context,params,isloading); } } }