原需求文档:https://lejian.feishu.cn/wiki/wikcn3SKquBQSDYleaM3hi4EMpc

需求前提回顾:

因为原来的体软与线上平台之间的订单只支持改期(改项),不可加项,只能做到套餐1的模式。
现在惠州三院要求套餐1+X加项的模式,那么就引申出了,通过发卡流程,来进行C端单位下单,选择套餐,再进行具体加项后落单

需要提供接口如下:

0.注册体检人(/open-api/V2/ws/user/hisRegisterAccount)
1.平台提供给体软备单发卡接口
2.撤卡接口
3.订单同步接口增加体检号
4.撤销订单(/open-api/V2/ws/order/hisRevokeOrder)

新增表DDL:

QA0:examinee_num-体检号 数据类型根据体软那边再进行确定。 —-> 字符串。
建在mytijian_prod库中
CREATE TABLE tb_mediator_card_examinee_relation (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘自增id’,
hospital_id int(11) DEFAULT NULL COMMENT ‘体检中心id’,
card_id int(11) DEFAULT NULL COMMENT ‘卡id’,
examinee_num varchar(255) DEFAULT NULL COMMENT ‘体检号’,
gmt_created datetime DEFAULT NULL COMMENT ‘创建时间’,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’mediator卡与体检人关联扩展表’;

具体接口设计:

1.平台提供给体软备单发卡接口(新增)

crm-发卡参考接口:/crm/action/card/sendVirtualCard

体软备单发卡要素:
卡的有效期起止时间。
人员基本信息(包括人员体检号,人员可用额度)
卡额度
单位基本信息
套餐(套餐id+加上套餐基本信息)

平台接口内部逻辑:

1.通过人员体检号查询人员信息,如果查到的话,就做修改操作,并返回体检人id。 如果没有查到的话,就做新增操作,返回体检人id。
通过体检人注册接口已经生成体检人,将体检人id传入到备单发卡接口。
2.将人员可用额度,作为卡的额度。 将单位的有效期起止时间,放到卡的有效期上面。
3.将套餐列表放入到卡关联的套餐列表中。
4.获取客户经理的id。 根据tb_site 二级站点的account_id,获取到相应的 客户经理。 使用默认母卡金额发卡。
5.最后返回卡id的时候,将卡id与体检号插入到新表(tb_mediator_card_examinee_relation)中

QA:
1.要确定默认内网备单发卡的初始化体检卡的设置。
2.需要确定一下,这个发卡的卡名称具体要叫什么名字。 (名字+“-”+单位+“体检卡”)
根据产品给的下面的值,进行默认赋值。

需要协助:
1.需要mytijian-uic提供体检人新增修改接口,返回体检人id。
2.需要mytijian-trade提供同步发卡接口,返回卡id (对象也可以)。(现有异步+查询发卡进度接口。) —->需伟辉配合提供同步发卡接口。

返回参数:
卡id (因为在撤卡接口的时候,用的卡id)

注意点:
1.同一个体检号,只有一张“有效”卡。(如果存在有效卡,直接返回 有效卡ID)

2.撤卡接口(新增)

crm-撤卡参考接口:/crm/action/card/revokeCard

入参:卡id集合
返回参数:是否撤卡成功标识—-》对象。
内部逻辑:
1.撤卡的时候,删除新表(tb_mediator_card_examinee_relation)中的卡与体检号的关联关系。
2.撤单的时候,存在一种情况有时间差,所以要做一个限制(如果卡已经有关联的订单的话,就不能再进行撤单操作。)
(情况如下:
卡已经下单了,但是还未同步到线下。
这个时候如果线下进行了撤卡操作,那么做一个限制,提示“卡已经存在关联订单还未同步完成,暂无法撤卡”

不用这个接口,换下面的接口,因为下面的接口能够知道撤卡的场景。
———-》revokeCard

3.订单同步接口增加体检号

参考文档:http://doc.mytijian.cn/docs/hospitalAccess/hospitalAccess-1aisdnftkgc3f
1、获取极速预约订单 和 2、获取正常导单订单 两个接口,返回参数增加体检号。
内部逻辑:
根据订单号—->(tb_order.examiner_id)找到体检人—->(tb_examinee.体检号)找到体检号。
根据订单号,找到具体的卡(tb_order.entry_card_id),在通过具体的卡去找新表(tb_mediator_card_examinee_relation)中的体检号。

注意点:
如果是惠州三院内网调取的话,多加一个参数,有该参数才去查询具体逻辑,并且返回体检号。

文档更新时间: 2022-04-07 18:11