ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 改造和新增的表 > 对表、字段包括数据行的增加、修改、删除等所有操作,都必须通过sql语句记录在 reform_record.sql 文件里面,**即所有对表的变更,都必须有对应的sql记录**,以便大家**知晓表结构变化**和使用一致的开发环境。 ```sql # 表变更 sql记录 # 以后所有数据结构变更,数据处理过程,都必须记录在此文件中 # last update:2019-03-28 16:13:12 # 专利表结构 SHOW CREATE CREATE TABLE `t_auth_announcement` ( `authorized_announcement_num` varchar(50) NOT NULL COMMENT '', `application_num` varchar(50) NOT NULL COMMENT '专利号,如:2011104299451', `patent_num` varchar(50) NOT NULL COMMENT '专利号', `application_date` varchar(50) NOT NULL COMMENT '申请日期', `authorized_announcement_date` varchar(50) NOT NULL COMMENT '授权日期', `announced_doc_num` varchar(50) NOT NULL COMMENT '授权文档数量', `apply_publication_date` varchar(50) NOT NULL COMMENT ' 发布日期', `patentee` varchar(255) NOT NULL DEFAULT '' COMMENT '专利权持有人', `patentee_addr` varchar(255) NOT NULL COMMENT '权利人地址', `patent_agency` varchar(255) DEFAULT NULL COMMENT '代理商', `patent_agency_num` varchar(50) DEFAULT NULL COMMENT '代理人编号 空', `patent_agent` varchar(255) DEFAULT NULL COMMENT '权利人地址 空', `designer` varchar(255) NOT NULL COMMENT '发明人', `invention_name` varchar(255) NOT NULL COMMENT '专利名称', `status` varchar(1) DEFAULT '0' COMMENT '0:非终止或无效宣告;1:终止或无效宣告', `remark` varchar(1) NOT NULL DEFAULT '0' COMMENT '是否排除,0:不排除;1:排除', `except_str` varchar(50) DEFAULT NULL COMMENT '例外说明,大学,学院', `is_valid` varchar(1) DEFAULT '1' COMMENT '数据是否有效,0:无效;1:有效', `auth_announcement_file_date` varchar(50) DEFAULT NULL, `batch_status` varchar(1) DEFAULT '0' COMMENT '是否需要跑批,0:待跑批;1:已跑批或不需要跑批;', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, KEY `name_idx` (`patentee`) USING BTREE, KEY `status_idx` (`status`,`remark`,`batch_status`) USING BTREE, KEY `patent_num_idx` (`patent_num`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; # 专利申请表结构 SHOW CREATE (之前导的是专利表数据,现在来看申请表信息更全,应该导申请表的数据) CREATE TABLE `t_patent_apply` ( `patent_id` bigint(20) DEFAULT NULL COMMENT '专利ID', `patent_number` varchar(50) DEFAULT NULL COMMENT '专利号', `patent_name` varchar(255) DEFAULT NULL COMMENT '专利名称', `create_time` date DEFAULT NULL COMMENT 'CURRENT_TIMESTAMP', `apply_date` varchar(50) DEFAULT NULL COMMENT '申请日期', `main_number` varchar(50) DEFAULT NULL COMMENT '主分次号', `status` varchar(255) DEFAULT NULL COMMENT '案件状态', `sub_date` varchar(50) DEFAULT NULL COMMENT '提交日', `apply_name` varchar(255) DEFAULT NULL COMMENT '申请人', `apply_nationality` varchar(50) DEFAULT NULL COMMENT '申请人国籍', `apply_postal_code` varchar(50) DEFAULT NULL COMMENT '邮政编码', `apply_adress` varchar(255) DEFAULT NULL COMMENT '申请人地址', `inventor` varchar(255) DEFAULT NULL COMMENT '发明人', `agent` varchar(255) DEFAULT NULL COMMENT '代理人', `agency` varchar(255) DEFAULT NULL COMMENT '代理机构', `remark` varchar(10) DEFAULT NULL COMMENT '0是在2012年之前申请,1是在2012年之后', `cost_status` varchar(255) DEFAULT '1', `end_time` varchar(50) DEFAULT NULL, `patent_fee` varchar(255) DEFAULT NULL, `ex_status` varchar(255) DEFAULT '1', `one_field` varchar(255) DEFAULT NULL COMMENT '第一个字段', `two_field` varchar(255) DEFAULT NULL, `tree_field` varchar(255) DEFAULT NULL, `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, KEY `idx` (`patent_number`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='申请信息'; -- SELECT COUNT(1) FROM t_patent_apply; 506440 -- SELECT DISTINCT patent_number, COUNT(1) AS n FROM t_patent_apply; 506440 # 通过验证发现申请表里面没有重复的数据,即一行一个专利 # 提示:上面只是 SHOW CREATE 打印的表结构,不是需要我们执行的 # 商品表需要新增的字段 ALTER TABLE `ecshop2016`.ecs_goods add ( `s_patent_claim_status` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '认领状态:0-待校验,1-校验失败,2-待审核,3-审核通过,4-审核失败,5-出售中(我的专利表已经不要了,就直接用这个状态了)', `s_patent_sale_status` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '上架状态:0-待上架,1-上架审核中,2-已上架,3-已下架', `s_patent_lock_status` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '是否锁定(下单后会锁定,交易结束就解锁):0-未锁定,1-已锁定', `s_patent_sale_out_status` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '是否卖出:0-未卖出,1-已卖出', `s_patent_trade_status` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '是否可售:0-不可售,1-正在出售中', `s_patent_is_bargaining` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '能否议价:0-否,1-可议价', `s_patent_number` varchar(50) NOT NULL DEFAULT '' COMMENT '专利号,如:2011104299451', `s_patent_apply_date` varchar(50) NOT NULL DEFAULT '' COMMENT '专利申请日期', `s_patent_authorize_date` varchar(50) NOT NULL DEFAULT '' COMMENT '专利授权日期', `s_patent_apply_publish_date` varchar(50) NOT NULL DEFAULT '' COMMENT '申请发布日期', `s_patent_patentee` varchar(255) NOT NULL DEFAULT '' COMMENT '专利持有人', `s_patent_patentee_addr` varchar(255) NOT NULL DEFAULT '' COMMENT '专利持有人地址', `s_patent_agency` varchar(255) NOT NULL DEFAULT '' COMMENT '专利代理机构', `s_patent_patent_agency_num` varchar(50) NOT NULL DEFAULT '' COMMENT '代理机构编号 空', `s_patent_agent` varchar(255) NOT NULL DEFAULT '' COMMENT '专利代理人 空', `s_patent_designer` varchar(255) NOT NULL DEFAULT '' COMMENT '专利发明人', `s_patent_sale_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '专利上架时间', `s_patent_sale_out_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '专利卖出时间', `s_patent_update_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '专利更新时间(所有变更的最后更新时间)', `s_patent_legal_status_text` char(50) NOT NULL DEFAULT '' COMMENT '专利案件的法律状态文字' ); #`s_patent_name` varchar(255) NOT NULL DEFAULT '' COMMENT '专利名称', 用商品名称 goods_name 代替 # 订单表需要新增的字段 ALTER TABLE `ecshop2016`.ecs_order_info add ( `goods_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '商品ID,把下单流程改了,现在每一个订单里面都只有一个商品' ); ALTER TABLE `ecshop2016`.ecs_order_info add ( `is_commission` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '是否需要代办:0-否,1-可议价', `commission_fee` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '代办费用' ); # 订单表增加 代办事项完成状态 ALTER TABLE `ecshop2016`.ecs_order_info add ( `is_status` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '是否完成:0-否,1已完成', ); # 用户表增加两个字段,用于 会员等级(会员开始时间和结束时间) ALTER TABLE `ecshop2016`.ecs_users add ( `user_rank_f_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '会员开始时间', `user_rank_l_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '会员结束时间' ); # 后台增加代办费用配置项 insert into `ecshop2016`.`ecs_shop_config` (`parent_id`, `code`, `type`, `value`, `sort_order`) VALUES (4, 'commission_fee', 'text', 300, 1); # 后台增加加费税率配置项 insert into `ecshop2016`.`ecs_shop_config` (`parent_id`, `code`, `type`, `value`, `sort_order`) VALUES (4, 'markup_rate', 'text', 1.2, 1); # 订单表增加发票记录ID ALTER TABLE `ecshop2016`.ecs_order_info add ( `invoice_record_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '发票记录ID,0-不开发票' ); # 订单表增加卖家用户ID ALTER TABLE `ecshop2016`.ecs_order_info add ( `seller_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '卖家用户ID,其实就是 ecs_users 表 user_id' ); # 订单表增加 平台加价金额 ALTER TABLE `ecshop2016`.ecs_order_info add ( `markup_amount` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '平台加价费' ); # 商品表增加所属用户ID ALTER TABLE `ecshop2016`.ecs_goods add ( `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '所属用户ID ,ecs_users 表 user_id' ); # 商品表增加 是否自营 和 专利类型 ALTER TABLE `ecshop2016`.ecs_goods add ( `s_is_proprietary` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '是否为自营专利:0-否,1-是', `s_patent_type` tinyint(4) unsigned NOT NULL DEFAULT 1 COMMENT '专利类型:1-发明专利,2-实用新型,3-外观设计' ); # 商品表增加 主分次号 和 技术领域 ALTER TABLE `ecshop2016`.ecs_goods add ( `s_patent_main_number` varchar(50) NOT NULL DEFAULT '' COMMENT '主分次号:行业分类就是根据这个分的,如 A61K 36/88', `s_patent_technical_field` varchar(200) NOT NULL DEFAULT '' COMMENT '技术领域:目前由用户输入(后期自动打标签),使用空格分隔,如 自锁式 电线杆 攀爬' ); # 商品表 增加 申请人 申请人地址 缴费截至日 ALTER TABLE `ecshop2016`.ecs_goods add ( `s_patent_apply_name` varchar(100) NOT NULL DEFAULT '' COMMENT '申请人:如 陈为人/高德软件有限公司', `s_patent_apply_address` varchar(200) NOT NULL DEFAULT '' COMMENT '申请人地址', `pay_last_date` varchar(50) NOT NULL DEFAULT '' COMMENT '缴费截至日期' ); # 数据从 `patent_platform_dev`.`t_auth_announcement` 导入一部分到 `ecshop2016`.`ecs_goods` insert into `ecshop2016`.`ecs_goods` ( `s_patent_number`, `s_patent_apply_date`, `s_patent_authorize_date`, `s_patent_apply_publish_date`, `s_patent_patentee`, `s_patent_patentee_addr`, `s_patent_agency`, `s_patent_patent_agency_num`, `s_patent_agent`, `s_patent_designer`, `goods_name` ) select `patent_num`, `application_date`, `authorized_announcement_date`, `apply_publication_date`, `patentee`, `patentee_addr`, `patent_agency`, `patent_agency_num`, `patent_agent`, `designer`, `invention_name` from `patent_platform_dev`.`t_auth_announcement` limit 1000; # 清空商品表数据 DELETE FROM `ecshop2016`.`ecs_goods`; # 数据从 `patent_platform_dev`.`t_patent_apply` 导入一部分到 `ecshop2016`.`ecs_goods` # 之前导的是专利表数据,现在来看申请表信息更全,应该导申请表的数据 insert into `ecshop2016`.`ecs_goods` ( `s_patent_number`, `s_patent_apply_date`, `s_patent_main_number`, `s_patent_agency`, `s_patent_apply_name`, `s_patent_apply_address`, `s_patent_legal_status_text`, `s_patent_agent`, `s_patent_designer`, `goods_name` ) select `patent_number`, `apply_date`, `main_number`, `agency`, `apply_name`, `apply_adress`, `status`, `agent`, `inventor`, `patent_name` from `patent_platform_dev`.`t_patent_apply` limit 1000; # 创建认领记录表 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`) ) engine=innodb AUTO_INCREMENT=1 default charset=utf8 COMMENT='我的专利 表'; -- 标签:我的专利表,上传专利表,爬虫专利表 -- 专利可以同时被多个人上传认领,但是只能被一个人认领审核成功! # 发票表 DROP TABLE IF EXISTS `s_user_invoice`; CREATE TABLE `s_user_invoice` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID', `title` varchar(200) NOT NULL DEFAULT '' COMMENT '抬头', `opening_type` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '发票开具类型,1-个人,2-企业', `invoice_type` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '发票开具类型,1-企业增值税普通发票,2-企业增值税专用发票', `setting_info` text NULL COMMENT '发票设置内容,json', `create_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '创建时间', `update_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '更新时间', `active_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '最后使用时间', `is_default` tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT '是否为默认发票,0-否,1-是', primary key (`id`) ) engine=innodb AUTO_INCREMENT=1 default charset=utf8 COMMENT='用户发票 表'; # 发票记录表 DROP TABLE IF EXISTS `s_invoice_record`; CREATE TABLE `s_invoice_record` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID', `order_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '订单ID,ecs_order_info表 order_id', `title` varchar(200) NOT NULL DEFAULT '' COMMENT '抬头', `address` varchar(200) NOT NULL DEFAULT '' COMMENT '地址', `setting_info` text NULL COMMENT '发票设置内容,json', `invoice_amount` decimal(10,2) NOT NULL DEFAULT 0.00 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-已完成', primary key (`id`) ) engine=innodb AUTO_INCREMENT=1 default charset=utf8 COMMENT='发票记录 表'; -- 其他的字段到时候再加,比如 发票寄出后 可能需要填写物流单号等内容 ```