├── go └── README.md ├── ts ├── README.md ├── src │ ├── erp │ │ └── index.ts │ ├── mall │ │ └── index.ts │ ├── user │ │ ├── User.ts │ │ └── Company.ts │ ├── iot │ │ ├── index.ts │ │ └── device │ │ │ ├── index.ts │ │ │ ├── BP.ts │ │ │ ├── Device.ts │ │ │ └── UtkPrinter.ts │ ├── common │ │ ├── index.ts │ │ ├── Tag.ts │ │ ├── KV.ts │ │ └── File.ts │ ├── index.ts │ ├── mes │ │ ├── index.ts │ │ ├── WorkOrderSchedule.ts │ │ ├── Material.ts │ │ └── WorkOrder.ts │ └── shared │ │ └── Base.ts ├── .eslintignore ├── .eslintrc.js ├── tsconfig.test.json ├── scripts │ ├── jest │ │ └── jest.config.js │ └── webpack │ │ └── webpack.config.umd.js ├── tsconfig.cjs.json ├── tsconfig.json ├── .vscode │ └── setting.json ├── tsconfig.es.json └── package.json ├── java └── README.md ├── schema-generator ├── package.json └── README.md ├── dbs ├── helm │ └── README.md └── mysql │ ├── .vscode │ └── settings.json │ ├── build-image.sh │ ├── docker-entrypoint-initdb.d │ ├── 0-init.sql │ └── 1-schema.sql │ ├── Dockerfile │ ├── README.md │ └── etc │ ├── my.cnf │ └── my.opt.cnf ├── doc └── 域划分.xmind └── README.md /go/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ts/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /java/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ts/src/erp/index.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ts/src/mall/index.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ts/src/user/User.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /schema-generator/package.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dbs/helm/README.md: -------------------------------------------------------------------------------- 1 | # memi-helm 2 | -------------------------------------------------------------------------------- /ts/.eslintignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | scripts/ -------------------------------------------------------------------------------- /ts/src/iot/index.ts: -------------------------------------------------------------------------------- 1 | export * from './device'; 2 | -------------------------------------------------------------------------------- /ts/src/iot/device/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Device'; 2 | -------------------------------------------------------------------------------- /ts/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require("../../.eslintrc.js") -------------------------------------------------------------------------------- /dbs/mysql/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": false 3 | } 4 | -------------------------------------------------------------------------------- /doc/域划分.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wx-chevalier/memi-schema/master/doc/域划分.xmind -------------------------------------------------------------------------------- /ts/src/common/index.ts: -------------------------------------------------------------------------------- 1 | export * from './File'; 2 | export * from './KV'; 3 | export * from './Tag'; 4 | -------------------------------------------------------------------------------- /ts/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | export * from './iot'; 3 | export * from './mes'; 4 | -------------------------------------------------------------------------------- /dbs/mysql/build-image.sh: -------------------------------------------------------------------------------- 1 | IMAGE_NAME="mysql-memi" 2 | 3 | docker build -t ${IMAGE_NAME}:latest -f ./Dockerfile . -------------------------------------------------------------------------------- /ts/src/common/Tag.ts: -------------------------------------------------------------------------------- 1 | import { Base } from '@/shared/Base'; 2 | 3 | /** 标签 */ 4 | export class Tag extends Base {} 5 | -------------------------------------------------------------------------------- /ts/src/mes/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Material'; 2 | export * from './WorkOrder'; 3 | export * from './WorkOrderSchedule'; 4 | -------------------------------------------------------------------------------- /ts/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs" 5 | } 6 | } -------------------------------------------------------------------------------- /ts/scripts/jest/jest.config.js: -------------------------------------------------------------------------------- 1 | const baseConfig = require('../../../../scripts/jest/jest.config'); 2 | 3 | module.exports = baseConfig; 4 | -------------------------------------------------------------------------------- /dbs/mysql/docker-entrypoint-initdb.d/0-init.sql: -------------------------------------------------------------------------------- 1 | drop database if exists `memi`; 2 | create database `memi` default character set utf8mb4 collate utf8mb4_general_ci; 3 | use `memi`; 4 | -------------------------------------------------------------------------------- /ts/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "outDir": "dist/cjs", 6 | "declaration": false 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /ts/src/iot/device/BP.ts: -------------------------------------------------------------------------------- 1 | import { Base } from '@/shared/Base'; 2 | 3 | /** 工艺包 */ 4 | export class BP extends Base { 5 | name: string; 6 | 7 | // 创建者 8 | creatorId: string; 9 | } 10 | -------------------------------------------------------------------------------- /ts/src/user/Company.ts: -------------------------------------------------------------------------------- 1 | import { Base } from '../shared/Base'; 2 | 3 | export class Company extends Base { 4 | // 名称 5 | name: string; 6 | 7 | // 别名 8 | aliasName: string; 9 | } 10 | -------------------------------------------------------------------------------- /ts/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "baseUrl": ".", 5 | "paths": { 6 | "@/*": ["./src/*"] 7 | } 8 | }, 9 | "include": ["src/**/*"] 10 | } 11 | -------------------------------------------------------------------------------- /ts/.vscode/setting.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.validate": [ 3 | "javascript", 4 | "javascriptreact", 5 | { "language": "typescript", "autoFix": true }, 6 | { "language": "typescriptreact", "autoFix": true } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /ts/tsconfig.es.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "es6", 5 | "outDir": "dist/es", 6 | "declaration": true, 7 | "declarationDir": "dist/types" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /schema-generator/README.md: -------------------------------------------------------------------------------- 1 | # schema-generator 2 | 3 | # Motivation & Credits 4 | 5 | - [types-as-schema #Project#](https://github.com/plantain-00/types-as-schema): Genetate json schema, protobuf file, graphQL schema and reasonml/ocaml/rust types from typescript types. 6 | -------------------------------------------------------------------------------- /ts/src/common/KV.ts: -------------------------------------------------------------------------------- 1 | import { Base } from '@/shared/Base'; 2 | 3 | export class KV extends Base { 4 | // 实体类型 5 | entityType: string; 6 | 7 | // 实体编号 8 | entityId: string; 9 | 10 | // 键 11 | key: string; 12 | 13 | // 时间戳 14 | ts: boolean; 15 | 16 | bool_v: boolean; 17 | str_v: string; 18 | long_v: number; 19 | dbl_v: number; 20 | } 21 | -------------------------------------------------------------------------------- /ts/src/mes/WorkOrderSchedule.ts: -------------------------------------------------------------------------------- 1 | import { Base } from '@/shared/Base'; 2 | 3 | export class WorkOrderSchedule extends Base { 4 | ordinal: number; 5 | deviceId: number; 6 | workOrderId: number; 7 | 8 | status: 'PRINTING' | 'SCHEDULED' | string; 9 | 10 | // 预计耗时 11 | estimatedCostSec: number; 12 | 13 | // 开始时间 14 | startTime: string; 15 | 16 | // 结束时间 17 | endTime: string; 18 | } 19 | -------------------------------------------------------------------------------- /ts/src/common/File.ts: -------------------------------------------------------------------------------- 1 | import { Base } from '@/shared/Base'; 2 | 3 | // 文件 4 | export class File extends Base { 5 | name: string; 6 | size: number; 7 | url: string; 8 | fileMd5: string; 9 | 10 | // 保存类型 11 | saveType: string; 12 | 13 | attrs: FileAttr[]; 14 | } 15 | 16 | export class FileAttr extends Base { 17 | fileId: string; 18 | attrName: string; 19 | attrValue: string; 20 | } 21 | -------------------------------------------------------------------------------- /ts/scripts/webpack/webpack.config.umd.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const merge = require('webpack-merge'); 3 | 4 | const umdConfig = require('../../../../scripts/webpack/webpack.config.umd'); 5 | 6 | const rootPath = process.cwd(); 7 | 8 | module.exports = merge(umdConfig, { 9 | output: { 10 | library: 'rtwCore' 11 | }, 12 | entry: { 13 | index: path.resolve(rootPath, './src/index.ts') 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /ts/src/mes/Material.ts: -------------------------------------------------------------------------------- 1 | import { Base } from '@/shared/Base'; 2 | 3 | /** 生产材料 */ 4 | export class Material extends Base { 5 | // 材料名 6 | name: string; 7 | 8 | // 描述 9 | description: string; 10 | 11 | // 是否启用 12 | isDisabled: number; 13 | 14 | // 关联的属性 15 | attrs: MaterialAttr[]; 16 | } 17 | 18 | /** 生产材料的属性 */ 19 | export class MaterialAttr extends Base { 20 | materialId: number; 21 | 22 | attrName: string; 23 | attrValue: string; 24 | } 25 | -------------------------------------------------------------------------------- /dbs/mysql/Dockerfile: -------------------------------------------------------------------------------- 1 | # Derived from official mysql image (our base image) 2 | FROM mysql:5.7 3 | 4 | # SET ENV 5 | ENV MYSQL_ROOT_PASSWORD roottoor 6 | ENV MYSQL_ROOT_HOST % 7 | ENV TZ 'Asia/Shanghai' 8 | 9 | # Add a database 10 | ENV MYSQL_DATABASE memi 11 | 12 | # Add the content of the sql-scripts/ directory to your image 13 | # All scripts in docker-entrypoint-initdb.d/ are automatically 14 | # executed during container startup 15 | COPY ./docker-entrypoint-initdb.d/ /docker-entrypoint-initdb.d/ -------------------------------------------------------------------------------- /ts/src/iot/device/Device.ts: -------------------------------------------------------------------------------- 1 | import { Base } from '@/shared/Base'; 2 | 3 | /** 设备基准类 */ 4 | export class Device extends Base { 5 | // 设备名 6 | name: string; 7 | 8 | // 物编号 9 | thingId: string; 10 | 11 | // 客户编号 12 | customerId: string; 13 | } 14 | 15 | /** 设备基准类 */ 16 | export class DeviceCredentials extends Base { 17 | // 设备编号 18 | deviceId: string; 19 | 20 | // 凭证 ID 21 | credentialsId: string; 22 | 23 | // 凭证类型 24 | crendentialsType: string; 25 | 26 | // 凭证值 27 | crendentialsValue: string; 28 | } 29 | -------------------------------------------------------------------------------- /ts/src/iot/device/UtkPrinter.ts: -------------------------------------------------------------------------------- 1 | import { Device } from './Device'; 2 | import { Base } from '@/shared/Base'; 3 | 4 | /** 联泰 3D 打印设备 */ 5 | export class UtkPrinter extends Device { 6 | // 设备编号 7 | code: string; 8 | 9 | // 关联的设备模型 10 | deviceId: number; 11 | 12 | // 关联的配置编号 13 | configId: number; 14 | // 关联项 15 | config: UtkPrinterConfig; 16 | 17 | // 关联的工单编号 18 | workOrderId: number; 19 | 20 | // 状态 21 | status: 'FREE' | 'ERROR' | 'OFFLINE' | 'PRINTING' | string; 22 | 23 | // 模型编号 24 | modelId: number; 25 | 26 | // 材料编号 27 | materialId: number; 28 | 29 | // 创建者编号 30 | creatorId: number; 31 | } 32 | 33 | export class UtkPrinterConfig extends Base { 34 | name: string; 35 | configMd5: string; 36 | value: string; 37 | } 38 | -------------------------------------------------------------------------------- /dbs/mysql/README.md: -------------------------------------------------------------------------------- 1 | # memi-mysql 2 | 3 | memi-mysql 是笔者日常项目中总结的电商系统的表结构设计。 4 | 5 | # Deploy 6 | 7 | ```sh 8 | # Build image 9 | $ ./build-image.sh 10 | 11 | # 无目录共享运行 12 | $ docker run --rm --name=memi-mysql -p 3306:3306 memi-mysql 13 | 14 | # 自定义配置文件 15 | $ docker run --rm --name=memi-mysql -p 3306:3306 -v ./etc:/etc/mysql/conf.d memi-mysql 16 | 17 | # MAC 下添加特殊目录共享 18 | $ docker run -d --restart always --name=memi-mysql -v ~/Desktop/test/mysql:/var/lib/mysql memi-mysql 19 | 20 | $ docker run -d --restart always --name=memi-mysql -v /var/test/mysql:/var/lib/mysql memi-mysql 21 | 22 | # Test db 23 | $ docker run --rm -ti --name=mycli \ 24 | --link=memi-mysql:mysql \ 25 | diyan/mycli \ 26 | --host=mysql \ 27 | --database=test \ 28 | --user=root \ 29 | --password=roottoor 30 | ``` 31 | -------------------------------------------------------------------------------- /ts/src/mes/WorkOrder.ts: -------------------------------------------------------------------------------- 1 | import { Base } from '@/shared/Base'; 2 | 3 | /** 工单 */ 4 | export class WorkOrder extends Base { 5 | code: string; 6 | 7 | // 待打印的文件统计 8 | fileCount: number; 9 | 10 | // 预览的文件编号 11 | previewFileId: number; 12 | 13 | // 设备维护者编号 14 | maintainerId: number; 15 | 16 | // 工单状态 17 | status: 'WAIT_SCHEDULE' | string; 18 | 19 | // 创建者 20 | creatorId: number; 21 | } 22 | 23 | /** 工单图片 */ 24 | export class WorkOrderPicture extends WorkOrder { 25 | workOrderId: number; 26 | fileId: number; 27 | } 28 | 29 | /** 工单反馈 */ 30 | export class WorkOrderPrintableFile extends WorkOrder { 31 | workOrderId: number; 32 | fileId: number; 33 | } 34 | 35 | /** 工单反馈 */ 36 | export class WorkOrderFeedback extends WorkOrder { 37 | workOrderId: number; 38 | type: string; 39 | 40 | // 反馈关联的图片编号 41 | pictureIds: number[]; 42 | 43 | // 反馈描述 44 | description: string; 45 | } 46 | -------------------------------------------------------------------------------- /ts/src/shared/Base.ts: -------------------------------------------------------------------------------- 1 | /* 基础模型,提供基础的数据赋值操作,以及将 createdAt, updatedAt 以及 deletedAt 进行格式转化 */ 2 | 3 | import * as _ from 'lodash'; 4 | import moment, { Moment } from 'moment'; 5 | 6 | export class Base { 7 | // 唯一主键,Snowflake 8 | id?: number; 9 | 10 | // 共有属性 11 | // 所属的租户信息 12 | tenantId?: string; 13 | createdAt?: string | Moment; 14 | updatedAt?: string | Moment; 15 | deletedAt?: string | Moment; 16 | 17 | /** 这里使用 init 函数而非构造函数,为了方便进行默认赋值 */ 18 | // 前后端同步开发时,需要将前后端解耦,使用手工构造 model 可以保持数据的可控。 19 | // tslint:disable-next-line 20 | init?: (data: any) => void = (data: any) => { 21 | if (!data) { 22 | return; 23 | } 24 | 25 | // 首先进行空判断,将由默认值的覆盖传入的空 26 | Object.keys(data).forEach(key => { 27 | if (_.isNil(data[key]) && !_.isNil(this[key])) { 28 | data[key] = this[key]; 29 | } 30 | }); 31 | 32 | Object.assign(this, data); 33 | if (this.formatDatetime) { 34 | this.formatDatetime(); 35 | } 36 | }; 37 | 38 | // 保留精度,处理 null 39 | formatDatetime?() { 40 | const dateTimeFields = ['createdAt', 'updatedAt', 'deletedAt']; 41 | dateTimeFields.forEach(field => { 42 | if (this.hasOwnProperty(field)) { 43 | this['raw_' + field] = this[field] || ''; 44 | this[field] = 45 | typeof this[field] === 'string' ? moment(this[field]).format('YYYY-MM-DD HH:mm') : ''; 46 | } 47 | }); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /ts/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ufc-schema", 3 | "version": "0.0.1", 4 | "description": "ufc-schema", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/wx-chevalier/fe-boilerplates" 8 | }, 9 | "license": "MIT", 10 | "main": "dist/cjs/index.js", 11 | "module": "dist/es/index.js", 12 | "types": "dist/types/index.d.ts", 13 | "keywords": [ 14 | "webpack", 15 | "react" 16 | ], 17 | "author": "wx-chevalier@github", 18 | "prettier": { 19 | "printWidth": 100, 20 | "singleQuote": true 21 | }, 22 | "lint-staged": { 23 | "*.{ts,tsx,scss,less,md}": [ 24 | "prettier --write", 25 | "git add" 26 | ] 27 | }, 28 | "scripts": { 29 | "clean": "rimraf dist", 30 | "build": "npm run build:es && npm run build:cjs && npm run build:umd", 31 | "build:es": "tsc --project ./tsconfig.es.json", 32 | "build:cjs": "tsc --project ./tsconfig.cjs.json", 33 | "dev": "tsc -w --project ./tsconfig.cjs.json", 34 | "build:umd": "webpack --config ./scripts/webpack/webpack.config.umd.js", 35 | "test": "jest --config ./scripts/jest/jest.config.js", 36 | "test:watch": "npm test -- --watch", 37 | "test:cov": "npm run cleanCov && npm test -- --coverage" 38 | }, 39 | "dependencies": { 40 | "lodash": "^4.17.15", 41 | "moment": "^2.24.0" 42 | }, 43 | "devDependencies": { 44 | "@typescript-eslint/eslint-plugin": "^2.0.0", 45 | "@typescript-eslint/parser": "^2.0.0", 46 | "eslint": "^6.2.2", 47 | "eslint-config-airbnb": "^18.0.1", 48 | "eslint-config-prettier": "^6.1.0", 49 | "eslint-loader": "3.0.0", 50 | "eslint-plugin-import": "^2.18.2", 51 | "eslint-plugin-jsx-a11y": "^6.2.3", 52 | "eslint-plugin-prettier": "^3.1.0", 53 | "eslint-plugin-react": "^7.14.3", 54 | "ts-jest": "^24.0.2", 55 | "typescript": "^3.5.3", 56 | "webpack": "^4.39.2", 57 | "webpack-dev-server": "^3.8.0", 58 | "webpack-merge": "^4.2.1" 59 | }, 60 | "files": [ 61 | "dist/" 62 | ] 63 | } 64 | -------------------------------------------------------------------------------- /dbs/mysql/etc/my.cnf: -------------------------------------------------------------------------------- 1 | [client] 2 | port = 3306 3 | socket = /tmp/mysql.sock 4 | 5 | [mysql] 6 | prompt = '\\u@\\h [\\d] > ' 7 | default_character_set = utf8mb4 8 | safe_updates 9 | show_warnings 10 | connect_timeout = 5 11 | ssl-cipher = 'DEFAULT:!EDH:!DHE' 12 | pager = 'less -R' 13 | 14 | [mysqld] 15 | port = 3306 16 | bind-address = 0.0.0.0 17 | socket = /tmp/mysql.sock 18 | ssl-cipher = 'DEFAULT:!EDH:!DHE' 19 | #datadir = /data 20 | #tmpdir = /tmp 21 | character_set_server = utf8mb4 22 | lower_case_table_names = 1 23 | skip_name_resolve 24 | skip_external_locking 25 | default_storage_engine = InnoDB 26 | transaction_isolation = READ-COMMITTED 27 | 28 | #core_file 29 | #read_only 30 | 31 | sql_mode = TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BY 32 | 33 | ## network 34 | max_allowed_packet = 16M 35 | max_connections = 1000 36 | max_connect_errors = 10000 37 | wait_timeout = 60 38 | slave_net_timeout = 60 39 | 40 | ## cache size 41 | table_open_cache = 2000 42 | thread_cache_size = 100 43 | query_cache_type = 0 44 | query_cache_size = 0 45 | binlog_cache_size = 16M 46 | max_heap_table_size = 64M 47 | tmp_table_size = 64M 48 | 49 | ## log 50 | log_error = mysql-error.log 51 | #general_log = 1 52 | #general_log_file = mysql.log 53 | 54 | ## binary log 55 | server_id = <%= server_id %> 56 | log_bin = mysql-bin 57 | log_slave_updates 58 | max_binlog_size = 512M 59 | binlog_format = ROW 60 | expire_logs_days = 10 61 | sync_binlog = 1 62 | relay_log = mysql-relay-bin 63 | report_host = <%= report_host %> 64 | 65 | ## slow query log 66 | slow_query_log 67 | slow_query_log_file = mysql-slow.log 68 | log_slow_admin_statements 69 | log_slow_slave_statements 70 | long_query_time = 0.1 71 | 72 | ## innodb 73 | innodb_strict_mode 74 | innodb_buffer_pool_size = 1G 75 | innodb_data_file_path = ibdata1:10M:autoextend 76 | innodb_log_buffer_size = 16M 77 | innodb_log_file_size = 512M 78 | innodb_doublewrite = 0 79 | innodb_read_io_threads = 8 80 | innodb_write_io_threads = 8 81 | innodb_lock_wait_timeout = 5 82 | innodb_support_xa = 1 83 | innodb_autoinc_lock_mode = 2 84 | innodb_flush_log_at_trx_commit = 1 85 | innodb_flush_method = O_DIRECT 86 | innodb_file_per_table 87 | innodb_file_format = Barracuda 88 | innodb_print_all_deadlocks 89 | innodb_large_prefix 90 | 91 | ## [mysqld-5.6] or [mysqld-5.7] 92 | loose_performance_schema = OFF 93 | loose_explicit_defaults_for_timestamp 94 | loose_table_open_cache_instances = 8 95 | 96 | ## Replication with GTIDs 97 | log_bin = mysql-bin 98 | log_slave_updates 99 | loose_gtid_mode = ON 100 | loose_enforce_gtid_consistency 101 | 102 | ## binary log 103 | loose_master_info_repository = table 104 | loose_relay_log_info_repository = table 105 | loose_sync_master_info = 1 106 | loose_sync_relay_log_info = 1 107 | loose_sync_relay_log = 1 108 | loose_relay_log_recovery = 1 109 | loose_binlog_row_image = minimal 110 | 111 | ## slow query log 112 | loose_log_queries_not_using_indexes 113 | loose_log_throttle_queries_not_using_indexes = 10 114 | 115 | ## innodb 116 | loose_innodb_buffer_pool_dump_at_shutdown = 1 117 | loose_innodb_buffer_pool_load_at_startup = 1 118 | loose_innodb_monitor_enable = all 119 | 120 | [mysqld-5.7] 121 | log_timestamps = SYSTEM 122 | default_password_lifetime = 0 123 | show_compatibility_56 = 1 124 | 125 | # performance_schema 126 | performance_schema = ON 127 | performance_schema_instrument = '%=off' 128 | # performance_schema_instrument = 'stage/%=on' 129 | 130 | # innodb_temp_data_file_path = ibtmp1:12M:autoextend 131 | # internal_tmp_disk_storage_engine = MyISAM 132 | 133 | ## innodb for ssd 134 | # innodb_flush_neighbors = 0 135 | # innodb_random_read_ahead = 0 136 | # innodb_read_ahead_threshold = 0 137 | # innodb_io_capacity = 2000 138 | # innodb_io_capacity_max = 2000 139 | # innodb_lru_scan_depth = 2000 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![MEMI](https://s2.ax1x.com/2019/09/01/npbSRU.png) 2 | 3 | # MEMI-Schema 4 | 5 | 面向制造业·产业互联网的全链路数据定义,Mall(电商)- ERP(Enterprise Resource Planning, 资源规划与客户管理)- MES(Manufacturing Execution Systems, 生产编排) - IoT(设备与传感器物模型)。 6 | 7 | 值得说明的是,MEMI-Schema 目前,也永远不能覆盖某个具体使用者的完整的场景,我们只是对全链路上的关键业务领域进行了建模。我们的初衷是遵照 [DDD](https://ngte-se.gitbook.io/i/ruan-jian-jia-gou-she-ji/ling-yu-qu-dong-she-ji) 的领域模型划分的理念,进行领域划分与建模;不过 DDD 本身就是强调业务与技术的沟通协作,因此 MEMI-Schema 只是可供借鉴的模板,而不能直接应用于某个具体的终端应用中。 8 | 9 | # 数据模型 10 | 11 | ## 数据约束 12 | 13 | - 字段命名: 14 | 15 | - 主键:任一表中主键名为 id bigint(20),存放 Snowflake 或其他等价数值型主键。 16 | 17 | - 时间类型字段:datetime 与 timestamp 在进行前后端交互时并不会存在国际化障碍,但是为了便于进行跨国家的数据单元化与数据合并,因此统一使用 timestamp 存放时间戳。 18 | 19 | - 行政区划字段:所有的地理相关字段命名为 area_code,存储其行政编码;详细的地理位置字段为 address。具体的行政区划数据可以参考:[china_regions](https://github.com/wecatch/china_regions), [china_area_mysql](https://github.com/kakuilan/china_area_mysql)。 20 | 21 | - 元信息字段:每张表中都存有 created_at, updated_at, deleted_at 三个元信息字段,所有涉及判断是否更新、是否删除的都会依据该信息。 22 | 23 | - 租户隔离字段: 24 | 25 | - 索引原则: 26 | 27 | - 元信息表: 28 | 29 | ## 域划分 30 | 31 | - 域划分 32 | 33 | ![npTDdx.png](https://s2.ax1x.com/2019/09/01/npTDdx.png) 34 | 35 | - Common 36 | 37 | ![npTro6.png](https://s2.ax1x.com/2019/09/01/npTro6.png) 38 | 39 | - Mall 40 | 41 | ![npTyFK.png](https://s2.ax1x.com/2019/09/01/npTyFK.png) 42 | 43 | # 部署与使用 44 | 45 | ## MySQL 46 | 47 | ## 分库分表 48 | 49 | ## SDK 50 | 51 | MEMI 提供了 TS、Java 与 Go 等多种 API。 52 | 53 | # About 54 | 55 | ## Copyright 56 | 57 | ![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg) ![](https://parg.co/bDm) 58 | 59 | 笔者所有文章遵循[知识共享 署名-非商业性使用-禁止演绎 4.0 国际许可协议](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh),欢迎转载,尊重版权。 60 | 61 | ![default](https://i.postimg.cc/y1QXgJ6f/image.png) 62 | 63 | ## Motivation & Credits 64 | 65 | - [工业互联网标准体系(版本 2.0)](http://www.aii-alliance.org/index.php?m=content&c=index&a=show&catid=25&id=482) 66 | 67 | ## Home & More | 延伸阅读 68 | 69 | ![技术视野](https://s2.ax1x.com/2019/09/30/uJWQTx.jpg) 70 | 71 | 您可以通过以下导航来在 Gitbook 中阅读笔者的系列文章,涵盖了技术资料归纳、编程语言与理论、Web 与大前端、服务端开发与基础架构、云计算与大数据、数据科学与人工智能、产品设计等多个领域: 72 | 73 | - 知识体系:《[Awesome Lists | CS 资料集锦](https://ngte-al.gitbook.io/i/)》、《[Awesome CheatSheets | 速学速查手册](https://ngte-ac.gitbook.io/i/)》、《[Awesome Interviews | 求职面试必备](https://github.com/wx-chevalier/Awesome-Interviews)》、《[Awesome RoadMaps | 程序员进阶指南](https://github.com/wx-chevalier/Awesome-RoadMaps)》、《[Awesome MindMaps | 知识脉络思维脑图](https://github.com/wx-chevalier/Awesome-MindMaps)》、《[Awesome-CS-Books | 开源书籍(.pdf)汇总](https://github.com/wx-chevalier/Awesome-CS-Books)》 74 | 75 | - 编程语言:《[编程语言理论](https://ngte-pl.gitbook.io/i/)》、《[Java 实战](https://github.com/wx-chevalier/Java-Series)》、《[JavaScript 实战](https://github.com/wx-chevalier/JavaScript-Series)》、《[Go 实战](https://ngte-pl.gitbook.io/i/go/go)》、《[Python 实战](https://ngte-pl.gitbook.io/i/python/python)》、《[Rust 实战](https://ngte-pl.gitbook.io/i/rust/rust)》 76 | 77 | - 软件工程、模式与架构:《[编程范式与设计模式](https://ngte-se.gitbook.io/i/)》、《[数据结构与算法](https://ngte-se.gitbook.io/i/)》、《[软件架构设计](https://ngte-se.gitbook.io/i/)》、《[整洁与重构](https://ngte-se.gitbook.io/i/)》、《[研发方式与工具](https://ngte-se.gitbook.io/i/)》 78 | 79 | * Web 与大前端:《[现代 Web 全栈开发与工程架构](https://ngte-web.gitbook.io/i/)》、《[数据可视化](https://ngte-fe.gitbook.io/i/)》、《[iOS](https://ngte-fe.gitbook.io/i/)》、《[Android](https://ngte-fe.gitbook.io/i/)》、《[混合开发与跨端应用](https://ngte-fe.gitbook.io/i/)》 80 | 81 | * 服务端开发实践与工程架构:《[服务端基础](https://ngte-be.gitbook.io/i/)》、《[微服务与云原生](https://ngte-be.gitbook.io/i/)》、《[测试与高可用保障](https://ngte-be.gitbook.io/i/)》、《[DevOps](https://ngte-be.gitbook.io/i/)》、《[Spring](https://github.com/wx-chevalier/Spring-Series)》、《[信息安全与渗透测试](https://ngte-be.gitbook.io/i/)》 82 | 83 | * 分布式基础架构:《[分布式系统](https://ngte-infras.gitbook.io/i/)》、《[分布式计算](https://ngte-infras.gitbook.io/i/)》、《[数据库](https://github.com/wx-chevalier/Database-Series)》、《[网络](https://ngte-infras.gitbook.io/i/)》、《[虚拟化与云计算](https://github.com/wx-chevalier/Cloud-Series)》、《[Linux 与操作系统](https://github.com/wx-chevalier/Linux-Series)》 84 | 85 | * 数据科学,人工智能与深度学习:《[数理统计](https://ngte-aidl.gitbook.io/i/)》、《[数据分析](https://ngte-aidl.gitbook.io/i/)》、《[机器学习](https://ngte-aidl.gitbook.io/i/)》、《[深度学习](https://ngte-aidl.gitbook.io/i/)》、《[自然语言处理](https://ngte-aidl.gitbook.io/i/)》、《[工具与工程化](https://ngte-aidl.gitbook.io/i/)》、《[行业应用](https://ngte-aidl.gitbook.io/i/)》 86 | 87 | * 产品设计与用户体验:《[产品设计](https://ngte-pd.gitbook.io/i/)》、《[交互体验](https://ngte-pd.gitbook.io/i/)》、《[项目管理](https://ngte-pd.gitbook.io/i/)》 88 | 89 | * 行业应用:《[行业迷思](https://github.com/wx-chevalier/Business-Series)》、《[功能域](https://github.com/wx-chevalier/Business-Series)》、《[电子商务](https://github.com/wx-chevalier/Business-Series)》、《[智能制造](https://github.com/wx-chevalier/Business-Series)》 90 | 91 | 此外,你还可前往 [xCompass](https://wx-chevalier.github.io/home/#/search) 交互式地检索、查找需要的文章/链接/书籍/课程;或者在 [MATRIX 文章与代码索引矩阵](https://github.com/wx-chevalier/Developer-Zero-To-Mastery)中查看文章与项目源代码等更详细的目录导航信息。最后,你也可以关注微信公众号:『**某熊的技术之路**』以获取最新资讯。 92 | -------------------------------------------------------------------------------- /dbs/mysql/etc/my.opt.cnf: -------------------------------------------------------------------------------- 1 | # Optimized my.cnf configuration for MySQL/MariaSQL 2 | # 3 | # by Fotis Evangelou, developer of Engintron (engintron.com) 4 | # 5 | # === Updated December 2018 === 6 | # 7 | # The settings provided below are a starting point for a 2GB - 4GB RAM server with 2-4 CPU cores. 8 | # If you have less or more resources available you should adjust accordingly to save CPU, 9 | # RAM and disk I/O usage. 10 | # The settings marked with a specific comment or the word "UPD" after the value 11 | # should be adjusted for your system by using database diagnostics tools like: 12 | # https://github.com/major/MySQLTuner-perl 13 | # or 14 | # https://launchpad.net/mysql-tuning-primer (supports MySQL up to v5.6) 15 | # 16 | # 17 | # Note that if there is NO comment after a setting value, then 99,9% of the times you won't need to adjust it. 18 | # 19 | # 20 | # THINGS TO DO AFTER YOU UPDATE MY.CNF - TROUBLESHOOTING 21 | # If any terminal commands are mentioned, make sure you execute them as "root" user. 22 | # If MySQL cannot start or restart, then perform the following actions. 23 | # 24 | # 1. If the server had the stock database configuration and you added or updated any 25 | # "innodb_log_*" settings (as suggested below), then execute these commands ONLY 26 | # the first time you apply this configuration: 27 | # 28 | # $ rm -rvf /var/lib/mysql/ib_logfile* 29 | # $ chown -R mysql:mysql /var/lib/mysql 30 | # $ service mysql restart 31 | # 32 | # or use the shorthand command: 33 | # $ rm -rvf /var/lib/mysql/ib_logfile*; chown -R mysql:mysql /var/lib/mysql; service mysql restart 34 | # 35 | # 2. If the setting "bind-address" is not commented out, then make sure the file /etc/hosts is 36 | # properly configured. A good example of a "clean" /etc/hosts file is something like this: 37 | # 38 | # 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 39 | # ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 40 | # 1.2.3.4 hostname.domain.tld hostname # Replace accordingly! 41 | # 42 | # Finally restart the database service: 43 | # 44 | # $ service mysql restart 45 | # 46 | # 3. If the database service cannot restart even after the first 2 steps, make sure the database data folder 47 | # (common for either MySQL or MariaDB) "/var/lib/mysql" is owned by the "mysql" user AND group. 48 | # Additionally, the folder itself can have 0751 or 0755 file permissions. To fix it, simply do this: 49 | # $ chown -R mysql:mysql /var/lib/mysql 50 | # $ chmod 0755 /var/lib/mysql 51 | # 52 | # Finally restart the database service: 53 | # 54 | # $ service mysql restart 55 | 56 | [mysql] 57 | port = 3306 58 | socket = /var/run/mysqld/mysqld.sock 59 | 60 | [mysqld] 61 | # Required Settings 62 | basedir = /usr 63 | bind_address = 127.0.0.1 # Change to 0.0.0.0 to allow remote servers to connect to this server's 64 | # database instance 65 | datadir = /var/lib/mysql 66 | max_allowed_packet = 256M 67 | max_connect_errors = 1000000 68 | pid_file = /var/run/mysqld/mysqld.pid 69 | port = 3306 70 | skip_external_locking 71 | skip_name_resolve 72 | socket = /var/run/mysqld/mysqld.sock 73 | #sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES # Enable for b/c with databases 74 | # using null dates 75 | tmpdir = /tmp 76 | user = mysql 77 | 78 | # InnoDB Settings 79 | default_storage_engine = InnoDB 80 | innodb_buffer_pool_instances = 2 # Use 1 instance per 1GB of InnoDB pool size 81 | innodb_buffer_pool_size = 2G # Use up to 70-80% of RAM & optionally check if /proc/sys/vm/swappiness is set to 0 82 | innodb_file_per_table = 1 83 | innodb_flush_log_at_trx_commit = 0 84 | innodb_flush_method = O_DIRECT 85 | innodb_log_buffer_size = 16M 86 | innodb_log_file_size = 512M 87 | innodb_stats_on_metadata = 0 88 | 89 | #innodb_temp_data_file_path = ibtmp1:64M:autoextend:max:20G # Control the maximum size for the ibtmp1 file 90 | #innodb_thread_concurrency = 4 # Optional: Set to the number of CPUs on your system (minus 1 or 2) to better 91 | # contain CPU usage. E.g. if your system has 8 CPUs, try 6 or 7 and check 92 | # the overall load produced by MySQL/MariaDB. 93 | innodb_read_io_threads = 64 94 | innodb_write_io_threads = 64 95 | 96 | # MyISAM Settings 97 | query_cache_limit = 4M # UPD 98 | query_cache_size = 48M # UPD 99 | query_cache_type = 1 100 | 101 | key_buffer_size = 48M # UPD 102 | 103 | low_priority_updates = 1 104 | concurrent_insert = 2 105 | 106 | # Connection Settings 107 | max_connections = 100 # UPD 108 | 109 | back_log = 512 110 | thread_cache_size = 100 111 | thread_stack = 192K 112 | 113 | interactive_timeout = 180 114 | wait_timeout = 180 115 | 116 | # Buffer Settings 117 | join_buffer_size = 4M # UPD 118 | read_buffer_size = 3M # UPD 119 | read_rnd_buffer_size = 4M # UPD 120 | sort_buffer_size = 4M # UPD 121 | 122 | # Table Settings 123 | # In systemd managed systems like Ubuntu 16.04 or CentOS 7, you need to perform an extra action for table_open_cache & open_files_limit 124 | # to be overriden (also see comment next to open_files_limit). 125 | # E.g. for MySQL 5.7, please check: https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html 126 | # and for MariaDB check: https://mariadb.com/kb/en/library/systemd/ 127 | table_definition_cache = 10000 # UPD 128 | table_open_cache = 10000 # UPD 129 | open_files_limit = 60000 # UPD - This can be 2x to 3x the table_open_cache value or match the system's 130 | # open files limit usually set in /etc/sysctl.conf or /etc/security/limits.conf 131 | # In systemd managed systems this limit must also be set in: 132 | # /etc/systemd/system/mysqld.service.d/override.conf (for MySQL 5.7+) and 133 | # /etc/systemd/system/mariadb.service.d/override.conf (for MariaDB) 134 | 135 | max_heap_table_size = 128M 136 | tmp_table_size = 128M 137 | 138 | # Search Settings 139 | ft_min_word_len = 3 # Minimum length of words to be indexed for search results 140 | 141 | # Logging 142 | log_error = /var/lib/mysql/mysql_error.log 143 | log_queries_not_using_indexes = 1 144 | long_query_time = 5 145 | slow_query_log = 0 # Disabled for production 146 | slow_query_log_file = /var/lib/mysql/mysql_slow.log 147 | 148 | [mysqldump] 149 | # Variable reference 150 | # For MySQL 5.7: https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html 151 | # For MariaDB: https://mariadb.com/kb/en/library/mysqldump/ 152 | quick 153 | quote_names 154 | max_allowed_packet = 64M -------------------------------------------------------------------------------- /dbs/mysql/docker-entrypoint-initdb.d/1-schema.sql: -------------------------------------------------------------------------------- 1 | /* 2 | UEMI MySQL Schema 3 | */ 4 | 5 | SET NAMES utf8mb4; 6 | SET FOREIGN_KEY_CHECKS = 0; 7 | 8 | -- ---------------------------- 9 | -- Table structure for infra_file 10 | -- ---------------------------- 11 | DROP TABLE IF EXISTS `infra_file`; 12 | CREATE TABLE `infra_file` ( 13 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 14 | `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '文件名称', 15 | `size` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '文件大小', 16 | `url` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '文件URL', 17 | `file_md5` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 18 | `save_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '保存类型', 19 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 20 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 21 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 22 | PRIMARY KEY (`id`) USING BTREE 23 | ) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='文件表'; 24 | 25 | -- ---------------------------- 26 | -- Table structure for infra_file_attr 27 | -- ---------------------------- 28 | DROP TABLE IF EXISTS `infra_file_attr`; 29 | CREATE TABLE `infra_file_attr` ( 30 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 31 | `file_id` bigint(20) unsigned NOT NULL COMMENT '文件ID', 32 | `attr_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '属性名称', 33 | `attr_value` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '属性值', 34 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 35 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 36 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 37 | PRIMARY KEY (`id`) USING BTREE 38 | ) ENGINE=InnoDB AUTO_INCREMENT=69 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='文件属性表'; 39 | 40 | -- ---------------------------- 41 | -- Table structure for infra_kv 42 | -- ---------------------------- 43 | DROP TABLE IF EXISTS `infra_kv`; 44 | CREATE TABLE `infra_kv` ( 45 | `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 46 | `bool_v` tinyint(1) DEFAULT NULL, 47 | `str_v` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, 48 | `long_v` bigint(20) DEFAULT NULL, 49 | `dbl_v` double DEFAULT NULL, 50 | PRIMARY KEY (`key`) USING BTREE 51 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 52 | 53 | -- ---------------------------- 54 | -- Table structure for infra_meta 55 | -- ---------------------------- 56 | DROP TABLE IF EXISTS `infra_meta`; 57 | CREATE TABLE `infra_meta` ( 58 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '内部自增编号', 59 | `target` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 60 | `target_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 61 | `key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 62 | `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, 63 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 64 | `updated_at` timestamp NULL DEFAULT NULL, 65 | `deleted_at` timestamp NULL DEFAULT NULL, 66 | PRIMARY KEY (`id`) USING BTREE 67 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 68 | 69 | -- ---------------------------- 70 | -- Table structure for infra_tag 71 | -- ---------------------------- 72 | DROP TABLE IF EXISTS `infra_tag`; 73 | CREATE TABLE `infra_tag` ( 74 | `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 75 | `tag_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 76 | `tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 77 | `creator_id` bigint(20) unsigned NOT NULL COMMENT '创建人ID', 78 | `tenant_id` bigint(20) unsigned DEFAULT NULL, 79 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 80 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 81 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 82 | PRIMARY KEY (`id`) USING BTREE 83 | ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='标签表'; 84 | 85 | -- ---------------------------- 86 | -- Table structure for infra_ts_kv 87 | -- ---------------------------- 88 | DROP TABLE IF EXISTS `infra_ts_kv`; 89 | CREATE TABLE `infra_ts_kv` ( 90 | `entity_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 91 | `entity_id` bigint(20) unsigned NOT NULL, 92 | `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 93 | `ts` bigint(20) unsigned NOT NULL, 94 | `bool_v` tinyint(1) DEFAULT NULL, 95 | `str_v` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, 96 | `long_v` bigint(20) DEFAULT NULL, 97 | `dbl_v` double DEFAULT NULL, 98 | PRIMARY KEY (`entity_type`,`entity_id`,`key`,`ts`) USING BTREE 99 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 100 | 101 | -- ---------------------------- 102 | -- Table structure for infra_ts_kv_latest 103 | -- ---------------------------- 104 | DROP TABLE IF EXISTS `infra_ts_kv_latest`; 105 | CREATE TABLE `infra_ts_kv_latest` ( 106 | `entity_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 107 | `entity_id` bigint(20) unsigned NOT NULL, 108 | `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 109 | `ts` bigint(20) unsigned NOT NULL, 110 | `bool_v` tinyint(1) DEFAULT NULL, 111 | `str_v` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, 112 | `long_v` bigint(20) DEFAULT NULL, 113 | `dbl_v` double DEFAULT NULL, 114 | PRIMARY KEY (`entity_type`,`entity_id`,`key`) 115 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 116 | 117 | -- ---------------------------- 118 | -- Table structure for iot_device 119 | -- ---------------------------- 120 | DROP TABLE IF EXISTS `iot_device`; 121 | CREATE TABLE `iot_device` ( 122 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 123 | `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 124 | `thing_id` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 125 | `customer_id` bigint(20) unsigned DEFAULT NULL, 126 | `tenant_id` bigint(20) unsigned NOT NULL, 127 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 128 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 129 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 130 | PRIMARY KEY (`id`) USING BTREE 131 | ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 132 | 133 | -- ---------------------------- 134 | -- Table structure for iot_device_credentials 135 | -- ---------------------------- 136 | DROP TABLE IF EXISTS `iot_device_credentials`; 137 | CREATE TABLE `iot_device_credentials` ( 138 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 139 | `credentials_id` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 140 | `credentials_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 141 | `credentials_value` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 142 | `device_id` bigint(20) unsigned NOT NULL, 143 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 144 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 145 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 146 | PRIMARY KEY (`id`) USING BTREE 147 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 148 | 149 | -- ---------------------------- 150 | -- Table structure for mes_work_order 151 | -- ---------------------------- 152 | DROP TABLE IF EXISTS `mes_work_order`; 153 | CREATE TABLE `mes_work_order` ( 154 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标记', 155 | `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '工单编号 时间+6位随机码', 156 | `file_count` int(11) NOT NULL DEFAULT '0' COMMENT '零件数量', 157 | `preview_file_id` bigint(20) unsigned DEFAULT NULL COMMENT '订单预览图文件ID', 158 | `maintainer_id` bigint(20) DEFAULT NULL COMMENT '当前维护人ID', 159 | `status` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '订单状态 创建中、待排产、已排产、打印中、已完成、异常', 160 | `creator_id` bigint(20) DEFAULT NULL COMMENT '创建人ID', 161 | `tenant_id` bigint(20) unsigned NOT NULL, 162 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 163 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 164 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 165 | PRIMARY KEY (`id`) USING BTREE, 166 | KEY `INDEX_CODE` (`code`) USING BTREE 167 | ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='工单表'; 168 | 169 | -- ---------------------------- 170 | -- Table structure for mes_work_order_feedback 171 | -- ---------------------------- 172 | DROP TABLE IF EXISTS `mes_work_order_feedback`; 173 | CREATE TABLE `mes_work_order_feedback` ( 174 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标志', 175 | `work_order_id` bigint(20) unsigned NOT NULL COMMENT '反馈工单ID', 176 | `type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '反馈类型 坏件反馈/其他反馈', 177 | `picture_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '图片文件ID集合', 178 | `description` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '反馈信息描述 长度限制1024个字符', 179 | `creator_id` bigint(20) DEFAULT NULL COMMENT '创建人', 180 | `tenant_id` bigint(20) unsigned NOT NULL, 181 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 182 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 183 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 184 | PRIMARY KEY (`id`) USING BTREE 185 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='工单反馈表'; 186 | 187 | -- ---------------------------- 188 | -- Table structure for mes_work_order_hist 189 | -- ---------------------------- 190 | DROP TABLE IF EXISTS `mes_work_order_hist`; 191 | CREATE TABLE `mes_work_order_hist` ( 192 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 193 | `work_order_id` bigint(20) unsigned NOT NULL COMMENT '工单ID', 194 | `change_type` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '变更类型: 订单状态/维护人/其他变更', 195 | `status` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '状态', 196 | `maintainer_id` bigint(20) DEFAULT NULL COMMENT '维护人ID', 197 | `description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '变更描述(其他变更描述)', 198 | `tenant_id` bigint(20) unsigned NOT NULL, 199 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 200 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 201 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 202 | PRIMARY KEY (`id`) USING BTREE 203 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='工单变更历史表'; 204 | 205 | -- ---------------------------- 206 | -- Table structure for mes_work_order_picture 207 | -- ---------------------------- 208 | DROP TABLE IF EXISTS `mes_work_order_picture`; 209 | CREATE TABLE `mes_work_order_picture` ( 210 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标记', 211 | `work_order_id` bigint(20) unsigned NOT NULL COMMENT '工单ID', 212 | `file_id` bigint(20) unsigned NOT NULL COMMENT '文件唯一标识', 213 | `tenant_id` bigint(20) unsigned NOT NULL, 214 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 215 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 216 | `deleted_at` timestamp NULL DEFAULT NULL, 217 | PRIMARY KEY (`id`) USING BTREE 218 | ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='工单图片表'; 219 | 220 | -- ---------------------------- 221 | -- Table structure for mes_work_order_printable_file 222 | -- ---------------------------- 223 | DROP TABLE IF EXISTS `mes_work_order_printable_file`; 224 | CREATE TABLE `mes_work_order_printable_file` ( 225 | `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '唯一标记', 226 | `work_order_id` bigint(20) unsigned NOT NULL COMMENT '工单ID', 227 | `file_id` bigint(20) unsigned NOT NULL COMMENT '文件唯一标识', 228 | `conversion_start_time` timestamp NULL DEFAULT NULL COMMENT '转换开始时间', 229 | `conversion_finish_time` timestamp NULL DEFAULT NULL COMMENT '转换完成时间', 230 | `conversion_estimate_cost_sec` int(11) DEFAULT NULL COMMENT '转换预估时间 单位:S', 231 | `conversion_progress_percent` int(11) NOT NULL DEFAULT '0' COMMENT '转换进度', 232 | `is_conversion_failed` tinyint(1) DEFAULT '0' COMMENT '是否转换失败', 233 | `conversion_fail_reason` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '转换失败原因', 234 | `is_disabled` tinyint(1) DEFAULT '0' COMMENT '文件状态(是否禁用打印)', 235 | `usp_file_id` bigint(20) unsigned DEFAULT NULL COMMENT 'USP文件ID', 236 | `tenant_id` bigint(20) unsigned NOT NULL, 237 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 238 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 239 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 240 | PRIMARY KEY (`id`) USING BTREE 241 | ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='工单打印文件表'; 242 | 243 | -- ---------------------------- 244 | -- Table structure for mes_work_order_requirement 245 | -- ---------------------------- 246 | DROP TABLE IF EXISTS `mes_work_order_requirement`; 247 | CREATE TABLE `mes_work_order_requirement` ( 248 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 249 | `work_order_id` bigint(20) unsigned NOT NULL, 250 | `tenant_id` bigint(20) unsigned NOT NULL, 251 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 252 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 253 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 254 | PRIMARY KEY (`id`) USING BTREE 255 | ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='工单生产要求: 实际要求存放在 infra_ts_kv 中'; 256 | 257 | -- ---------------------------- 258 | -- Table structure for mes_work_order_schedule 259 | -- ---------------------------- 260 | DROP TABLE IF EXISTS `mes_work_order_schedule`; 261 | CREATE TABLE `mes_work_order_schedule` ( 262 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 263 | `ordinal` int(11) NOT NULL DEFAULT '0' COMMENT '当前队列顺序', 264 | `device_id` bigint(20) unsigned NOT NULL COMMENT '设备唯一标志', 265 | `work_order_id` bigint(20) unsigned NOT NULL COMMENT '生产工单ID', 266 | `status` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '生产状态', 267 | `estimated_cost_sec` int(11) DEFAULT NULL COMMENT '预计消耗时间', 268 | `start_time` timestamp NULL DEFAULT NULL COMMENT '打印开始时间', 269 | `end_time` timestamp NULL DEFAULT NULL COMMENT '打印结束时间', 270 | `cost_sec` int(10) unsigned DEFAULT NULL COMMENT '实际花费时间(s)', 271 | `progress_percent` int(11) DEFAULT '0' COMMENT '打印进度', 272 | `tenant_id` bigint(20) unsigned NOT NULL, 273 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 274 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 275 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 276 | PRIMARY KEY (`id`) USING BTREE, 277 | UNIQUE KEY `i_device_id` (`work_order_id`) USING BTREE, 278 | KEY `INDEX_DEVICE_ID` (`device_id`) USING BTREE 279 | ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='逻辑上表示一个工单的排产,切换工单设备时不应删除,应更新'; 280 | 281 | -- ---------------------------- 282 | -- Table structure for mes_work_order_schedule_hist 283 | -- ---------------------------- 284 | DROP TABLE IF EXISTS `mes_work_order_schedule_hist`; 285 | CREATE TABLE `mes_work_order_schedule_hist` ( 286 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 287 | `work_order_schedule_id` bigint(20) unsigned NOT NULL, 288 | `change_type` char(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '改变类型:队列重排/预估时间变更/打印状态', 289 | `device_id` bigint(20) unsigned NOT NULL, 290 | `status` char(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '打印状态', 291 | `estimated_start_time` datetime DEFAULT NULL COMMENT '预计开始时间', 292 | `estimated_cost_sec` int(11) DEFAULT NULL COMMENT '预计消耗时间', 293 | `estimated_end_time` datetime DEFAULT NULL COMMENT '预计结束时间', 294 | `tenant_id` bigint(20) unsigned NOT NULL, 295 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 296 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 297 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 298 | PRIMARY KEY (`id`) USING BTREE 299 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='设变工单变更历史表'; 300 | 301 | -- ---------------------------- 302 | -- Table structure for mes_work_order_summary 303 | -- ---------------------------- 304 | DROP TABLE IF EXISTS `mes_work_order_summary`; 305 | CREATE TABLE `mes_work_order_summary` ( 306 | `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 307 | `company_id` bigint(20) NOT NULL COMMENT '所属公司ID', 308 | `count_completed` int(11) NOT NULL DEFAULT '0' COMMENT '已完成数量', 309 | `count_incompleted` int(11) NOT NULL DEFAULT '0' COMMENT '未完成数量', 310 | `count_error` int(11) NOT NULL DEFAULT '0' COMMENT '异常数量', 311 | `statistics_date` date NOT NULL COMMENT '汇总日期', 312 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 313 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 314 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 315 | PRIMARY KEY (`id`) USING BTREE 316 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单汇总表'; 317 | 318 | -- ---------------------------- 319 | -- Table structure for o_cart_item 320 | -- ---------------------------- 321 | DROP TABLE IF EXISTS `o_cart_item`; 322 | CREATE TABLE `o_cart_item` ( 323 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 324 | `product_id` bigint(20) NOT NULL, 325 | `product_category_id` bigint(20) NOT NULL COMMENT '商品分类', 326 | `product_sku_id` bigint(20) DEFAULT NULL, 327 | `member_id` bigint(20) DEFAULT NULL, 328 | `quantity` int(11) DEFAULT NULL COMMENT '购买数量', 329 | `price` decimal(10,2) DEFAULT NULL COMMENT '添加到购物车的价格', 330 | `product_pic` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品主图', 331 | `product_name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品名称', 332 | `product_sub_title` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品副标题(卖点)', 333 | `product_sku_code` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品sku条码', 334 | `member_nickname` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '会员昵称', 335 | `product_brand` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, 336 | `product_sn` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, 337 | `product_attr` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品销售属性:[{"key":"颜色","value":"颜色"},{"key":"容量","value":"4G"}]', 338 | `sp1` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '销售属性1', 339 | `sp2` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '销售属性2', 340 | `sp3` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '销售属性3', 341 | `tenant_id` bigint(20) unsigned NOT NULL, 342 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 343 | `updated_at` timestamp NULL DEFAULT NULL, 344 | `deleted_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '删除时间', 345 | PRIMARY KEY (`id`) USING BTREE 346 | ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='购物车表'; 347 | 348 | -- ---------------------------- 349 | -- Table structure for o_delivery_template 350 | -- ---------------------------- 351 | DROP TABLE IF EXISTS `o_delivery_template`; 352 | CREATE TABLE `o_delivery_template` ( 353 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 354 | `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, 355 | `charge_type` int(1) DEFAULT NULL COMMENT '计费类型:0->按重量;1->按件数', 356 | `first_weight` decimal(10,2) DEFAULT NULL COMMENT '首重kg', 357 | `first_fee` decimal(10,2) DEFAULT NULL COMMENT '首费(元)', 358 | `continue_weight` decimal(10,2) DEFAULT NULL, 359 | `continme_fee` decimal(10,2) DEFAULT NULL, 360 | `dest` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '目的地(省、市)', 361 | `tenant_id` bigint(20) unsigned NOT NULL, 362 | `deleted_at` timestamp NULL DEFAULT NULL, 363 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 364 | `updated_at` timestamp NULL DEFAULT NULL, 365 | PRIMARY KEY (`id`) USING BTREE 366 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='运费模版'; 367 | 368 | -- ---------------------------- 369 | -- Table structure for o_order 370 | -- ---------------------------- 371 | DROP TABLE IF EXISTS `o_order`; 372 | CREATE TABLE `o_order` ( 373 | `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单id', 374 | `user_id` bigint(20) NOT NULL, 375 | `coupon_id` bigint(20) DEFAULT NULL, 376 | `order_delivery_id` bigint(20) unsigned DEFAULT NULL COMMENT '订单派送的关联编号', 377 | `order_sn` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '订单编号', 378 | `user_username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 379 | `total_amount` decimal(10,2) DEFAULT NULL COMMENT '订单总金额', 380 | `pay_amount` decimal(10,2) DEFAULT NULL COMMENT '应付金额(实际支付金额)', 381 | `promotion_amount` decimal(10,2) DEFAULT NULL COMMENT '促销优化金额(促销价、满减、阶梯价)', 382 | `integration_amount` decimal(10,2) DEFAULT NULL COMMENT '积分抵扣金额', 383 | `coupon_amount` decimal(10,2) DEFAULT NULL COMMENT '优惠券抵扣金额', 384 | `discount_amount` decimal(10,2) DEFAULT NULL COMMENT '管理员后台调整订单使用的折扣金额', 385 | `pay_type` int(1) DEFAULT NULL COMMENT '支付方式:0->未支付;1->支付宝;2->微信', 386 | `source_type` int(1) DEFAULT NULL COMMENT '订单来源:0->PC订单;1->app订单', 387 | `status` int(1) DEFAULT NULL COMMENT '订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单', 388 | `order_type` int(1) DEFAULT NULL COMMENT '订单类型:0->正常订单;1->秒杀订单', 389 | `auto_confirm_day` int(11) DEFAULT NULL COMMENT '自动确认时间(天)', 390 | `integration` int(11) DEFAULT NULL COMMENT '可以获得的积分', 391 | `growth` int(11) DEFAULT NULL COMMENT '可以活动的成长值', 392 | `promotion_info` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '活动信息', 393 | `note` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '订单备注', 394 | `use_integration` int(11) DEFAULT NULL COMMENT '下单时使用的积分', 395 | `payment_time` datetime DEFAULT NULL COMMENT '支付时间', 396 | `delivery_time` datetime DEFAULT NULL COMMENT '发货时间', 397 | `receive_time` datetime DEFAULT NULL COMMENT '确认收货时间', 398 | `comment_time` datetime DEFAULT NULL COMMENT '评价时间', 399 | `tenant_id` bigint(20) unsigned NOT NULL, 400 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 401 | `updated_at` timestamp NULL DEFAULT NULL, 402 | `deleted_at` timestamp NULL DEFAULT NULL, 403 | PRIMARY KEY (`id`) USING BTREE 404 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='交易的描述'; 405 | 406 | -- ---------------------------- 407 | -- Table structure for o_order_bill 408 | -- ---------------------------- 409 | DROP TABLE IF EXISTS `o_order_bill`; 410 | CREATE TABLE `o_order_bill` ( 411 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '内部自增编号', 412 | `order_id` bigint(20) unsigned DEFAULT NULL, 413 | `bill_type` int(11) DEFAULT NULL COMMENT '发票类型:0->不开发票;1->电子发票;2->纸质发票', 414 | `bill_receiver_email` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '收票人邮箱', 415 | `bill_receiver_phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '收票人电话', 416 | `bill_content` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '发票内容', 417 | `bill_header` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '发票抬头', 418 | `tenant_id` bigint(20) unsigned NOT NULL, 419 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 420 | `updated_at` timestamp NULL DEFAULT NULL, 421 | `deleted_at` timestamp NULL DEFAULT NULL, 422 | PRIMARY KEY (`id`) USING BTREE 423 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 424 | 425 | -- ---------------------------- 426 | -- Table structure for o_order_delivery 427 | -- ---------------------------- 428 | DROP TABLE IF EXISTS `o_order_delivery`; 429 | CREATE TABLE `o_order_delivery` ( 430 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '内部自增编号', 431 | `order_id` bigint(20) unsigned DEFAULT NULL, 432 | `type` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '派送方式 0 - 自提 1 - 物流 2 - 快递 3 - 外卖', 433 | `supplier_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '供应商名称', 434 | `receiver_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人姓名', 435 | `receiver_detail_address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '详细地址', 436 | `receiver_region` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '区', 437 | `receiver_city` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '城市', 438 | `receiver_province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '省份/直辖市', 439 | `receiver_post_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '收货人邮编', 440 | `receiver_phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人电话', 441 | `delivery_amount` decimal(10,2) DEFAULT NULL COMMENT '运费金额', 442 | `confirm_status` int(1) DEFAULT NULL COMMENT '确认收货状态:0->未确认;1->已确认', 443 | `tenant_id` bigint(20) unsigned NOT NULL, 444 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 445 | `updated_at` timestamp NULL DEFAULT NULL, 446 | `deleted_at` timestamp NULL DEFAULT NULL, 447 | PRIMARY KEY (`id`) USING BTREE, 448 | UNIQUE KEY `unq_o_order_delivery_supplier_name` (`supplier_name`) USING BTREE 449 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单配送单'; 450 | 451 | -- ---------------------------- 452 | -- Table structure for o_order_delivery_history 453 | -- ---------------------------- 454 | DROP TABLE IF EXISTS `o_order_delivery_history`; 455 | CREATE TABLE `o_order_delivery_history` ( 456 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '内部自增编号', 457 | `order_delivery_id` bigint(20) unsigned DEFAULT NULL, 458 | `courier_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '快递员名称', 459 | `courier_phone` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '快递员联系方式', 460 | `courier_position` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '外卖员位置,经纬度逗号分隔', 461 | `confirm_status` int(1) DEFAULT NULL COMMENT '本次流转中的确认交付状态:0->未确认;1->已确认', 462 | `tenant_id` bigint(20) unsigned NOT NULL, 463 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 464 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 465 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 466 | PRIMARY KEY (`id`) USING BTREE 467 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单配送的历史记录'; 468 | 469 | -- ---------------------------- 470 | -- Table structure for o_order_item 471 | -- ---------------------------- 472 | DROP TABLE IF EXISTS `o_order_item`; 473 | CREATE TABLE `o_order_item` ( 474 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 475 | `order_id` bigint(20) DEFAULT NULL COMMENT '订单id', 476 | `order_sn` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '订单编号', 477 | `product_id` bigint(20) DEFAULT NULL, 478 | `product_category_id` bigint(20) DEFAULT NULL COMMENT '商品分类id', 479 | `product_pic` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 480 | `product_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 481 | `product_brand` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 482 | `product_sn` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 483 | `product_price` decimal(10,2) DEFAULT NULL COMMENT '销售价格', 484 | `product_quantity` int(11) DEFAULT NULL COMMENT '购买数量', 485 | `product_sku_id` bigint(20) DEFAULT NULL COMMENT '商品sku编号', 486 | `product_sku_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品sku条码', 487 | `product_attr` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品销售属性:[{"key":"颜色","value":"颜色"},{"key":"容量","value":"4G"}]', 488 | `sp1` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品的销售属性', 489 | `sp2` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 490 | `sp3` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 491 | `promotion_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品促销名称', 492 | `promotion_amount` decimal(10,2) DEFAULT NULL COMMENT '商品促销分解金额', 493 | `coupon_amount` decimal(10,2) DEFAULT NULL COMMENT '优惠券优惠分解金额', 494 | `integration_amount` decimal(10,2) DEFAULT NULL COMMENT '积分优惠分解金额', 495 | `real_amount` decimal(10,2) DEFAULT NULL COMMENT '该商品经过优惠后的分解金额', 496 | `gift_integration` int(11) DEFAULT '0', 497 | `gift_growth` int(11) DEFAULT '0', 498 | `tenant_id` bigint(20) unsigned NOT NULL, 499 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 500 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 501 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 502 | PRIMARY KEY (`id`) USING BTREE 503 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='交易的快照'; 504 | 505 | -- ---------------------------- 506 | -- Table structure for o_order_setting 507 | -- ---------------------------- 508 | DROP TABLE IF EXISTS `o_order_setting`; 509 | CREATE TABLE `o_order_setting` ( 510 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 511 | `flash_order_overtime` int(11) DEFAULT NULL COMMENT '秒杀订单超时关闭时间(分)', 512 | `normal_order_overtime` int(11) DEFAULT NULL COMMENT '正常订单超时时间(分)', 513 | `confirm_overtime` int(11) DEFAULT NULL COMMENT '发货后自动确认收货时间(天)', 514 | `finish_overtime` int(11) DEFAULT NULL COMMENT '自动完成交易时间,不能申请售后(天)', 515 | `comment_overtime` int(11) DEFAULT NULL COMMENT '订单完成后自动好评时间(天)', 516 | `is_active` tinyint(4) DEFAULT NULL COMMENT '是否激活使用 0 - 未激活 1 - 已激活', 517 | `tenant_id` bigint(20) unsigned NOT NULL, 518 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 519 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 520 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 521 | PRIMARY KEY (`id`) USING BTREE 522 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单设置'; 523 | 524 | -- ---------------------------- 525 | -- Table structure for p_brand 526 | -- ---------------------------- 527 | DROP TABLE IF EXISTS `p_brand`; 528 | CREATE TABLE `p_brand` ( 529 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 530 | `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 531 | `first_letter` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '首字母', 532 | `sort` int(11) DEFAULT NULL, 533 | `factory_status` int(1) DEFAULT NULL COMMENT '是否为品牌制造商:0->不是;1->是', 534 | `show_status` int(11) DEFAULT NULL COMMENT '0 - 不展示 1 - 展示', 535 | `product_count` int(11) DEFAULT NULL COMMENT '产品数量', 536 | `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '品牌logo', 537 | `big_pic` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '专区大图', 538 | `brand_story` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '品牌故事', 539 | `tenant_id` bigint(20) unsigned NOT NULL, 540 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 541 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 542 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 543 | PRIMARY KEY (`id`) USING BTREE 544 | ) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='品牌表'; 545 | 546 | -- ---------------------------- 547 | -- Table structure for p_material 548 | -- ---------------------------- 549 | DROP TABLE IF EXISTS `p_material`; 550 | CREATE TABLE `p_material` ( 551 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 552 | `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '材料名称', 553 | `description` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '材料描述', 554 | `is_disabled` tinyint(1) DEFAULT '0' COMMENT '材料状态(是否禁用)', 555 | `creator_id` bigint(20) unsigned NOT NULL COMMENT '创建人ID', 556 | `tenant_id` bigint(20) unsigned NOT NULL, 557 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 558 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 559 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 560 | PRIMARY KEY (`id`) USING BTREE 561 | ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='打印材料表'; 562 | 563 | -- ---------------------------- 564 | -- Table structure for p_material_attr 565 | -- ---------------------------- 566 | DROP TABLE IF EXISTS `p_material_attr`; 567 | CREATE TABLE `p_material_attr` ( 568 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 569 | `material_id` bigint(20) unsigned NOT NULL COMMENT '材料ID', 570 | `attr_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '属性名称', 571 | `attr_value` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '属性值', 572 | `tenant_id` bigint(20) unsigned NOT NULL, 573 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 574 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 575 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 576 | PRIMARY KEY (`id`) USING BTREE 577 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='材料属性表'; 578 | 579 | -- ---------------------------- 580 | -- Table structure for p_product 581 | -- ---------------------------- 582 | DROP TABLE IF EXISTS `p_product`; 583 | CREATE TABLE `p_product` ( 584 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 585 | `brand_id` bigint(20) DEFAULT NULL, 586 | `product_category_id` bigint(20) DEFAULT NULL, 587 | `delivery_template_id` bigint(20) DEFAULT NULL, 588 | `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 589 | `product_category_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品分类名称', 590 | `pic` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '产品图片', 591 | `product_sn` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '货号', 592 | `publish_status` int(1) DEFAULT NULL COMMENT '上架状态:0->下架;1->上架', 593 | `new_status` int(1) DEFAULT NULL COMMENT '新品状态:0->不是新品;1->新品', 594 | `recommand_status` int(1) DEFAULT NULL COMMENT '推荐状态;0->不推荐;1->推荐', 595 | `verify_status` int(1) DEFAULT NULL COMMENT '审核状态:0->未审核;1->审核通过', 596 | `sort` int(11) DEFAULT NULL, 597 | `sale` int(11) DEFAULT NULL COMMENT '销量', 598 | `gift_growth` int(11) DEFAULT '0' COMMENT '赠送的成长值', 599 | `gift_point` int(11) DEFAULT '0' COMMENT '赠送的积分', 600 | `use_point_limit` int(11) DEFAULT NULL COMMENT '限制使用的积分数', 601 | `sub_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '副标题', 602 | `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '商品描述', 603 | `original_price` decimal(10,2) DEFAULT NULL COMMENT '市场价', 604 | `stock` int(11) DEFAULT NULL COMMENT '库存', 605 | `low_stock` int(11) DEFAULT NULL COMMENT '库存预警值', 606 | `unit` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '单位', 607 | `weight` decimal(10,2) DEFAULT NULL COMMENT '商品重量,默认为克', 608 | `preview_status` int(1) DEFAULT NULL COMMENT '是否为预告商品:0->不是;1->是', 609 | `service_ids` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '以逗号分割的产品服务:1->无忧退货;2->快速退款;3->免费包邮', 610 | `keywords` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品关键字,以逗号分隔', 611 | `note` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', 612 | `album_pics` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '画册图片,连产品图片限制为5张,以逗号分割', 613 | `detail_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '详情标题', 614 | `detail_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '详情描述', 615 | `detail_html` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '产品详情网页内容', 616 | `detail_mobile_html` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '移动端网页详情', 617 | `brand_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '品牌名称', 618 | `tenant_id` bigint(20) unsigned NOT NULL, 619 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 620 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 621 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 622 | PRIMARY KEY (`id`) USING BTREE 623 | ) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='产品表'; 624 | 625 | -- ---------------------------- 626 | -- Table structure for p_product_attr 627 | -- ---------------------------- 628 | DROP TABLE IF EXISTS `p_product_attr`; 629 | CREATE TABLE `p_product_attr` ( 630 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 631 | `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 632 | `select_type` int(1) DEFAULT NULL COMMENT '属性选择类型:0->唯一;1->单选;2->多选', 633 | `input_type` int(1) DEFAULT NULL COMMENT '属性录入方式:0->手工录入;1->从列表中选取', 634 | `input_list` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '可选值列表,以逗号隔开', 635 | `sort` int(11) DEFAULT NULL, 636 | `filter_type` int(1) DEFAULT NULL COMMENT '分类筛选样式:1->普通;1->颜色', 637 | `search_type` int(1) DEFAULT NULL COMMENT '检索类型;0->不需要进行检索;1->关键字检索;2->范围检索', 638 | `related_status` int(1) DEFAULT NULL COMMENT '相同属性产品是否关联;0->不关联;1->关联', 639 | `hand_add_status` int(1) DEFAULT NULL COMMENT '是否支持手动新增;0->不支持;1->支持', 640 | `type` int(1) DEFAULT NULL COMMENT '属性的类型;0->规格;1->参数', 641 | `tenant_id` bigint(20) unsigned NOT NULL, 642 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 643 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 644 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 645 | PRIMARY KEY (`id`) USING BTREE 646 | ) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='商品属性参数表'; 647 | 648 | -- ---------------------------- 649 | -- Table structure for p_product_attr_value 650 | -- ---------------------------- 651 | DROP TABLE IF EXISTS `p_product_attr_value`; 652 | CREATE TABLE `p_product_attr_value` ( 653 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 654 | `product_id` bigint(20) DEFAULT NULL, 655 | `product_attr_id` bigint(20) DEFAULT NULL, 656 | `value` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '手动添加规格或参数的值,参数单值,规格有多个时以逗号隔开', 657 | `tenant_id` bigint(20) unsigned NOT NULL, 658 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 659 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 660 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 661 | PRIMARY KEY (`id`) USING BTREE 662 | ) ENGINE=InnoDB AUTO_INCREMENT=228 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='存储产品参数信息的表'; 663 | 664 | -- ---------------------------- 665 | -- Table structure for p_product_category 666 | -- ---------------------------- 667 | DROP TABLE IF EXISTS `p_product_category`; 668 | CREATE TABLE `p_product_category` ( 669 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 670 | `parent_id` bigint(20) DEFAULT NULL COMMENT '上级分类的编号:0表示一级分类', 671 | `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 672 | `level` int(1) DEFAULT NULL COMMENT '分类级别:0->1级;1->2级', 673 | `product_count` int(11) DEFAULT NULL, 674 | `product_unit` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 675 | `nav_status` int(1) DEFAULT NULL COMMENT '是否显示在导航栏:0->不显示;1->显示', 676 | `show_status` int(1) DEFAULT NULL COMMENT '显示状态:0->不显示;1->显示', 677 | `sort` int(11) DEFAULT NULL, 678 | `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 679 | `keywords` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '关键字,逗号分隔', 680 | `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '描述', 681 | `tenant_id` bigint(20) unsigned NOT NULL, 682 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 683 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 684 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 685 | PRIMARY KEY (`id`) USING BTREE 686 | ) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='产品种类'; 687 | 688 | -- ---------------------------- 689 | -- Table structure for p_promotion 690 | -- ---------------------------- 691 | DROP TABLE IF EXISTS `p_promotion`; 692 | CREATE TABLE `p_promotion` ( 693 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 694 | `product_id` bigint(20) DEFAULT NULL COMMENT '关联的产品编号', 695 | `promotion_price` decimal(10,2) DEFAULT NULL COMMENT '促销价格', 696 | `promotion_start_time` datetime DEFAULT NULL COMMENT '促销开始时间', 697 | `promotion_end_time` datetime DEFAULT NULL COMMENT '促销结束时间', 698 | `promotion_per_limit` int(11) DEFAULT NULL COMMENT '活动限购数量', 699 | `promotion_type` int(1) DEFAULT NULL COMMENT '促销类型:0->没有促销使用原价;1->使用促销价;2->使用会员价;3->使用阶梯价格;4->使用满减价格;5->限时购', 700 | `promotion_desc` bigint(20) DEFAULT NULL COMMENT '促销描述', 701 | `promotion_discount` smallint(6) DEFAULT NULL COMMENT '促销折扣,以 0 - 100 的整数描述', 702 | `tenant_id` bigint(20) unsigned NOT NULL, 703 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 704 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 705 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 706 | PRIMARY KEY (`id`) USING BTREE 707 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='营销推荐表'; 708 | 709 | -- ---------------------------- 710 | -- Table structure for p_sku_stock 711 | -- ---------------------------- 712 | DROP TABLE IF EXISTS `p_sku_stock`; 713 | CREATE TABLE `p_sku_stock` ( 714 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 715 | `product_id` bigint(20) DEFAULT NULL, 716 | `sku_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'sku编码', 717 | `price` decimal(10,2) DEFAULT NULL, 718 | `stock` int(11) DEFAULT '0' COMMENT '库存', 719 | `low_stock` int(11) DEFAULT NULL COMMENT '预警库存', 720 | `pic` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '展示图片', 721 | `sale` int(11) DEFAULT NULL COMMENT '销量', 722 | `promotion_price` decimal(10,2) DEFAULT NULL COMMENT '单品促销价格', 723 | `lock_stock` int(11) DEFAULT '0' COMMENT '锁定库存', 724 | `sp1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '销售属性1', 725 | `sp2` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 726 | `sp3` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 727 | `tenant_id` bigint(20) unsigned NOT NULL, 728 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 729 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 730 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 731 | PRIMARY KEY (`id`) USING BTREE 732 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='库存表'; 733 | 734 | -- ---------------------------- 735 | -- Table structure for u_company 736 | -- ---------------------------- 737 | DROP TABLE IF EXISTS `u_company`; 738 | CREATE TABLE `u_company` ( 739 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 740 | `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司名称', 741 | `alias_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司简称', 742 | `area_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司省市', 743 | `contacts_person` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '联系人', 744 | `phone_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '联系电话', 745 | `tenant_id` bigint(20) unsigned NOT NULL, 746 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 747 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 748 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 749 | PRIMARY KEY (`id`) USING BTREE 750 | ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='公司表'; 751 | 752 | -- ---------------------------- 753 | -- Table structure for u_member 754 | -- ---------------------------- 755 | DROP TABLE IF EXISTS `u_member`; 756 | CREATE TABLE `u_member` ( 757 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 758 | `user_id` bigint(20) DEFAULT NULL, 759 | `integration` int(11) DEFAULT NULL COMMENT '积分', 760 | `growth` int(11) DEFAULT NULL COMMENT '成长值', 761 | `luckey_count` int(11) DEFAULT NULL COMMENT '剩余抽奖次数', 762 | `history_integration` int(11) DEFAULT NULL COMMENT '历史积分数量', 763 | `member_level_id` bigint(20) unsigned DEFAULT NULL COMMENT '会员等级编号', 764 | `tenant_id` bigint(20) unsigned NOT NULL, 765 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 766 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 767 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 768 | PRIMARY KEY (`id`) USING BTREE 769 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='会员表'; 770 | 771 | -- ---------------------------- 772 | -- Table structure for u_member_level 773 | -- ---------------------------- 774 | DROP TABLE IF EXISTS `u_member_level`; 775 | CREATE TABLE `u_member_level` ( 776 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 777 | `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '等级名称', 778 | `growth_point` int(11) DEFAULT NULL COMMENT '成长点', 779 | `default_status` int(1) DEFAULT NULL COMMENT '是否为默认等级:0->不是;1->是', 780 | `free_delivery_point` decimal(10,2) DEFAULT NULL COMMENT '免运费标准', 781 | `comment_growth_point` int(11) DEFAULT NULL COMMENT '每次评价获取的成长值', 782 | `priviledge_free_delivery` int(1) DEFAULT NULL COMMENT '是否有免邮特权', 783 | `priviledge_sign_in` int(1) DEFAULT NULL COMMENT '是否有签到特权', 784 | `priviledge_comment` int(1) DEFAULT NULL COMMENT '是否有评论获奖励特权', 785 | `priviledge_promotion` int(1) DEFAULT NULL COMMENT '是否有专享活动特权', 786 | `priviledge_member_price` int(1) DEFAULT NULL COMMENT '是否有会员价格特权', 787 | `priviledge_birthday` int(1) DEFAULT NULL COMMENT '是否有生日特权', 788 | `note` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', 789 | `tenant_id` bigint(20) unsigned NOT NULL, 790 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 791 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 792 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 793 | PRIMARY KEY (`id`) USING BTREE 794 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='会员等级表'; 795 | 796 | -- ---------------------------- 797 | -- Table structure for u_permission 798 | -- ---------------------------- 799 | DROP TABLE IF EXISTS `u_permission`; 800 | CREATE TABLE `u_permission` ( 801 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 802 | `p_id` bigint(20) DEFAULT NULL COMMENT '父级权限id', 803 | `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '名称', 804 | `value` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '权限值', 805 | `icon` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '图标', 806 | `type` int(1) DEFAULT NULL COMMENT '权限类型:0->目录;1->菜单;2->按钮(接口绑定权限)', 807 | `uri` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '前端资源路径', 808 | `status` int(1) DEFAULT NULL COMMENT '启用状态;0->禁用;1->启用', 809 | `sort` int(11) DEFAULT NULL, 810 | `tenant_id` bigint(20) unsigned NOT NULL, 811 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 812 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 813 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 814 | PRIMARY KEY (`id`) USING BTREE 815 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='后台用户权限表'; 816 | 817 | -- ---------------------------- 818 | -- Table structure for u_role 819 | -- ---------------------------- 820 | DROP TABLE IF EXISTS `u_role`; 821 | CREATE TABLE `u_role` ( 822 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 823 | `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '名称', 824 | `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '描述', 825 | `admin_count` int(11) DEFAULT NULL COMMENT '后台用户数量', 826 | `status` int(1) DEFAULT '1' COMMENT '启用状态:0->禁用;1->启用', 827 | `sort` int(11) DEFAULT '0' COMMENT '排序值', 828 | `tenant_id` bigint(20) unsigned NOT NULL, 829 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 830 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 831 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 832 | PRIMARY KEY (`id`) USING BTREE 833 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='后台用户角色表'; 834 | 835 | -- ---------------------------- 836 | -- Table structure for u_role_permission_relation 837 | -- ---------------------------- 838 | DROP TABLE IF EXISTS `u_role_permission_relation`; 839 | CREATE TABLE `u_role_permission_relation` ( 840 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 841 | `role_id` bigint(20) DEFAULT NULL, 842 | `permission_id` bigint(20) DEFAULT NULL, 843 | `creator_id` bigint(20) unsigned DEFAULT NULL COMMENT '创建人ID', 844 | `tenant_id` bigint(20) unsigned DEFAULT NULL, 845 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 846 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 847 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 848 | PRIMARY KEY (`id`) USING BTREE 849 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='后台用户角色和权限关系表'; 850 | 851 | -- ---------------------------- 852 | -- Table structure for u_user 853 | -- ---------------------------- 854 | DROP TABLE IF EXISTS `u_user`; 855 | CREATE TABLE `u_user` ( 856 | `id` bigint(20) NOT NULL AUTO_INCREMENT, 857 | `username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用户名', 858 | `nick_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '昵称', 859 | `phone_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '手机号码', 860 | `status` int(1) DEFAULT NULL COMMENT '帐号启用状态:0->禁用;1->启用', 861 | `avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 862 | `gender` int(1) DEFAULT NULL COMMENT '性别:0->未知;1->男;2->女', 863 | `birthday` date DEFAULT NULL COMMENT '生日', 864 | `city` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所在城市', 865 | `job` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '职业', 866 | `personalized_signature` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '个性签名', 867 | `remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注', 868 | `source_type` int(1) DEFAULT NULL COMMENT '用户来源', 869 | `creator_id` bigint(20) unsigned NOT NULL COMMENT '创建人ID', 870 | `tenant_id` bigint(20) unsigned NOT NULL, 871 | `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 872 | `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', 873 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 874 | PRIMARY KEY (`id`) USING BTREE, 875 | UNIQUE KEY `idx_username` (`username`) USING BTREE, 876 | UNIQUE KEY `idx_phone` (`phone_number`) USING BTREE 877 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='会员表'; 878 | 879 | -- ---------------------------- 880 | -- Table structure for u_user_credentials 881 | -- ---------------------------- 882 | DROP TABLE IF EXISTS `u_user_credentials`; 883 | CREATE TABLE `u_user_credentials` ( 884 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 885 | `user_id` bigint(20) unsigned NOT NULL, 886 | `is_enabled` tinyint(1) unsigned DEFAULT NULL, 887 | `activate_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 888 | `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 889 | `reset_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 890 | `tenant_id` bigint(20) unsigned DEFAULT NULL, 891 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 892 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 893 | `deleted_at` timestamp NULL DEFAULT NULL, 894 | PRIMARY KEY (`id`) USING BTREE, 895 | UNIQUE KEY `activate_token` (`activate_token`) USING BTREE, 896 | UNIQUE KEY `reset_token` (`reset_token`) USING BTREE 897 | ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 898 | 899 | -- ---------------------------- 900 | -- Table structure for u_user_login_hist 901 | -- ---------------------------- 902 | DROP TABLE IF EXISTS `u_user_login_hist`; 903 | CREATE TABLE `u_user_login_hist` ( 904 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 905 | `user_id` bigint(20) unsigned NOT NULL COMMENT '用户ID', 906 | `login_ip` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '登陆IP', 907 | `is_failed` tinyint(1) NOT NULL COMMENT '是否失败', 908 | `reason` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '失败原因', 909 | `tenant_id` bigint(20) unsigned DEFAULT NULL, 910 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 911 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 912 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 913 | PRIMARY KEY (`id`) USING BTREE 914 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户登陆历史'; 915 | 916 | -- ---------------------------- 917 | -- Table structure for u_user_permission_relation 918 | -- ---------------------------- 919 | DROP TABLE IF EXISTS `u_user_permission_relation`; 920 | CREATE TABLE `u_user_permission_relation` ( 921 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 922 | `user_id` bigint(20) unsigned NOT NULL COMMENT '用户ID', 923 | `permission_id` bigint(20) unsigned NOT NULL COMMENT '权限ID', 924 | `is_disabled` tinyint(1) DEFAULT '0' COMMENT '是否禁用', 925 | `creator_id` bigint(20) unsigned DEFAULT NULL COMMENT '创建者ID', 926 | `tenant_id` bigint(20) unsigned DEFAULT NULL, 927 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 928 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 929 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 930 | PRIMARY KEY (`id`) USING BTREE 931 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户权限关联表'; 932 | 933 | -- ---------------------------- 934 | -- Table structure for u_user_role_relation 935 | -- ---------------------------- 936 | DROP TABLE IF EXISTS `u_user_role_relation`; 937 | CREATE TABLE `u_user_role_relation` ( 938 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 939 | `user_id` bigint(20) unsigned NOT NULL COMMENT '用户ID', 940 | `role_id` bigint(20) unsigned NOT NULL COMMENT '角色ID', 941 | `is_disabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '授权状态', 942 | `creator_id` bigint(20) unsigned DEFAULT NULL COMMENT '创建人', 943 | `tenant_id` bigint(20) unsigned DEFAULT NULL, 944 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 945 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 946 | `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', 947 | PRIMARY KEY (`id`) USING BTREE 948 | ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='账户角色关联表'; 949 | 950 | -- ---------------------------- 951 | -- Table structure for u_user_tenant_relation 952 | -- ---------------------------- 953 | DROP TABLE IF EXISTS `u_user_tenant_relation`; 954 | CREATE TABLE `u_user_tenant_relation` ( 955 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 956 | `user_id` bigint(20) unsigned NOT NULL, 957 | `tenant_id` bigint(20) unsigned NOT NULL, 958 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 959 | `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 960 | `deleted_at` timestamp NULL DEFAULT NULL, 961 | PRIMARY KEY (`id`) USING BTREE 962 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 963 | 964 | -- ---------------------------- 965 | -- Table structure for u_validate_code 966 | -- ---------------------------- 967 | DROP TABLE IF EXISTS `u_validate_code`; 968 | CREATE TABLE `u_validate_code` ( 969 | `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '唯一标识', 970 | `user_id` bigint(20) unsigned DEFAULT NULL COMMENT '用户ID', 971 | `phone_number` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号码', 972 | `validate_code` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '验证码', 973 | `type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '短信验证码业务类型', 974 | `usable` tinyint(1) DEFAULT '1' COMMENT '可使用', 975 | `validity_time` int(11) DEFAULT '300' COMMENT '短信验证码有效时间(默认5分钟)', 976 | `consume_at` timestamp NULL DEFAULT NULL COMMENT '使用时间', 977 | `dead_at` timestamp NULL DEFAULT NULL COMMENT '失效时间', 978 | `send_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 979 | PRIMARY KEY (`id`) USING BTREE 980 | ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='验证码表'; 981 | 982 | SET FOREIGN_KEY_CHECKS = 1; 983 | --------------------------------------------------------------------------------