docker版jxTMS使用指南:python服务之jxUtils

本文讲解4.0版jxTMS中python服务的jxUtils模块,整个系列的文章请查看:docker版jxTMS使用指南:4.0版升级内容

docker版本的使用,请参考:docker版jxTMS使用指南

jxUtils模块属于jxTMS扩展部分的基础模块,以类函数的形式为其它部件提供支持。

引用:

from jx.jxUtils import jxUtils

jxUtils的类函数主要有:

checkAssert(cls,b,msg,*vs)

判断条件是否成立,不成立则掷出异常

参数:
	b:待检查的条件表达式,成立无动作,不成立则掷出异常
	msg:条件表达式不成立时所掷出的异常消息模版
	vs:可变参数,如果有则以【msg.format(*vs)】的方式填入
返回值:
	无
示例:
	#属性必须被定义在属性列表中
	jxUtils.checkAssert(attr in al,'条件键名【{}】不在数据类【{}】属性列表中',attr,clsName)

CID(cls)

获取全局唯一ID

参数:
	 无
返回值:
	全局唯一ID,整数
说明:
	该ID由hostID、时间戳、从1开始的计数器等组成,1秒内可支持64K个ID

Now(cls)

获取系统当前时间戳

参数:
	无
返回值:
	当前时间,datetime

defaultValue(cls,ty)

获取指定类型的默认值

参数:
	ty:指定的数据类型之一:int,float,string,bool,decimal,datetime,json
返回值:
	如果ty为上述的指定类型,则:
	int:0
	float:0.0
	string:''
	bool:False
	decimal:Decimal.from_float(0.0)
	datetime:''
	json:{}
	其它类型则为None
说明:
	jxTMS在data文件中定义的数据类,在创建时,所以字段都被设置为Not Null。所以在插入新值时必须为其指定默认值,否则插入失败

transValue(cls,ty,v)

将v转换为ty类型的数据

参数:
	ty:指定的数据类型之一:int,float,string,bool,decimal,datetime,json,dict
	v:待转换的数值
返回值:
	将v转换为相应类型的数据
说明:
	如果返回None,说明转换失败

transValue2Int(cls,v)

将v转换为int类型的数据

参数:
	v:待转换的数值
返回值:
	将v转换为int类型的数据
说明:
	如果返回None,说明转换失败或v本身就是None

其它:

transValue2Datetime:转换为datetime

transValue2Float:转换为float

transValue2Bool:转换为bool

transValue2Decimal:转换为Decimal

transValue2Dict:转换为dict

transValue就是根据类型来调用上述函数,但转换为string类型是比较特殊的

transValue2String(cls,v,withQuote=False)

将v转换为string类型的数据

参数:
	v:待转换的数值
	withQuote:如果v是【dict、str】类型,转换后的数值是否需要用单引号括起来
返回值:
	将v转换为string类型的数据
说明:
	transValue2String会识别v的类型,然后根据类型将其转换为字符串
	如果v本身就是None则返回None。向数据库中插入数据时,字符串、datetime等复杂格式都需要用单引号括起来才能执行成功
	transValue在转换str时,是不添加单引号的。所以,在设置ORM对象的值时应使用transValue来确保ORM对象各字段的数据类型是正确的;而在为数据库操作准备sql语句时,都应使用withQuote=True的transValue2String函数来把值正确的转换为可被数据库正确执行的sql语句
注:
	这些问题,jxTMS已经充分考虑并已经正确实现了

参考资料:

jxTMS设计思想

jxTMS编程手册

下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能:

如何用jxTMS开发一个功能

下面的系列文章讲述了jxTMS的一些基本开发能力:

jxTMS的HelloWorld

你可能感兴趣的:(jxTMS,python,docker,SaaS,jxTMS)