接口比对平台
接口比对平台
流程
创建接口->添加账号规则(首次可初始化)->基于接口创建任务
简介
新建接口相关基础数据,基于接口相关的基础数据创建基础任务
一、公共接口比对页面交互
1、查询条件
①业务域 ②应用 ③请求方式 ④责任人 ⑤用户类型 ⑥创建时间
以上字段映射diff_api_info表相应字
页面原型
2、查询按钮
新增查询接口
接口入参字段:①业务域 ②应用 ③请求方式 ④责任人 ⑤用户类型 ⑥创建时间;所有字段非必传。
接口实现:内部逻辑走查询SQL
3、列表表单内容
展示字段:业务域、应用、接口描述、URL、请求方式、责任人、用户类型、忽略字段、
以上字段全部查询diff_api_info表相应字段
操作
编辑:所有字段均可编辑(直接用新增接口,传ID则算编辑,不传则新增) P2
删除:仅支持整条删除 ,软删除(数据入库默认为1,点击删除后数据库is_valid字段变更为0) P1
添加任务:跳转添加任务弹窗 P0
查看任务:跳转查看任务页面 P0
4、添加接口
必传字段:
①业务域 :传中文字符串
②应用:传字符串,不限格式
③接口描述:传字符串,格式不限
④请求方式:前端页面写死,目前仅支持get/post
⑤URL:传接口路径,但是不带url,前端只传接口后缀,后端{}format函数拼接
⑥责任人:传中文字符串不限格式
⑦用户类型:前端页面写死,目前仅支持司机or货主,后端枚举0和1
⑧忽略类型:文本内容,格式不限
⑨动态编码(待开发...)
原型:
入参报文示例:
5、添加任务
必填字段:
①泳道:不限格式
②环境:前端写死QA/DEV
③账号标识:查询接口查diff_user_rel_business表
④入参(非必填):
不传:如果账号标识传0,则入参可不传(前端是否可优化成传0则带出入参填写框,非0则展示入参填写框)
传:捞出入参的value值当做查询SQL的where条件
原型:
入参报文示例:
6、查看任务
展示字段①应用②泳道③环境④账号标识⑤用户类型⑥入参⑦接口关联id
以上字段全部查询diff_base_task表相应字段
操作
编辑:所有字段均可编辑(直接用新增接口,传ID则算编辑,不传则新增) P2
删除:仅支持整条删除 ,软删除(数据入库默认为1,点击删除后数据库is_del字段变更为0) P1
7、添加账号规则
必传字段:
①账号规则标识:只能输入数字1-99,且不能重复
②标识名称:不限格式
③查询SQL:不限格式
逻辑:新增接口将以上三个字段落表,落表后调用get_app_header.py文件的
原型:
报文示例:
二、逻辑
1、添加任务的时候新增一个查询对应账号规则字段(纯粹为了去反查对应的手机号),例如:orderId/cargoId/phone,这样的话 入参就纯透传,如果不传入参(入参没有cargoId,orderId则在这个字段传手机号,拿到手机号直接去登录)
设计思路:根据用户类型(司机or货主,此处只是为了判断登录的时候走那套方法)、账号规则标识(传0则走自定义模式,账号规则需传手机号,也不需要调get_header_by_app_version方法,传非0,账号规则需要传orderId/cargoId或者别的业务字段,具体传参逻辑参考逻辑2)
1、添加任务时新增一个查询对应账号规则字段(该字段用来匹配入参的key,匹配不上则报错抛异常,匹配上了则获取key对应的value值
问题:提取key 校验入参key里面的值和规则里面的值是否一致
2、
sql通用模板方法 ;
问题1.查询的表必须是分表的库
问题2.分表的字段必须是你传进来的字段,例如cargoId、orderId
PS:该方法目前只支持分表的库,且分表的字段必须是你账号规则传进来的字段,扩展:可if另外一个方法,不走分表,传通用SQL模板
三、表结构
create table diff_api_info ( api_id int not null auto_increment comment '主键', business varchar(32) default ' ' comment '业务域(三级部门:交易中台)', system_name varchar(32) default ' ' comment '应用(系统名)', api_desc varchar(32) default '' comment '接口描述', url varchar(32) default '' comment '接口名称(不带域名)', request_method varchar(12) default '' comment '请求方式(get/post)', owner varchar(12) default '' comment '责任人', user_type int(4) default '' comment '用户类型 0货主 1司机', ignore_list text null comment '忽略字段', dyn_coding text null comment '动态编码', is_valid int(1) default 1 not null comment '软删除标志:1 正常 0 已删除', update_time datetime ON UPDATE CURRENT_TIMESTAMP comment '更新时间', create_time datetime default CURRENT_TIMESTAMP comment '创建时间', primary key (api_id) ) comment '比对接口明细表'; create table diff_task_new ( task_id int not null auto_increment comment '任务id' primary key, task_name varchar(255) null, task_type varchar(255) not null comment '1. 详情-货主第一人称 2. 详情-货主第一人称(不分发货中-发货历史) 3. 详情-司机第一人称 11. 货主-小黑板列表 4.支付定金页', user_mark int not null comment '账号标识 0自定义 1随机货主 2随机司机 6货源对应货主 7货源对应司机(成交货源)8订单对应货主 9订单对应司机 11特殊司机1类 12特殊司机2类', lane varchar(64) default '' comment '泳道', env varchar(255) not null comment 'dev/qa', body text null comment '入参', creator varchar(255) null comment '创建人', task_owner varchar(255) default '' null comment '手工创建的任务:可以没有值;自动创建的任务取的规则表对应的规则owner', status int(255) default 0 null comment '-99 异常 0 待执行 | 1 执行中 | 2 执行成功 | 3 执行失败(有1个失败都算失败)', api_id int not null comment '关联id', total_cases int(30) null comment '用例总数', success_cases int(30) null comment '成功用例数', fail_cases int(30) null comment '失败用例数', noExecute_cases int(30) null comment '异常用例数', remark varchar(255) null comment '备注', update_time datetime default CURRENT_TIMESTAMP comment '更新时间', create_time datetime default CURRENT_TIMESTAMP comment '创建时间', task_source int(1) default 0 null comment '0:手动创建; 1:自动化创建', task_bind_rule_id int null comment '任务绑定规则ID', ci_batch_id int(18) null comment 'task_source=1(自动化执行时),会有这个值,用来标识是哪个执行批次', is_del int(1) default 1 not null comment '软删除标志:1 正常 0 已删除', is_valid int(1) default 1 not null comment '是否生效 0失效 1生效' ) comment '比对基础任务数据表_新';create table diff_base_task ( task_id int not null auto_increment comment '主键', # system_name varchar(32) default ' ' comment '应用(系统名)', lane varchar(64) default '' comment '泳道', env varchar(12) default '' comment '环境', user_mark int not null comment '账号标识 0自定义 1随机货主 2随机司机 6货源对应货主 7货源对应司机(成交货源)8订单对应货主 9订单对应司机 11特殊司机1类 12特殊司机2类', # user_type int(4) default '' comment '用户类型 0货主 1司机', body text null comment '入参', is_valid int(1) default 1 not null comment '软删除标志:1 正常 0 已删除', update_time datetime ON UPDATE CURRENT_TIMESTAMP comment '更新时间', create_time datetime default CURRENT_TIMESTAMP comment '创建时间', api_id int not null default '' comment '关联id', primary key (task_id) ) comment '比对基础任务数据表'; create table diff_user_rel_business ( id int not null auto_increment comment '主键', user_mark_id int not null comment '账号标识规则 0自定义 1随机货主 2随机司机 6货源对应货主 7货源对应司机(成交货源)8订单对应货主 9订单对应司机 11特殊司机1类 12特殊司机2类', user_mark_name varchar(64) default '' comment '账号标识名称', query_sql varchar(1024) default ' ' comment 'SQL语句', update_time datetime default CURRENT_TIMESTAMP comment '更新时间', create_time datetime default CURRENT_TIMESTAMP comment '创建时间', primary key (id), UNIQUE Key_user_mark_id (user_mark_id) ) comment '比对用户业务关联表';

浙公网安备 33010602011771号