# json
data = {
# 传给用户的
"values": {
"code": "10000",
"msg": "Success",
"trade_no": "2013112011001004330000121536",
"gmt_payment": "2014-11-27 15:45:57",
"fund_bill_list": [
{
"fund_channel": "ALIPAYACCOUNT",
"amount": 10,
"real_amount": 11.21
}
],
"store_name": "证大五道口店",
"buyer_user_id": "2088101117955611",
"async_payment_mode": "SYNC_DIRECT_PAY",
"voucher_detail_list": [
{
"id": "2015102600073002039000002D5O",
"purchase_buyer_contribute": 2.01,
"purchase_merchant_contribute": 1.03,
"purchase_ant_contribute": 0.82
}
],
},
# 系统执行存储的后台需要
"params": {
"version": "1.0", # 默认1.0
"timestamp": "2022-05-24 02:17:50", # 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss"
"conn": "postgresql", # 数据库连接
"access_token": "4a62fe6ec31330261f2a2784aa0089d0", # 用户授权
"url": 'http://www.amoserp.com:8069', # 地址
"notify_url": 'http://www.amoserp.com:8069', # 消息执行完后通知地址
"dbname": 'dtcloud', # 执行的数据库
"uid": '1', # 用户ID
"partner_id": '1', # partner ID
"company_id": '1', # 公司ID
"context": '["lang":"zh_CN","email":"35350428@qq.com"]', # 上下文参数
"method": 'write', # 接口名称 write,unlink,create
"model": 'res.partner', # 表名
"field": 'date,city,color', # 操作的字段
"values": ['2022-05-26 01:06:04','上海',1]’ # 操作的字段
"body": '订单附加信息', # 描述
"ids": '1,2,3', # 执行的ID
"fun": '_main', # 执行的方法
"type": 'sql', # SQL(本地执行SQL),XMLRPC ,http发给远程地址 url 地址返回 T,log 写入本地文件 log 每小时一个文件名 年,月,日,时
}
}
判断 type 如果是 log
再判断全局配置文件是否输出日志,默认是输出,定义一个日志文
1,全局变量里增加一个日志路径,判断当前系统
ubuntu /opt/websocket/log/2020-05-28/01.log
Windows c:/opt/websocket/log/2020-05-28/01.log
写入本地文件 log 每小时一个文件名,
2,格式
#::::::::2020-05-28 01:06:04
内容
#:::::::::2020-05-28 01:06:04
内容
判断如果是SQL
系统需要校验 access_token 是否有效
:::::create
通过conn 数据库连接 执行语句
model = res.users 注册点换成下划线
field =date,city, color
values = (‘2022-05-26 01:06:04’,’上海’,2)
INSERT INTO res_partner(date,city, color) VALUES ('2022-05-26 01:06:04','上海',1)
:::::write
通过conn 数据库连接 执行语句
model = res.users 注册点换成下划线
field,ids与values 转成sql
UPDATE res_partner SET date='2022-05-26 01:06:04', city='上海',color=3 WHERE id in (1,2)
判断如果是xmlrpc
url 网址
go_server = xmlrpclib.ServerProxy(‘{}/xmlrpc/2/fuc’.format(url))
params以json字符串参数格式
data = go_server.execute_go(params)
判断如果是http
url 为地址
post params
url = 'http://xxxxxx/v2/xxxxx/xxxxx/audio'
params = {
}
req = requests.post(url,data=json.dumps(params)) # 发post请求,以json字符串参数格式
print(req.text)
返回的data 在原来节点上加上,相当于替换params
以上四种在执行推送时都要删除 params 节点