diff --git a/README.md b/README.md index 92e7004c..1b322ba9 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,134 @@ +[toc] + # 前言 -B2C 电商。 +基于微服务的思想,构建在 B2C 电商场景下的项目实战。 -# 技术栈 +* 「Talk is cheap. Show me the code」(屁话少说,放码过来) + > 我们看过很多技术文章,却依然不知道微服务该咋整。 -## 前端 +* 整体的功能如下图:![功能图](http://static.iocoder.cn/mall%20%E5%8A%9F%E8%83%BD%E5%9B%BE-min.png) + > 功能图,和实际后端模块拆分,并不是绝对对应。 -* 用户 H5 站:Vue + Vant -* 管理后台:React + Antd +* 交流群:[传送门](http://www.iocoder.cn/mall-user-group/?vip&gitee) + > 一起交流,Get 知识。 -## 后端 +* 我们迫切希望更多的参与进来,可以加入「交流群」,一起骚聊。 + +# 演示 + +## H5 商城 + +[体验传送门](http://h5.shop.iocoder.cn:18099) + +TODO 此处应有一个演示的装逼 GIF 图。 + +## 管理后台 + +[体验传送门](http://admin.shop.iocoder.cn:18099) + +TODO 暂时不提供管理后台的账号密码,等后面提供。 + +TODO 此处应有一个演示的装逼 GIF 图。 + +## TODO + +提供其他演示环境。例如说 skywalking、sentinel 等等。 + +# 技术 + +## 搭建环境 + +[搭建调试环境](https://gitee.com/zhijiantianya/mall/docs/setup/quick-start.md) + +## 架构图 + +TODO 此处应有一个架构图的装逼 JPG 图。 + +## 项目结构 + +| 模块 | 名称 | 端口 | +| --- | --- | --- | +| `admin-web` | 【前端】管理后台 | HTTP 8080 | +| `mobile-web` | 【前端】商城 H5 | HTTP 8000 | +| `admin-application` | 管理员 HTTP 服务 | HTTP 18083 | +| `user-application` | 用户 HTTP 服务 | HTTP 18082 | +| `product-application` | 商品 HTTP 服务 | HTTP 18081 | +| `pay-application` | 支付 HTTP 服务 | HTTP 18084 | +| `promotion-application` | 促销 HTTP 服务 | HTTP 18085 | +| `search-application` | 搜索 HTTP 服务 | HTTP 18086 | +| `order-application` | 订单 HTTP 服务 | HTTP 18088 | + +------- + +后端项目,目前的项目结构如下: + +```Java +[-] xxx + ├──[-] xxx-application // 提供对外 HTTP API 。 + ├──[-] xxx-service-api // 提供 Dubbo 服务 API 。 + ├──[-] xxx-service-impl // 提供 Dubbo 服务 Service 实现。 +``` + +考虑到大多数公司,无需拆分的特别细,并且过多 JVM 带来的服务器成本。所以目前的设定是: + +* `xxx-service-impl` 内嵌在 `xxx-application` 中运行。 +* MQ 消费者、定时器执行器,内嵌在 `xxx-service-impl` 中运行。 + +也就是说,一个 `xxx-application` 启动后,该模块就完整启动了。 + +## 技术栈 + +### 后端 + +| 框架 | 说明 | 版本 | +| --- | --- | --- | +| [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.1.4 | +| [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.6 | +| [MyBatis](http://www.mybatis.org/mybatis-3/zh/index.html) | 数据持久层框架 | 3.5.0 | +| [Redis](https://redis.io/) | key-value 数据库 | 暂未引入,等压测后,部分模块 | +| [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 暂未引入,等压测后,部分模块 | +| [Elasticsearch](https://www.elastic.co/cn/) | 分布式搜索引擎 | 6.7.1 | +| [Dubbo](http://dubbo.apache.org/) | 分布式 RPC 服务框架 | 2.6.5 | +| [RocketMQ](http://dubbo.apache.org/) | 消息中间件 | 4.3.2 | +| [SkyWalking](http://skywalking.apache.org/) | 分布式应用追踪系统 | 6.0.0 | +| [Zookeeper](http://zookeeper.apache.org/) | 分布式系统协调 | 3.4.9 作为注册中心 | +| [XXL-Job](http://www.xuxueli.com/xxl-job/) | 分布式任务调度平台 | 2.0.1 | + +未来考虑引入 -* Spring Boot -* MyBatis + MySQL -* [ ] Redis + Redisson -* Elasticsearch 搜索引擎 -* Dubbo 服务化框架 -* RocketMQ 消息队列 -* Zookeeper 注册中心 -* SkyWalking 链路追踪 & JVM 监控 -* XXL-Job 任务调度 * [ ] 配置中心 Nacos * [ ] 服务保障 Sentinel * [ ] 分布式事务 Seata +* [ ] 数据库连接池 Druid +* [ ] 网关 Soul -## 其它 +### 前端 + +商城 H5 和管理后台,分别采用了 Vue 和 React ,基于其适合的场景考虑。具体的,可以看看 [《为什么 React 比 Vue 更适合大型应用?》](https://www.zhihu.com/question/314761485/answer/615318460) 的讨论。 + +**商城 H5** + +| 框架 | 说明 | 版本 | +| --- | --- | --- | +| [Vue](https://cn.vuejs.org/index.html) | JavaScript 框架 | 2.5.17 | +| [Vant](https://youzan.github.io/vant/#/zh-CN/intro) | Vue UI 组件库 | 3.13.0 | + +**管理后台** + +| 框架 | 说明 | 版本 | +| --- | --- | --- | +| [React](https://reactjs.org/) | JavaScript 框架 | 16.7.0 | +| [Ant Design](https://ant.design/docs/react/introduce-cn) | React UI 组件库 | 3.13.0 | + +### 其它 * Jenkins 持续集成 * Nginx 服务器 * [ ] Docker 容器 +* [ ] Nginx -# 项目结构 - -* admin-web 管理后台 -* mobile-web 用户 H5 站 -* user 用户服务 -* product 商品服务 -* order 订单服务 -* pay 支付服务 -* admin 管理员、数据字典、短信等等系统大杂烩 - -# 演示 - -* H5 商城:http://h5.shop.iocoder.cn:18099 -* 管理后台:http://admin.shop.iocoder.cn:18099 - -TODO 暂时不提供管理后台的账号密码,等后面提供。 - -# 结尾 - -如果你对该项目感兴趣,可以加 QQ 7685413 。 +# 某种结尾 目前成员 diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..902088d4 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,11 @@ + +* setup + > 提供安装指南 + * [搭建调试环境](https://gitee.com/zhijiantianya/mall/docs/setup/quick-start.md) + +* sql + > 提供 SQL 文件 + +* guides + > 提供入门指南 + * TODO \ No newline at end of file diff --git a/docs/setup/quick-start.md b/docs/setup/quick-start.md new file mode 100644 index 00000000..9197fa47 --- /dev/null +++ b/docs/setup/quick-start.md @@ -0,0 +1,184 @@ +# 1. 概述 + +> 艿艿:本文暂时会写的比较简洁,如果有不懂的地方,请来[「交流群」](http://www.iocoder.cn/mall-user-group/?vip&gitee),艿艿来帮你解决。 + +本文,我们希望能带着胖友,快速搭建一个开发/调试环境。总的来说,我们需要安装如下东西: + +* 后端 + * JDK 8+ + * Maven + * IntelliJ IDEA + +* 前端 + * NPM + +# 2. 源码拉取 + +使用 IntelliJ IDEA 从 。拉取完成后,Maven 会下载依赖包,可能会花费一些时间,耐心等待下。 + +> 艿艿:也不要瞎等,咱继续顺着本文往下走。 + +# 3. MySQL + +① 安装 MySQL 数据库 + +* Windows :参考 [《Windows 安装 MySQL》](https://juejin.im/post/5bdab0645188251e753c66f8) +* Mac :参考 [《Mac 下安装与配置 MySQL》](https://www.jianshu.com/p/a8e4068a7a8a) + +② 导入 SQL + +将 [docs/sql](TODO) 下的 SQL ,逐个导入到数据库中。 + +③ 修改项目中的 MySQL 配置 + +在 IDEA 中,搜索每个 `xxx-service-impl` 项目下的 `application.yaml` 文件,将数据库配置修改成连接你的。如下: + +```YAML +spring: + # datasource + datasource: + url: jdbc:mysql://180.167.213.26:13306/mall_product?useSSL=false&useUnicode=true&characterEncoding=UTF-8 # 请修改成你本地的 MySQL url + driver-class-name: com.mysql.jdbc.Driver + username: root # 请修改成你本地的 MySQL username + password: ${MALL_MYSQL_PASSWORD} # 请修改成你本地的 MySQL password +``` + +# 4. Zookeeper + +① 安装 Zookeeper + +* Windows :参考 [《Windows 下 ZooKeeper 的配置和启动步骤 —— 单机模式》](https://www.jianshu.com/p/66857cbccbd3) +* Mac :参考 [《Mac 下安装与配置 MySQL》](https://www.jianshu.com/p/a8e4068a7a8a) + +② 修改项目中的 Zookeeper 配置 + +在 IDEA 中,搜索每个 `xxx-service-impl` 项目下的 `application.yaml` 文件,将 Zookeeper 配置修改成连接你的。如下: + +```YAML +# dubbo +dubbo: + application: + name: product-service + registry: + address: zookeeper://127.0.0.1:2181 # 请修改成你本地的 Zookeeper url + protocol: + port: -1 + name: dubbo + scan: + base-packages: cn.iocoder.mall.product.service +``` + +# 5. RocketMQ + +① 安装 RocketMQ + +* Windows :参考 [《RocketMQ 入门 —— 安装以及快速入门》](http://www.iocoder.cn/RocketMQ/start/install/?vip&gitee) +* Mac :参考 [《RocketMQ 入门 —— 安装以及快速入门》](http://www.iocoder.cn/RocketMQ/start/install/?vip&gitee) + +② 修改项目中的 RocketMQ 配置 + +在 IDEA 中,搜索每个 `xxx-service-impl` 项目下的 `application.yaml` 文件,将 RocketMQ 配置修改成连接你的。如下: + +```YAML +rocketmq: + name-server: 127.0.0.1:9876 # 请修改成你本地的 RocketMQ url + producer: + group: product-producer-group +``` + +# 6. XXL-Job + +> 艿艿:这个中间件的安装,是可选项。如果不安装,只是定时任务无法执行。 + +TODO 未完成。建议先跳过。 + +① 安装 XXL-Job + +参考 [《分布式任务调度平台 XXL-JOB》](http://www.xuxueli.com/xxl-job/#/) 官方文档。 + +② 修改项目中的 XXL-Job 配置 + +在 IDEA 中,搜索每个 `xxx-service-impl` 项目下的 `application-dev.yaml` 文件,将 XXL-Job 配置修改成连接你的。如下: + +```YAML +# xxl-job +xxl: + job: + admin: + addresses: http://127.0.0.1:18079/ # 请修改成你本地的 XXL-Job url + executor: + appname: pay-job-executor + ip: + port: 0 + logpath: /Users/yunai/logs/xxl-job/ # 请修改成你希望存放日志的目录 + logretentiondays: 1 + accessToken: +``` + +③ 配置项目中的每个作业 + +TODO 芋艿,需要完善 + +# 7. Elasticsearch + +① 安装 Elasticsearch + +* Windows :参考 [《ElasticSearch 入门 第一篇:Windows 下安装ElasticSearch》](http://www.cnblogs.com/ljhdo/p/4887557.html) +* Mac :参考 [《mac 安装 ElasticSearch 笔记》](https://www.jianshu.com/p/81b0b3a60c01) + +② 修改项目中的 Elasticsearch 配置 + +在 IDEA 中,搜索`search-service-impl` 项目下的 `application.yaml` 文件,将 Elasticsearch 配置修改成连接你的。如下: + +```YAML +# es +spring: + data: + elasticsearch: + cluster-name: elasticsearch + cluster-nodes: 180.167.213.26:9300 # 请修改成你本地的 Elasticsearch url + repositories: + enable: true +``` + +# 8. 启动后端项目 + +在 IDEA 中,右键运行每个 `XXXApplication.java` 。例如说,`admin` 项目是 AdminApplication 。 + +是否启动成功,请查看 IDEA 输出的日志。 + +具体的启动顺序,是: + +* AdminApplication +* UserApplication +* ProductApplication +* PayApplication + > 因为支付服务,涉及三方支付平台的配置。所以,需要艿艿后续提供简便的方案。TODO + +* PromotionApplication +* SearchApplication +* OrderApplication + +# 9. 启动前端项目 + +① 启动商城 H5 项目 + +在 `mobile-web` 项目下,执行 `npm start` 。 + +启动成功后,浏览器访问 。 + +② 启动管理后台项目 + +在 `admin-web` 项目下,执行 `npm run start:no-mock` 。 + +启动成功后,浏览器访问 。 + +# 10. 数据配置 + +TODO 芋艿 + +因为项目该配置完,是没有任何数据的。所以,需要操作对应的功能,添加数据。 + +# 233. 彩蛋 + +> 艿艿:本文暂时会写的比较简洁,如果有不懂的地方,请来[「交流群」](http://www.iocoder.cn/mall-user-group/?vip&gitee),艿艿来帮你解决。 \ No newline at end of file diff --git a/docs/sql/mall_admin.sql b/docs/sql/mall_admin.sql new file mode 100644 index 00000000..e98cf2aa --- /dev/null +++ b/docs/sql/mall_admin.sql @@ -0,0 +1,156 @@ +/* + Navicat Premium Data Transfer + + Source Server : mall_mysql + Source Server Type : MySQL + Source Server Version : 50643 + Source Host : 180.167.213.26:13306 + Source Schema : mall_admin + + Target Server Type : MySQL + Target Server Version : 50643 + File Encoding : 65001 + + Date: 28/04/2019 18:05:05 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for admin +-- ---------------------------- +DROP TABLE IF EXISTS `admin`; +CREATE TABLE `admin` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '管理员编号', + `username` varchar(16) NOT NULL COMMENT '登陆账号', + `nickname` varchar(10) NOT NULL COMMENT '昵称', + `password` varchar(32) NOT NULL COMMENT '密码\n *\n * TODO 芋艿 暂时最简单的 MD5', + `create_time` datetime NOT NULL COMMENT '创建时间', + `status` tinyint(11) NOT NULL COMMENT '账号状态', + `deleted` bit(1) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='admin_d_o'; + +-- ---------------------------- +-- Table structure for admin_access_log +-- ---------------------------- +DROP TABLE IF EXISTS `admin_access_log`; +CREATE TABLE `admin_access_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', + `admin_id` int(11) NOT NULL DEFAULT '-1' COMMENT '管理员编号.', + `uri` varchar(4096) NOT NULL DEFAULT '' COMMENT '访问地址', + `query_string` varchar(4096) NOT NULL DEFAULT '' COMMENT '参数', + `method` varchar(50) NOT NULL DEFAULT '' COMMENT 'http 方法', + `user_agent` varchar(1024) NOT NULL DEFAULT '' COMMENT 'userAgent', + `ip` varchar(50) NOT NULL DEFAULT '' COMMENT 'ip', + `start_time` datetime NOT NULL COMMENT '请求时间', + `response_time` int(11) NOT NULL COMMENT '响应时长 -- 毫秒级', + `create_time` datetime NOT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=5874 DEFAULT CHARSET=utf8mb4 COMMENT='admin_access_log'; + +-- ---------------------------- +-- Table structure for admin_role +-- ---------------------------- +DROP TABLE IF EXISTS `admin_role`; +CREATE TABLE `admin_role` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', + `admin_id` int(11) NOT NULL COMMENT '管理员编号(外键:{@link AdminDO}', + `role_id` int(11) NOT NULL COMMENT '角色编号(外键:{@link RoleDO}', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='admin_role_d_o'; + +-- ---------------------------- +-- Table structure for data_dict +-- ---------------------------- +DROP TABLE IF EXISTS `data_dict`; +CREATE TABLE `data_dict` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', + `enum_value` varchar(50) NOT NULL DEFAULT '' COMMENT '大类枚举值', + `display_name` varchar(50) NOT NULL DEFAULT '' COMMENT '展示名', + `sort` int(11) NOT NULL DEFAULT '-1' COMMENT '排序值', + `memo` varchar(50) DEFAULT '' COMMENT '备注', + `value` varchar(50) NOT NULL DEFAULT '' COMMENT '小类数值', + `deleted` tinyint(11) NOT NULL DEFAULT '0' COMMENT '是否删除', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8mb4 COMMENT='data_dict'; + +-- ---------------------------- +-- Table structure for oauth2_access_token +-- ---------------------------- +DROP TABLE IF EXISTS `oauth2_access_token`; +CREATE TABLE `oauth2_access_token` ( + `id` varchar(32) NOT NULL, + `refresh_token` varchar(32) DEFAULT NULL, + `admin_id` bigint(20) DEFAULT NULL, + `valid` tinyint(4) DEFAULT NULL, + `expires_time` datetime DEFAULT NULL, + `create_time` datetime DEFAULT CURRENT_TIMESTAMP, + `last_update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `idx_uid` (`admin_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Table structure for oauth2_refresh_token +-- ---------------------------- +DROP TABLE IF EXISTS `oauth2_refresh_token`; +CREATE TABLE `oauth2_refresh_token` ( + `id` varchar(32) NOT NULL, + `admin_id` bigint(20) DEFAULT NULL, + `valid` tinyint(4) DEFAULT NULL, + `expires_time` datetime DEFAULT NULL, + `create_time` datetime DEFAULT CURRENT_TIMESTAMP, + `last_update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `idx_uid` (`admin_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Table structure for resource +-- ---------------------------- +DROP TABLE IF EXISTS `resource`; +CREATE TABLE `resource` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '资源编号', + `name` varchar(50) NOT NULL DEFAULT '' COMMENT '资源名字', + `type` int(11) NOT NULL DEFAULT '-1' COMMENT '资源类型', + `sort` int(11) NOT NULL DEFAULT '-1' COMMENT '排序', + `display_name` varchar(50) NOT NULL DEFAULT '' COMMENT '展示名', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间', + `pid` int(11) NOT NULL DEFAULT '-1' COMMENT '父级资源编号(外键:{@link ResourceDO#id})', + `handler` varchar(50) DEFAULT '' COMMENT '操作\n *\n * 当资源类型为【菜单】时,handler 配置为界面 URL ,或者前端组件名\n * 当资源类型为【操作】时,handler 配置为后端 URL 。举个例子,如果有一个「创建管理员」的表单,那么前端界面上的按钮可以根据这个 url 判断是否展示,后端接收到该 url 的请求时会判断是否有权限。', + `deleted` bit(1) NOT NULL DEFAULT b'0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='resource_d_o'; + +-- ---------------------------- +-- Table structure for role +-- ---------------------------- +DROP TABLE IF EXISTS `role`; +CREATE TABLE `role` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '角色编号', + `name` varchar(50) NOT NULL DEFAULT '' COMMENT '角色名', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='role_d_o'; + +-- ---------------------------- +-- Table structure for role_resource +-- ---------------------------- +DROP TABLE IF EXISTS `role_resource`; +CREATE TABLE `role_resource` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', + `role_id` int(11) NOT NULL DEFAULT '-1' COMMENT '角色编号(外键:{@link RoleDO}', + `resource_id` int(11) NOT NULL DEFAULT '-1' COMMENT '资源编号', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=287 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='role_resource_d_o'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/docs/sql/mall_order.sql b/docs/sql/mall_order.sql new file mode 100644 index 00000000..56910407 --- /dev/null +++ b/docs/sql/mall_order.sql @@ -0,0 +1,418 @@ +/* + Navicat Premium Data Transfer + + Source Server : mall_mysql + Source Server Type : MySQL + Source Server Version : 50643 + Source Host : 180.167.213.26:13306 + Source Schema : mall_order + + Target Server Type : MySQL + Target Server Version : 50643 + File Encoding : 65001 + + Date: 28/04/2019 18:05:14 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for cart_item +-- ---------------------------- +DROP TABLE IF EXISTS `cart_item`; +CREATE TABLE `cart_item` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号,唯一自增。', + `status` tinyint(4) NOT NULL DEFAULT '-1' COMMENT '状态\n *\n * 1-正常\n * 2-主动删除\n * 3-下单删除', + `delete_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '商品在购物车中的删除时间', + `selected` bit(1) NOT NULL COMMENT '是否选中', + `user_id` int(11) NOT NULL COMMENT '用户编号', + `spu_id` int(11) NOT NULL COMMENT '商品 SPU 编号', + `sku_id` int(11) NOT NULL COMMENT '商品 SKU 编号', + `quantity` int(11) NOT NULL COMMENT '商品购买数量', + `order_id` int(11) DEFAULT NULL COMMENT '订单编号', + `order_create_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '订单创建时间', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COMMENT='cart_item'; + +-- ---------------------------- +-- Records of cart_item +-- ---------------------------- +BEGIN; +INSERT INTO `cart_item` VALUES (1, 2, '2019-04-17 20:45:25', b'1', 1, 29, 33, 6, NULL, '2019-04-11 17:00:37', '2019-04-11 17:00:37', '2019-04-17 20:45:25'); +INSERT INTO `cart_item` VALUES (2, 2, '2019-04-14 01:27:15', b'1', 1, 28, 32, 1, NULL, '2019-04-13 21:28:36', '2019-04-13 21:28:37', '2019-04-14 01:27:15'); +INSERT INTO `cart_item` VALUES (3, 2, '2019-04-20 19:57:31', b'1', 1, 29, 33, 3, NULL, '2019-04-14 01:37:45', '2019-04-14 01:37:45', '2019-04-20 19:57:31'); +INSERT INTO `cart_item` VALUES (4, 2, '2019-04-20 19:57:31', b'1', 1, 32, 34, 1, NULL, '2019-04-17 10:23:55', '2019-04-17 10:23:56', '2019-04-20 19:57:31'); +INSERT INTO `cart_item` VALUES (5, 1, '2019-04-19 20:35:36', b'1', 29, 32, 34, 1, NULL, '2019-04-19 20:35:36', '2019-04-19 20:35:37', '2019-04-19 20:35:36'); +INSERT INTO `cart_item` VALUES (6, 1, '2019-04-19 20:35:46', b'1', 29, 28, 31, 4, NULL, '2019-04-19 20:35:46', '2019-04-19 20:35:46', '2019-04-19 20:35:46'); +COMMIT; + +-- ---------------------------- +-- Table structure for order +-- ---------------------------- +DROP TABLE IF EXISTS `order`; +CREATE TABLE `order` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Id,自增长', + `user_id` int(11) NOT NULL COMMENT '用户id\n', + `order_no` varchar(50) NOT NULL COMMENT '订单单号', + `buy_price` int(11) NOT NULL COMMENT '订单金额(总金额)', + `discount_price` int(11) NOT NULL COMMENT '优惠总金额,单位:分', + `logistics_price` int(11) NOT NULL COMMENT '物流金额', + `present_price` int(11) NOT NULL COMMENT '最终金额,单位:分', + `pay_amount` int(10) NOT NULL COMMENT '金额(分)', + `payment_time` datetime DEFAULT NULL COMMENT '付款时间', + `delivery_time` datetime DEFAULT NULL COMMENT '发货时间', + `receiver_time` datetime DEFAULT NULL COMMENT '收货时间', + `closing_time` datetime DEFAULT NULL COMMENT '成交时间', + `has_return_exchange` smallint(6) NOT NULL COMMENT '是否退换货', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `status` smallint(2) NOT NULL COMMENT '状态(如果有多个商品分开发货需要全部商品发完才会改变状态) 0、待付款 1、待发货 2、待收货 3、已完成 4、已关闭', + `create_time` datetime DEFAULT NULL COMMENT '订单创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` smallint(6) NOT NULL COMMENT '删除状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=136 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of order +-- ---------------------------- +BEGIN; +INSERT INTO `order` VALUES (47, 29, '29635cff9cc8419', 10, 0, 0, 0, 10, NULL, NULL, NULL, NULL, 1, '添加一个测试备注', 5, '2019-04-11 22:15:32', NULL, 0); +INSERT INTO `order` VALUES (48, 29, '8472c75db7794b', 10, 0, 0, 0, 10, NULL, NULL, NULL, NULL, 1, '', 5, '2019-04-11 22:16:03', NULL, 0); +INSERT INTO `order` VALUES (49, 29, '00be8f5971c24b', 10, 0, 0, 0, 10, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-11 22:19:17', NULL, 0); +INSERT INTO `order` VALUES (50, 29, 'b4e42922b2634', 10, 0, 0, 0, 10, NULL, NULL, '2019-04-12 21:27:13', NULL, 1, '', 4, '2019-04-11 22:19:42', NULL, 0); +INSERT INTO `order` VALUES (51, -1, '76c163c61ffb465f', 362, 0, 0, 0, 362, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-14 01:27:15', NULL, 0); +INSERT INTO `order` VALUES (74, -1, '2186b8b4ca32442c', 1200, 40, 0, 1160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-20 19:57:27', NULL, 0); +INSERT INTO `order` VALUES (75, -1, '0668f5a6d168471c', 100, 0, 0, 100, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-20 19:58:10', NULL, 0); +INSERT INTO `order` VALUES (76, -1, '6f465f43b2f34a3f', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-20 22:19:28', NULL, 0); +INSERT INTO `order` VALUES (89, -1, 'd4867f5320bb4d07', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-20 23:42:56', NULL, 0); +INSERT INTO `order` VALUES (90, -1, '2667b89fbb5e49d9', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-20 23:44:43', NULL, 0); +INSERT INTO `order` VALUES (95, -1, '7aa0c5558746431b', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 02:17:24', NULL, 0); +INSERT INTO `order` VALUES (97, -1, '2dd9173348c94047', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 14:22:49', NULL, 0); +INSERT INTO `order` VALUES (98, -1, '5987e77245064f5c', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 15:01:50', NULL, 0); +INSERT INTO `order` VALUES (99, -1, '0aa0ff0bb2a74180', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 15:05:21', NULL, 0); +INSERT INTO `order` VALUES (101, -1, 'e7f4804c54774747', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 15:06:30', NULL, 0); +INSERT INTO `order` VALUES (102, -1, 'cdff09a25c724c02', 100, 0, 0, 100, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 15:10:39', NULL, 0); +INSERT INTO `order` VALUES (103, -1, '7de9b6251e434807', 100, 0, 0, 100, 100, '2019-04-21 15:21:26', NULL, NULL, NULL, 1, '', 1, '2019-04-21 15:14:17', NULL, 0); +INSERT INTO `order` VALUES (104, -1, '80475d74fc1f4a56', 100, 0, 0, 100, 100, '2019-04-21 15:20:12', NULL, NULL, NULL, 1, '', 1, '2019-04-21 15:19:19', NULL, 0); +INSERT INTO `order` VALUES (105, -1, 'ce4966bed7104dd5', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 18:59:24', NULL, 0); +INSERT INTO `order` VALUES (106, -1, 'a72347c6571f4f74', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 19:08:18', NULL, 0); +INSERT INTO `order` VALUES (107, -1, '7dedc1e8c6484530', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 19:22:19', NULL, 0); +INSERT INTO `order` VALUES (109, -1, '0635a03e4ad8439d', 100, 0, 0, 100, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 19:57:13', NULL, 0); +INSERT INTO `order` VALUES (110, -1, '8cfb63d2f17445bb', 100, 0, 0, 100, 100, '2019-04-21 20:17:20', NULL, NULL, NULL, 1, '', 3, '2019-04-21 20:17:04', NULL, 0); +INSERT INTO `order` VALUES (111, -1, '11e64862f6d94ceb', 1000, 0, 0, 1000, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-21 20:24:05', NULL, 0); +INSERT INTO `order` VALUES (112, -1, '472994edfd90458d', 1000, 0, 0, 1000, 1000, '2019-04-22 19:32:35', NULL, '2019-04-22 19:32:42', NULL, 1, '', 4, '2019-04-21 20:37:45', NULL, 0); +INSERT INTO `order` VALUES (113, -1, 'aee52dfc8bef4603', 1000, 0, 0, 1000, 1000, '2019-04-22 19:35:58', NULL, NULL, NULL, 1, '', 3, '2019-04-21 20:51:38', NULL, 0); +INSERT INTO `order` VALUES (114, -1, '2da845ff0da74b8b', 1000, 0, 0, 1000, 1000, '2019-04-21 22:38:34', NULL, NULL, NULL, 1, '', 3, '2019-04-21 22:38:24', NULL, 0); +INSERT INTO `order` VALUES (115, -1, '23ce74ee3cbc49d8', 200, 40, 0, 160, 160, '2019-04-22 19:36:16', NULL, NULL, NULL, 1, '', 3, '2019-04-21 23:29:21', NULL, 0); +INSERT INTO `order` VALUES (118, -1, '6d73bb4e01c349d6', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-22 17:05:59', NULL, 0); +INSERT INTO `order` VALUES (120, -1, '6377703d238e4b88', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-22 19:31:55', NULL, 0); +INSERT INTO `order` VALUES (121, -1, '3dc33dcaf4b24724', 44000, 0, 0, 44000, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-22 19:35:45', NULL, 0); +INSERT INTO `order` VALUES (122, -1, '6074931dc45541f9', 200, 40, 0, 160, 160, '2019-04-22 20:51:46', NULL, NULL, NULL, 1, '', 3, '2019-04-22 20:51:39', NULL, 0); +INSERT INTO `order` VALUES (124, -1, 'fc6c662e66a24a86', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-22 22:19:58', NULL, 0); +INSERT INTO `order` VALUES (125, -1, '0c17c9bc441645f2', 200, 40, 0, 160, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-22 22:21:26', NULL, 0); +INSERT INTO `order` VALUES (127, -1, 'af5c4f40bc9c478d', 10, 0, 0, 10, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-22 22:28:21', NULL, 0); +INSERT INTO `order` VALUES (128, 1, '53cd76bff19242e8', 10, 0, 0, 10, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-22 22:29:16', NULL, 0); +INSERT INTO `order` VALUES (129, 1, 'a8a40abdb2cc430b', 10, 0, 0, 10, 0, NULL, NULL, NULL, NULL, 1, '', 1, '2019-04-22 22:37:18', NULL, 0); +INSERT INTO `order` VALUES (130, 1, 'e6d4fe973a404508', 10, 0, 0, 10, 10, '2019-04-22 22:37:27', NULL, NULL, NULL, 1, '', 3, '2019-04-22 22:37:23', NULL, 0); +INSERT INTO `order` VALUES (131, 1, 'e2edc556fff847c5', 10, 0, 0, 10, 10, '2019-04-23 00:22:28', NULL, NULL, NULL, 1, '', 2, '2019-04-23 00:22:22', NULL, 0); +INSERT INTO `order` VALUES (132, 1, 'a6d7da64863c499e', 10, 0, 0, 10, 10, '2019-04-23 10:03:55', NULL, NULL, NULL, 1, '', 2, '2019-04-23 10:03:50', NULL, 0); +INSERT INTO `order` VALUES (133, 1, 'e815710ad0014f35', 10000, 0, 0, 10000, 10000, '2019-04-27 00:43:50', NULL, NULL, NULL, 1, '', 2, '2019-04-27 00:02:20', NULL, 0); +INSERT INTO `order` VALUES (134, 1, 'a624ad4406554db5', 10000, 0, 0, 10000, 10000, '2019-04-27 00:43:17', NULL, NULL, NULL, 1, '', 2, '2019-04-27 00:43:06', NULL, 0); +INSERT INTO `order` VALUES (135, 1, 'ffff6dd443a844ee', 10000, 0, 0, 10000, 10000, '2019-04-27 00:44:12', NULL, NULL, NULL, 1, '', 2, '2019-04-27 00:44:09', NULL, 0); +COMMIT; + +-- ---------------------------- +-- Table structure for order_cancel +-- ---------------------------- +DROP TABLE IF EXISTS `order_cancel`; +CREATE TABLE `order_cancel` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `order_id` int(11) NOT NULL COMMENT '订单id', + `order_no` varchar(50) NOT NULL COMMENT '订单编号', + `reason` int(2) NOT NULL, + `other_reason` varchar(100) DEFAULT NULL COMMENT '其他原因', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of order_cancel +-- ---------------------------- +BEGIN; +INSERT INTO `order_cancel` VALUES (5, 11, 'd31a7b9e2bb2483787dc601127f94c4d', 2, NULL, '2019-03-30 17:48:17', NULL); +INSERT INTO `order_cancel` VALUES (6, 47, '29635cff9cc8419', 7, NULL, '2019-04-12 19:55:50', NULL); +INSERT INTO `order_cancel` VALUES (7, 48, '8472c75db7794b', 6, NULL, '2019-04-12 19:56:07', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for order_exchange +-- ---------------------------- +DROP TABLE IF EXISTS `order_exchange`; +CREATE TABLE `order_exchange` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `order_id` int(11) NOT NULL, + `order_no` varchar(50) NOT NULL, + `sku_id` int(11) NOT NULL, + `exchange_sku_id` int(11) NOT NULL COMMENT '换货商品id', + `exchange_order_logistics_id` int(11) NOT NULL COMMENT '换货物流id', + `receiver_order_logistics_id` int(11) NOT NULL COMMENT '收件地址', + `order_reason_id` int(11) DEFAULT NULL COMMENT '换货原因', + `reason` varchar(255) DEFAULT NULL COMMENT '换货原因 (其他的时候)', + `payment_time` datetime DEFAULT NULL COMMENT '付款时间', + `delivery_time` datetime DEFAULT NULL COMMENT '发货时间', + `receiver_time` datetime DEFAULT NULL COMMENT '收货时间', + `closing_time` datetime DEFAULT NULL COMMENT '成交时间', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `delete` smallint(2) DEFAULT NULL COMMENT '删除状态', + `order_type` int(2) DEFAULT NULL COMMENT '订单类型 0、为 Order 订单 1、为 OrderItem 订单', + `status` int(2) DEFAULT NULL COMMENT '状态 申请换货、申请成功、申请失败、换货中、换货成功', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for order_item +-- ---------------------------- +DROP TABLE IF EXISTS `order_item`; +CREATE TABLE `order_item` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id自增长', + `order_id` int(11) NOT NULL COMMENT '订单编号', + `order_no` varchar(50) NOT NULL COMMENT '订单号', + `order_logistics_id` int(11) DEFAULT NULL COMMENT '物流id', + `sku_id` int(11) NOT NULL COMMENT '商品id', + `sku_name` varchar(50) NOT NULL COMMENT '商品名字', + `sku_image` varchar(250) NOT NULL COMMENT '图片名字', + `quantity` int(3) NOT NULL COMMENT '商品数量', + `origin_price` int(11) NOT NULL COMMENT '原始单价,单位:分', + `buy_price` int(11) NOT NULL COMMENT '购买单价,单位:分', + `present_price` int(11) NOT NULL COMMENT '最终价格,单位:分', + `buy_total` int(11) NOT NULL COMMENT '购买总金额,单位:分', + `discount_total` int(11) NOT NULL COMMENT '优惠总金额,单位:分', + `present_total` int(11) NOT NULL COMMENT '最终总金额,单位:分', + `payment_time` datetime DEFAULT NULL COMMENT '付款时间', + `delivery_time` datetime DEFAULT NULL COMMENT '发货时间', + `receiver_time` datetime DEFAULT NULL COMMENT '收货时间', + `closing_time` datetime DEFAULT NULL, + `has_return_exchange` int(11) DEFAULT NULL COMMENT '是否退换货', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(250) DEFAULT NULL COMMENT '备注', + `delivery_type` int(2) NOT NULL COMMENT '发送方式', + `status` smallint(2) NOT NULL COMMENT '状态:0、代发货 1、已发货 2、已收货 20、换货中 21、换货成功 40、退货中 41、已退货', + `deleted` smallint(2) NOT NULL COMMENT '删除状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=88 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of order_item +-- ---------------------------- +BEGIN; +INSERT INTO `order_item` VALUES (19, 47, '29635cff9cc841948ef3c2cfc3fb7911', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 1, '2019-04-11 22:15:32', NULL, NULL, 1, 5, 0); +INSERT INTO `order_item` VALUES (20, 48, '8472c75db7794b158ce9c3146fbb4e02', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 1, '2019-04-11 22:16:03', NULL, NULL, 1, 5, 0); +INSERT INTO `order_item` VALUES (21, 49, '00be8f5971c24bbcbddf9014bb0d2310', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 1, '2019-04-11 22:19:17', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (22, 50, 'b4e42922b2634c1a94f01b2d66eeb8bf', 34, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 0, 0, 0, 0, NULL, NULL, '2019-04-12 21:27:14', NULL, 1, '2019-04-11 22:19:42', NULL, NULL, 1, 4, 0); +INSERT INTO `order_item` VALUES (23, 51, '76c163c61ffb465f', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 6, 10, 60, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 1, '2019-04-14 01:27:15', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (24, 51, '76c163c61ffb465f', NULL, 32, '测试商品', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694b02ef0df7?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 2, 2, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 1, '2019-04-14 01:27:15', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (25, 74, '2186b8b4ca32442c', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 3, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-20 19:57:27', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (26, 74, '2186b8b4ca32442c', NULL, 34, '农夫山泉', 'https://img.1000.com/qm-a-img/prod/000000/68635d48f57444c8a5ffd47a257dc3d7.jpg', 1, 125, 50, 50, 1000, 0, 1000, NULL, NULL, NULL, NULL, 1, '2019-04-20 19:57:27', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (27, 75, '0668f5a6d168471c', NULL, 31, '测试商品', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694b02ef0df7?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 1, 1, 1, 100, 0, 100, NULL, NULL, NULL, NULL, 1, '2019-04-20 19:58:10', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (28, 76, '6f465f43b2f34a3f', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-20 22:19:28', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (41, 89, 'd4867f5320bb4d07', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-20 23:42:56', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (42, 90, '2667b89fbb5e49d9', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-20 23:44:43', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (47, 95, '7aa0c5558746431b', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-21 02:17:24', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (49, 97, '2dd9173348c94047', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-21 14:22:49', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (50, 98, '5987e77245064f5c', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-21 15:01:50', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (51, 99, '0aa0ff0bb2a74180', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-21 15:05:21', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (53, 101, 'e7f4804c54774747', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-21 15:06:30', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (54, 102, 'cdff09a25c724c02', NULL, 31, '测试商品', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694b02ef0df7?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 1, 1, 1, 100, 0, 100, NULL, NULL, NULL, NULL, 1, '2019-04-21 15:10:39', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (55, 103, '7de9b6251e434807', NULL, 31, '测试商品', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694b02ef0df7?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 1, 1, 1, 100, 0, 100, NULL, NULL, NULL, NULL, 1, '2019-04-21 15:14:17', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (56, 104, '80475d74fc1f4a56', NULL, 31, '测试商品', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694b02ef0df7?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 1, 1, 1, 100, 0, 100, NULL, NULL, NULL, NULL, 1, '2019-04-21 15:19:19', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (57, 105, 'ce4966bed7104dd5', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-21 18:59:24', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (58, 106, 'a72347c6571f4f74', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-21 19:08:18', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (59, 107, '7dedc1e8c6484530', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-21 19:22:19', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (61, 109, '0635a03e4ad8439d', NULL, 31, '测试商品', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694b02ef0df7?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 1, 1, 1, 100, 0, 100, NULL, NULL, NULL, NULL, 1, '2019-04-21 19:57:14', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (62, 110, '8cfb63d2f17445bb', NULL, 31, '测试商品', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694b02ef0df7?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 1, 1, 1, 100, 0, 100, NULL, NULL, NULL, NULL, 1, '2019-04-21 20:17:04', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (63, 111, '11e64862f6d94ceb', NULL, 34, '农夫山泉', 'https://img.1000.com/qm-a-img/prod/000000/68635d48f57444c8a5ffd47a257dc3d7.jpg', 1, 125, 50, 50, 1000, 0, 1000, NULL, NULL, NULL, NULL, 1, '2019-04-21 20:24:05', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (64, 112, '472994edfd90458d', NULL, 34, '农夫山泉', 'https://img.1000.com/qm-a-img/prod/000000/68635d48f57444c8a5ffd47a257dc3d7.jpg', 1, 125, 50, 50, 1000, 0, 1000, NULL, NULL, '2019-04-22 19:32:42', NULL, 1, '2019-04-21 20:37:45', NULL, NULL, 1, 4, 0); +INSERT INTO `order_item` VALUES (65, 113, 'aee52dfc8bef4603', NULL, 34, '农夫山泉', 'https://img.1000.com/qm-a-img/prod/000000/68635d48f57444c8a5ffd47a257dc3d7.jpg', 1, 125, 50, 50, 1000, 0, 1000, NULL, NULL, NULL, NULL, 1, '2019-04-21 20:51:38', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (66, 114, '2da845ff0da74b8b', NULL, 34, '农夫山泉', 'https://img.1000.com/qm-a-img/prod/000000/68635d48f57444c8a5ffd47a257dc3d7.jpg', 1, 125, 50, 50, 1000, 0, 1000, NULL, NULL, NULL, NULL, 1, '2019-04-21 22:38:24', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (67, 115, '23ce74ee3cbc49d8', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-21 23:29:21', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (70, 118, '6d73bb4e01c349d6', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-22 17:06:00', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (72, 120, '6377703d238e4b88', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-22 19:31:55', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (73, 121, '3dc33dcaf4b24724', NULL, 41, 'Oracle', 'https://static.oschina.net/img/logo/oracle.gif', 1, 2000, 2000, 2000, 44000, 0, 44000, NULL, NULL, NULL, NULL, 1, '2019-04-22 19:35:45', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (74, 122, '6074931dc45541f9', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-22 20:51:39', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (76, 124, 'fc6c662e66a24a86', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-22 22:19:58', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (77, 125, '0c17c9bc441645f2', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 8, 200, 40, 160, NULL, NULL, NULL, NULL, 1, '2019-04-22 22:21:26', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (79, 127, 'af5c4f40bc9c478d', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 10, 10, 0, 10, NULL, NULL, NULL, NULL, 1, '2019-04-22 22:28:21', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (80, 128, '53cd76bff19242e8', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 10, 10, 0, 10, NULL, NULL, NULL, NULL, 1, '2019-04-22 22:29:16', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (81, 129, 'a8a40abdb2cc430b', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 10, 10, 0, 10, NULL, NULL, NULL, NULL, 1, '2019-04-22 22:37:18', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (82, 130, 'e6d4fe973a404508', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 10, 10, 0, 10, NULL, NULL, NULL, NULL, 1, '2019-04-22 22:37:23', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (83, 131, 'e2edc556fff847c5', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 10, 10, 0, 10, NULL, NULL, NULL, NULL, 1, '2019-04-23 00:22:22', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (84, 132, 'a6d7da64863c499e', NULL, 33, 'kafka 实战', 'https://user-gold-cdn.xitu.io/2019/4/1/169d694ae392047b?imageView2/0/w/1280/h/960/format/jpeg/ignore-error/1', 1, 10, 10, 10, 10, 0, 10, NULL, NULL, NULL, NULL, 1, '2019-04-23 10:03:50', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (85, 133, 'e815710ad0014f35', NULL, 36, 'Kafka 书籍汇总', 'http://static.iocoder.cn/kafka.png', 1, 10000, 10000, 10000, 10000, 0, 10000, NULL, NULL, NULL, NULL, 1, '2019-04-27 00:02:20', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (86, 134, 'a624ad4406554db5', NULL, 36, 'Kafka 书籍汇总', 'http://static.iocoder.cn/kafka.png', 1, 10000, 10000, 10000, 10000, 0, 10000, NULL, NULL, NULL, NULL, 1, '2019-04-27 00:43:06', NULL, NULL, 1, 1, 0); +INSERT INTO `order_item` VALUES (87, 135, 'ffff6dd443a844ee', NULL, 36, 'Kafka 书籍汇总', 'http://static.iocoder.cn/kafka.png', 1, 10000, 10000, 10000, 10000, 0, 10000, NULL, NULL, NULL, NULL, 1, '2019-04-27 00:44:09', NULL, NULL, 1, 1, 0); +COMMIT; + +-- ---------------------------- +-- Table structure for order_logistics +-- ---------------------------- +DROP TABLE IF EXISTS `order_logistics`; +CREATE TABLE `order_logistics` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id自增长', + `area_no` varchar(10) NOT NULL COMMENT '地区编号', + `name` varchar(20) NOT NULL COMMENT '名称', + `mobile` varchar(20) NOT NULL COMMENT '手机号', + `address` varchar(255) NOT NULL COMMENT '详细地址', + `logistics` int(2) NOT NULL COMMENT '物流商家', + `logistics_no` varchar(20) NOT NULL COMMENT '物流单号', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of order_logistics +-- ---------------------------- +BEGIN; +INSERT INTO `order_logistics` VALUES (24, '110101', 'Andy', '13302925934', '中二环,光电大厦11F 前台收', 1, '23123124123', '2019-04-11 22:50:31', NULL); +INSERT INTO `order_logistics` VALUES (34, '110101', 'Andy', '13302925934', '中二环,光电大厦11F 前台收', 1, '314123123123', '2019-04-12 19:23:42', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for order_logistics_detail +-- ---------------------------- +DROP TABLE IF EXISTS `order_logistics_detail`; +CREATE TABLE `order_logistics_detail` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id自增长', + `order_logistics_id` int(11) NOT NULL COMMENT '物流编号', + `logistics_time` datetime NOT NULL COMMENT '物流时间', + `logistics_information` varchar(20) NOT NULL COMMENT '物流信息', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of order_logistics_detail +-- ---------------------------- +BEGIN; +INSERT INTO `order_logistics_detail` VALUES (1, 34, '2019-04-12 22:46:15', '已经到上海总部', '2019-04-12 22:46:27', NULL); +INSERT INTO `order_logistics_detail` VALUES (2, 24, '2019-04-12 22:46:42', '一道成都,正在发往长沙', '2019-04-12 22:46:58', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for order_recipient +-- ---------------------------- +DROP TABLE IF EXISTS `order_recipient`; +CREATE TABLE `order_recipient` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `order_id` int(11) NOT NULL COMMENT '订单id', + `area_no` varchar(20) NOT NULL COMMENT '区域编号', + `name` varchar(20) NOT NULL COMMENT '收件人名称', + `mobile` varchar(20) NOT NULL COMMENT '手机号', + `type` int(2) NOT NULL COMMENT '快递方式', + `address` varchar(250) NOT NULL COMMENT '地址详细', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=111 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of order_recipient +-- ---------------------------- +BEGIN; +INSERT INTO `order_recipient` VALUES (22, 47, '110101', 'Andy', '13302925934', 1, '中二环,光电大厦11F 前台收', '2019-04-11 22:15:32', NULL); +INSERT INTO `order_recipient` VALUES (23, 48, '110101', 'Andy', '13302925934', 1, '中二环,光电大厦11F 前台收', '2019-04-11 22:16:03', NULL); +INSERT INTO `order_recipient` VALUES (24, 49, '110101', 'Andy', '13302925934', 1, '中二环,光电大厦11F 前台收', '2019-04-11 22:19:17', NULL); +INSERT INTO `order_recipient` VALUES (25, 50, '110101', 'Andy', '13302925934', 1, '中二环,光电大厦11F 前台收', '2019-04-11 22:19:42', NULL); +INSERT INTO `order_recipient` VALUES (26, 51, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-14 01:27:15', NULL); +INSERT INTO `order_recipient` VALUES (49, 74, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-20 19:57:27', NULL); +INSERT INTO `order_recipient` VALUES (50, 75, '22033', 'sin', '18132019023', 1, '湖南省深圳市北京3环56号', '2019-04-20 19:58:10', NULL); +INSERT INTO `order_recipient` VALUES (51, 76, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-20 22:19:28', NULL); +INSERT INTO `order_recipient` VALUES (64, 89, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-20 23:42:56', NULL); +INSERT INTO `order_recipient` VALUES (65, 90, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-20 23:44:43', NULL); +INSERT INTO `order_recipient` VALUES (70, 95, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 02:17:24', NULL); +INSERT INTO `order_recipient` VALUES (72, 97, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 14:22:49', NULL); +INSERT INTO `order_recipient` VALUES (73, 98, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 15:01:50', NULL); +INSERT INTO `order_recipient` VALUES (74, 99, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 15:05:21', NULL); +INSERT INTO `order_recipient` VALUES (76, 101, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 15:06:30', NULL); +INSERT INTO `order_recipient` VALUES (77, 102, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 15:10:39', NULL); +INSERT INTO `order_recipient` VALUES (78, 103, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 15:14:17', NULL); +INSERT INTO `order_recipient` VALUES (79, 104, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 15:19:19', NULL); +INSERT INTO `order_recipient` VALUES (80, 105, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 18:59:24', NULL); +INSERT INTO `order_recipient` VALUES (81, 106, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 19:08:18', NULL); +INSERT INTO `order_recipient` VALUES (82, 107, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 19:22:19', NULL); +INSERT INTO `order_recipient` VALUES (84, 109, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 19:57:14', NULL); +INSERT INTO `order_recipient` VALUES (85, 110, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 20:17:04', NULL); +INSERT INTO `order_recipient` VALUES (86, 111, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 20:24:05', NULL); +INSERT INTO `order_recipient` VALUES (87, 112, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 20:37:45', NULL); +INSERT INTO `order_recipient` VALUES (88, 113, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 20:51:38', NULL); +INSERT INTO `order_recipient` VALUES (89, 114, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 22:38:24', NULL); +INSERT INTO `order_recipient` VALUES (90, 115, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-21 23:29:21', NULL); +INSERT INTO `order_recipient` VALUES (93, 118, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-22 17:06:00', NULL); +INSERT INTO `order_recipient` VALUES (95, 120, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-22 19:31:55', NULL); +INSERT INTO `order_recipient` VALUES (96, 121, '22033', 'sin', '18132019023', 1, '湖南省深圳市北京3环56号', '2019-04-22 19:35:45', NULL); +INSERT INTO `order_recipient` VALUES (97, 122, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-22 20:51:39', NULL); +INSERT INTO `order_recipient` VALUES (99, 124, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-22 22:19:58', NULL); +INSERT INTO `order_recipient` VALUES (100, 125, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-22 22:21:26', NULL); +INSERT INTO `order_recipient` VALUES (102, 127, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-22 22:28:21', NULL); +INSERT INTO `order_recipient` VALUES (103, 128, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-22 22:29:16', NULL); +INSERT INTO `order_recipient` VALUES (104, 129, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-22 22:37:18', NULL); +INSERT INTO `order_recipient` VALUES (105, 130, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-22 22:37:23', NULL); +INSERT INTO `order_recipient` VALUES (106, 131, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-23 00:22:22', NULL); +INSERT INTO `order_recipient` VALUES (107, 132, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-23 10:03:50', NULL); +INSERT INTO `order_recipient` VALUES (108, 133, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-27 00:02:20', NULL); +INSERT INTO `order_recipient` VALUES (109, 134, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-27 00:43:06', NULL); +INSERT INTO `order_recipient` VALUES (110, 135, '230102', 'mi', '13302926050', 1, '湖南省深圳市北京去3环', '2019-04-27 00:44:09', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for order_return +-- ---------------------------- +DROP TABLE IF EXISTS `order_return`; +CREATE TABLE `order_return` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id自增长', + `service_number` varchar(50) NOT NULL COMMENT '服务号', + `order_id` int(11) NOT NULL COMMENT '订单编号', + `order_no` varchar(50) NOT NULL COMMENT '订单号', + `order_logistics_id` int(11) DEFAULT NULL COMMENT '物流 id', + `refund_price` int(11) NOT NULL COMMENT '退回金额', + `reason` int(11) NOT NULL COMMENT '退货原因', + `describe` varchar(255) DEFAULT NULL COMMENT '换货原因 (其他的时候)', + `create_time` datetime NOT NULL COMMENT '创建时间', + `approval_time` datetime DEFAULT NULL COMMENT '同意时间', + `logistics_time` datetime DEFAULT NULL COMMENT '物流时间(填写物流单号时间)', + `receiver_time` datetime DEFAULT NULL COMMENT '收货时间', + `closing_time` datetime DEFAULT NULL COMMENT '成交时间', + `service_type` int(2) DEFAULT NULL COMMENT ' 1、退货 2、退款', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `status` int(2) NOT NULL COMMENT '状态 申请换货、申请成功、申请失败、退货中、退货成功', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of order_return +-- ---------------------------- +BEGIN; +INSERT INTO `order_return` VALUES (1, '1111111', 50, 'b4e42922b2634', 24, 1000, 38, '12312', '2019-04-26 00:14:10', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (2, '12312312', 50, 'b4e42922b2634', NULL, 0, 38, '123', '2019-04-26 00:15:29', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (3, '6754745', 50, 'b4e42922b2634', NULL, 0, 38, '123', '2019-04-26 00:15:31', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (4, '1234124', 50, 'b4e42922b2634', NULL, 0, 38, '123123', '2019-04-26 00:15:33', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (5, 'ga12355', 50, 'b4e42922b2634', NULL, 0, 38, '123123', '2019-04-26 00:15:34', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (6, 'dsgs1241', 50, 'b4e42922b2634', NULL, 0, 38, '123', '2019-04-26 00:16:21', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (7, 'gad12314', 50, 'b4e42922b2634', NULL, 0, 38, '123', '2019-04-26 00:16:24', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (8, 'ggasd123', 50, 'b4e42922b2634', NULL, 0, 38, '', '2019-04-26 00:17:10', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (9, 'amsfdl12314', 50, 'b4e42922b2634', NULL, 0, 38, '7', '2019-04-26 00:17:14', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (10, 'lo123', 50, 'b4e42922b2634', NULL, 0, 38, '6', '2019-04-26 00:17:18', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (11, 'sdfan231', 50, 'b4e42922b2634', NULL, 0, 38, '', '2019-04-26 00:18:08', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (12, 'kdau213j21', 50, 'b4e42922b2634', NULL, 0, 38, '', '2019-04-26 00:18:59', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (13, 'apdamfmn213', 50, 'b4e42922b2634', NULL, 0, 38, '1213', '2019-04-26 00:19:11', NULL, NULL, NULL, NULL, 1, NULL, 1); +INSERT INTO `order_return` VALUES (14, 'gi2341', 50, 'b4e42922b2634', NULL, 0, 38, '', '2019-04-26 00:22:24', NULL, NULL, NULL, NULL, 1, NULL, 1); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/docs/sql/mall_pay.sql b/docs/sql/mall_pay.sql new file mode 100644 index 00000000..c8060888 --- /dev/null +++ b/docs/sql/mall_pay.sql @@ -0,0 +1,320 @@ +/* + Navicat Premium Data Transfer + + Source Server : mall_mysql + Source Server Type : MySQL + Source Server Version : 50643 + Source Host : 180.167.213.26:13306 + Source Schema : mall_pay + + Target Server Type : MySQL + Target Server Version : 50643 + File Encoding : 65001 + + Date: 28/04/2019 18:05:23 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for app +-- ---------------------------- +DROP TABLE IF EXISTS `app`; +CREATE TABLE `app` ( + `id` varchar(50) NOT NULL COMMENT '应用编号', + `name` varchar(255) NOT NULL DEFAULT '' COMMENT '应用名', + `notify_url` varchar(255) NOT NULL DEFAULT '' COMMENT '异步通知地址', + `refund_notify_url` varchar(255) NOT NULL COMMENT '退款异步通知地址', + `status` tinyint(4) NOT NULL DEFAULT '-1' COMMENT '状态', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='pay_app'; + +-- ---------------------------- +-- Records of app +-- ---------------------------- +BEGIN; +INSERT INTO `app` VALUES ('POd4RC6a', '商城订单', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', 1, '2019-03-13 11:10:05', '2019-04-26 22:55:57'); +COMMIT; + +-- ---------------------------- +-- Table structure for notify_log +-- ---------------------------- +DROP TABLE IF EXISTS `notify_log`; +CREATE TABLE `notify_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '日志编号,自增', + `notify_id` int(11) NOT NULL COMMENT '通知编号', + `request` varchar(5000) NOT NULL COMMENT '请求参数', + `response` varchar(5000) NOT NULL COMMENT '响应结果', + `status` tinyint(4) NOT NULL COMMENT '状态', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COMMENT='pay_transaction_notify_log'; + +-- ---------------------------- +-- Records of notify_log +-- ---------------------------- +BEGIN; +INSERT INTO `notify_log` VALUES (1, 3, '{\"appId\":\"POd4RC6a\",\"id\":3,\"notifyTimes\":0,\"notifyUrl\":\"cn.iocoder.mall.order.api.OrderService#updatePaySuccess\",\"orderId\":\"135\",\"transactionId\":50}', 'success', 2, '2019-04-27 00:44:12', '2019-04-27 00:44:12'); +INSERT INTO `notify_log` VALUES (20, 10, '{\"appId\":\"POd4RC6a\",\"id\":10,\"notifyTimes\":0,\"notifyUrl\":\"cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess\",\"orderId\":\"135\",\"refundId\":10,\"transactionId\":50}', 'success', 2, '2019-04-27 01:38:08', '2019-04-27 01:38:08'); +COMMIT; + +-- ---------------------------- +-- Table structure for notify_task +-- ---------------------------- +DROP TABLE IF EXISTS `notify_task`; +CREATE TABLE `notify_task` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', + `app_id` varchar(50) NOT NULL COMMENT '应用编号', + `status` tinyint(4) NOT NULL COMMENT '通知状态', + `type` tinyint(4) NOT NULL COMMENT '类型', + `next_notify_time` datetime DEFAULT NULL COMMENT '最后一次通知时间', + `last_execute_time` datetime DEFAULT NULL COMMENT '最后执行时间', + `notify_times` tinyint(4) NOT NULL COMMENT '当前通知次数', + `max_notify_times` tinyint(4) NOT NULL COMMENT '最大可通知次数', + `transaction` varchar(255) DEFAULT NULL COMMENT '支付数据', + `refund` varchar(255) DEFAULT NULL COMMENT '退款数据', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COMMENT='transaction_notify_task'; + +-- ---------------------------- +-- Records of notify_task +-- ---------------------------- +BEGIN; +INSERT INTO `notify_task` VALUES (1, 'POd4RC6a', 1, 1, '2019-04-27 00:39:44', NULL, 0, 9, '{\"orderId\":\"133\",\"transactionExtensionId\":77,\"transactionId\":48}', NULL, '2019-04-27 00:39:31', '2019-04-27 00:39:31'); +INSERT INTO `notify_task` VALUES (2, 'POd4RC6a', 1, 1, '2019-04-27 00:43:28', NULL, 0, 9, '{\"orderId\":\"134\",\"transactionExtensionId\":78,\"transactionId\":49}', NULL, '2019-04-27 00:43:13', '2019-04-27 00:43:13'); +INSERT INTO `notify_task` VALUES (3, 'POd4RC6a', 2, 1, '2019-04-27 00:44:27', '2019-04-27 00:44:12', 1, 9, '{\"orderId\":\"135\",\"transactionExtensionId\":79,\"transactionId\":50}', NULL, '2019-04-27 00:44:12', '2019-04-27 00:44:12'); +INSERT INTO `notify_task` VALUES (4, 'POd4RC6a', 1, 2, '2019-04-27 01:23:21', NULL, 0, 9, NULL, '{\"orderId\":\"135\",\"refundId\":6,\"transactionId\":50}', '2019-04-27 01:23:05', '2019-04-27 01:23:05'); +INSERT INTO `notify_task` VALUES (5, 'POd4RC6a', 1, 2, '2019-04-27 01:24:54', NULL, 0, 9, NULL, '{\"orderId\":\"135\",\"refundId\":3,\"transactionId\":50}', '2019-04-27 01:24:38', '2019-04-27 01:24:38'); +INSERT INTO `notify_task` VALUES (6, 'POd4RC6a', 1, 2, '2019-04-27 01:28:18', NULL, 0, 9, NULL, '{\"orderId\":\"135\",\"refundId\":7,\"transactionId\":50}', '2019-04-27 01:28:03', '2019-04-27 01:28:03'); +INSERT INTO `notify_task` VALUES (10, 'POd4RC6a', 2, 2, '2019-04-27 01:38:14', '2019-04-27 01:37:59', 1, 9, NULL, '{\"orderId\":\"135\",\"refundId\":10,\"transactionId\":50}', '2019-04-27 01:37:59', '2019-04-27 01:38:08'); +COMMIT; + +-- ---------------------------- +-- Table structure for refund +-- ---------------------------- +DROP TABLE IF EXISTS `refund`; +CREATE TABLE `refund` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', + `transaction_id` int(11) NOT NULL COMMENT '支付交易编号', + `refund_code` varbinary(50) NOT NULL COMMENT '生成传输给第三方的退款号', + `app_id` varchar(50) NOT NULL COMMENT '应用编号\n *\n * 不同业务线分配不同的 appId\n * 举个例子,\n * 1. 电商系统的订单,appId = 1024\n * 2. 活动系统的订单,appId = 2048', + `order_id` varchar(50) NOT NULL COMMENT '业务线的订单编号\n *\n * 1. 使用 String 的原因是,业务线可能使用 String 做为编号\n * 2. 每个 appId 下,orderId 唯一', + `create_ip` varchar(50) NOT NULL COMMENT '发起交易的 IP', + `order_description` varchar(50) NOT NULL COMMENT '业务退款描述', + `price` int(11) NOT NULL COMMENT '退款金额,单位:分。', + `status` tinyint(4) NOT NULL COMMENT '退款状态\n *\n * @see cn.iocoder.mall.pay.api.constant.PayRefundStatus', + `finish_time` datetime DEFAULT NULL COMMENT '回调业务线完成时间', + `notify_url` varchar(255) NOT NULL COMMENT '异步通知地址', + `extension_data` varchar(1024) DEFAULT NULL COMMENT '扩展内容\n *\n * 异步通知的时候填充回调的数据', + `refund_channel` int(11) NOT NULL COMMENT '退款渠道', + `refund_time` datetime DEFAULT NULL COMMENT '第三方退款成功的时间', + `notify_time` datetime DEFAULT NULL COMMENT '收到第三方系统通知的时间\n *\n * 一般情况下,即第三方系统的异步通知', + `trade_no` varchar(50) DEFAULT NULL COMMENT '第三方的流水号', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COMMENT='pay_refund'; + +-- ---------------------------- +-- Records of refund +-- ---------------------------- +BEGIN; +INSERT INTO `refund` VALUES (1, 47, '', 'POd4RC6a', '132', '127.0.0.1', '测试下退款', 1, 1, NULL, 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundFinish', NULL, 9999, NULL, NULL, NULL, '2019-04-26 16:16:21', '2019-04-26 16:16:20'); +INSERT INTO `refund` VALUES (2, 50, 0x3230313930343237303035333035313832383232, 'POd4RC6a', '135', '127.0.0.1', '测试下退款', 1, 1, NULL, 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', NULL, 9999, NULL, NULL, NULL, '2019-04-27 00:53:05', '2019-04-27 00:53:05'); +INSERT INTO `refund` VALUES (3, 50, 0x3230313930343237303131363537383432363937, 'POd4RC6a', '135', '127.0.0.1', '测试下退款', 1, 3, NULL, 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', '{\"id\":\"evt_400190427011658181610003\",\"created\":1556299018,\"livemode\":false,\"type\":\"refund.succeeded\",\"data\":{\"object\":{\"id\":\"re_9Oebj5LKmTmTmT0az9fTqPyP\",\"object\":\"refund\",\"order_no\":\"9Oebj5LKmTmTmT0az9fTqPyP\",\"amount\":1,\"created\":1556299018,\"succeed\":true,\"status\":\"succeeded\",\"time_succeed\":1556299018,\"description\":\"测试下退款\",\"failure_code\":null,\"failure_msg\":null,\"metadata\":{\"refundCode\":\"20190427011657842697\"},\"charge\":\"ch_y1iXjLnDS4G4OO4uT4a5C4W1\",\"charge_order_no\":\"20190427004410165545\",\"transaction_no\":\"201904270116584452782\",\"extra\":{}}},\"object\":\"event\",\"request\":\"iar_v1aTW19O0OO0f1ev5SGqLSK4\",\"pending_webhooks\":0}', 9999, NULL, NULL, NULL, '2019-04-27 01:16:58', '2019-04-27 01:24:38'); +INSERT INTO `refund` VALUES (4, 50, 0x3230313930343237303131393137333731303832, 'POd4RC6a', '135', '127.0.0.1', '测试下退款', 1, 1, NULL, 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', NULL, 9999, NULL, NULL, NULL, '2019-04-27 01:19:17', '2019-04-27 01:19:17'); +INSERT INTO `refund` VALUES (5, 50, 0x3230313930343237303132313030383239363939, 'POd4RC6a', '135', '127.0.0.1', '测试下退款', 1, 1, NULL, 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', NULL, 9999, NULL, NULL, NULL, '2019-04-27 01:21:01', '2019-04-27 01:21:00'); +INSERT INTO `refund` VALUES (6, 50, 0x3230313930343237303132333034363332363038, 'POd4RC6a', '135', '127.0.0.1', '测试下退款', 1, 3, NULL, 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', '{\"id\":\"evt_400190427012305181712903\",\"created\":1556299385,\"livemode\":false,\"type\":\"refund.succeeded\",\"data\":{\"object\":{\"id\":\"re_mTGGWLzD8SePCGWbX19KSSaP\",\"object\":\"refund\",\"order_no\":\"mTGGWLzD8SePCGWbX19KSSaP\",\"amount\":1,\"created\":1556299385,\"succeed\":true,\"status\":\"succeeded\",\"time_succeed\":1556299385,\"description\":\"测试下退款\",\"failure_code\":null,\"failure_msg\":null,\"metadata\":{\"refundCode\":\"20190427012304632608\"},\"charge\":\"ch_y1iXjLnDS4G4OO4uT4a5C4W1\",\"charge_order_no\":\"20190427004410165545\",\"transaction_no\":\"201904270123051790753\",\"extra\":{}}},\"object\":\"event\",\"request\":\"iar_rP80WDL4Ku9KOaXLCOmPWTKC\",\"pending_webhooks\":0}', 9999, NULL, NULL, NULL, '2019-04-27 01:23:05', '2019-04-27 01:23:05'); +INSERT INTO `refund` VALUES (7, 50, 0x3230313930343237303132383032383531333238, 'POd4RC6a', '135', '127.0.0.1', '测试下退款', 1, 3, NULL, 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', '{\"id\":\"evt_400190427012802341778702\",\"created\":1556299682,\"livemode\":false,\"type\":\"refund.succeeded\",\"data\":{\"object\":{\"id\":\"re_nrLmT85aTCyLeDyjv1LmH0e5\",\"object\":\"refund\",\"order_no\":\"nrLmT85aTCyLeDyjv1LmH0e5\",\"amount\":1,\"created\":1556299682,\"succeed\":true,\"status\":\"succeeded\",\"time_succeed\":1556299682,\"description\":\"测试下退款\",\"failure_code\":null,\"failure_msg\":null,\"metadata\":{\"refundCode\":\"20190427012802851328\"},\"charge\":\"ch_y1iXjLnDS4G4OO4uT4a5C4W1\",\"charge_order_no\":\"20190427004410165545\",\"transaction_no\":\"201904270128023511588\",\"extra\":{}}},\"object\":\"event\",\"request\":\"iar_1aXPePubTCm5GW1Ky5DajTyL\",\"pending_webhooks\":0}', 9999, NULL, NULL, NULL, '2019-04-27 01:28:02', '2019-04-27 01:28:03'); +INSERT INTO `refund` VALUES (8, 50, 0x3230313930343237303133343338323832343330, 'POd4RC6a', '135', '127.0.0.1', '测试下退款', 1, 1, NULL, 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', NULL, 9999, NULL, NULL, NULL, '2019-04-27 01:34:39', '2019-04-27 01:34:38'); +INSERT INTO `refund` VALUES (9, 50, 0x3230313930343237303133363031363230353231, 'POd4RC6a', '135', '127.0.0.1', '测试下退款', 1, 1, NULL, 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', NULL, 9999, NULL, NULL, NULL, '2019-04-27 01:36:01', '2019-04-27 01:36:01'); +INSERT INTO `refund` VALUES (10, 50, 0x3230313930343237303133373538363732313237, 'POd4RC6a', '135', '127.0.0.1', '测试下退款', 1, 3, '2019-04-27 01:38:09', 'cn.iocoder.mall.order.api.OrderReturnService#updateRefundSuccess', '{\"id\":\"evt_400190427013758341915902\",\"created\":1556300278,\"livemode\":false,\"type\":\"refund.succeeded\",\"data\":{\"object\":{\"id\":\"re_qLWXT4bnbXTG5u90i14Cmb1G\",\"object\":\"refund\",\"order_no\":\"qLWXT4bnbXTG5u90i14Cmb1G\",\"amount\":1,\"created\":1556300278,\"succeed\":true,\"status\":\"succeeded\",\"time_succeed\":1556300278,\"description\":\"测试下退款\",\"failure_code\":null,\"failure_msg\":null,\"metadata\":{\"refundCode\":\"20190427013758672127\"},\"charge\":\"ch_y1iXjLnDS4G4OO4uT4a5C4W1\",\"charge_order_no\":\"20190427004410165545\",\"transaction_no\":\"201904270137588767780\",\"extra\":{}}},\"object\":\"event\",\"request\":\"iar_fTKCeHLajbjPnb1inDj5mbf5\",\"pending_webhooks\":0}', 9999, NULL, NULL, NULL, '2019-04-27 01:37:58', '2019-04-27 01:38:08'); +COMMIT; + +-- ---------------------------- +-- Table structure for transaction +-- ---------------------------- +DROP TABLE IF EXISTS `transaction`; +CREATE TABLE `transaction` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', + `app_id` varchar(50) NOT NULL DEFAULT '' COMMENT '应用编号', + `create_ip` varchar(50) NOT NULL DEFAULT '' COMMENT '发起交易的 IP', + `order_id` varchar(50) NOT NULL DEFAULT '' COMMENT '业务线的订单编号', + `order_subject` varchar(50) NOT NULL COMMENT '订单商品名', + `order_description` varchar(50) NOT NULL COMMENT '订单商品描述', + `order_memo` varchar(50) DEFAULT NULL COMMENT '订单备注', + `price` int(11) NOT NULL COMMENT '支付金额,单位:分。', + `status` tinyint(4) NOT NULL COMMENT '订单状态', + `expire_time` datetime DEFAULT NULL COMMENT '交易过期时间', + `finish_time` datetime DEFAULT NULL COMMENT '回调业务线完成时间', + `notify_url` varchar(255) NOT NULL DEFAULT '' COMMENT '异步通知地址', + `extension_id` int(11) DEFAULT NULL COMMENT '成功支付的交易拓展编号', + `pay_channel` int(11) DEFAULT NULL COMMENT '支付成功的支付渠道', + `payment_time` datetime DEFAULT NULL COMMENT '第三方支付成功的时间', + `notify_time` datetime DEFAULT NULL COMMENT '收到第三方系统通知的时间', + `trade_no` varchar(50) DEFAULT NULL COMMENT '第三方的流水号', + `refund_total` int(11) DEFAULT '0' COMMENT '退款总金额', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `idx_orderId_appId` (`app_id`,`order_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8mb4 COMMENT='pay_transaction'; + +-- ---------------------------- +-- Records of transaction +-- ---------------------------- +BEGIN; +INSERT INTO `transaction` VALUES (1, 'POd4RC6a', '127.0.0.1', '1', '商品名', '商品描述', '商品备注', 10, 2, '2019-03-13 13:36:32', NULL, 'TODO', 15, 9999, '2019-03-13 17:30:21', '2019-03-13 17:30:22', '1285076745201903130468978518', 4, '2019-03-13 13:36:32', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (2, 'POd4RC6a', '127.0.0.1', '2', '商品名', '商品描述', '商品备注', 10, 2, '2019-03-14 16:08:14', '2019-03-14 22:09:20', 'TODO', 22, 9999, '2019-03-14 16:13:58', '2019-03-14 16:13:58', '1282396661201903145620538794', 4, '2019-03-14 16:08:15', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (3, 'POd4RC6a', '127.0.0.1', '91', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-21 01:46:59', NULL, 'TODO', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-20 23:47:01', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (5, 'POd4RC6a', '127.0.0.1', '92', '农夫山泉', '测试描述', '测试备注', 1000, 1, '2019-04-21 04:13:47', NULL, 'TODO', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 02:13:52', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (8, 'POd4RC6a', '127.0.0.1', '93', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-21 04:15:14', NULL, 'TODO', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 02:15:14', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (9, 'POd4RC6a', '127.0.0.1', '94', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-21 04:15:17', NULL, 'TODO', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 02:15:17', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (10, 'POd4RC6a', '127.0.0.1', '95', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-21 04:17:24', NULL, 'TODO', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 02:17:24', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (11, 'POd4RC6a', '127.0.0.1', '97', 'kafka 实战', '测试描述', '测试备注', 160, 2, '2019-04-21 16:22:49', '2019-04-21 14:25:40', 'cn.iocoder.mall.pay.api.PayDemoService#updatePaySuccess', 37, 9999, '2019-04-21 14:23:04', '2019-04-21 14:23:15', '1214878818201904214744765608', 4, '2019-04-21 14:22:49', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (12, 'POd4RC6a', '127.0.0.1', '98', 'kafka 实战', '测试描述', '测试备注', 160, 2, '2019-04-21 17:01:50', NULL, 'cn.iocoder.mall.pay.api.PayDemoService#updatePaySuccess', 38, 9999, '2019-04-21 15:01:56', '2019-04-21 15:01:57', '1242451315201904216613366351', 4, '2019-04-21 15:01:50', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (13, 'POd4RC6a', '127.0.0.1', '99', 'kafka 实战', '测试描述', '测试备注', 160, 2, '2019-04-21 17:05:21', NULL, 'cn.iocoder.mall.order.api.OrderServicee#updatePaySuccess', 39, 9999, '2019-04-21 15:05:27', '2019-04-21 15:05:28', '1232163188201904219935216641', 4, '2019-04-21 15:05:22', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (14, 'POd4RC6a', '127.0.0.1', '100', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-21 17:06:08', NULL, 'cn.iocoder.mall.order.api.OrderServicee#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 15:06:12', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (17, 'POd4RC6a', '127.0.0.1', '101', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-21 17:06:30', NULL, 'cn.iocoder.mall.order.api.OrderServicee#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 15:06:30', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (18, 'POd4RC6a', '127.0.0.1', '102', '测试商品', '测试描述', '测试备注', 100, 2, '2019-04-21 17:10:39', NULL, 'cn.iocoder.mall.order.api.OrderServicee#updatePaySuccess', 40, 9999, '2019-04-21 15:11:13', '2019-04-21 15:11:14', '1262352890201904219469841110', 4, '2019-04-21 15:10:39', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (19, 'POd4RC6a', '127.0.0.1', '103', '测试商品', '测试描述', '测试备注', 100, 2, '2019-04-21 17:14:17', '2019-04-21 15:21:26', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 41, 9999, '2019-04-21 15:14:22', '2019-04-21 15:14:23', '1248585474201904212137778537', 4, '2019-04-21 15:14:17', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (20, 'POd4RC6a', '127.0.0.1', '104', '测试商品', '测试描述', '测试备注', 100, 2, '2019-04-21 17:19:19', '2019-04-21 15:20:16', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 42, 9999, '2019-04-21 15:19:24', '2019-04-21 15:19:25', '1214125122201904212507946245', 4, '2019-04-21 15:19:19', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (21, 'POd4RC6a', '124.77.208.137', '105', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-21 20:59:24', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 18:59:24', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (22, 'POd4RC6a', '124.77.208.137', '106', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-21 21:08:18', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 19:08:18', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (23, 'POd4RC6a', '124.77.208.137', '107', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-21 21:22:19', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 19:22:19', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (24, 'POd4RC6a', '124.77.208.137', '109', '测试商品', '测试描述', '测试备注', 100, 1, '2019-04-21 21:57:14', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 19:57:14', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (25, 'POd4RC6a', '127.0.0.1', '110', '测试商品', '测试描述', '测试备注', 100, 2, '2019-04-21 22:17:04', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 54, 9999, '2019-04-21 20:17:15', '2019-04-21 20:17:19', '1263683564201904219993710538', 4, '2019-04-21 20:17:04', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (26, 'POd4RC6a', '124.77.208.137', '111', '农夫山泉', '测试描述', '测试备注', 1000, 1, '2019-04-21 22:24:05', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-21 20:24:05', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (27, 'POd4RC6a', '124.77.208.137', '112', '农夫山泉', '测试描述', '测试备注', 1000, 2, '2019-04-21 22:37:45', '2019-04-22 19:32:35', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 63, 9999, '2019-04-22 19:32:30', '2019-04-22 19:32:31', '1244224811201904228521103170', 4, '2019-04-21 20:37:45', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (28, 'POd4RC6a', '124.77.208.137', '113', '农夫山泉', '测试描述', '测试备注', 1000, 2, '2019-04-21 22:51:38', '2019-04-22 19:35:58', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 64, 9999, '2019-04-22 19:35:57', '2019-04-22 19:35:58', '1213285149201904222299145413', 4, '2019-04-21 20:51:38', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (29, 'POd4RC6a', '124.77.208.137', '114', '农夫山泉', '测试描述', '测试备注', 1000, 2, '2019-04-22 00:38:24', '2019-04-21 22:38:34', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 60, 9999, '2019-04-21 22:38:32', '2019-04-21 22:38:33', '1290815313201904211598433725', 4, '2019-04-21 22:38:24', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (30, 'POd4RC6a', '124.77.208.137', '115', 'kafka 实战', '测试描述', '测试备注', 160, 2, '2019-04-22 01:29:21', '2019-04-22 19:36:16', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 65, 9999, '2019-04-22 19:36:15', '2019-04-22 19:36:16', '1245834775201904220995332009', 4, '2019-04-21 23:29:21', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (31, 'POd4RC6a', '127.0.0.1', '118', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-22 19:06:00', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 17:06:00', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (32, 'POd4RC6a', '180.167.213.26', '119', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-22 21:31:53', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 19:31:57', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (33, 'POd4RC6a', '180.167.213.26', '120', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-22 21:31:55', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 19:31:57', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (37, 'POd4RC6a', '180.167.213.26', '121', 'Oracle', '测试描述', '测试备注', 44000, 1, '2019-04-22 21:35:45', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 19:35:45', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (38, 'POd4RC6a', '114.87.158.59', '122', 'kafka 实战', '测试描述', '测试备注', 160, 2, '2019-04-22 22:51:39', '2019-04-22 20:51:47', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 66, 9999, '2019-04-22 20:51:45', '2019-04-22 20:51:46', '1209794355201904229853980782', 4, '2019-04-22 20:51:39', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (39, 'POd4RC6a', '127.0.0.1', '124', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-23 00:19:58', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 22:19:58', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (40, 'POd4RC6a', '127.0.0.1', '125', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-23 00:21:26', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 22:21:26', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (41, 'POd4RC6a', '127.0.0.1', '126', 'kafka 实战', '测试描述', '测试备注', 160, 1, '2019-04-23 00:27:03', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 22:27:03', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (42, 'POd4RC6a', '127.0.0.1', '127', 'kafka 实战', '测试描述', '测试备注', 10, 1, '2019-04-23 00:28:21', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 22:28:21', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (43, 'POd4RC6a', '127.0.0.1', '128', 'kafka 实战', '测试描述', '测试备注', 10, 1, '2019-04-23 00:29:16', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 22:29:16', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (44, 'POd4RC6a', '127.0.0.1', '129', 'kafka 实战', '测试描述', '测试备注', 10, 1, '2019-04-23 00:37:18', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', NULL, NULL, NULL, NULL, NULL, 4, '2019-04-22 22:37:19', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (45, 'POd4RC6a', '127.0.0.1', '130', 'kafka 实战', '测试描述', '测试备注', 10, 2, '2019-04-23 00:37:23', '2019-04-22 22:37:27', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 68, 9999, '2019-04-22 22:37:25', '2019-04-22 22:37:26', '1257829370201904225516383887', 4, '2019-04-22 22:37:23', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (46, 'POd4RC6a', '124.77.208.137', '131', 'kafka 实战', '测试描述', '测试备注', 10, 2, '2019-04-23 02:22:22', '2019-04-23 00:22:28', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 69, 9999, '2019-04-23 00:22:27', '2019-04-23 00:22:27', '1295079419201904238932409449', 4, '2019-04-23 00:22:22', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (47, 'POd4RC6a', '114.87.158.59', '132', 'kafka 实战', '测试描述', '测试备注', 10, 2, '2019-04-23 12:03:50', '2019-04-23 10:03:55', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 70, 9999, '2019-04-23 10:03:53', '2019-04-23 10:03:54', '1244341374201904238178164740', 4, '2019-04-23 10:03:50', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (48, 'POd4RC6a', '127.0.0.1', '133', 'Kafka 书籍汇总', '测试描述', '测试备注', 10000, 2, '2019-04-27 02:02:20', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 77, 9999, '2019-04-27 00:39:25', '2019-04-27 00:39:26', '1298384458201904270239520896', 4, '2019-04-27 00:02:20', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (49, 'POd4RC6a', '127.0.0.1', '134', 'Kafka 书籍汇总', '测试描述', '测试备注', 10000, 2, '2019-04-27 02:43:06', NULL, 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 78, 9999, '2019-04-27 00:43:09', '2019-04-27 00:43:10', '1230418317201904273841336004', 4, '2019-04-27 00:43:06', '2019-04-27 01:37:59'); +INSERT INTO `transaction` VALUES (50, 'POd4RC6a', '127.0.0.1', '135', 'Kafka 书籍汇总', '测试描述', '测试备注', 10000, 2, '2019-04-27 02:44:09', '2019-04-27 00:44:12', 'cn.iocoder.mall.order.api.OrderService#updatePaySuccess', 79, 9999, '2019-04-27 00:44:11', '2019-04-27 00:44:12', '1267784917201904270679599868', 4, '2019-04-27 00:44:09', '2019-04-27 01:37:59'); +COMMIT; + +-- ---------------------------- +-- Table structure for transaction_extension +-- ---------------------------- +DROP TABLE IF EXISTS `transaction_extension`; +CREATE TABLE `transaction_extension` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', + `transaction_id` int(11) NOT NULL COMMENT '交易编号}', + `pay_channel` int(11) NOT NULL COMMENT '选择的支付渠道', + `transaction_code` varchar(50) NOT NULL COMMENT '生成传输给第三方的订单号', + `extension_data` varchar(1024) DEFAULT NULL COMMENT '扩展内容', + `create_ip` varchar(50) NOT NULL COMMENT '发起交易的 IP', + `status` tinyint(4) NOT NULL COMMENT '状态', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`), + KEY `idx_transaction_code` (`transaction_code`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8mb4 COMMENT='transaction_extension'; + +-- ---------------------------- +-- Records of transaction_extension +-- ---------------------------- +BEGIN; +INSERT INTO `transaction_extension` VALUES (1, 1, 9999, '20190313143449394595', NULL, '127.0.0.1', 1, '2019-03-13 14:34:49', '2019-03-13 14:34:49'); +INSERT INTO `transaction_extension` VALUES (2, 1, 9999, '20190313143626850384', NULL, '127.0.0.1', 1, '2019-03-13 14:36:26', '2019-03-13 14:36:26'); +INSERT INTO `transaction_extension` VALUES (3, 1, 9999, '20190313143709988585', NULL, '127.0.0.1', 1, '2019-03-13 14:37:09', '2019-03-13 14:37:09'); +INSERT INTO `transaction_extension` VALUES (4, 1, 9999, '20190313170637270597', NULL, '127.0.0.1', 1, '2019-03-13 17:06:37', '2019-03-13 17:06:37'); +INSERT INTO `transaction_extension` VALUES (5, 1, 9999, '20190313171109616337', NULL, '127.0.0.1', 1, '2019-03-13 17:11:09', '2019-03-13 17:11:09'); +INSERT INTO `transaction_extension` VALUES (6, 1, 9999, '20190313171241800588', NULL, '127.0.0.1', 1, '2019-03-13 17:12:41', '2019-03-13 17:12:41'); +INSERT INTO `transaction_extension` VALUES (7, 1, 9999, '20190313171503236852', NULL, '127.0.0.1', 1, '2019-03-13 17:15:03', '2019-03-13 17:15:03'); +INSERT INTO `transaction_extension` VALUES (8, 1, 9999, '20190313171700279790', NULL, '127.0.0.1', 1, '2019-03-13 17:17:00', '2019-03-13 17:17:00'); +INSERT INTO `transaction_extension` VALUES (9, 1, 9999, '20190313171824113222', NULL, '127.0.0.1', 1, '2019-03-13 17:18:24', '2019-03-13 17:18:24'); +INSERT INTO `transaction_extension` VALUES (10, 1, 9999, '20190313171953205276', NULL, '127.0.0.1', 1, '2019-03-13 17:19:53', '2019-03-13 17:19:53'); +INSERT INTO `transaction_extension` VALUES (11, 1, 9999, '20190313172111877048', NULL, '127.0.0.1', 1, '2019-03-13 17:21:11', '2019-03-13 17:21:11'); +INSERT INTO `transaction_extension` VALUES (12, 1, 9999, '20190313172339490890', '{\"id\":\"evt_400190313172341499184603\",\"created\":1552469021,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_OunLWDSKS8KO5ezfb1i9uLSC\",\"object\":\"charge\",\"created\":1552469020,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190313172339490890\",\"client_ip\":\"127.0.0.1\",\"amount\":10,\"amount_settle\":10,\"currency\":\"cny\",\"subject\":\"商品名\",\"body\":\"商品描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1552469021,\"time_expire\":1552476220,\"time_settle\":null,\"transaction_no\":\"1259319182201903139181631168\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_OunLWDSKS8KO5ezfb1i9uLSC/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"商品备注\"}},\"object\":\"event\",\"request\":\"iar_4WLiHCajnjbTrXbb1OXnjnPG\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-03-13 17:23:39', '2019-03-13 17:23:41'); +INSERT INTO `transaction_extension` VALUES (13, 1, 9999, '20190313172431242571', NULL, '127.0.0.1', 1, '2019-03-13 17:24:31', '2019-03-13 17:24:31'); +INSERT INTO `transaction_extension` VALUES (14, 1, 9999, '20190313172707704111', NULL, '127.0.0.1', 1, '2019-03-13 17:27:07', '2019-03-13 17:27:07'); +INSERT INTO `transaction_extension` VALUES (15, 1, 9999, '20190313173019968025', '{\"id\":\"evt_400190313173021499408903\",\"created\":1552469421,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_GmT4W94uvPOO4q9ibDa1Sm5O\",\"object\":\"charge\",\"created\":1552469419,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190313173019968025\",\"client_ip\":\"127.0.0.1\",\"amount\":10,\"amount_settle\":10,\"currency\":\"cny\",\"subject\":\"商品名\",\"body\":\"商品描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1552469421,\"time_expire\":1552476619,\"time_settle\":null,\"transaction_no\":\"1285076745201903130468978518\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_GmT4W94uvPOO4q9ibDa1Sm5O/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"商品备注\"}},\"object\":\"event\",\"request\":\"iar_vfHyL0r58yvPrH0e9C084GGO\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-03-13 17:30:19', '2019-03-13 17:30:21'); +INSERT INTO `transaction_extension` VALUES (16, 2, 9999, '20190314160852733791', NULL, '127.0.0.1', 1, '2019-03-14 16:08:52', '2019-03-14 16:08:52'); +INSERT INTO `transaction_extension` VALUES (17, 2, 9999, '20190314161024311302', NULL, '127.0.0.1', 1, '2019-03-14 16:10:24', '2019-03-14 16:10:24'); +INSERT INTO `transaction_extension` VALUES (18, 2, 9999, '20190314161232723387', NULL, '127.0.0.1', 1, '2019-03-14 16:12:32', '2019-03-14 16:12:32'); +INSERT INTO `transaction_extension` VALUES (19, 2, 9999, '20190314161232883479', NULL, '127.0.0.1', 1, '2019-03-14 16:12:32', '2019-03-14 16:12:32'); +INSERT INTO `transaction_extension` VALUES (20, 2, 9999, '20190314161232705499', NULL, '127.0.0.1', 1, '2019-03-14 16:12:32', '2019-03-14 16:12:32'); +INSERT INTO `transaction_extension` VALUES (21, 2, 9999, '20190314161232832483', NULL, '127.0.0.1', 1, '2019-03-14 16:12:32', '2019-03-14 16:12:32'); +INSERT INTO `transaction_extension` VALUES (22, 2, 9999, '20190314161353474808', '{\"id\":\"evt_400190314161358532476503\",\"created\":1552551238,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_GK8Cm5vj1m1OK0evD4DKWbzL\",\"object\":\"charge\",\"created\":1552551233,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190314161353474808\",\"client_ip\":\"127.0.0.1\",\"amount\":10,\"amount_settle\":10,\"currency\":\"cny\",\"subject\":\"商品名\",\"body\":\"商品描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1552551238,\"time_expire\":1552558433,\"time_settle\":null,\"transaction_no\":\"1282396661201903145620538794\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_GK8Cm5vj1m1OK0evD4DKWbzL/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"商品备注\"}},\"object\":\"event\",\"request\":\"iar_jvbj5KSS4Sy1KmzHGGOaPe5S\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-03-14 16:13:53', '2019-03-14 16:13:58'); +INSERT INTO `transaction_extension` VALUES (23, 3, 9999, '20190421014711249244', NULL, '127.0.0.1', 1, '2019-04-21 01:47:11', '2019-04-21 01:47:11'); +INSERT INTO `transaction_extension` VALUES (24, 3, 9999, '20190421014735167627', NULL, '127.0.0.1', 1, '2019-04-21 01:47:35', '2019-04-21 01:47:35'); +INSERT INTO `transaction_extension` VALUES (25, 3, 9999, '20190421014758838219', NULL, '127.0.0.1', 1, '2019-04-21 01:47:58', '2019-04-21 01:47:58'); +INSERT INTO `transaction_extension` VALUES (26, 3, 9999, '20190421014819399499', NULL, '127.0.0.1', 1, '2019-04-21 01:48:19', '2019-04-21 01:48:19'); +INSERT INTO `transaction_extension` VALUES (27, 3, 9999, '20190421015427658470', NULL, '127.0.0.1', 1, '2019-04-21 01:54:27', '2019-04-21 01:54:27'); +INSERT INTO `transaction_extension` VALUES (28, 3, 9999, '20190421015436543822', NULL, '127.0.0.1', 1, '2019-04-21 01:54:37', '2019-04-21 01:54:37'); +INSERT INTO `transaction_extension` VALUES (29, 3, 9999, '20190421015615102559', NULL, '127.0.0.1', 1, '2019-04-21 01:56:15', '2019-04-21 01:56:15'); +INSERT INTO `transaction_extension` VALUES (30, 3, 9999, '20190421015623565992', NULL, '127.0.0.1', 1, '2019-04-21 01:56:23', '2019-04-21 01:56:23'); +INSERT INTO `transaction_extension` VALUES (31, 3, 9999, '20190421015811819687', NULL, '127.0.0.1', 1, '2019-04-21 01:58:11', '2019-04-21 01:58:11'); +INSERT INTO `transaction_extension` VALUES (32, 3, 9999, '20190421015910105184', NULL, '127.0.0.1', 1, '2019-04-21 01:59:10', '2019-04-21 01:59:10'); +INSERT INTO `transaction_extension` VALUES (33, 3, 9999, '20190421015930928739', NULL, '127.0.0.1', 1, '2019-04-21 01:59:30', '2019-04-21 01:59:30'); +INSERT INTO `transaction_extension` VALUES (34, 3, 9999, '20190421020334246354', NULL, '127.0.0.1', 1, '2019-04-21 02:03:34', '2019-04-21 02:03:34'); +INSERT INTO `transaction_extension` VALUES (35, 3, 9999, '20190421021251245269', NULL, '127.0.0.1', 1, '2019-04-21 02:12:51', '2019-04-21 02:12:51'); +INSERT INTO `transaction_extension` VALUES (36, 10, 9999, '20190421021728641632', NULL, '127.0.0.1', 1, '2019-04-21 02:17:28', '2019-04-21 02:17:28'); +INSERT INTO `transaction_extension` VALUES (37, 11, 9999, '20190421142300962227', '{\"id\":\"evt_400190421142304143197602\",\"created\":1555827784,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_4qTib5zrHePSWzPyv5mjTunT\",\"object\":\"charge\",\"created\":1555827780,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190421142300962227\",\"client_ip\":\"127.0.0.1\",\"amount\":160,\"amount_settle\":160,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555827784,\"time_expire\":1555834980,\"time_settle\":null,\"transaction_no\":\"1214878818201904214744765608\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_4qTib5zrHePSWzPyv5mjTunT/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_XX184OWrHuvLm1uT84KSm1a5\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-21 14:23:00', '2019-04-21 14:23:11'); +INSERT INTO `transaction_extension` VALUES (38, 12, 9999, '20190421150154263163', '{\"id\":\"evt_400190421150156144555702\",\"created\":1555830116,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_0y9i9SGaHyX9u14mT0m9qb58\",\"object\":\"charge\",\"created\":1555830114,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190421150154263163\",\"client_ip\":\"127.0.0.1\",\"amount\":160,\"amount_settle\":160,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555830116,\"time_expire\":1555837314,\"time_settle\":null,\"transaction_no\":\"1242451315201904216613366351\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_0y9i9SGaHyX9u14mT0m9qb58/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_m5ifTOGCWjzTP8mbn5WvfzfD\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-21 15:01:54', '2019-04-21 15:01:57'); +INSERT INTO `transaction_extension` VALUES (39, 13, 9999, '20190421150525625103', '{\"id\":\"evt_400190421150527957166903\",\"created\":1555830327,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_ePGqLSWLCqjHS8GKuPan1Gi9\",\"object\":\"charge\",\"created\":1555830326,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190421150525625103\",\"client_ip\":\"127.0.0.1\",\"amount\":160,\"amount_settle\":160,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555830327,\"time_expire\":1555837526,\"time_settle\":null,\"transaction_no\":\"1232163188201904219935216641\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_ePGqLSWLCqjHS8GKuPan1Gi9/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_TOmXv11yznr9X1q9SSvbvrH4\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-21 15:05:25', '2019-04-21 15:05:28'); +INSERT INTO `transaction_extension` VALUES (40, 18, 9999, '20190421151112297666', '{\"id\":\"evt_400190421151113957401603\",\"created\":1555830673,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_KCWL84nffXX5yjTK48eXD8a1\",\"object\":\"charge\",\"created\":1555830672,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190421151112297666\",\"client_ip\":\"127.0.0.1\",\"amount\":100,\"amount_settle\":100,\"currency\":\"cny\",\"subject\":\"测试商品\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555830673,\"time_expire\":1555837872,\"time_settle\":null,\"transaction_no\":\"1262352890201904219469841110\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_KCWL84nffXX5yjTK48eXD8a1/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_COirb1GefXvTD40aH0ufDGi9\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-21 15:11:12', '2019-04-21 15:11:14'); +INSERT INTO `transaction_extension` VALUES (41, 19, 9999, '20190421151421784758', '{\"id\":\"evt_400190421151423144979702\",\"created\":1555830862,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_Tqj9uT1mHm144CyvH8rP4y90\",\"object\":\"charge\",\"created\":1555830861,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190421151421784758\",\"client_ip\":\"127.0.0.1\",\"amount\":100,\"amount_settle\":100,\"currency\":\"cny\",\"subject\":\"测试商品\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555830862,\"time_expire\":1555838061,\"time_settle\":null,\"transaction_no\":\"1248585474201904212137778537\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_Tqj9uT1mHm144CyvH8rP4y90/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_DOefD0inTiz5bbnvv11i1O04\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-21 15:14:21', '2019-04-21 15:14:23'); +INSERT INTO `transaction_extension` VALUES (42, 20, 9999, '20190421151923205372', '{\"id\":\"evt_400190421151924957716203\",\"created\":1555831164,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_HOuvfD4SCCCCzfHOuHzPqbrP\",\"object\":\"charge\",\"created\":1555831163,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190421151923205372\",\"client_ip\":\"127.0.0.1\",\"amount\":100,\"amount_settle\":100,\"currency\":\"cny\",\"subject\":\"测试商品\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555831164,\"time_expire\":1555838363,\"time_settle\":null,\"transaction_no\":\"1214125122201904212507946245\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_HOuvfD4SCCCCzfHOuHzPqbrP/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_mr1G4Gy1ubbDDGWPGOibXTO8\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-21 15:19:23', '2019-04-21 15:19:25'); +INSERT INTO `transaction_extension` VALUES (43, 21, 9999, '20190421185933879667', NULL, '124.77.208.137', 1, '2019-04-21 18:59:33', '2019-04-21 18:59:33'); +INSERT INTO `transaction_extension` VALUES (44, 21, 9999, '20190421190040275638', NULL, '124.77.208.137', 1, '2019-04-21 19:00:40', '2019-04-21 19:00:40'); +INSERT INTO `transaction_extension` VALUES (45, 21, 9999, '20190421190049129322', NULL, '124.77.208.137', 1, '2019-04-21 19:00:49', '2019-04-21 19:00:49'); +INSERT INTO `transaction_extension` VALUES (46, 21, 9999, '20190421190148386359', NULL, '124.77.208.137', 1, '2019-04-21 19:01:48', '2019-04-21 19:01:48'); +INSERT INTO `transaction_extension` VALUES (47, 21, 9999, '20190421190156394078', NULL, '124.77.208.137', 1, '2019-04-21 19:01:56', '2019-04-21 19:01:56'); +INSERT INTO `transaction_extension` VALUES (48, 21, 9999, '20190421190202674025', NULL, '124.77.208.137', 1, '2019-04-21 19:02:02', '2019-04-21 19:02:02'); +INSERT INTO `transaction_extension` VALUES (49, 21, 9999, '20190421190325916992', NULL, '124.77.208.137', 1, '2019-04-21 19:03:25', '2019-04-21 19:03:25'); +INSERT INTO `transaction_extension` VALUES (50, 22, 9999, '20190421190820811877', NULL, '124.77.208.137', 1, '2019-04-21 19:08:20', '2019-04-21 19:08:20'); +INSERT INTO `transaction_extension` VALUES (51, 23, 9999, '20190421192223484940', NULL, '124.77.208.137', 1, '2019-04-21 19:22:23', '2019-04-21 19:22:23'); +INSERT INTO `transaction_extension` VALUES (52, 24, 9999, '20190421195724705545', NULL, '124.77.208.137', 1, '2019-04-21 19:57:24', '2019-04-21 19:57:24'); +INSERT INTO `transaction_extension` VALUES (53, 24, 9999, '20190421200329944775', NULL, '124.77.208.137', 1, '2019-04-21 20:03:29', '2019-04-21 20:03:29'); +INSERT INTO `transaction_extension` VALUES (54, 25, 9999, '20190421201713787629', '{\"id\":\"evt_400190421201715971291603\",\"created\":1555849035,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_90Smv5KaXXHGyDynDOzDe9eD\",\"object\":\"charge\",\"created\":1555849034,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190421201713787629\",\"client_ip\":\"127.0.0.1\",\"amount\":100,\"amount_settle\":100,\"currency\":\"cny\",\"subject\":\"测试商品\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555849035,\"time_expire\":1555856234,\"time_settle\":null,\"transaction_no\":\"1263683564201904219993710538\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_90Smv5KaXXHGyDynDOzDe9eD/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_LCS8uDPajzP8v94yfDKurfvP\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-21 20:17:13', '2019-04-21 20:17:19'); +INSERT INTO `transaction_extension` VALUES (55, 24, 9999, '20190421201835497879', NULL, '124.77.208.137', 1, '2019-04-21 20:18:35', '2019-04-21 20:18:35'); +INSERT INTO `transaction_extension` VALUES (56, 24, 9999, '20190421202220830224', NULL, '124.77.208.137', 1, '2019-04-21 20:22:20', '2019-04-21 20:22:20'); +INSERT INTO `transaction_extension` VALUES (57, 26, 9999, '20190421202410194081', NULL, '124.77.208.137', 1, '2019-04-21 20:24:10', '2019-04-21 20:24:10'); +INSERT INTO `transaction_extension` VALUES (58, 27, 9999, '20190421203748920380', NULL, '124.77.208.137', 1, '2019-04-21 20:37:48', '2019-04-21 20:37:48'); +INSERT INTO `transaction_extension` VALUES (59, 28, 9999, '20190421205144641928', NULL, '124.77.208.137', 1, '2019-04-21 20:51:44', '2019-04-21 20:51:44'); +INSERT INTO `transaction_extension` VALUES (60, 29, 9999, '20190421223828915607', '{\"id\":\"evt_400190421223832162174102\",\"created\":1555857512,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_1innTSWL88C4Lybvj5qDWn5G\",\"object\":\"charge\",\"created\":1555857510,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190421223828915607\",\"client_ip\":\"124.77.208.137\",\"amount\":1000,\"amount_settle\":1000,\"currency\":\"cny\",\"subject\":\"农夫山泉\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555857512,\"time_expire\":1555864710,\"time_settle\":null,\"transaction_no\":\"1290815313201904211598433725\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_1innTSWL88C4Lybvj5qDWn5G/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_Cy5eXDK8SqDOn9Siv1n5Cm5K\",\"pending_webhooks\":0}', '124.77.208.137', 2, '2019-04-21 22:38:28', '2019-04-21 22:38:32'); +INSERT INTO `transaction_extension` VALUES (61, 27, 9999, '20190422193220947110', NULL, '180.167.213.26', 1, '2019-04-22 19:32:20', '2019-04-22 19:32:20'); +INSERT INTO `transaction_extension` VALUES (62, 27, 9999, '20190422193220963179', NULL, '180.167.213.26', 1, '2019-04-22 19:32:20', '2019-04-22 19:32:20'); +INSERT INTO `transaction_extension` VALUES (63, 27, 9999, '20190422193228831286', '{\"id\":\"evt_400190422193230188658202\",\"created\":1555932750,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_88KOiLK0SCKC9yjDyHbXTGi9\",\"object\":\"charge\",\"created\":1555932748,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190422193228831286\",\"client_ip\":\"180.167.213.26\",\"amount\":1000,\"amount_settle\":1000,\"currency\":\"cny\",\"subject\":\"农夫山泉\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555932750,\"time_expire\":1555939948,\"time_settle\":null,\"transaction_no\":\"1244224811201904228521103170\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_88KOiLK0SCKC9yjDyHbXTGi9/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_OivrT0mDC0S0ebH084WfDurH\",\"pending_webhooks\":0}', '180.167.213.26', 2, '2019-04-22 19:32:28', '2019-04-22 19:32:30'); +INSERT INTO `transaction_extension` VALUES (64, 28, 9999, '20190422193555407790', '{\"id\":\"evt_400190422193557007553903\",\"created\":1555932957,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_bnHaj9OCCmHO0COi10PC84yH\",\"object\":\"charge\",\"created\":1555932956,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190422193555407790\",\"client_ip\":\"180.167.213.26\",\"amount\":1000,\"amount_settle\":1000,\"currency\":\"cny\",\"subject\":\"农夫山泉\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555932957,\"time_expire\":1555940156,\"time_settle\":null,\"transaction_no\":\"1213285149201904222299145413\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_bnHaj9OCCmHO0COi10PC84yH/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_DmDWfDTKm5G48S4e1CzrLCqL\",\"pending_webhooks\":0}', '180.167.213.26', 2, '2019-04-22 19:35:55', '2019-04-22 19:35:57'); +INSERT INTO `transaction_extension` VALUES (65, 30, 9999, '20190422193613519208', '{\"id\":\"evt_400190422193615007567003\",\"created\":1555932975,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_Wr5ibDPO8CSCyv58OKzvz5SS\",\"object\":\"charge\",\"created\":1555932973,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190422193613519208\",\"client_ip\":\"180.167.213.26\",\"amount\":160,\"amount_settle\":160,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555932975,\"time_expire\":1555940173,\"time_settle\":null,\"transaction_no\":\"1245834775201904220995332009\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_Wr5ibDPO8CSCyv58OKzvz5SS/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_f5efrHa948CSrXnfHSSe5aDC\",\"pending_webhooks\":0}', '180.167.213.26', 2, '2019-04-22 19:36:13', '2019-04-22 19:36:15'); +INSERT INTO `transaction_extension` VALUES (66, 38, 9999, '20190422205144153198', '{\"id\":\"evt_400190422205145191862702\",\"created\":1555937505,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_94GyH4ePiTKOurLmzPjvHyfD\",\"object\":\"charge\",\"created\":1555937504,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190422205144153198\",\"client_ip\":\"114.87.158.59\",\"amount\":160,\"amount_settle\":160,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555937505,\"time_expire\":1555944704,\"time_settle\":null,\"transaction_no\":\"1209794355201904229853980782\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_94GyH4ePiTKOurLmzPjvHyfD/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_ujPebL4uXzfDDKyvP8OinDaD\",\"pending_webhooks\":0}', '114.87.158.59', 2, '2019-04-22 20:51:44', '2019-04-22 20:51:46'); +INSERT INTO `transaction_extension` VALUES (67, 43, 9999, '20190422222919577859', NULL, '127.0.0.1', 1, '2019-04-22 22:29:19', '2019-04-22 22:29:19'); +INSERT INTO `transaction_extension` VALUES (68, 45, 9999, '20190422223724521213', '{\"id\":\"evt_400190422223726196045502\",\"created\":1555943845,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_vfXjrLzfvzv1D8aD0GvHW5mH\",\"object\":\"charge\",\"created\":1555943844,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190422223724521213\",\"client_ip\":\"127.0.0.1\",\"amount\":10,\"amount_settle\":10,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555943845,\"time_expire\":1555951044,\"time_settle\":null,\"transaction_no\":\"1257829370201904225516383887\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_vfXjrLzfvzv1D8aD0GvHW5mH/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_1CCSmHmjnT4San5yD44SmDiH\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-22 22:37:24', '2019-04-22 22:37:26'); +INSERT INTO `transaction_extension` VALUES (69, 46, 9999, '20190423002223556779', '{\"id\":\"evt_400190423002227198896602\",\"created\":1555950147,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_ifn1y5bDqjL0rbTe54eLazPC\",\"object\":\"charge\",\"created\":1555950144,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190423002223556779\",\"client_ip\":\"124.77.208.137\",\"amount\":10,\"amount_settle\":10,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555950147,\"time_expire\":1555957344,\"time_settle\":null,\"transaction_no\":\"1295079419201904238932409449\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_ifn1y5bDqjL0rbTe54eLazPC/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_LKKun1S4KGS4L4Cmv980iznL\",\"pending_webhooks\":0}', '124.77.208.137', 2, '2019-04-23 00:22:23', '2019-04-23 00:22:27'); +INSERT INTO `transaction_extension` VALUES (70, 47, 9999, '20190423100352158401', '{\"id\":\"evt_400190423100354205607502\",\"created\":1555985033,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_DCGyXTmDGuHKb1C0yTzjPOGC\",\"object\":\"charge\",\"created\":1555985032,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190423100352158401\",\"client_ip\":\"114.87.158.59\",\"amount\":10,\"amount_settle\":10,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555985033,\"time_expire\":1555992232,\"time_settle\":null,\"transaction_no\":\"1244341374201904238178164740\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_DCGyXTmDGuHKb1C0yTzjPOGC/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_4e9mPODW5ujPqLen5OOmvL8S\",\"pending_webhooks\":0}', '114.87.158.59', 2, '2019-04-23 10:03:52', '2019-04-23 10:03:54'); +INSERT INTO `transaction_extension` VALUES (71, 48, 9999, '20190427000222965600', NULL, '127.0.0.1', 1, '2019-04-27 00:02:22', '2019-04-27 00:02:22'); +INSERT INTO `transaction_extension` VALUES (72, 48, 9999, '20190427001401428599', NULL, '127.0.0.1', 1, '2019-04-27 00:14:01', '2019-04-27 00:14:01'); +INSERT INTO `transaction_extension` VALUES (73, 48, 9999, '20190427002729520230', NULL, '127.0.0.1', 1, '2019-04-27 00:27:29', '2019-04-27 00:27:29'); +INSERT INTO `transaction_extension` VALUES (74, 48, 9999, '20190427003029372252', NULL, '127.0.0.1', 1, '2019-04-27 00:30:29', '2019-04-27 00:30:29'); +INSERT INTO `transaction_extension` VALUES (75, 48, 9999, '20190427003306933611', NULL, '127.0.0.1', 1, '2019-04-27 00:33:06', '2019-04-27 00:33:06'); +INSERT INTO `transaction_extension` VALUES (76, 48, 9999, '20190427003703859860', NULL, '127.0.0.1', 1, '2019-04-27 00:37:03', '2019-04-27 00:37:03'); +INSERT INTO `transaction_extension` VALUES (77, 48, 9999, '20190427003923419775', '{\"id\":\"evt_400190427003925180938603\",\"created\":1556296765,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_CGiLSC1OSubPOGSS0Ofv9urT\",\"object\":\"charge\",\"created\":1556296763,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190427003923419775\",\"client_ip\":\"127.0.0.1\",\"amount\":10000,\"amount_settle\":10000,\"currency\":\"cny\",\"subject\":\"Kafka 书籍汇总\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1556296765,\"time_expire\":1556303963,\"time_settle\":null,\"transaction_no\":\"1298384458201904270239520896\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_CGiLSC1OSubPOGSS0Ofv9urT/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_Lu14aDujv5i9OKyTa9jDGKm9\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-27 00:39:23', '2019-04-27 00:39:25'); +INSERT INTO `transaction_extension` VALUES (78, 49, 9999, '20190427004307995529', '{\"id\":\"evt_400190427004309341045702\",\"created\":1556296989,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_ebH8u5a9mzL80qDqzP8qPybP\",\"object\":\"charge\",\"created\":1556296988,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190427004307995529\",\"client_ip\":\"127.0.0.1\",\"amount\":10000,\"amount_settle\":10000,\"currency\":\"cny\",\"subject\":\"Kafka 书籍汇总\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1556296989,\"time_expire\":1556304188,\"time_settle\":null,\"transaction_no\":\"1230418317201904273841336004\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_ebH8u5a9mzL80qDqzP8qPybP/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_GebHeP1effjL0OSOqDzLurHG\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-27 00:43:07', '2019-04-27 00:43:10'); +INSERT INTO `transaction_extension` VALUES (79, 50, 9999, '20190427004410165545', '{\"id\":\"evt_400190427004411341065302\",\"created\":1556297051,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_y1iXjLnDS4G4OO4uT4a5C4W1\",\"object\":\"charge\",\"created\":1556297050,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190427004410165545\",\"client_ip\":\"127.0.0.1\",\"amount\":10000,\"amount_settle\":10000,\"currency\":\"cny\",\"subject\":\"Kafka 书籍汇总\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1556297051,\"time_expire\":1556304250,\"time_settle\":null,\"transaction_no\":\"1267784917201904270679599868\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_y1iXjLnDS4G4OO4uT4a5C4W1/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_0GW50C9mfnjLLuX5WDWXHGmD\",\"pending_webhooks\":0}', '127.0.0.1', 2, '2019-04-27 00:44:10', '2019-04-27 00:44:12'); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/docs/sql/mall_product.sql b/docs/sql/mall_product.sql new file mode 100644 index 00000000..ee927b1b --- /dev/null +++ b/docs/sql/mall_product.sql @@ -0,0 +1,106 @@ +/* + Navicat Premium Data Transfer + + Source Server : mall_mysql + Source Server Type : MySQL + Source Server Version : 50643 + Source Host : 180.167.213.26:13306 + Source Schema : mall_product + + Target Server Type : MySQL + Target Server Version : 50643 + File Encoding : 65001 + + Date: 28/04/2019 18:05:35 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for product_attr +-- ---------------------------- +DROP TABLE IF EXISTS `product_attr`; +CREATE TABLE `product_attr` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '规格编号', + `name` varchar(50) NOT NULL DEFAULT '' COMMENT '名称', + `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态\n *\n * 1-开启\n * 2-禁用', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COMMENT='product_attr'; + +-- ---------------------------- +-- Table structure for product_attr_value +-- ---------------------------- +DROP TABLE IF EXISTS `product_attr_value`; +CREATE TABLE `product_attr_value` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '规格编号', + `attr_id` int(11) DEFAULT NULL COMMENT '规格编号', + `name` varchar(50) NOT NULL DEFAULT '' COMMENT '名称', + `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态\n *\n * 1-开启\n * 2-禁用', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COMMENT='product_attr'; + +-- ---------------------------- +-- Table structure for product_category +-- ---------------------------- +DROP TABLE IF EXISTS `product_category`; +CREATE TABLE `product_category` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '分类编号', + `pid` int(11) DEFAULT NULL COMMENT '父分类编号', + `name` varchar(16) DEFAULT NULL COMMENT '名称', + `description` varchar(255) DEFAULT NULL, + `pic_url` varchar(255) DEFAULT NULL, + `sort` smallint(4) DEFAULT NULL, + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `status` tinyint(4) DEFAULT NULL COMMENT '状态', + `deleted` bit(1) DEFAULT b'1' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=793 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Table structure for product_sku +-- ---------------------------- +DROP TABLE IF EXISTS `product_sku`; +CREATE TABLE `product_sku` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'sku 编号', + `spu_id` int(11) NOT NULL DEFAULT '-1' COMMENT '商品编号', + `status` int(11) NOT NULL DEFAULT '-1' COMMENT '状态\n *\n * 1-正常\n * 2-禁用', + `pic_url` varchar(50) DEFAULT '' COMMENT '图片地址', + `attrs` varchar(50) NOT NULL DEFAULT '' COMMENT '规格值({@link ProductAttrDO})数组\n *\n * 数组,以逗号分隔', + `price` int(11) NOT NULL DEFAULT '-1' COMMENT '价格,单位:分', + `quantity` int(11) NOT NULL DEFAULT '-1' COMMENT '库存数量', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8mb4 COMMENT='product_sku'; + +-- ---------------------------- +-- Table structure for product_spu +-- ---------------------------- +DROP TABLE IF EXISTS `product_spu`; +CREATE TABLE `product_spu` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'SPU 编号', + `name` varchar(50) NOT NULL DEFAULT '' COMMENT 'SPU 名字', + `sell_point` varchar(50) NOT NULL DEFAULT '' COMMENT '卖点', + `description` text NOT NULL COMMENT '描述', + `cid` int(11) NOT NULL DEFAULT '-1' COMMENT '分类编号', + `pic_urls` varchar(1024) NOT NULL DEFAULT '' COMMENT '商品主图地址\n *\n * 数组,以逗号分隔\n *\n * 建议尺寸:800*800像素,你可以拖拽图片调整顺序,最多上传15张', + `visible` tinyint(3) NOT NULL DEFAULT '0' COMMENT '是否上架商品(是否可见)。\n *\n * true 为已上架\n * false 为已下架', + `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序字段', + `price` int(11) DEFAULT NULL COMMENT '价格', + `quantity` int(11) DEFAULT NULL COMMENT '库存数量', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8mb4 COMMENT='product_spu'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/docs/sql/mall_promotion.sql b/docs/sql/mall_promotion.sql new file mode 100644 index 00000000..abeefaee --- /dev/null +++ b/docs/sql/mall_promotion.sql @@ -0,0 +1,130 @@ +/* + Navicat Premium Data Transfer + + Source Server : mall_mysql + Source Server Type : MySQL + Source Server Version : 50643 + Source Host : 180.167.213.26:13306 + Source Schema : mall_promotion + + Target Server Type : MySQL + Target Server Version : 50643 + File Encoding : 65001 + + Date: 28/04/2019 18:05:45 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for banner +-- ---------------------------- +DROP TABLE IF EXISTS `banner`; +CREATE TABLE `banner` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', + `title` varchar(32) NOT NULL COMMENT '标题', + `url` varchar(255) NOT NULL COMMENT '跳转链接', + `pic_url` varchar(255) NOT NULL COMMENT '跳转链接', + `sort` int(11) NOT NULL COMMENT '排序', + `status` tinyint(1) NOT NULL COMMENT '状态', + `memo` varchar(255) NOT NULL DEFAULT '' COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='banner'; + +-- ---------------------------- +-- Table structure for coupon_card +-- ---------------------------- +DROP TABLE IF EXISTS `coupon_card`; +CREATE TABLE `coupon_card` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '优惠劵编号', + `template_id` int(11) NOT NULL COMMENT '优惠劵(码)分组编号,{@link CouponTemplateDO} 的 id', + `title` varchar(50) NOT NULL COMMENT '标题', + `status` tinyint(4) NOT NULL COMMENT '优惠码状态\n *\n * 1-未使用\n * 2-已使用\n * 3-已失效', + `user_id` int(11) NOT NULL COMMENT '用户编号', + `take_type` tinyint(4) NOT NULL COMMENT '领取类型\n *\n * 1 - 用户主动领取\n * 2 - 后台自动发放', + `price_available` int(11) NOT NULL COMMENT '是否设置满多少金额可用,单位:分\n *\n * 0-不限制\n * 大于0-多少金额可用', + `valid_start_time` datetime NOT NULL COMMENT '生效开始时间', + `valid_end_time` datetime NOT NULL COMMENT '生效结束时间', + `preferential_type` tinyint(4) NOT NULL COMMENT '优惠类型\n *\n * 1-代金卷\n * 2-折扣卷', + `percent_off` tinyint(4) DEFAULT NULL COMMENT '折扣', + `price_off` int(11) DEFAULT NULL COMMENT '优惠金额,单位:分。', + `discount_price_limit` int(11) DEFAULT NULL COMMENT '折扣上限,仅在 {@link #preferentialType} 等于 2 时生效。\n *\n * 例如,折扣上限为 20 元,当使用 8 折优惠券,订单金额为 1000 元时,最高只可折扣 20 元,而非 80 元。', + `used_time` datetime DEFAULT NULL COMMENT '使用时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='coupon_card'; + +-- ---------------------------- +-- Table structure for coupon_template +-- ---------------------------- +DROP TABLE IF EXISTS `coupon_template`; +CREATE TABLE `coupon_template` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '模板编号,自增唯一。', + `title` varchar(50) NOT NULL COMMENT '标题', + `description` varchar(50) DEFAULT NULL COMMENT '使用说明', + `type` tinyint(4) NOT NULL DEFAULT '-1' COMMENT '类型\n *\n * 1-优惠劵\n * 2-优惠码', + `code_type` tinyint(4) DEFAULT NULL COMMENT '码类型\n *\n * 1-一卡一码(UNIQUE)\n * 2-通用码(GENERAL)\n *\n * 【优惠码独有】 @see CouponCodeDO', + `status` tinyint(4) NOT NULL COMMENT '优惠码状态\n *\n * 1-开启中\n * 2-禁用中\n * 3-已过期\n *\n * 当优惠劵(码)开启中,可以手动操作,设置禁用中。', + `quota` tinyint(4) DEFAULT NULL COMMENT '每人限领个数\n *\n * null - 则表示不限制', + `total` int(11) DEFAULT NULL COMMENT '发行总量', + `price_available` int(11) DEFAULT NULL COMMENT '是否设置满多少金额可用,单位:分\n *\n * 0-不限制\n * 大于0-多少金额可用', + `range_type` tinyint(4) NOT NULL COMMENT '可用范围的类型\n *\n * 10-全部(ALL):所有可用\n * 20-部分(PART):部分商品可用,或指定商品可用\n * 21-部分(PART):部分商品不可用,或指定商品可用\n * 30-部分(PART):部分分类可用,或指定商品可用\n * 31-部分(PART):部分分类不可用,或指定商品可用', + `range_values` varchar(50) DEFAULT NULL COMMENT '指定商品 / 分类列表,使用逗号分隔商品编号', + `date_type` tinyint(4) NOT NULL COMMENT '生效日期类型\n *\n * 1-固定日期\n * 2-领取日期:领到券 {@link #fixedTerm} 日开始 N 天内有效', + `valid_start_time` datetime DEFAULT NULL COMMENT '固定日期-生效开始时间', + `valid_end_time` datetime DEFAULT NULL COMMENT '固定日期-生效结束时间', + `fixed_start_term` int(11) DEFAULT NULL COMMENT '领取日期-开始天数', + `fixed_end_term` int(11) DEFAULT NULL COMMENT '领取日期-结束天数', + `preferential_type` int(11) NOT NULL COMMENT '优惠类型\n *\n * 1-代金卷\n * 2-折扣卷', + `percent_off` tinyint(4) DEFAULT NULL COMMENT '折扣百分比。\n *\n * 例如,80% 为 80。\n * 当 100% 为 100 ,则代表免费。', + `price_off` int(11) DEFAULT NULL COMMENT '优惠金额,单位:分', + `discount_price_limit` int(11) DEFAULT NULL COMMENT '折扣上限,仅在 {@link #preferentialType} 等于 2 时生效。\n *\n * 例如,折扣上限为 20 元,当使用 8 折优惠券,订单金额为 1000 元时,最高只可折扣 20 元,而非 80 元。', + `stat_fetch_num` int(11) NOT NULL COMMENT '领取优惠券的次数', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COMMENT='coupon_template'; + +-- ---------------------------- +-- Table structure for product_recommend +-- ---------------------------- +DROP TABLE IF EXISTS `product_recommend`; +CREATE TABLE `product_recommend` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', + `type` tinyint(4) NOT NULL COMMENT '类型', + `product_spu_id` int(11) NOT NULL COMMENT '商品 Spu 编号', + `sort` int(11) NOT NULL COMMENT '排序', + `status` tinyint(4) NOT NULL COMMENT '状态', + `memo` varchar(255) NOT NULL DEFAULT '' COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COMMENT='product_recommend'; + +-- ---------------------------- +-- Table structure for promotion_activity +-- ---------------------------- +DROP TABLE IF EXISTS `promotion_activity`; +CREATE TABLE `promotion_activity` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '活动编号', + `title` varchar(50) NOT NULL DEFAULT '' COMMENT '活动标题', + `activity_type` tinyint(4) NOT NULL COMMENT '活动类型\n *\n * 参见 {@link cn.iocoder.mall.promotion.api.constant.PromotionActivityTypeEnum} 枚举', + `status` tinyint(4) NOT NULL DEFAULT '-1' COMMENT '活动状态\n *\n * 参见 {@link cn.iocoder.mall.promotion.api.constant.PromotionActivityStatusEnum} 枚举', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `invalid_time` datetime DEFAULT NULL COMMENT '失效时间', + `delete_time` datetime DEFAULT NULL COMMENT '删除时间', + `time_limited_discount` varchar(2000) DEFAULT NULL COMMENT '限制折扣字符串,使用 JSON 序列化成字符串存储', + `full_privilege` varchar(2000) DEFAULT NULL COMMENT '限制折扣字符串,使用 JSON 序列化成字符串存储', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='promotion_activity'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/docs/sql/mall_user.sql b/docs/sql/mall_user.sql new file mode 100644 index 00000000..49709e13 --- /dev/null +++ b/docs/sql/mall_user.sql @@ -0,0 +1,131 @@ +/* + Navicat Premium Data Transfer + + Source Server : mall_mysql + Source Server Type : MySQL + Source Server Version : 50643 + Source Host : 180.167.213.26:13306 + Source Schema : mall_user + + Target Server Type : MySQL + Target Server Version : 50643 + File Encoding : 65001 + + Date: 28/04/2019 18:05:53 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mobile_code +-- ---------------------------- +DROP TABLE IF EXISTS `mobile_code`; +CREATE TABLE `mobile_code` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `mobile` varchar(11) NOT NULL, + `code` varchar(6) NOT NULL, + `today_index` tinyint(4) NOT NULL, + `used` tinyint(4) NOT NULL, + `userd_user_id` int(20) DEFAULT NULL, + `used_time` datetime DEFAULT NULL, + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Table structure for oauth2_access_token +-- ---------------------------- +DROP TABLE IF EXISTS `oauth2_access_token`; +CREATE TABLE `oauth2_access_token` ( + `id` varchar(32) NOT NULL, + `refresh_token` varchar(32) DEFAULT NULL, + `user_id` int(20) DEFAULT NULL, + `valid` tinyint(4) DEFAULT NULL, + `expires_time` datetime DEFAULT NULL, + `create_time` datetime DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `idx_uid` (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Table structure for oauth2_refresh_token +-- ---------------------------- +DROP TABLE IF EXISTS `oauth2_refresh_token`; +CREATE TABLE `oauth2_refresh_token` ( + `id` varchar(32) NOT NULL, + `user_id` int(20) DEFAULT NULL, + `valid` tinyint(4) DEFAULT NULL, + `expires_time` datetime DEFAULT NULL, + `create_time` datetime DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `idx_uid` (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Table structure for user_access_log +-- ---------------------------- +DROP TABLE IF EXISTS `user_access_log`; +CREATE TABLE `user_access_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', + `user_id` int(11) NOT NULL DEFAULT '-1' COMMENT '管理员编号.', + `uri` varchar(4096) NOT NULL DEFAULT '' COMMENT '访问地址', + `query_string` varchar(4096) NOT NULL DEFAULT '' COMMENT '参数', + `method` varchar(50) NOT NULL DEFAULT '' COMMENT 'http 方法', + `user_agent` varchar(1024) NOT NULL DEFAULT '' COMMENT 'userAgent', + `ip` varchar(50) NOT NULL DEFAULT '' COMMENT 'ip', + `start_time` datetime NOT NULL COMMENT '请求时间', + `response_time` int(11) NOT NULL COMMENT '响应时长 -- 毫秒级', + `create_time` datetime NOT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7772 DEFAULT CHARSET=utf8mb4 COMMENT='admin_access_log'; + +-- ---------------------------- +-- Table structure for user_address +-- ---------------------------- +DROP TABLE IF EXISTS `user_address`; +CREATE TABLE `user_address` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL COMMENT '用户编号', + `area_no` varchar(10) COLLATE utf8mb4_bin NOT NULL COMMENT '区域编号', + `name` varchar(10) COLLATE utf8mb4_bin NOT NULL COMMENT '收件人名称', + `mobile` varchar(20) COLLATE utf8mb4_bin NOT NULL COMMENT '手机号', + `address` varchar(250) COLLATE utf8mb4_bin NOT NULL COMMENT '详细地址', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `has_default` int(1) NOT NULL COMMENT '是否默认', + `deleted` int(2) NOT NULL COMMENT '删除状态', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; + +-- ---------------------------- +-- Table structure for user_register +-- ---------------------------- +DROP TABLE IF EXISTS `user_register`; +CREATE TABLE `user_register` ( + `id` int(20) NOT NULL, + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `udpate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Table structure for users +-- ---------------------------- +DROP TABLE IF EXISTS `users`; +CREATE TABLE `users` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户编号', + `mobile` varchar(11) COLLATE utf8mb4_bin NOT NULL, + `nickname` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '昵称', + `avatar` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '头像', + `status` tinyint(4) DEFAULT NULL COMMENT '状态', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + PRIMARY KEY (`id`), + UNIQUE KEY `idx_uid` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PingxxPaySDK.java b/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PingxxPaySDK.java index 6124b697..9cbbe110 100644 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PingxxPaySDK.java +++ b/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PingxxPaySDK.java @@ -136,7 +136,7 @@ public class PingxxPaySDK extends AbstractPaySDK { new PingxxPaySDK().submitTransaction(transaction, extension, null); } if (true) { // 测试退款请求 - PayRefundDO refund = new PayRefundDO().setPrice(1).setOrderDescription("测试描述"); + PayRefundDO refund = new PayRefundDO().setPrice(9999999).setOrderDescription("测试描述"); PayTransactionExtensionDO transactionExtension = new PayTransactionExtensionDO() .setExtensionData("{\"id\":\"evt_400190423100354205607502\",\"created\":1555985033,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_DCGyXTmDGuHKb1C0yTzjPOGC\",\"object\":\"charge\",\"created\":1555985032,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190423100352158401\",\"client_ip\":\"114.87.158.59\",\"amount\":10,\"amount_settle\":10,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555985033,\"time_expire\":1555992232,\"time_settle\":null,\"transaction_no\":\"1244341374201904238178164740\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_DCGyXTmDGuHKb1C0yTzjPOGC/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_4e9mPODW5ujPqLen5OOmvL8S\",\"pending_webhooks\":0}"); diff --git a/pay/pay-service-impl/src/test/java/cn/iocoder/mall/pay/biz/service/PayRefundServiceImplTest.java b/pay/pay-service-impl/src/test/java/cn/iocoder/mall/pay/biz/service/PayRefundServiceImplTest.java index e7634f49..80c6b72b 100644 --- a/pay/pay-service-impl/src/test/java/cn/iocoder/mall/pay/biz/service/PayRefundServiceImplTest.java +++ b/pay/pay-service-impl/src/test/java/cn/iocoder/mall/pay/biz/service/PayRefundServiceImplTest.java @@ -20,7 +20,7 @@ public class PayRefundServiceImplTest { PayRefundSubmitDTO payRefundSubmitDTO = new PayRefundSubmitDTO() .setAppId("POd4RC6a") .setCreateIp("127.0.0.1") - .setOrderId("135") + .setOrderId("13500000") .setOrderDescription("测试下退款") .setPrice(1); payRefundService.submitRefund(payRefundSubmitDTO);