公司接了一个项目,客户想在他的CRM产品里加入客户公海功能,方便他的客户找到优质的客户资源。
客户指定了从白小秘读取数据,因为是付费接口,每次成功调到数据,虽然只需要3分钱,但有接近2亿条数据,如果每次都从接口读,可能还是要花不少钱。
所以客户要求缓存数据。联系白小秘官方,工程师说企业主体基本数据的更新频率大约是六个月,那么:新读取到的数据缓存6个月,6个月内从产品内部读,超过6个月则重新请求接口。
1. 前端小哥已经做好了页面,只等我的数据了。
2. 只需要两个接口,非常的简单,但基于最开始联系白小秘的时候,客服工程师竟然是个声音甜美的妹子,所以果断需要官方配合对接,哈哈
3. 开工
企业工商列表搜索接口:
http://data.baixiaomi.com/company/search/?token=11cecfe2de573a719a6b8b7ee04223b5&q=知识产权
curl:得到如下数据
{"code": 200,"data": [{"id": 39096373,"title": "知识产权出版社有限责任公司","legal": "诸敏刚","capical": 0,"register_date": "2010-12-14","contact": "te","province": "北京市","city": null,"status": {"title": "存续","theme": "info"},"type": "有限责任公司","industry": "文化、体育和娱乐业"},{"id": 63533953,"title": "知识产权出版社有限责任公司工会","legal": "唐学贵","capical": 0,"register_date": "2018-05-25","contact": "","province": "北京市","city": null,"status": {"title": "正常","theme": "info"},"type": "未知","industry": null},{"id": 16733052,"title": "知识通(广州)知识产权有限公司","legal": "崔晓梅","capical": 0,"register_date": "2018-03-09","contact": "m","province": "广东省","city": "广州市","status": {"title": "在业","theme": "info"},"type": "有限责任公司","industry": "租赁和商务服务业"},{"id": 37392023,"title": "知识猫(武汉)知识产权服务有限公司","legal": "伍志军","capical": 0,"register_date": "2018-08-02","contact": "me","province": "湖北省","city": "武汉市","status": {"title": "存续","theme": "info"},"type": "有限责任公司","industry": "批发和零售业"},{"id": 25269416,"title": "贵宾知识产权股份有限公司","legal": "叶旭建","capical": 0,"register_date": "2017-06-15","contact": "te","province": "江西省","city": "上饶市","status": {"title": "存续","theme": "info"},"type": "股份有限公司","industry": "租赁和商务服务业"}],"msg": "ok","page_index": 1,"page_size": 5,"total": 5000,"page_count": 1000,"is_more": 1,"all": 34586,"query": 1
}
官方的数据说明:
名称必填类型说明
refresh是string更新时间
contact是string有无联系方式 m:手机号 t:座机号 e:邮箱
city是string城市
province是string省份
type是string分类
title是string企业名称
id是stringID
企业工商信息详情
http://data.baixiaomi.com/company/detail/?token=2761e567df423a17dd8f8c7cfa056987&id=25269416
curl:得到:
{"code": 200,"data": {"title": "知识猫(武汉)知识产权服务有限公司","status": "存续","legal": "伍志军","capital": "101.00","register_date": "2018-08-02","province": "湖北省","city": "武汉市","district": null,"uni_code": "91420100MA4L0CWW11","register_no": "420100001037284","insurance": null,"industry": "批发和零售业","check_date": "","contact": "15172508891,15172508897@163.com","tax_no": null,"agency_code": null,"former_title": null,"website": "","address": "武汉市东湖新技术开发区高新二路388号武汉光谷国际生物医药企业加速器一期工程一号厂房2单元280号","business": null},"msg": ""
}
官方的字段说明:
名称必填类型说明
id是stringID
address是string注册地址
agency_code是string组织机构代码证
capital是string注册资本
business是string经营范围
agency_code是string组织机构代码证
address是string注册地址
check_date是string核准日期
province是string省份
contact是string联系方式
district是string状态
insurance是string参保人数
industry是string所属行业
former_title是string曾用名
district是string状态
website是string网址
tax_no是string税号
status是string经营状态
uni_code是string统一社会信用代码
register_no是string工商注册号
register_date是string成立日期
legal是string法定代表人
insurance是string参保人数
因为可预见的数据量还是非常大,mysql端要分表存储,可以依赖ID做分区表,也可以做物理分表,1000万条数据,放一张表。
因为数据更新很快,搜索没办法做缓存,只能请求接口,搜索请求回来的数据:后端先在本地判断,是否有缓存的记录,如果有,则判断上次更新时间是否超过6个月,如果没有记录或超过6个月,则从接口请求,并更新本地缓存记录。
大功告成!
话说跟客服妹子聊的很投机,装作不懂,问了很多脑残问题,她会不会觉得我这样的也可以做程序员???哈哈。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有