# -*- coding: gbk -*- ''' ------------------------------------------------------------------------------- ×× 以下代码是宇信班克CGC编译器自动生成的代码,请勿直接修改代码。 ×× ------------------------------------------------------------------------------- ''' ''' 应用代码:${app} 交易代码:${trade} 描述信息:${desc} 作 者:宇信班克 创建日期:${crttime} 修改日期:${mdftime} 生成日期:${curdate} 编译版本:CGC ${version} ''' from types import FunctionType ${importStr} ''' 全局对象: ''' __GLB_ERRFUNC__ = None __GLB_ERRCODE__ = "None" __GLB_ERRMESG__ = "None" __GLB_ERRTYPE__ = "None" ''' 功 能:CGC初始化检查 ''' def CGC_INIT_CHECK(__REQ__,__RSP__): CGC_Trace("调用内建函数 CGC_CHECK") if(__RSP__.has_key("__ASYNC__")): del __RSP__["__ASYNC__"] if(__RSP__.has_key("__AMC__")): del __RSP__["__AMC__"] if(__RSP__.has_key("__ATC__")): del __RSP__["__ATC__"] if( not __REQ__.has_key("__MC__")): CGC_SET_GLB_ERROR("E","ET010001","__REQ__中必须包含键值__MC__") return False if( not __REQ__.has_key("__TC__")): CGC_SET_GLB_ERROR("E","ET010002","__REQ__中必须包含键值__TC__") return False return True ''' 功 能:CGC结束检查 ''' def CGC_END_CHECK(__REQ__,__RSP__): CGC_Trace("调用内建函数 CGC_END_CHECK") global __GLB_ERRTYPE__ global __GLB_ERRCODE__ global __GLB_ERRMESG__ if( not __RSP__.has_key("__SNDPCK__")): __RSP__["__RST__"]="E" __RSP__["__ECD__"]="ENOSDPCK" __RSP__["__MSG__"]="无返回包变量" __RSP__["__SNDPCK__"]="" else: __RSP__["__RST__"]=__GLB_ERRTYPE__ __RSP__["__ECD__"]=__GLB_ERRCODE__ __RSP__["__MSG__"]=__GLB_ERRMESG__ ''' 功 能:CGC获取异常委托函数 ''' def CGC_GET_DEF_EXCP_NODE(funcDef): global __GLB_ERRFUNC__ if(__GLB_ERRFUNC__ == None): return funcDef else: return __GLB_ERRFUNC__ ''' 功 能:CGC设置全局错误 ''' def CGC_SET_GLB_ERROR(strMsgType,strMsgCode,strMsgText): global __GLB_ERRTYPE__ global __GLB_ERRCODE__ global __GLB_ERRMESG__ __GLB_ERRTYPE__ = str(strMsgType) __GLB_ERRCODE__ = str(strMsgCode) __GLB_ERRMESG__ = str(strMsgText) CGC_Trace("ETYPE = "+str(__GLB_ERRTYPE__)) CGC_Trace("ECODE = "+str(__GLB_ERRCODE__)) CGC_Trace("EMESG = "+str(__GLB_ERRMESG__)) ''' 功 能:设置全局异常委托函数 ''' def CGC_SET_DEF_EXCP_NODE(argMethod): global __GLB_ERRFUNC__ __GLB_ERRFUNC__ = argMethod ''' 功 能:CGC布尔判断组件 ''' def CGC_INN_BOOL(boolArg): CGC_Trace("调用内置组件 CGC_INN_BOOL") CGC_Trace(("boolArg="+str(boolArg) )) if(type(boolArg) is bool): if(boolArg is True): return [1,None,None] else: return [0,None,None] elif(type(boolArg) is int): if(boolArg > 0): return [1,None,None] else: return [0,None,None] else: return [0,None,None] ''' 功 能: CGC虚拟SWITCH组件 ''' def CGC_INN_SWITCH(argSrc,arg1,arg2,arg3,arg4,arg5,arg6,arg7): CGC_Trace("调用内置组件 CGC_INN_SWITCH") CGC_Trace(("argSrc="+str(argSrc))) if(argSrc == arg1): return [1,None,None] elif(argSrc == arg2): return [2,None,None] elif(argSrc == arg3): return [3,None,None] elif(argSrc == arg4): return [4,None,None] elif(argSrc == arg5): return [5,None,None] elif(argSrc == arg6): return [6,None,None] elif(argSrc == arg7): return [7,None,None] else: return [0,None,None] ''' 功 能:CGC取全局错误到容器 ''' def CGC_INN_GET_GLB_ERROR(dictArg,strMsgTypeName,strMsgCodeName,strMsgTextName): CGC_Trace("调用内置组件 CGC_INN_GET_GLB_ERROR") global __GLB_ERRTYPE__ global __GLB_ERRCODE__ global __GLB_ERRMESG__ if(not type(dictArg) is dict): return [0,"ET020001","入参0必须是dict类型"] elif(not type(strMsgTypeName) is str): return [0,"ET020002","入参1必须是str类型"] elif(not type(strMsgCodeName) is str): return [0,"ET020003","入参2必须是str类型"] elif(not type(strMsgTextName) is str): return [0,"ET020004","入参3必须是str类型"] dictArg[strMsgTypeName]=__GLB_ERRTYPE__ dictArg[strMsgCodeName]=__GLB_ERRCODE__ dictArg[strMsgTextName]=__GLB_ERRMESG__ return [1,None,None] ''' 功 能: CGC异步模式 ''' def CGC_INN_ASYNC(dictArg,strMC,strTC): CGC_Trace("调用内置组件 CGC_INN_ASYNC") if(not type(dictArg) is dict): return [0,"ET030001","入参0必须是dict类型"] elif(not type(strMC) is str): return [0,"ET030002","入参1必须是str类型"] elif(not type(strTC) is str): return [0,"ET030003","入参2必须是str类型"] dictArg["__ASYNC__"] = True dictArg["__AMC__"] = strMC dictArg["__ATC__"] = strTC return [1,None,None] ''' 功 能: CGC默认异常结束 ''' def CGC_DEF_ERR_END_NODE(__REQ__,__RSP__,__SND__,__RCV__): CGC_Trace("调用内置组件 CGC_DEF_ERR_END_NODE") return False ''' ------------------------------------------------------------------------------- ## 交易步骤代码 ## ------------------------------------------------------------------------------- ''' ${body} ''' ------------------------------------------------------------------------------- ## 交易函数入口 ## ------------------------------------------------------------------------------- ''' ${entry}