[关闭]
@lxx3061313 2017-04-20T07:26:15.000000Z 字数 11076 阅读 180

保险对接开放平台

背景

保险开放平台一期的主要功能是为商业保险公司的对接提供更加便捷联调环境和联调方式,增加对接效率。所以一期的主要功能即提供一个标准的,自动化的联调平台。联调平台会有需要对接的各系统模块的标准接口,联调完毕即可上线。从而降低以前反复沟通确认接口的成本。

数据模型

基本数据类型

类型 名称 描述
String 字符串 字符串
Int 整型 整数类型
Long 长整型 长整型
Boolean 布尔型 布尔型
Timestamp 时间戳 时间戳
Double 双精度 双精度
BigDecimal 小数类型 高精度
Enum 枚举类型 枚举类型

自定义类型

自定义类型通常有一系列基本数据类型和一系列的自定义类型组成。

接口定义

这里的接口跟java的interface不是一个含义。这里的接口指的是系统之间通过约定而形成的对接标准。通常包含几下几项

  1. {
  2. "version":"1.0",
  3. "sign":"HDSFD343T45ADFE",
  4. "requestType":"queryRecord",
  5. "input":"HISAAFDDFEFDSFASFEFASFDSFGGHG"
  6. }

其中"version","sign","requestType"为固定入参,"input"为自动以入参,input的计算方式详见文档。
- 请求返回
请求返回也固定的返回参数,和自定义的返回参数两类。如果实例所示:

  1. {
  2. "version":"1.0",
  3. "retCode":"0",
  4. "sign":"HDSFD343T45ADFE",
  5. "messsage":"fasd",
  6. "output":"FDSAFEGAGADGAFADFWEWERGAGGEGW"
  7. }

其中"version","retCode","sign","message"为固定的返回参数,output为自定义的参数,会根据接口的不同而不同。

数据库模型

数据类型(基本/自定义)

  1. CREATE TABLE `data_type`(
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  3. `code` varchar(20) NOT NULL DEFAULT '' COMMENT '类型,比如String',
  4. `data_type_name` varchar(20) NOT NULL DEFAULT '' COMMENT '对类型的描述',
  5. `define_type` varchar(20) NOT NULL DEFAULT '' COMMENT '定义类型:BASIC/CUSTOM',
  6. `remark` text COMMENT '该类型的备注',
  7. `create_time` timestamp NOT NULL DEFAULT '1971-01-01 00:00:00' COMMENT '创建时间',
  8. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  9. PRIMARY KEY (`id`),
  10. UNIQUE KEY `uniq_code_type` (`code`, `define_type`)
  11. )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='基本数据类型';
字段 描述 备注
id 自增主键
name 类型名称
code 基本数据类型
define_type 基本数据类型/自定义数据类型
remark 备注 如果该类型有特别说明
create_time 创建时间
update_time 更新时间
  1. CREATE TABLE `custom_datatype_field`(
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  3. `code` varchar(20) NOT NULL DEFAULT '' COMMENT '类型,比如String',
  4. `field_name` varchar(20) NOT NULL DEFAULT '' COMMENT '对类型的描述',
  5. `data_type_id` int(11) NOT NULL DEFAULT 0 COMMENT '所属数据类型id',
  6. `field_data_type_id` int(11) NOT NULL DEFAULT 0 COMMENT '本字段数据类型id',
  7. `collectable` tinyint(1) DEFAULT 0 COMMENT '是否是集合类型',
  8. `collection_type` varchar(20) NOT NULL DEFAULT 'LIST' COMMENT '集合类型',
  9. `remark` text COMMENT '该类型的备注',
  10. `create_time` timestamp NOT NULL DEFAULT '1971-01-01 00:00:00' COMMENT '创建时间',
  11. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  12. PRIMARY KEY (`id`),
  13. UNIQUE KEY `uniq_data_type_id_code` (`data_type_id`, `code`)
  14. )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字段';

custom_datatype_field

字段 描述 备注
id 自增主键
code 编码 eg:Car
name 类型名称 汽车对象
data_type_id 所属对象类型 所属的自定义类型id
field_data_type_id 所属对象类型 本字段的数据类型id
collectable 是否是集合类型 布尔类型
collection_type 集合类型 collectable为true的情况下,此字段才有效
remark 备注 如果该类型有特别说明
create_time 创建时间
update_time 更新时间

接口类型

  1. CREATE TABLE `open_interface`(
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  3. `interface_name` varchar(20) NOT NULL DEFAULT '' COMMENT '接口名字',
  4. `interface_request_type` varchar(20) NOT NULL DEFAULT 'HTTP' COMMENT '接口请求类型',
  5. `request_method` varchar(20) NOT NULL DEFAULT 'GET' COMMENT '请求方式',
  6. `provider_type` varchar(50) NOT NULL DEFAULT 'PLATFORM' COMMENT '接口提供方',
  7. `url` varchar(100) NOT NULL DEFAULT '' COMMENT '资源url',
  8. `version` varchar(20) NOT NULL DEFAULT '1.0.0' COMMENT '接口版本号',
  9. `remark` text DEFAULT '' COMMENT '备注',
  10. `create_time` timestamp NOT NULL DEFAULT '1971-01-01 00:00:00' COMMENT '创建时间',
  11. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  12. PRIMARY KEY (`id`),
  13. KEY `idx_provider_type` (`provider_type`),
  14. KEY `idx_version` (`version`),
  15. UNIQUE KEY `uniq_name_version` (`interface_name`, `version`)
  16. )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='对外接口';

interface

字段 描述 备注
id 自增主键
interface_name 接口名称
interface_request_type 接口类型 默认为http或者https
request_method 请求方式 如果接口类型是http接口,那么方式有GET/POST两种
provider_type 提供方 分为平台/商保公司两类,如果提供方为商保,则此接口需要商保公司提供
url 资源地址 eg:/product/list
remark 备注 如果该接口有特别说明
version 版本号 接口版本号,用于后续升级
create_time 创建时间
update_time 更新时间
  1. CREATE TABLE `interface_fixed_param`(
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  3. `param_name` varchar(50) NOT NULL DEFAULT '' COMMENT '参数名字',
  4. `code` varchar(20) NOT NULL DEFAULT '' COMMENT '参数code',
  5. `param_group` varchar(20) NOT NULL DEFAULT 'FIXED_INPUT' COMMENT '参数组别',
  6. `param_type_id` int(11) NOT NULL DEFAULT 0 COMMENT '参数数据类型',
  7. `must_required` tinyint NOT NULL DEFAULT 0 COMMENT '是否必填',
  8. `example_value` text DEFAULT '' COMMENT '示例值',
  9. `default_value` text DEFAULT '' COMMENT '默认值',
  10. `version` varchar(20) NOT NULL DEFAULT '1.0.0' COMMENT '固定参数版本号',
  11. `remark` text DEFAULT '' COMMENT '备注',
  12. `create_time` timestamp NOT NULL DEFAULT '1971-01-01 00:00:00' COMMENT '创建时间',
  13. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  14. PRIMARY KEY (`id`),
  15. KEY `idx_version` (`version`),
  16. UNIQUE KEY `uniq_group_code_version` (`param_group`, `code`, `version`)
  17. )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='接口固定参数';

interface_fixed_param

字段 描述 备注
id 自增主键
name 参数名称
code 参数code
param_group 参数组别 一共两种参数组别:固定入参,固定出参
param_type_id 数据类型id 表data_type中的数据
must_required 是否必填 布尔值, 默认为必填
example_value 示例值
default_value 默认值
remark 备注 特殊说明
version 版本 固定参数的版本号
create_time 创建时间
update_time 更新时间

interface_custom_param

  1. CREATE TABLE `interface_custom_param`(
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  3. `param_name` varchar(50) NOT NULL DEFAULT '' COMMENT '参数名字',
  4. `code` varchar(20) NOT NULL DEFAULT '' COMMENT '参数code',
  5. `param_group` varchar(20) NOT NULL DEFAULT 'CUSTOM_INPUT' COMMENT '自定义参数组别',
  6. `interface_id` int(11) NOT NULL DEFAULT 0 COMMENT '所属接口id',
  7. `param_type_id` int(11) NOT NULL DEFAULT 0 COMMENT '参数数据类型',
  8. `must_required` tinyint NOT NULL DEFAULT 0 COMMENT '是否必填',
  9. `example_value` text DEFAULT '' COMMENT '示例值',
  10. `default_value` text DEFAULT '' COMMENT '默认值',
  11. `remark` text DEFAULT '' COMMENT '备注',
  12. `create_time` timestamp NOT NULL DEFAULT '1971-01-01 00:00:00' COMMENT '创建时间',
  13. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  14. PRIMARY KEY (`id`),
  15. KEY `idx_interface_id` (`interface_id`),
  16. KEY `idx_param_group` (`param_group`),
  17. UNIQUE KEY `uniq_interface_id_code` (`interface_id`, `code`)
  18. )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='接口自定义参数';
字段 描述 备注
id 自增主键
name 参数名称
code 参数code
param_group 参数组别 一共两种参数组别:自定义入参,自定义出参
interface_id 接口id 不能为空
param_type_id 数据类型id 表data_type中的数据
must_required 是否必填 布尔值
example_value 示例值
default_value 默认值
remark 备注 特殊说明
create_time 创建时间
update_time 更新时间

interface_example

  1. CREATE TABLE `interface_example`(
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  3. `example_name` varchar(50) NOT NULL DEFAULT '' COMMENT 'example名称',
  4. `interface_id` int(11) NOT NULL DEFAULT 0 COMMENT '接口id',
  5. `example_type` varchar(20) NOT NULL DEFAULT 'INPUT' COMMENT 'example类型',
  6. `example_value` text DEFAULT '' COMMENT '示例值,通常为json串或者压缩后的json串',
  7. `remark` text DEFAULT '' COMMENT '备注',
  8. `create_time` timestamp NOT NULL DEFAULT '1971-01-01 00:00:00' COMMENT '创建时间',
  9. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  10. PRIMARY KEY (`id`),
  11. UNIQUE KEY `idx_interface_id_example_type` (`interface_id`, `example_type`),
  12. KEY `idx_example_type` (`example_type`)
  13. )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='接口参数示例';
字段 描述 备注
id 自增主键
name 参数名称
interface_id 接口id 不能为空
example_type 示例类型 一般分为入参和出参类型
example_value 示例value json串形式,存储可以是base64压缩过后的
remark 备注 特殊说明
create_time 创建时间
update_time 更新时间

partner

  1. CREATE TABLE `partner`(
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  3. `partner_name` varchar(50) NOT NULL DEFAULT '' COMMENT '合作公司名称',
  4. `contact_phone` varchar(20) NOT NULL DEFAULT '' COMMENT '联系人电话',
  5. `username` varchar(50) NOT NULL DEFAULT 0 COMMENT '用户名',
  6. `password` varchar(50) NOT NULL DEFAULT 'INPUT' COMMENT '用户密码',
  7. `base_host` text DEFAULT '' COMMENT '请求basehost',
  8. `hmac` varchar(50) NOT NULL DEFAULT '' COMMENT '私钥',
  9. `status` varchar(20) NOT NULL DEFAULT '' COMMENT '状态',
  10. `remark` text DEFAULT '' COMMENT '备注',
  11. `create_time` timestamp NOT NULL DEFAULT '1971-01-01 00:00:00' COMMENT '创建时间',
  12. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  13. PRIMARY KEY (`id`)
  14. )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='合作公司 ';
字段 描述 备注
id 自增主键
name 参数名称
contact_phone 联系人电话
username 用户名
password 密码
hmac 私钥
base_host 基础host
remark 备注 特殊说明
create_time 创建时间
update_time 更新时间

导航数据

  1. CREATE TABLE `navi_view`(
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  3. `parent_id` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '父级导航id',
  4. `view_order` int(4) unsigned NOT NULL DEFAULT 0 COMMENT '排序',
  5. `label` varchar(50) NOT NULL DEFAULT '' COMMENT '导航名称',
  6. `route` varchar(50) NOT NULL DEFAULT '' COMMENT '导航url',
  7. `showable` tinyint(1) DEFAULT 0 COMMENT '是否展示',
  8. `icon` varchar(20) NOT NULL DEFAULT '' COMMENT 'icon',
  9. `platform` varchar(20) NOT NULL DEFAULT '' COMMENT '平台类型:ADMIN/PLATFORM',
  10. `create_time` timestamp NOT NULL DEFAULT '1971-01-01 00:00:00' COMMENT '创建时间',
  11. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  12. PRIMARY KEY (`id`),
  13. KEY 'idx_platform' (`platform`),
  14. )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='导航元素';
字段名称 类型 备注
id int 自增id
parentId int 父级id
order int 排序
label String 名称
route String 导航url
showable bollean 是否展示
icon String 图标
platform String 导航元素会涉及两个后台系统:后台和开放平台

前端交互

后台部分

数据类型

基本操作

增加基本类型

url: /open/admin/dataType/add
method:post
输入参数

参数名称 类型 示例值 备注
name 字符串 整型 类型的名称
code 字符串 String 类型标识
type 字符串 BASIC/CUSTOM 基本类型/自定义类型
remark 字符串 不能为空,格式必须为xxxxxx

输入示例

  1. {
  2. "name":"字符串",
  3. "code":"String",
  4. "type":"BASIC",
  5. "remark":"格式必须为****"
  6. }

返回示例

  1. {
  2. "resCode":0,
  3. "msg":null,
  4. "data":null
  5. }
删除基本类型

url:/open/admin/dataType/del
method:get
输入参数

参数名称 类型 示例值 备注
id 整型 1 类型的id

返回示例

  1. {
  2. "resCode":0,
  3. "msg":null,
  4. "data":null
  5. }
编辑基本类型

url:/open/admin/dataType/edit
method:post
输入参数

  1. {
  2. "id":"123",
  3. "name":"字符串",
  4. "code":"String",
  5. "type":"BASIC",
  6. "remark":"格式必须为****",
  7. }

返回示例

  1. {
  2. "resCode":0,
  3. "msg":null,
  4. "data":null
  5. }
查询基本类型

url:/open/admin/dataType/list
method:get
返回示例

  1. {
  2. "resCode":0,
  3. "msg":"null",
  4. "basic":[
  5. {
  6. "id":"123",
  7. "name":"字符串",
  8. "code":"String",
  9. "type":"BASIC",
  10. "remark":"格式必须为****",
  11. },
  12. {
  13. "id":"123",
  14. "name":"字符串",
  15. "code":"String",
  16. "type":"BASIC",
  17. "remark":"格式必须为****",
  18. }
  19. ],
  20. "custom":[
  21. {
  22. "id":"123",
  23. "name":"自定义1",
  24. "code":"Car",
  25. "type":"CUSTOM",
  26. "remark":"小汽车",
  27. },
  28. {
  29. "id":"123",
  30. "name":"自定义1",
  31. "code":"Cat",
  32. "type":"CUSTOM",
  33. "remark":"小猫",
  34. }
  35. ]
  36. }

原型设计

自定义类型中的字段

基本操作

增加一个字段

url:/open/admin/field/add
method:post
输入参数

参数名称 类型 示例值 备注
name 字符串 汽车对象 类型名称(描述)
code 字符串 Car 编码
dataTypeId 整型 1 所属自定义对象的id
fieldDataTypeId 整型 1 数据类型id,对应data_type中的是数据
collectable 布尔 true 是否是集合类型
collectionType 集合类型id collectable为true,此值才有意义
remark 字符串 收到发送的激发了 特殊说明

输入示例:

  1. {
  2. "name":"字符串",
  3. "code":"String",
  4. "dataTypeId":"1",
  5. "fieldDataTypeId":"1",
  6. "collectable":"true",
  7. "collectionType":"LIST",
  8. "remark":"fasdfasdf"
  9. }

返回示例

  1. {
  2. "resCode":0,
  3. "msg":null,
  4. "data":null
  5. }
删除一个字段

url:/open/admin/field/del
method:get
输入参数:

参数名称 类型 示例值 备注
id 整型 1 类型的id

返回示例

  1. {
  2. "resCode":0,
  3. "msg":null,
  4. "data":null
  5. }
编辑一个字段

url:/open/admin/field/edit
method:post
输入参数

  1. {
  2. "id":11
  3. "name":"字符串",
  4. "code":"String",
  5. "dataTypeId":"1",
  6. "fieldDataTypeId":"1",
  7. "collectable":"true",
  8. "collectionType":"LIST",
  9. "remark":"fasdfasdf"
  10. }

返回示例

  1. {
  2. "resCode":0,
  3. "msg":null,
  4. "data":null
  5. }

固定参数

基本操作

增加一个固定参数

url: /open/admin/fixedParam/add
method:post
输入参数:

  1. {
  2. "name":"验签值",
  3. "code":"sign",
  4. "paramGroup":"FIXED_INPUT_PARAM",
  5. "paramDataTypeId":"1",
  6. "mustRequired":"true",
  7. "exampleValue":"FASDFJWE2323",
  8. "defaultValue":"无",
  9. "remark":"接口验签",
  10. "version":"1.0.0",
  11. }
删除一个固定参数

url:/open/admin/fixedParam/del
method:get

参数名称 类型 示例值 备注
id 整型 1 类型的id

返回示例

  1. {
  2. "resCode":0,
  3. "msg":null,
  4. "data":null
  5. }
编辑一个固定参数

url: /open/admin/fixedParam/update
method:post
输入参数

  1. {
  2. "id":12,
  3. "name":"验签值",
  4. "code":"sign",
  5. "paramGroup":"FIXED_INPUT_PARAM",
  6. "paramDataTypeId":"1",
  7. "mustRequired":"true",
  8. "exampleValue":"FASDFJWE2323",
  9. "defaultValue":"无",
  10. "remark":"接口验签",
  11. "version":"1.0.0",
  12. }
查询固定参数

url:/open/admin/fixedParam/list
method:get
输入参数:

参数名称 类型 示例值 备注
type 字符串 FIXED_INPUT_PARAM 固定参数类型:输入的还是输出的
version 字符串 1.0.0 版本

接口

自定义参数

接口示例

商保公司基础信息

开放平台部分

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注