ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 新增专利 - 流程 >[danger] 既然上传后马上就可以进行编辑,那么 `s_patent_claimpatent_record` 我的专利表 就没有用了,直接上传后就插入到商品表里去,就不考虑这样会导致商品表里面会有很多垃圾信息的问题了。目前功能流程不清晰,只能先这样了,后面再优化。 ***** ### 卖家中心 - 新增专利流程 1. 用户前台上传专利 Excel表格文件,模板为: | 专利号 | 专利名称 | 价格 | | --- | --- | --- | | 2012103205324 | 一种CYP17A1基因多态性检测特异性引物和液 | 2000.00 | | ... | ... | ... | 2. 解析表格文件,将数据插入到 `s_patent_claimpatent_record` [我的专利表] 中,状态为【待校验】,表示当前在等待爬虫根据专利号爬取专利信息。 3. 爬虫定时遍历 `s_patent_claimpatent_record`,`WHERE status = [待校验]` 4. 若爬到信息,则更新状态为【校验成功】,并将专利信息写到 `ecs_goods` 商品表中;若没有爬到信息,则只更新此记录的状态为【校验失败】就可以了,而不会有数据写入都商品表中去。 5. 用户上传 Excel表格 后,卖家中心 - 我的专利列表页面 专利的状态显示为 **审核中**,如果 **校验失败** 则显示 **无效专利**,如果 **校验成功** 也**还是**显示为 **审核中** (因为还有系统审核)。 6. 后台专利列表/审核管理:`select from s_patent_claimpatent_record`;操作待审核的专利(`up set status=[通过/不通过] where status=待审核`),控制其是否通过审核。 7. 卖家中心 - 我的专利:审核通过后就可以设置报价等出售设置了。 8. 卖家中心 - 我的专利: **无效专利** 用户可以选择删除,**审核失败** 可以进行的操作有 “删除” 和 “再次提交审核”。(软删除) ***** ### 重要概念 1. <del>多个人可以上传同一件专利,但是最终只会有一个人审核成功。(在后台审核时我们会通过加锁控制来保证这一点的)</del> 2. 用户可以随意上传虚假编造不存在的专利,专利的有效性取决于爬虫是否能根据专利号爬到专利信息。 3. 爬虫校验专利是否有效和将专利信息入商品库,后台审核(保证一件专利只能被一个人审核通过) 4. 同一件专利可能在平台上被卖多次,即专利号不能在商品表中做唯一索引。 5. 同一个人可以卖同一件专利多次。 6. 上传专利时,首先对上传的 Excel表格行 去重后再进行其他操作。 7. 平台上不能存在两个相同且同时在售的专利。 8. 已卖出的专利不能再被搜索到,但对所有者保留详情页面。(所有者:全部的上传认领人) 9. 同一件专利可能被多个人上传并审核成功,但同时只能有一个人可以上架出售,也就是说可能会出现你刚把专利下架,别人就趁着这个空隙上架了,你再上架就会上架不了了。(在卖家中心 - 专利操作 时我们会通过加锁控制来保证这一点的,那么审核时就不用考虑加锁了) 10. 系统录入的专利都可以被搜索到,但是由用户上传的专利只有状态为上架时才可以被搜索到。(待确定) 11. 上传专利时,如果 我的专利(我的专利表) 中已经存在与之相同的专利,且状态不是【已卖出】,那么本次不能上传这条,提示“已存在”。 >[danger] **首先确保功能的实现,且逻辑的正确性有保证,其次再考虑性能优化和架构的设计。** ***** ### [我的专利表] 的状态说明 `s_patent_claimpatent_record`: 专利认领记录/我的专利 表 这个表有多种含义解读:我的专利表,上传专利记录表,爬虫专利表 | 状态值 | 状态说明 | 备注 | | --- | --- | --- | | 0 | 待校验 | 用户上传后,待爬虫爬取 | | 1 | 校验失败 | 爬虫爬取不到数据,就将其标记为校验失败 | | 2 | 待审核 | 爬虫爬到了数据,表示校验成功,就将其标记为待审核,即后台审核中 | | 3| 审核通过 | 后台标记为审核成功,通过加锁控制,保证一个专利只会被一个用户审核成功 | | 4 | 审核失败 | 系统后台标记为审核不通过 | | 5 | 出售中 | 审核通过后卖家就可以设置出售信息,出售信息直接改商品表 | ***** ### [我的专利表] - 数据字典 ```sql DROP TABLE IF EXISTS `s_patent_claimpatent_record`; CREATE TABLE `s_patent_claimpatent_record` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID,卖家ID', `patent_number` varchar(50) NOT NULL DEFAULT '' COMMENT '专利号,如:2011104299451,如果用户输入不规范,我们会格式化为规范数据', `patent_name` varchar(500) NOT NULL DEFAULT '' COMMENT '专利名称,卖家上传时的专利名称', `patent_price` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '价格,卖家上传时的价格,等审核通过后还可以改', `patent_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '专利ID,对应ecs_goods表 goods_id', `enclosure` varchar(250) NOT NULL DEFAULT '' COMMENT '上传的专利资料地址,自营卖家可能需要上传转让材料等', `create_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '创建时间', `update_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '更新时间', `status` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '状态:0-待校验,1-校验失败,2-待审核,3-审核通过,4-审核失败,5-出售中', `is_delete` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '是否删除了,0-否,1-是', primary key (`id`), UNIQUE KEY `patent_id_user_id` (`patent_id`, `user_id`) USING BTREE ) engine=innodb AUTO_INCREMENT=1 default charset=utf8 COMMENT='我的专利 表'; -- 标签:我的专利表,上传专利记录表,爬虫专利表 -- 专利可以同时被多个人上传认领,但是只能被一个人认领审核成功! ```