发行者代码自动匹配方法、装置和电子设备与流程

文档序号:24985136发布日期:2021-05-07 23:02阅读:97来源:国知局
发行者代码自动匹配方法、装置和电子设备与流程

本发明实施例涉及计算机技术领域,尤其涉及一种发行者代码自动匹配方法、装置和电子设备。



背景技术:

在对银行卡进行支付的时候通常需要上送联行号、开卡行行名等信息,业内常用的处理办法为使用卡bin(发卡行识别码,bankidentificationnumber)一般是13-19位,由“卡bin+发卡行自定位+校验位”组成,卡bin通常为前6位,去匹配预先存储好的卡bin库。

现有实现方式中,卡bin库通常为固定数据集,对信用卡、理财卡的支持极其有限,出现新的卡bin时只能返回不支持的错误信息等事后人工介入处理,本次失败也会导致支付失败,用户体验极差;且事后人工处理通常需要在网络上做搜索,存在两个明显的缺陷:1.人力成本高2.网络信息良莠不齐一旦人工判断失败会影响后面所有交易,现有技术不能实现对此类数据自动快速扩展、高精度的需求。



技术实现要素:

本发明实施例提供一种发行者代码自动匹配方法、装置和电子设备,以解决现有技术中卡bin校验扩展性差、匹配自动化程度低、匹配速度慢、匹配成本高、匹配精度低等问题。

为了解决上述技术问题,本发明是这样实现的:

第一方面,本发明实施例提供了一种发行者代码自动匹配方法,包括:

接收用于识别银行卡号的发行者代码的第一请求;

从多个本地数据集中选取目标本地数据集,每一本地数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同本地数据集存储的发行者代码的长度不同;

针对每一目标本地数据集,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标本地数据集的发行者代码的长度相同;从所述目标本地数据集中查询所述第一号码代表的发行者信息;

若查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息;否则返回所述从多个本地数据集中选取目标本地数据集的步骤,直至查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息。

可选的,若遍历所有本地数据集后仍未查询到所述银行卡号的发行者代码及其代表的发行者信息,所述方法还包括:

依据多个外部数据集的配置项请求目标外部数据集;每一外部数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同外部数据集存储的发行者代码的长度不同;

针对每一目标外部数据集,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标外部数据集的发行者代码的长度相同;从所述目标外部数据集中查询所述第一号码代表的发行者信息;

若查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息;否则返回所述依据多个外部数据集的配置项请求目标外部数据集的步骤,直至查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息。

可选的,所述查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息之后,还包括:

将所述银行卡号的发行者代码及其代表的发行者信息保存至具有相同发行者代码长度的本地数据集。

可选的,所述外部数据集的配置项包括所述外部数据集的请求地址、密钥、配置参数和执行优先级中的至少一项。

可选的,所述本地数据集以哈希集合形式保存。

可选的,所述接收用于识别银行卡号的发行者代码的第一请求之后,还包括:

加载多个本地数据集至内存中;

所述将所述银行卡号的发行者代码及其代表的发行者信息保存至具有相同发行者代码长度的本地数据集之后,还包括:

更新所述具有相同发行者代码长度的本地数据集至内存中。

可选的,所述查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息之后,还包括:

响应所述银行卡号的发行者代码及其代表的发行者信息,依据所述发行者信息执行实体服务。

第二方面,本发明实施例还提供了一种发行者代码自动匹配装置,包括:

接收模块,用于接收用于识别银行卡号的发行者代码的第一请求;

第一选择模块,用于从多个本地数据集中选取目标本地数据集,每一本地数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同本地数据集存储的发行者代码的长度不同;

第一执行模块,用于针对每一目标本地数据集,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标本地数据集的发行者代码的长度相同;从所述目标本地数据集中查询所述第一号码代表的发行者信息;

若查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息;否则返回所述从多个本地数据集中选取目标本地数据集的步骤,直至查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息。

可选的,还包括:

第二选择模块,用于依据多个外部数据集的配置项请求目标外部数据集;每一外部数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同外部数据集存储的发行者代码的长度不同;

第二执行模块,用于针对每一目标外部数据集,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标外部数据集的发行者代码的长度相同;从所述目标外部数据集中查询所述第一号码代表的发行者信息;

若查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息;否则返回所述依据多个外部数据集的配置项请求目标外部数据集的步骤,直至查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息。

第三方面,本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面任一项所述的发行者代码自动匹配方法的步骤。

第四方面,本发明实施例还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如第一方面任一项所述的发行者代码自动匹配方法的步骤。

在本发明实施例中,每一本地数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同本地数据集存储的发行者代码的长度不同,针对每一目标本地数据集提取银行卡号的第一号码直至查询成功或遍历所有目标本地数据集,第一号码的长度与目标本地数据集的发行者代码的长度相同,实现了银行卡号的发行者代码的自动匹配,提高了卡bin校验的自动化程度、匹配速度和匹配精度;本发明的本地数据集支持横向热扩展,扩展了卡bin数据集合,适用性强。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例提供的发行者代码自动匹配方法的流程示意图之一;

图2为本发明实施例提供的发行者代码自动匹配方法的流程示意图之二;

图3为本发明实施例提供的发行者代码自动匹配装置的结构示意图之一;

图4为本发明实施例提供的发行者代码自动匹配装置的结构示意图之二;

图5为本发明实施例提供的电子设备的结构示意图之一;

图6为本发明实施例提供的发行者代码自动匹配方法的流程示意图之三。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例提供的发行者代码自动匹配方法的流程示意图之一;本发明提供一种发行者代码自动匹配方法,包括:

步骤11:接收用于识别银行卡号的发行者代码的第一请求;

步骤12:从多个本地数据集中选取目标本地数据集,每一本地数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同本地数据集存储的发行者代码的长度不同;

步骤13:针对每一目标本地数据集,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标本地数据集的发行者代码的长度相同;从所述目标本地数据集中查询所述第一号码代表的发行者信息;

若查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息;否则返回所述从多个本地数据集中选取目标本地数据集的步骤,直至查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息。

在本发明实施例中,每一本地数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同本地数据集存储的发行者代码的长度不同,针对每一目标本地数据集提取银行卡号的第一号码直至查询成功或遍历所有目标本地数据集,第一号码的长度与目标本地数据集的发行者代码的长度相同,实现了银行卡号的发行者代码的自动匹配,提高了卡bin校验的自动化程度、匹配速度和匹配精度;本发明的本地数据集支持横向热扩展,扩展了卡bin数据集合,适用性强。

在本发明的一些实施例中,可选的,每一目标数据集的执行顺序通过预设顺序设置执行优先级,进一步优化发行者代码自动匹配的速率和效率。

在本发明的一些实施例中,可选的,所述本地数据集的发行者代码的长度为6位、7位、8位或9位,实现了针对不同长度的发行者代码的自动识别,提高了自动匹配的速率和匹配精度,适配性高;具有6位长度的发行者代码的本地数据集的执行优先级可设置为第一执行优先级。

请参见图2,图2为本发明实施例提供的发行者代码自动匹配方法的流程示意图之二;

在本发明的一些实施例中,可选的,若遍历所有本地数据集后仍未查询到所述银行卡号的发行者代码及其代表的发行者信息,所述方法还包括:

步骤14:依据多个外部数据集的配置项请求目标外部数据集;每一外部数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同外部数据集存储的发行者代码的长度不同;

步骤15:针对每一目标外部数据集,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标外部数据集的发行者代码的长度相同;从所述目标外部数据集中查询所述第一号码代表的发行者信息;

若查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息;否则返回所述依据多个外部数据集的配置项请求目标外部数据集的步骤,直至查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息。

本发明实施例中,查询数据集为外部数据集,若遍历所有本地数据集后仍未查询到所述银行卡号的发行者代码及其代表的发行者信息,依据外部数据集的配置项请求目标外部数据集,每一外部数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同外部数据集存储的发行者代码的长度不同,针对每一目标外部数据集提取银行卡号的第一号码直至查询成功或遍历所有目标外部数据集,第一号码的长度与目标外部数据集的发行者代码的长度相同,实现了银行卡号的发行者代码的自动匹配,进一步优化了卡bin校验自动匹配程度,匹配速度、匹配成本、匹配精度和匹配范围;本发明的外部数据集支持配置化的横向热扩展,实现了数据集的动态扩充,进一步提升了卡bin数据集的可扩展性。

在本发明的一些实施例中,可选的,所述查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息之后,还包括:

步骤16:将所述银行卡号的发行者代码及其代表的发行者信息更新至具有相同发行者代码长度的本地数据集。

本发明实施例中,通过外部数据集匹配到的发行者代码及其代表的发行者信息更新到具有相同发行者代码长度的本地数据集,实现了发行者代码的自动匹配以及存储有发行者代码及其代表的发行者信息的数据集的自动扩充。

在本发明的一些实施例中,可选的,所述查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息之后还包括:核验所述发行者信息;

若所述发行者信息不是目标发卡行,则退出此次查询。

本发明实施例中,在依据本地或外部数据集自动匹配到发行者代码之后,还能通过进一步核验要求核验发行者信息间接控制是否执行实体服务,提升了实体服务自动执行的细粒度。

在本发明的一些实施例中,可选的,所述外部数据集的配置项包括所述外部数据集的请求地址、密钥、配置参数和执行优先级中的至少一项。

在本发明实施例中,外部数据集的配置项包括其请求地址、密钥、配置参数和执行优先级中的一项,实现外部数据集请求的结构简单,易于维护;每一外部数据集支持配置有执行优先级,更贴合用户实际的发行者代码匹配需求。

在本发明的一些实施例中,可选的,外部数据集为包括免费或收费的多种数据源。

本发明实施例中,常见的用于接入的成熟第三方数据集数据质量高,并且可以动态扩展成新的数据集,与本技术方案的本地数据集查询结构和外部数据集查询结构配合实现自动化程度高、匹配范围广、匹配精度高、匹配速率快、实施成本低且易于维护的发行者代码自动匹配框架。

在本发明的一些实施例中,可选的,所述本地数据集以哈希集合形式保存。

在本发明的一些实施例中,本地数据集以哈希集合形式保存,进一步提升了银行卡号的发行者代码的查询效率和自动匹配效率。

在本发明的一些实施例中,可选的,所述接收用于识别银行卡号的发行者代码的第一请求之后,还包括:

加载多个本地数据集至内存中;

所述将所述银行卡号的发行者代码及其代表的发行者信息保存至具有相同发行者代码长度的本地数据集之后,还包括:

更新所述具有相同发行者代码长度的本地数据集至内存中。

在本发明实施例中,本地数据集保存在数据库中,在接收用于识别银行卡号的发行者代码的第一请求之后预加载多个本地数据集至内存中;将在外部数据集匹配到的发行者代码及其代表的发行者信息保存在具有相同发行者代码长度的本地数据集中,并更新具有相同发行者代码长度的本地数据集至内存中用于下一次发行者代码的自动匹配;基于数据集合预加载至内存中的实现方式,进一步提升了发行者代码的自动匹配速率、自动扩展速率和自动匹配精度。

在本发明的一些实施例中,可选的,匹配算法层面,按照发行者代码长度划分7个数据集合,一个银行卡号若为已知发行者代码则最多7次匹配就能完成匹配,每次匹配时间复杂度为o(1),该算法实现下匹配效率高,同时数据会动态维护在内存中;5分钟定期更新时,在外部数据集通过后也会实时更新内存数据,查找效率进一步得到提升。

在本发明的一些实施例中,可选的,所述查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息之后,还包括:

步骤21:响应所述银行卡号的发行者代码及其代表的发行者信息,依据所述发行者信息执行实体服务。

在本发明的一些实施例中,通过本地数据集和外部数据集实现自动匹配发行者代码之后,自动发起实体服务并依据实体信息执行实体服务,提供了一种结构简单、易于维护、理解成本低的实体服务自动执行方法,实体信息自动匹配且能自动完成扩展实现热更新到自身匹配库中,实体服务自动执行高效精确、用户体验高,运营效率高。

在本发明的一些实施例中,可选的,所述实体服务可以为支付服务或校验服务。

请参考图6,图6为本发明实施例提供的发行者代码自动匹配方法的流程示意图之三;所述发行者代码自动匹配方法包括:

步骤51:发起银行卡号的发行者代码的自动校验请求,所述发行者代码用于执行支付服务;

步骤52:请求内存中的哈希集合,每一哈希集合存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同哈希集合存储的发行者代码的长度不同;针对每一目标哈希集合,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标哈希集合的发行者代码的长度相同;从所述目标哈希集合中查询所述第一号码代表的发行者信息;

步骤53:若匹配成功则响应所述银行卡号的发行者代码及其代表的发行者信息至本地数据库;否则返回所述从多个哈希集合中请求目标哈希集合的步骤,直至匹配成功则响应所述银行卡号的发行者代码及其代表的发行者信息至本地数据库;

步骤541:若匹配成功则响应所述银行卡号的发行者代码及其代表的发行者信息至支付服务端,执行所述支付服务;否则转入步骤542;

步骤542:加载外部数据集配置项,外部数据集的配置项包括其请求地址、密钥、配置参数和执行优先级中的一项;

步骤55:根据配置项按照顺序请求外部数据集;每一外部数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同外部数据集存储的发行者代码的长度不同;针对每一目标外部数据集,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标外部数据集的发行者代码的长度相同;从所述目标外部数据集中查询所述第一号码代表的发行者信息;

步骤56:若匹配成功则响应所述银行卡号的发行者代码及其代表的发行者信息至本地数据库;否则返回所述根据配置项按照顺序请求外部数据集的步骤,直至匹配成功则响应所述银行卡号的发行者代码及其代表的发行者信息至本地数据库;

步骤57:若匹配成功则响应所述银行卡号的发行者代码及其代表的发行者信息至支付服务端,执行所述支付服务。

本发明实施例中,基于该本地数据集查询结构和外部数据集查询结构,提供了一种自动化程度高、匹配范围广、匹配精度高、匹配速率快、数据可自动扩充、实施成本低且易于维护的发行者代码自动匹配框架,自动支付服务的执行基于该框架自动匹配到的输入银行卡号的发行者代码及其代表的实体信息,提高了支付服务的执行效率、支付成功率和用户体验,降低了服务运营成本。

请参见图3,图3为本发明实施例提供的发行者代码自动匹配装置的结构示意图之一;

本发明实施例还提供了一种发行者代码自动匹配装置30,包括:

接收模块31,用于接收用于识别银行卡号的发行者代码的第一请求;

第一选择模块32,用于从多个本地数据集中选取目标本地数据集,每一本地数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同本地数据集存储的发行者代码的长度不同;

第一执行模块33,用于针对每一目标本地数据集,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标本地数据集的发行者代码的长度相同;从所述目标本地数据集中查询所述第一号码代表的发行者信息;

若查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息;否则返回所述从多个本地数据集中选取目标本地数据集的步骤,直至查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息。

本发明实施例中,每一本地数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同本地数据集存储的发行者代码的长度不同,针对每一目标本地数据集提取银行卡号的第一号码直至查询成功或遍历所有目标本地数据集,第一号码的长度与目标本地数据集的发行者代码的长度相同,实现了银行卡号的发行者代码的自动匹配,提高了卡bin校验的自动化程度、匹配速度和匹配精度;本发明的本地数据集支持横向热扩展,扩展了卡bin数据集合,适用性强。

请参见图4,图4为本发明实施例提供的发行者代码自动匹配装置30的结构示意图之二;

在本发明的一些实施例中,可选的,还包括:

第二选择模块34,用于依据多个外部数据集的配置项请求目标外部数据集;每一外部数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同外部数据集存储的发行者代码的长度不同;

第二执行模块35,用于针对每一目标外部数据集,执行以下操作:

从所述银行卡号中提取出第一号码,所述第一号码的长度与所述目标外部数据集的发行者代码的长度相同;从所述目标外部数据集中查询所述第一号码代表的发行者信息;

若查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息;否则返回所述依据多个外部数据集的配置项请求目标外部数据集的步骤,直至查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息。

本发明实施例中,查询数据集为外部数据集,若遍历所有本地数据集后仍未查询到所述银行卡号的发行者代码及其代表的发行者信息,依据外部数据集的配置项请求目标外部数据集,每一外部数据集存储有长度相同的多个发行者代码以及每一所述发行者代码代表的发行者信息,不同外部数据集存储的发行者代码的长度不同,针对每一目标外部数据集提取银行卡号的第一号码直至查询成功或遍历所有目标外部数据集,第一号码的长度与目标外部数据集的发行者代码的长度相同,实现了银行卡号的发行者代码的自动匹配,进一步优化了卡bin校验自动匹配程度,匹配速度、匹配成本、匹配精度和匹配范围;本发明的外部数据集支持配置化的横向热扩展,实现了数据集的动态扩充,进一步提升了卡bin数据集的可扩展性。

在本发明的一些实施例中,可选的,还包括:更新模块36,所述更新模块用于将所述银行卡号的发行者代码及其代表的发行者信息更新至具有相同发行者代码长度的本地数据集。

在本发明的一些实施例中,通过外部数据集匹配到的发行者代码及其代表的发行者信息更新到具有相同发行者代码长度的本地数据集,实现了发行者代码自动匹配装置的发行者代码的自动匹配以及存储有发行者代码及其代表的发行者信息的数据集的自动扩充。

在本发明的一些实施例中,可选的,所述外部数据集的配置项包括所述外部数据集的请求地址、密钥、配置参数和执行优先级中的至少一项。

在本发明的一些实施例中,外部数据集的配置项包括其请求地址、密钥、配置参数和执行优先级中的一项,实现外部数据集的请求结构简单,易于维护;每一外部数据集支持配置有执行优先级,更贴合用户实际的发行者代码匹配需求。

在本发明的一些实施例中,可选的,所述本地数据集以哈希集合形式保存。

在本发明的一些实施例中,本地数据集以哈希集合形式保存,进一步提升了银行卡号的发行者代码的查询效率和自动匹配效率。

在本发明的一些实施例中,可选的,所述第一选择模块32还用于接收用于识别银行卡号的发行者代码的第一请求之后,加载多个本地数据集至内存中;

所述第一选择模块32还用于将所述银行卡号的发行者代码及其代表的发行者信息保存至具有相同发行者代码长度的本地数据集之后,更新所述具有相同发行者代码长度的本地数据集至内存中。

在本发明的一些实施例中,本地数据集保存在数据库中,在接收用于识别银行卡号的发行者代码的第一请求之后预加载多个本地数据集至内存中;将在外部数据集匹配到的发行者代码及其代表的发行者信息保存在具有相同发行者代码长度的本地数据集中,并更新具有相同发行者代码长度的本地数据集至内存中用于下一次发行者代码的自动匹配;发行者代码自动匹配装置基于数据集合预加载至内存中的实现方式,进一步提升了发行者代码的自动匹配速率、自动扩展速率和自动匹配精度。

在本发明的一些实施例中,可选的,还包括第三执行模块37,用于查询成功则返回所述银行卡号的发行者代码及其代表的发行者信息之后,响应所述银行卡号的发行者代码及其代表的发行者信息,依据所述发行者信息执行实体服务。

在本发明实施例中,通过本地数据集和外部数据集实现自动匹配发行者代码之后,自动发起实体服务并依据实体信息执行实体服务,发行者代码自动匹配装置提供了一种结构简单、易于维护、理解成本低的实体服务自动执行方式,实体信息自动匹配且能自动完成扩展实现热更新到自身匹配库中,实体服务自动执行高效精确、用户体验高,运营效率高。

请参见图5,图5为本发明实施例提供的电子设备的结构示意图之一,本发明还提供一种电子设备40,包括:处理器41、存储器42及存储在所述存储器42上并可在所述处理器41上运行的程序,所述程序被所述处理器41执行时实现如上述的发行者代码自动匹配方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如上述的发行者代码自动匹配方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1