import CampaignService from '@/service/campaign/campaign-service'; import { Verify } from '@/utils/verify/verify'; /** * 停用 * * @export * @class StopLogicBase */ export default class StopLogicBase { /** * 名称 * * @memberof StopLogicBase */ private name:string ="Stop"; /** * 唯一标识 * * @memberof StopLogicBase */ private id:string = "6A8A0F8B-4A26-4209-8AEE-80FA902B2212"; /** * 默认参数名称 * * @memberof StopLogicBase */ private defaultParamName:string = "Default"; /** * 参数集合 * * @memberof StopLogicBase */ private paramsMap:Map<string,any> = new Map(); /** * Creates an instance of StopLogicBase. * * @param {*} [opts={}] * @memberof StopLogicBase */ constructor(opts: any = {}) { this.initParams(opts); } /** * 初始化参数集合 * * @param {*} [opts={}] * @memberof StopLogicBase */ 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:CampaignService = new CampaignService(); 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.compute1Cond(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,{statecode:"1"}); this.paramsMap.set('Default',{data:tempDstParam0Data,context:tempDstParam0Context}); if(this.compute0Cond(params)){ return this.executeDeaction1(context,params,isloading); } } }