feat: init yueqian-erp based on xingyun

- Change groupId: com.lframework -> com.yueqian
- Change artifactId: xingyun -> yueqian-erp
- Rename modules: xingyun-* -> yueqian-erp-*
- Update Java packages: com.lframework.xingyun -> com.yueqian.xingyun
- Preserve external Jugg framework dependencies as com.lframework
- Update README and documentation
This commit is contained in:
zdh
2026-06-13 20:07:18 +08:00
commit 0985dacbfe
1298 changed files with 130805 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
logs
*.log
bin
+201
View File
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+195
View File
@@ -0,0 +1,195 @@
# 月千 ERP 后端
月千 ERP 是面向中小企业的开源进销存系统后端仓库,覆盖基础资料、商品中心、采购、销售、零售、库存、盘点、结算、报表和系统管理等核心业务场景。当前仓库同时保留单体部署与 Spring Cloud 部署两种运行形态,便于快速落地或按需拆分。
> 本项目基于月千 ERP 二次开发,groupId: `com.yueqian`artifactId: `yueqian-erp`。
## 仓库定位
- `yueqian-erp-api`:单体启动模块
- `cloud/yueqian-erp-cloud-api`:云端业务服务入口
- `cloud/yueqian-erp-cloud-gateway`:云端网关
- `yueqian-erp-core`:基础依赖与公共模型
- `yueqian-erp-comp`:公共组件服务
- `yueqian-erp-basedata`:基础资料
- `yueqian-erp-sc`:采购、销售、零售、库存、物流
- `yueqian-erp-settle`:费用、预付款、对账、结算
- `yueqian-erp-chart`:统计分析与图表报表
## 运行形态
### 单体模式
适合本地开发和快速部署,统一从 `yueqian-erp-api` 启动。
### Cloud 模式
保留 `yueqian-erp-cloud-api + yueqian-erp-cloud-gateway` 双服务形态,适合接入 Nacos、Gateway 等云端基础设施后使用。
## 环境要求
- JDK 21
- Maven 3.9+
- MySQL 5.7.18+
- Redis 4.0.8+
- RabbitMQ 3.12.4+
- Cloud 模式额外需要:Nacos,以及对应的云端配置环境
## 快速开始
### 构建全部模块
```bash
mvn clean package -DskipTests
```
### 启动单体应用
本地联调优先使用 `self` Profile,配置文件组合为 `application.yml + application-self.yml`
```bash
mvn -pl yueqian-erp-api -am spring-boot:run -Dspring-boot.run.profiles=self
```
如果使用默认环境,也可以通过 Maven Profile 启动:
```bash
mvn -pl yueqian-erp-api -am spring-boot:run -Pdev
```
### 构建云端模块
```bash
mvn -pl cloud/yueqian-erp-cloud-api -am package
mvn -pl cloud/yueqian-erp-cloud-gateway -am package
```
### Cloud 后端容器运行
`yueqian-erp-cloud-api``yueqian-erp-cloud-gateway` 支持作为独立云端服务镜像运行,默认通过外部 `Nacos` 获取配置与注册发现信息。
```bash
mvn -pl cloud/yueqian-erp-cloud-api -am package -DskipTests
mvn -pl cloud/yueqian-erp-cloud-gateway -am package -DskipTests
```
如果希望直接在模块目录里执行镜像构建脚本,请先手动完成对应模块的 Maven 打包:
Linux/macOS:
```bash
mvn -pl cloud/yueqian-erp-cloud-api -am package -DskipTests
cd cloud/yueqian-erp-cloud-api
sh build-image.sh
mvn -pl cloud/yueqian-erp-cloud-gateway -am package -DskipTests
cd ../yueqian-erp-cloud-gateway
sh build-image.sh
```
Windows PowerShell:
```powershell
mvn -pl cloud/yueqian-erp-cloud-api -am package -DskipTests
cd cloud/yueqian-erp-cloud-api
.\build-image.ps1
mvn -pl cloud/yueqian-erp-cloud-gateway -am package -DskipTests
cd ..\yueqian-erp-cloud-gateway
.\build-image.ps1
```
Windows `cmd`:
```bat
mvn -pl cloud/yueqian-erp-cloud-api -am package -DskipTests
cd cloud\yueqian-erp-cloud-api
build-image.bat
mvn -pl cloud/yueqian-erp-cloud-gateway -am package -DskipTests
cd ..\yueqian-erp-cloud-gateway
build-image.bat
```
具体的镜像构建、模块级 `docker compose` 用法和环境变量约定见 [`docs/docker-cloud.md`](docs/docker-cloud.md)。
### 单体后端容器运行
`yueqian-erp-api` 支持作为单体后端镜像运行,`MySQL``Redis``RabbitMQ` 默认按外部基础设施接入。
```bash
mvn -pl yueqian-erp-api -am package -DskipTests
docker build -t yueqian-erp-api:local -f yueqian-erp-api/target/Dockerfile yueqian-erp-api/target
```
如果希望直接在模块目录里执行镜像构建脚本,请先手动完成 `yueqian-erp-api` 的 Maven 打包:
Linux/macOS:
```bash
mvn -pl yueqian-erp-api -am package -DskipTests
cd yueqian-erp-api
sh build-image.sh
```
Windows PowerShell:
```powershell
mvn -pl yueqian-erp-api -am package -DskipTests
cd yueqian-erp-api
.\build-image.ps1
```
Windows `cmd`:
```bat
mvn -pl yueqian-erp-api -am package -DskipTests
cd yueqian-erp-api
build-image.bat
```
运行参数、环境变量与卷挂载约定见 [`docs/docker-monolith.md`](docs/docker-monolith.md)。如果使用 `docker compose`,请在 `yueqian-erp-api/` 目录执行。
## 数据与配置说明
- 数据库迁移脚本位于 `yueqian-erp-api/src/main/resources/db/migration/platform``.../tenant`
- 多租户模式已固定开启,不再支持关闭
- 主库数据源名称为 `master`
- 缓存命名沿用实体上的 `CACHE_NAME` 常量,不使用零散自定义命名
- 创建子线程时必须使用 `DefaultCallable``DefaultRunnable` 传递租户上下文
## 主要技术栈
- Spring Boot 3.5.0
- Spring Cloud 2025.0.0
- Spring Cloud Alibaba 2025.0.0.0
- MyBatis-Plus 3.5.6
- Sa-Token 1.39.0
- Knife4j 4.5.0
- Warm-Flow 1.7.4
- Hutool 5.7.17
- Lombok 1.18.32
## 系统能力概览
- 系统管理:菜单、部门、角色、用户、权限、操作日志
- 基础资料:仓库、供应商、客户、会员、商品、品牌、分类、属性
- 供应链:采购订单、收货单、退货单、销售订单、出库单、零售单
- 库存管理:库存查询、库存调整、库存盘点、库存预警、调拨
- 结算管理:费用单、预付款单、对账单、结算单
- 图表分析:经营统计、业务报表、图表展示
## 相关仓库
- 底层框架 Jugg<https://gitee.com/lframework/jugg>
- 前端项目 xingyun-front<https://gitee.com/lframework/xingyun-front>
- 使用说明文档:<https://www.lframework.com>
- 演示地址:<http://erp.lframework.com>
## 开源说明
项目代码可开源商用,但请保留 `LICENSE`、源码头部版权声明以及项目出处信息。分发源码时请注明项目来源 <https://www.lframework.com/>,且不要基于本项目二次开源参与同类竞品分发。
## License
项目使用 Apache 2.0 许可证,请遵守许可证约束。
+165
View File
@@ -0,0 +1,165 @@
spring:
main:
allow-bean-definition-overriding: true
allow-circular-references: true
servlet:
multipart:
#是否开启文件上传
enabled: true
#临时文件路径
location: D:\tmp\tmp-datas
#单个文件最大值
max-file-size: 10MB
#请求中所有文件的最大值
max-request-size: 100MB
#将文件写入磁盘的阈值
#file-size-threshold: 0
#是否要延迟解析文件
#resolve-lazily: false
quartz:
jdbc:
initialize-schema: never
job-store-type: jdbc
wait-for-jobs-to-complete-on-shutdown: true
properties:
# ID设置为自动获取 每一个必须不同
"org.quartz.scheduler.instanceId": AUTO
# 开启集群
"org.quartz.jobStore.isClustered": true
#时间格式
jackson:
date-format: yyyy-MM-dd HH:mm:ss
default-property-inclusion: non_null
#使用redis存储SESSION
session:
store-type: redis
data:
redis:
lettuce:
reader-idle-time-seconds: 30
knife4j:
enable: true
setting:
language: zh-CN
# 是否显示界面中SwaggerModel功能
enableSwaggerModels: false
# 是否显示界面中"文档管理"功能
enableDocumentManage: true
# 是否默认显示底部Footer
enableFooter: false
# 是否自定义Footer
enableFooterCustom: true
# 自定义Footer内容(支持Markdown语法)
footerCustomContent: Apache License 2.0 | Copyright 2019-[星云ERP](https://gitee.com/lframework/xingyun)
# 是否开启调试
enableDebug: true
# 是否显示OpenAPI原始结构的Tab框,默认显示
enableOpenApi: false
# 是否生产环境
production: false
springdoc:
default-flat-param-object: true
# Sa-Token配置
sa-token:
# token名称 (同时也是cookie名称),此值不要修改
token-name: X-Auth-Token
# token有效期,单位s 默认30天, -1代表永不过期
timeout: 25920000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
active-timeout: 7200
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
is-concurrent: true
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share: false
# token风格
token-style: uuid
# 是否输出操作日志
is-log: false
jugg:
secret:
# 秘钥,用于敏感信息加密,生产环境一定要更改此项,并且产生数据后不要更改秘钥
# 提供了EncryptUtil工具类,包含:生成秘钥、加密、解密方法。
key: eRE2drUFINojkG9ivqtfOA==
# 公开上传
upload:
#下载时的baseUrl,与domain的区别:会在url后面拼接/**作为静态资源的url,而domain是后端系统的具体域名,下载时的完整url例如:upload.domain + upload.url/xxx.jpg
url: /oss
#下载时的域名
domain: http://localhost:8080
#上传文件的路径
location: D:\upload\upload-data
# 安全上传
security-upload:
#下载时的域名,一般情况下和公开上传的域名一致
domain: ${jugg.upload.domain}
# 上传文件的路径
location: ${jugg.upload.location}
#默认配置
default-setting:
#默认的用户ID,用于写入数据库时的createById和updateById的自动赋值,如果有登录人则取登录人ID,如果没有则取默认用户ID,如果不配置,默认是1
default-user-id: 1
#默认的用户姓名,用于写入数据库时的createBy和updateBy的自动赋值,如果有登录人则取登录人姓名,如果没有则取默认用户姓名,如果不配置,默认是系统管理员
default-user-name: 系统管理员
#缓存TTL配置 单位:秒
cache:
#公共缓存过期时间
ttl: 1800
#特殊指定缓存过期时间,以下示例为cacheName的过期时间是3600秒、cacheName2的过期是7200秒。cacheName、cacheName2对应的是@Cacheable的Value属性
#regions:
# cacheName: 3600
# cacheName2: 7200
regions:
product_stock_warning_notify: 86400
#验证码配置
kaptcha:
#过期时间(单位:分钟)
expire-time: 5
border: true
border-color: black
border-thickness: 1
noise-color: black
text-producer-char-string: abcde2345678gfynmnpwx
text-producer-char-length: 4
text-producer-font-names: Arial,Courier
text-producer-font-color: black
text-producer-font-size: 28
text-producer-char-space: 2
back-ground-clr-from: lightGray
back-ground-clr-to: white
image-width: 120
image-height: 40
#PageHelper分页器
pagehelper:
offset-as-page-num: true
row-bounds-with-count: true
page-size-zero: true
reasonable: false
params: pageNum=pageIndex;pageSize=pageSize;
support-methods-arguments: false
mybatis-plus:
mapper-locations: classpath*:/mappers/**/*.xml
typeEnumsPackage: com.lframework.starter.**.enums,com.yueqian.xingyun.**.enums
op-logs:
#是否开启
enabled: true
#操作日志保留天数
retain-days: 7
# 是否移除内置权限,针对admin等内置权限,因为内置权限等同于通配符权限,设置为true时会用具体的权限将内置权限替换掉,生产环境建议设置为true
remove-fixed-permissions: false
feign:
# feign使用HttpClient
httpclient:
enabled: true
client:
config:
default:
connect-timeout: 500
read-time-out: 60000
+27
View File
@@ -0,0 +1,27 @@
spring:
datasource:
dynamic:
# 设置默认数据源
primary: master
# 是否严格匹配数据源 未匹配到指定数据源时true抛异常,false使用默认数据源
strict: true
datasource:
master:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/xingyun?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8
username: root
password: password
druid:
initial-size: 10
min-idle: 10
max-active: 200
max-wait: 60000
time-between-eviction-runs-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
filters: stat
+23
View File
@@ -0,0 +1,23 @@
spring:
#RabbitMQ配置
rabbitmq:
addresses: 127.0.0.1:5672 # RabbitMQ集群地址列表,多个地址用逗号分隔
virtual-host: /
username: username
password: password
connection-timeout: 60000 # 连接超时时间(毫秒),默认为60000毫秒(60秒)
ssl:
enabled: false # 是否启用SSL,默认为false
algorithm: TLSv1.2 # SSL算法,默认为TLSv1.2
publisher-confirm-type: SIMPLE # 发布确认机制
publisher-returns: true # 是否开启发布返回机制,默认为false
listener:
type: direct
simple:
acknowledge-mode: AUTO # 消费者确认模式,默认为auto
retry:
enabled: false # 是否启用重试机制,默认为false
direct:
acknowledge-mode: AUTO # 消费者确认模式,默认为auto
retry:
enabled: false # 是否启用重试机制,默认为false
+37
View File
@@ -0,0 +1,37 @@
spring:
data:
redis:
#地址
host: 127.0.0.1
#端口,默认为6379
port: 6379
#数据库
database: 0
#密码
password: password
#连接超时时间
timeout: 10s
lettuce:
pool:
#连接池中的最小空闲连接
min-idle: 0
#连接池中的最大空闲连接
max-idle: 8
#连接池的最大数据库连接数
max-active: 8
#连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
sa-token:
# 配置 Sa-Token 单独使用的 Redis 连接,将业务和鉴权独立
alone-redis:
# Redis数据库索引(默认为0),最好与业务数据的redis隔离
database: 1
# Redis服务器地址
host: ${spring.data.redis.host}
# Redis服务器连接端口
port: ${spring.data.redis.port}
# Redis服务器连接密码(默认为空)
password: ${spring.data.redis.password}
# 连接超时时间
timeout: ${spring.data.redis.timeout}
+13
View File
@@ -0,0 +1,13 @@
# compose 运行参数
XINGYUN_CLOUD_API_IMAGE=xingyun-cloud-api:local
XINGYUN_CLOUD_API_CONTAINER_NAME=xingyun-cloud-api
XINGYUN_CLOUD_API_PORT=15020
# 必填的外部基础设施配置
XINGYUN_NACOS_SERVER_ADDR=nacos.example.com:8848
# 可选覆盖项
JAVA_OPTS=-Xms512m -Xmx512m
# 以下默认值已由 Dockerfile 和 application.yml 提供
SPRING_PROFILES_ACTIVE=prod
+13
View File
@@ -0,0 +1,13 @@
FROM eclipse-temurin:21-jre-jammy
WORKDIR /opt
ARG JAR_FILE=@build.finalName@.jar
COPY ${JAR_FILE} /opt/app.jar
EXPOSE 15020
ENV SPRING_PROFILES_ACTIVE="prod" \
JAVA_OPTS=""
CMD ["sh", "-c", "exec java -server -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} ${JAVA_OPTS} -jar /opt/app.jar"]
@@ -0,0 +1,7 @@
@echo off
setlocal
powershell -ExecutionPolicy Bypass -File "%~dp0build-image.ps1" %*
set EXIT_CODE=%ERRORLEVEL%
endlocal & exit /b %EXIT_CODE%
@@ -0,0 +1,52 @@
param(
[Parameter(Position = 0)]
[string]$ImageTag = 'xingyun-cloud-api:local'
)
$ErrorActionPreference = 'Stop'
function Show-Usage {
Write-Output 'Usage: powershell -ExecutionPolicy Bypass -File build-image.ps1 [image:tag]'
Write-Output ''
Write-Output 'Builds the xingyun-cloud-api jar and Docker image.'
Write-Output 'Default image tag: xingyun-cloud-api:local'
}
if ($ImageTag -in @('-h', '--help')) {
Show-Usage
exit 0
}
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$targetDir = Join-Path $scriptDir 'target'
$dockerfile = Join-Path $targetDir 'Dockerfile'
$packageCommand = 'mvn -pl cloud/xingyun-cloud-api -am package -DskipTests'
if (-not (Test-Path -LiteralPath $dockerfile)) {
Write-Output "Missing Dockerfile: $dockerfile"
Write-Output "Run '$packageCommand' first to generate the module artifacts."
exit 1
}
$jarFiles = @(
Get-ChildItem $targetDir -Filter '*.jar' -File
)
$jarFiles = $jarFiles | Where-Object {
$_.Name -notlike '*-sources.jar' -and
$_.Name -notlike '*-javadoc.jar' -and
$_.Name -notlike 'original-*.jar'
}
if ($jarFiles.Count -lt 1) {
Write-Output "No runnable jar found in $targetDir."
Write-Output "Run '$packageCommand' first to generate the module artifacts."
exit 1
}
Write-Output "Building Docker image: $ImageTag"
& docker build -t $ImageTag -f $dockerfile $targetDir
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
Write-Output "Done: $ImageTag"
@@ -0,0 +1,27 @@
#!/bin/sh
set -eu
usage() {
echo "Usage: sh build-image.sh [image:tag]"
echo
echo "Builds the xingyun-cloud-api jar and Docker image."
echo "Default image tag: xingyun-cloud-api:local"
}
if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then
usage
exit 0
fi
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
REPO_ROOT=$(CDPATH= cd -- "$SCRIPT_DIR/../.." && pwd)
IMAGE_TAG=${1:-xingyun-cloud-api:local}
echo "Packaging xingyun-cloud-api..."
mvn -f "$REPO_ROOT/pom.xml" -pl cloud/xingyun-cloud-api -am package -DskipTests
echo "Building Docker image: $IMAGE_TAG"
docker build -t "$IMAGE_TAG" -f "$SCRIPT_DIR/target/Dockerfile" "$SCRIPT_DIR/target"
echo "Done: $IMAGE_TAG"
+13
View File
@@ -0,0 +1,13 @@
services:
xingyun-cloud-api:
image: ${XINGYUN_CLOUD_API_IMAGE:-xingyun-cloud-api:local}
build:
context: ./target
dockerfile: Dockerfile
container_name: ${XINGYUN_CLOUD_API_CONTAINER_NAME:-xingyun-cloud-api}
restart: unless-stopped
ports:
- "${XINGYUN_CLOUD_API_PORT:-15020}:15020"
environment:
XINGYUN_NACOS_SERVER_ADDR: ${XINGYUN_NACOS_SERVER_ADDR:?XINGYUN_NACOS_SERVER_ADDR is required}
JAVA_OPTS: ${JAVA_OPTS:-}
+130
View File
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yueqian-erp</artifactId>
<groupId>com.yueqian</groupId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yueqian-erp-cloud-api</artifactId>
<name>【${project.artifactId}】SpringCloud架构的Api接口层</name>
<dependencies>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-comp</artifactId>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-basedata</artifactId>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-sc</artifactId>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-settle</artifactId>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-chart</artifactId>
</dependency>
<dependency>
<groupId>com.lframework</groupId>
<artifactId>cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>copy-resources-to-target</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}</directory>
<filtering>true</filtering>
<includes>
<include>Dockerfile</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>scripts/*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application.yml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>scripts/*</exclude>
<exclude>application.yml</exclude>
<exclude>bootstrap.yml</exclude>
<exclude>project.yaml</exclude>
<exclude>xingyun-cloud-api.yaml</exclude>
</excludes>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>demo</id>
<dependencies>
<dependency>
<groupId>com.lframework</groupId>
<artifactId>xingyun-demo</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
@@ -0,0 +1,54 @@
package com.yueqian.xingyun.api;
import com.lframework.starter.web.core.annotations.locker.EnableLock;
import com.lframework.starter.web.core.annotations.locker.LockType;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.mybatis.spring.annotation.MapperScan;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@EnableLock(type = LockType.REDIS)
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.yueqian.xingyun")
@ServletComponentScan(basePackages = "com.yueqian.xingyun")
@SpringBootApplication(scanBasePackages = "com.yueqian.xingyun")
@MapperScan("com.yueqian.xingyun.**.mappers")
public class XingYunCloudApiApplication {
public static void main(String[] args) {
SpringApplication.run(XingYunCloudApiApplication.class, args);
}
@Configuration
public static class OpenApiConfiguration {
@Bean("xingyunCloudApi")
public GroupedOpenApi xingyunCloudApi() {
return GroupedOpenApi.builder()
.group("星云ERP")
.packagesToScan(
"com.yueqian.xingyun.api",
"com.yueqian.xingyun.basedata",
"com.yueqian.xingyun.chart",
"com.yueqian.xingyun.comp",
"com.yueqian.xingyun.sc",
"com.yueqian.xingyun.settle")
.build();
}
@Bean
public OpenAPI openAPI() {
return new OpenAPI().info(new Info()
.title("星云ERP接口文档")
.description("# 星云ERP接口文档")
.version("v1.0.0"));
}
}
}
@@ -0,0 +1,2 @@
config.stopBubbling=true
lombok.equalsAndHashCode.callSuper=call
@@ -0,0 +1,31 @@
server:
port: 15020
spring:
application:
name: @project.artifactId@
profiles:
active: @profiles-active@
config:
import:
- optional:nacos:common.yaml?group=DEFAULT_GROUP
- optional:nacos:common-${spring.profiles.active}.yaml?group=DEFAULT_GROUP
- optional:nacos:db.yaml?group=DEFAULT_GROUP
- optional:nacos:db-${spring.profiles.active}.yaml?group=DEFAULT_GROUP
- optional:nacos:redis.yaml?group=DEFAULT_GROUP
- optional:nacos:redis-${spring.profiles.active}.yaml?group=DEFAULT_GROUP
- optional:nacos:mq.yaml?group=DEFAULT_GROUP
- optional:nacos:mq-${spring.profiles.active}.yaml?group=DEFAULT_GROUP
- optional:nacos:xingyun-cloud-api.yaml?group=DEFAULT_GROUP
- optional:nacos:xingyun-cloud-api-${spring.profiles.active}.yaml?group=DEFAULT_GROUP
cloud:
nacos:
config:
server-addr: ${nacos-server-addr}
file-extension: yaml
namespace: ${spring.profiles.active}
discovery:
server-addr: ${nacos-server-addr}
namespace: ${spring.profiles.active}
nacos-server-addr: ${XINGYUN_NACOS_SERVER_ADDR:@discovery-server@}
@@ -0,0 +1,7 @@
▄ ▄ ▀
█ █ ▄▄▄ ▄ ▄▄ ▄▄▄▄ ▄ ▄ ▄ ▄ ▄ ▄▄
██ █ █▀ █ █▀ ▀█ ▀▄ ▄▀ █ █ █▀ █
▄▀▀▄ █ █ █ █ █ █▄█ █ █ █ █
▄▀ ▀▄ ▄▄█▄▄ █ █ ▀█▄▀█ ▀█ ▀▄▄▀█ █ █
▄ █ ▄▀
▀▀ ▀▀
@@ -0,0 +1,12 @@
#!/bin/sh
export BUILD_ID=dontkillme
if [ -z $JAVA_HOME ] ;
then
echo "JAVA_HOME is not exist, please check"
exit 1
fi
export APP_HOME_BIN_PATH=$(cd `dirname $0`; pwd)
export APP_HOME=${APP_HOME_BIN_PATH%/bin}
$JAVA_HOME/bin/java -jar -server -Xmx256m -XX:MaxPermSize=32m -XX:MaxNewSize=32m $APP_HOME/@build.finalName@.jar >/dev/null 2>&1 &
@@ -0,0 +1,10 @@
#!/bin/sh
export APP_HOME_BIN_PATH=$(cd `dirname $0`; pwd)
export APP_HOME=${APP_HOME_BIN_PATH%/bin}
export C_PID=`ps -ef | grep java | grep $APP_HOME | grep -v grep | awk '{print $2}'`
if [ ! -z "$C_PID" ]; then
kill -15 $C_PID;
fi
@@ -0,0 +1,32 @@
logging:
pattern:
console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint}|%clr(%5p)|%clr(${PID:- }){magenta}|%clr(%15.15t){faint}|%clr(${spring.application.name}){cyan}|%clr(%-40.40logger{39}){cyan}|%m%n%wEx"
file: ${logging.pattern.console}
file:
name: logs/${spring.application.name}.log
max-history: 14
level:
io.lettuce.core.protocol: OFF
jugg:
web:
#终端ID
worker-id: 1
#数据中心ID
center-id: 1
#开启websocket
ws:
#通信topic
#topic: xingyun:ws:topic
#是否支持跨域
#support-cross-domain: false
warm-flow:
token-name: ${sa-token.token-name}
data-fill-handler-path: com.lframework.starter.bpm.handlers.BpmDataFillHandler
# 是否开启逻辑删除(orm框架本身不支持逻辑删除,可通过这种方式开启)
logic_delete: true
# 逻辑删除字段值(开启后默认为2
logic_delete_value: 2
# 逻辑未删除字段(开启后默认为0
logic_not_delete_value: 0
@@ -0,0 +1,13 @@
# compose 运行参数
XINGYUN_CLOUD_GATEWAY_IMAGE=xingyun-cloud-gateway:local
XINGYUN_CLOUD_GATEWAY_CONTAINER_NAME=xingyun-cloud-gateway
XINGYUN_CLOUD_GATEWAY_PORT=15000
# 必填的外部基础设施配置
XINGYUN_NACOS_SERVER_ADDR=nacos.example.com:8848
# 可选覆盖项
JAVA_OPTS=-Xms512m -Xmx512m
# 以下默认值已由 Dockerfile 和 application.yml 提供
SPRING_PROFILES_ACTIVE=prod
@@ -0,0 +1,13 @@
FROM eclipse-temurin:21-jre-jammy
WORKDIR /opt
ARG JAR_FILE=@build.finalName@.jar
COPY ${JAR_FILE} /opt/app.jar
EXPOSE 15000
ENV SPRING_PROFILES_ACTIVE="prod" \
JAVA_OPTS=""
CMD ["sh", "-c", "exec java -server -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} ${JAVA_OPTS} -jar /opt/app.jar"]
@@ -0,0 +1,7 @@
@echo off
setlocal
powershell -ExecutionPolicy Bypass -File "%~dp0build-image.ps1" %*
set EXIT_CODE=%ERRORLEVEL%
endlocal & exit /b %EXIT_CODE%
@@ -0,0 +1,52 @@
param(
[Parameter(Position = 0)]
[string]$ImageTag = 'xingyun-cloud-gateway:local'
)
$ErrorActionPreference = 'Stop'
function Show-Usage {
Write-Output 'Usage: powershell -ExecutionPolicy Bypass -File build-image.ps1 [image:tag]'
Write-Output ''
Write-Output 'Builds the xingyun-cloud-gateway jar and Docker image.'
Write-Output 'Default image tag: xingyun-cloud-gateway:local'
}
if ($ImageTag -in @('-h', '--help')) {
Show-Usage
exit 0
}
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$targetDir = Join-Path $scriptDir 'target'
$dockerfile = Join-Path $targetDir 'Dockerfile'
$packageCommand = 'mvn -pl cloud/xingyun-cloud-gateway -am package -DskipTests'
if (-not (Test-Path -LiteralPath $dockerfile)) {
Write-Output "Missing Dockerfile: $dockerfile"
Write-Output "Run '$packageCommand' first to generate the module artifacts."
exit 1
}
$jarFiles = @(
Get-ChildItem $targetDir -Filter '*.jar' -File
)
$jarFiles = $jarFiles | Where-Object {
$_.Name -notlike '*-sources.jar' -and
$_.Name -notlike '*-javadoc.jar' -and
$_.Name -notlike 'original-*.jar'
}
if ($jarFiles.Count -lt 1) {
Write-Output "No runnable jar found in $targetDir."
Write-Output "Run '$packageCommand' first to generate the module artifacts."
exit 1
}
Write-Output "Building Docker image: $ImageTag"
& docker build -t $ImageTag -f $dockerfile $targetDir
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
Write-Output "Done: $ImageTag"
@@ -0,0 +1,27 @@
#!/bin/sh
set -eu
usage() {
echo "Usage: sh build-image.sh [image:tag]"
echo
echo "Builds the xingyun-cloud-gateway jar and Docker image."
echo "Default image tag: xingyun-cloud-gateway:local"
}
if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then
usage
exit 0
fi
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
REPO_ROOT=$(CDPATH= cd -- "$SCRIPT_DIR/../.." && pwd)
IMAGE_TAG=${1:-xingyun-cloud-gateway:local}
echo "Packaging xingyun-cloud-gateway..."
mvn -f "$REPO_ROOT/pom.xml" -pl cloud/xingyun-cloud-gateway -am package -DskipTests
echo "Building Docker image: $IMAGE_TAG"
docker build -t "$IMAGE_TAG" -f "$SCRIPT_DIR/target/Dockerfile" "$SCRIPT_DIR/target"
echo "Done: $IMAGE_TAG"
@@ -0,0 +1,13 @@
services:
xingyun-cloud-gateway:
image: ${XINGYUN_CLOUD_GATEWAY_IMAGE:-xingyun-cloud-gateway:local}
build:
context: ./target
dockerfile: Dockerfile
container_name: ${XINGYUN_CLOUD_GATEWAY_CONTAINER_NAME:-xingyun-cloud-gateway}
restart: unless-stopped
ports:
- "${XINGYUN_CLOUD_GATEWAY_PORT:-15000}:15000"
environment:
XINGYUN_NACOS_SERVER_ADDR: ${XINGYUN_NACOS_SERVER_ADDR:?XINGYUN_NACOS_SERVER_ADDR is required}
JAVA_OPTS: ${JAVA_OPTS:-}
+123
View File
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yueqian-erp</artifactId>
<groupId>com.yueqian</groupId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yueqian-erp-cloud-gateway</artifactId>
<name>【${project.artifactId}】GateWay网关</name>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gateway-server-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<groupId>com.alibaba.cloud</groupId>
</dependency>
<dependency>
<artifactId>nacos-client</artifactId>
<groupId>com.alibaba.nacos</groupId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>copy-resources-to-target</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}</directory>
<filtering>true</filtering>
<includes>
<include>Dockerfile</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>scripts/*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application.yml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>scripts/*</exclude>
<exclude>application.yml</exclude>
<exclude>bootstrap.yml</exclude>
<exclude>project.yaml</exclude>
<exclude>xingyun-cloud-gateway.yaml</exclude>
</excludes>
</resource>
</resources>
</build>
</project>
@@ -0,0 +1,14 @@
package com.yueqian.xingyun.gateway;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient
@SpringBootApplication
public class GateWayApplication {
public static void main(String[] args) {
SpringApplication.run(GateWayApplication.class, args);
}
}
@@ -0,0 +1,23 @@
server:
port: 15000
spring:
application:
name: @project.artifactId@
profiles:
active: @profiles-active@
config:
import:
- optional:nacos:xingyun-cloud-gateway.yaml?group=DEFAULT_GROUP
- optional:nacos:xingyun-cloud-gateway-${spring.profiles.active}.yaml?group=DEFAULT_GROUP
cloud:
nacos:
config:
server-addr: ${nacos-server-addr}
file-extension: yaml
namespace: ${spring.profiles.active}
discovery:
server-addr: ${nacos-server-addr}
namespace: ${spring.profiles.active}
nacos-server-addr: ${XINGYUN_NACOS_SERVER_ADDR:@discovery-server@}
@@ -0,0 +1,7 @@
▄ ▄ ▀
█ █ ▄▄▄ ▄ ▄▄ ▄▄▄▄ ▄ ▄ ▄ ▄ ▄ ▄▄
██ █ █▀ █ █▀ ▀█ ▀▄ ▄▀ █ █ █▀ █
▄▀▀▄ █ █ █ █ █ █▄█ █ █ █ █
▄▀ ▀▄ ▄▄█▄▄ █ █ ▀█▄▀█ ▀█ ▀▄▄▀█ █ █
▄ █ ▄▀
▀▀ ▀▀
@@ -0,0 +1,12 @@
#!/bin/sh
export BUILD_ID=dontkillme
if [ -z $JAVA_HOME ] ;
then
echo "JAVA_HOME is not exist, please check"
exit 1
fi
export APP_HOME_BIN_PATH=$(cd `dirname $0`; pwd)
export APP_HOME=${APP_HOME_BIN_PATH%/bin}
$JAVA_HOME/bin/java -jar -server -Xmx256m -XX:MaxPermSize=32m -XX:MaxNewSize=32m $APP_HOME/@build.finalName@.jar >/dev/null 2>&1 &
@@ -0,0 +1,10 @@
#!/bin/sh
export APP_HOME_BIN_PATH=$(cd `dirname $0`; pwd)
export APP_HOME=${APP_HOME_BIN_PATH%/bin}
export C_PID=`ps -ef | grep java | grep $APP_HOME | grep -v grep | awk '{print $2}'`
if [ ! -z "$C_PID" ]; then
kill -15 $C_PID;
fi
@@ -0,0 +1,31 @@
logging:
pattern:
console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint}|%clr(%5p)|%clr(${PID:- }){magenta}|%clr(%15.15t){faint}|%clr(${spring.application.name}){cyan}|%clr(%-40.40logger{39}){cyan}|%m%n%wEx"
file: ${logging.pattern.console}
file:
name: logs/${spring.application.name}.log
max-history: 14
spring:
cloud:
gateway:
discovery:
locator:
enabled: true
server:
webflux:
routes:
- id: xingyun-cloud-api
uri: lb://xingyun-cloud-api
predicates:
- Path=/cloud-api/**
filters:
- StripPrefix=1
- id: xingyun-dynamic-api
uri: lb://xingyun-cloud-api
predicates:
- Path=/dynamic/web/**,/dynamic-api/**
- id: xingyun-oss
uri: lb://xingyun-cloud-api
predicates:
- Path=/oss/**
+337
View File
@@ -0,0 +1,337 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="13">
<profile kind="CodeFormatterProfile" name="GoogleStyle" version="13">
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_cascading_method_invocation_with_arguments.count_dependent" value="16|-1|16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_prefer_two_fragments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_comment_inline_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_local_variable_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="1040"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type.count_dependent" value="1585|-1|1585"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields.count_dependent" value="16|-1|16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression.count_dependent" value="16|4|80"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration.count_dependent" value="16|4|48"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration.count_dependent" value="16|4|49"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_cascading_method_invocation_with_arguments" value="16"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.7"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration.count_dependent" value="16|4|48"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_non_simple_local_variable_annotation" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants.count_dependent" value="16|5|48"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="100"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation.count_dependent" value="16|4|48"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package" value="1585"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="16"/>
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_non_simple_type_annotation" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_field_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_generic_type_arguments" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment_new_line_at_start_of_html_paragraph" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comment_prefix" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_non_simple_parameter_annotation" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method" value="1585"/>
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation.count_dependent" value="16|5|80"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter.count_dependent" value="1040|-1|1040"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package.count_dependent" value="1585|-1|1585"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.force_if_else_statement_brace" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="3"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_non_simple_package_annotation" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation.count_dependent" value="16|-1|16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type" value="1585"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.7"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_new_anonymous_class" value="20"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable.count_dependent" value="1585|-1|1585"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent" value="1585|-1|1585"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration.count_dependent" value="16|5|80"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant.count_dependent" value="16|-1|16"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="100"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field" value="1585"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer.count_dependent" value="16|5|80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.7"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration.count_dependent" value="16|4|48"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method.count_dependent" value="1585|-1|1585"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression.count_dependent" value="16|-1|16"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_non_simple_member_annotation" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable" value="1585"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call.count_dependent" value="16|5|80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_generic_type_arguments.count_dependent" value="16|-1|16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression.count_dependent" value="16|5|80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration.count_dependent" value="16|5|80"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_for_statement" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
</profile>
</profiles>
+598
View File
@@ -0,0 +1,598 @@
<?xml version="1.0" encoding="UTF-8"?>
<code_scheme name="GoogleStyle">
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
<option name="USE_TAB_CHARACTER" value="false" />
<option name="SMART_TABS" value="false" />
<option name="LABEL_INDENT_SIZE" value="0" />
<option name="LABEL_INDENT_ABSOLUTE" value="false" />
<option name="USE_RELATIVE_INDENTS" value="false" />
</value>
</option>
<option name="INSERT_INNER_CLASS_IMPORTS" value="true" />
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
<option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
<value />
</option>
<option name="IMPORT_LAYOUT_TABLE">
<value>
<package name="" withSubpackages="true" static="true" />
<emptyLine />
<package name="" withSubpackages="true" static="false" />
</value>
</option>
<option name="RIGHT_MARGIN" value="100" />
<option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
<option name="JD_P_AT_EMPTY_LINES" value="false" />
<option name="JD_KEEP_EMPTY_PARAMETER" value="false" />
<option name="JD_KEEP_EMPTY_EXCEPTION" value="false" />
<option name="JD_KEEP_EMPTY_RETURN" value="false" />
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="0" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="BLANK_LINES_AFTER_CLASS_HEADER" value="0" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="TERNARY_OPERATION_WRAP" value="1" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="WRAP_COMMENTS" value="true" />
<option name="IF_BRACE_FORCE" value="3" />
<option name="DOWHILE_BRACE_FORCE" value="3" />
<option name="WHILE_BRACE_FORCE" value="3" />
<option name="FOR_BRACE_FORCE" value="3" />
<option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
<AndroidXmlCodeStyleSettings>
<option name="USE_CUSTOM_SETTINGS" value="true" />
<option name="LAYOUT_SETTINGS">
<value>
<option name="INSERT_BLANK_LINE_BEFORE_TAG" value="false" />
</value>
</option>
</AndroidXmlCodeStyleSettings>
<JSCodeStyleSettings>
<option name="INDENT_CHAINED_CALLS" value="false" />
</JSCodeStyleSettings>
<Python>
<option name="USE_CONTINUATION_INDENT_FOR_ARGUMENTS" value="true" />
</Python>
<TypeScriptCodeStyleSettings>
<option name="INDENT_CHAINED_CALLS" value="false" />
</TypeScriptCodeStyleSettings>
<XML>
<option name="XML_ALIGN_ATTRIBUTES" value="false" />
<option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
</XML>
<codeStyleSettings language="CSS">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="ECMA Script Level 4">
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="TERNARY_OPERATION_WRAP" value="1" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="3" />
<option name="DOWHILE_BRACE_FORCE" value="3" />
<option name="WHILE_BRACE_FORCE" value="3" />
<option name="FOR_BRACE_FORCE" value="3" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="HTML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="BLANK_LINES_AFTER_CLASS_HEADER" value="1" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_RESOURCES" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="TERNARY_OPERATION_WRAP" value="1" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="WRAP_COMMENTS" value="true" />
<option name="IF_BRACE_FORCE" value="3" />
<option name="DOWHILE_BRACE_FORCE" value="3" />
<option name="WHILE_BRACE_FORCE" value="3" />
<option name="FOR_BRACE_FORCE" value="3" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JSON">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JavaScript">
<option name="RIGHT_MARGIN" value="80" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="TERNARY_OPERATION_WRAP" value="1" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="3" />
<option name="DOWHILE_BRACE_FORCE" value="3" />
<option name="WHILE_BRACE_FORCE" value="3" />
<option name="FOR_BRACE_FORCE" value="3" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="PROTO">
<option name="RIGHT_MARGIN" value="80" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="protobuf">
<option name="RIGHT_MARGIN" value="80" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="Python">
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="RIGHT_MARGIN" value="80" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="SASS">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="SCSS">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="TypeScript">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="XML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:.*Style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_width</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_height</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_weight</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_margin</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginTop</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginBottom</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginStart</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginEnd</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginLeft</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginRight</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:padding</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingTop</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingBottom</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingStart</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingEnd</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingLeft</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingRight</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_NAMESPACE>http://schemas.android.com/apk/res-auto</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_NAMESPACE>http://schemas.android.com/tools</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
<Objective-C>
<option name="INDENT_NAMESPACE_MEMBERS" value="0" />
<option name="INDENT_C_STRUCT_MEMBERS" value="2" />
<option name="INDENT_CLASS_MEMBERS" value="2" />
<option name="INDENT_VISIBILITY_KEYWORDS" value="1" />
<option name="INDENT_INSIDE_CODE_BLOCK" value="2" />
<option name="KEEP_STRUCTURES_IN_ONE_LINE" value="true" />
<option name="FUNCTION_PARAMETERS_WRAP" value="5" />
<option name="FUNCTION_CALL_ARGUMENTS_WRAP" value="5" />
<option name="TEMPLATE_CALL_ARGUMENTS_WRAP" value="5" />
<option name="TEMPLATE_CALL_ARGUMENTS_ALIGN_MULTILINE" value="true" />
<option name="ALIGN_INIT_LIST_IN_COLUMNS" value="false" />
<option name="SPACE_BEFORE_SUPERCLASS_COLON" value="false" />
</Objective-C>
<Objective-C-extensions>
<option name="GENERATE_INSTANCE_VARIABLES_FOR_PROPERTIES" value="ASK" />
<option name="RELEASE_STYLE" value="IVAR" />
<option name="TYPE_QUALIFIERS_PLACEMENT" value="BEFORE" />
<file>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
</file>
<class>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
</class>
<extensions>
<pair source="cc" header="h" />
<pair source="c" header="h" />
</extensions>
</Objective-C-extensions>
<codeStyleSettings language="ObjectiveC">
<option name="RIGHT_MARGIN" value="80" />
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="1" />
<option name="BLANK_LINES_BEFORE_IMPORTS" value="0" />
<option name="BLANK_LINES_AFTER_IMPORTS" value="0" />
<option name="BLANK_LINES_AROUND_CLASS" value="0" />
<option name="BLANK_LINES_AROUND_METHOD" value="0" />
<option name="BLANK_LINES_AROUND_METHOD_IN_INTERFACE" value="0" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="false" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
+114
View File
@@ -0,0 +1,114 @@
# Cloud 后端容器运行说明
本文档描述 `xingyun-cloud-api``xingyun-cloud-gateway` 的容器运行方式。当前方案默认将 `Nacos` 视为外部基础设施,通过环境变量注入地址,不在仓库内编排。
## 前置条件
- JDK 21
- Maven 3.9+
- Docker 24+
- 可用的外部 `Nacos`
## xingyun-cloud-api
手动构建:
```bash
mvn -pl cloud/xingyun-cloud-api -am package -DskipTests
docker build -t xingyun-cloud-api:local -f cloud/xingyun-cloud-api/target/Dockerfile cloud/xingyun-cloud-api/target
```
脚本构建前请先手动完成 Maven 打包:
```bash
mvn -pl cloud/xingyun-cloud-api -am package -DskipTests
cd cloud/xingyun-cloud-api
sh build-image.sh
```
Windows PowerShell:
```powershell
mvn -pl cloud/xingyun-cloud-api -am package -DskipTests
cd cloud/xingyun-cloud-api
.\build-image.ps1
```
Windows `cmd`:
```bat
mvn -pl cloud/xingyun-cloud-api -am package -DskipTests
cd cloud\xingyun-cloud-api
build-image.bat
```
Compose 运行:
```bash
cd cloud/xingyun-cloud-api
cp .env.example .env
docker compose up -d --build
```
必填变量:
- `XINGYUN_NACOS_SERVER_ADDR`
可选变量:
- `JAVA_OPTS`
## xingyun-cloud-gateway
手动构建:
```bash
mvn -pl cloud/xingyun-cloud-gateway -am package -DskipTests
docker build -t xingyun-cloud-gateway:local -f cloud/xingyun-cloud-gateway/target/Dockerfile cloud/xingyun-cloud-gateway/target
```
脚本构建前请先手动完成 Maven 打包:
```bash
mvn -pl cloud/xingyun-cloud-gateway -am package -DskipTests
cd cloud/xingyun-cloud-gateway
sh build-image.sh
```
Windows PowerShell:
```powershell
mvn -pl cloud/xingyun-cloud-gateway -am package -DskipTests
cd cloud/xingyun-cloud-gateway
.\build-image.ps1
```
Windows `cmd`:
```bat
mvn -pl cloud/xingyun-cloud-gateway -am package -DskipTests
cd cloud\xingyun-cloud-gateway
build-image.bat
```
Compose 运行:
```bash
cd cloud/xingyun-cloud-gateway
cp .env.example .env
docker compose up -d --build
```
必填变量:
- `XINGYUN_NACOS_SERVER_ADDR`
可选变量:
- `JAVA_OPTS`
## 说明
- 当前方案只覆盖 `xingyun-cloud-api``xingyun-cloud-gateway`
- `MySQL``Redis``RabbitMQ` 等业务依赖默认通过 `Nacos` 配置中心间接接入
- 当前方案不在仓库内提供 `Nacos` 容器编排
+154
View File
@@ -0,0 +1,154 @@
# 单体后端容器运行说明
本文档描述 `xingyun-api` 的单体后端容器运行方式。`MySQL``Redis``RabbitMQ` 均视为外部基础设施,容器启动时通过环境变量接入,不由当前仓库内编排提供。
## 前置条件
- JDK 21
- Maven 3.9+
- Docker 24+
- 可用的外部 `MySQL``Redis``RabbitMQ`
## 构建 Jar 与镜像
先在仓库根目录执行 Maven 打包:
```bash
mvn -pl xingyun-api -am package -DskipTests
```
打包完成后,`xingyun-api/target/` 中会同时生成 jar 和经过 Maven 资源过滤后的 `Dockerfile`。使用该目录作为镜像构建上下文:
```bash
docker build -t xingyun-api:local -f xingyun-api/target/Dockerfile xingyun-api/target
```
如果希望使用脚本构建镜像,请先手动完成 Maven 打包,再执行脚本:
```bash
mvn -pl xingyun-api -am package -DskipTests
cd xingyun-api
sh build-image.sh
```
自定义镜像标签示例:
```bash
mvn -pl xingyun-api -am package -DskipTests
cd xingyun-api
sh build-image.sh my-registry.example.com/xingyun-api:1.0.0
```
Windows PowerShell:
```powershell
mvn -pl xingyun-api -am package -DskipTests
cd xingyun-api
.\build-image.ps1
```
Windows `cmd`:
```bat
mvn -pl xingyun-api -am package -DskipTests
cd xingyun-api
build-image.bat
```
如果更习惯 `docker compose``xingyun-api/` 目录还提供了只启动 `xingyun-api` 的 [`compose.yaml`](../xingyun-api/compose.yaml)。它同样依赖已打包完成的 `xingyun-api/target/` 目录:
```bash
cd xingyun-api
cp .env.example .env
docker compose up -d --build
```
`compose.yaml` 只保留部署层高频参数;完整变量清单和示例值见 [`xingyun-api/.env.example`](../xingyun-api/.env.example)。
## 运行容器
示例:
```bash
docker run -d --name xingyun-api ^
-p 8080:8080 ^
-e XINGYUN_DB_URL="jdbc:mysql://mysql.example.com:3306/platform?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8" ^
-e XINGYUN_DB_USERNAME="root" ^
-e XINGYUN_DB_PASSWORD="password" ^
-e XINGYUN_REDIS_HOST="redis.example.com" ^
-e XINGYUN_REDIS_PORT="6379" ^
-e XINGYUN_REDIS_DATABASE="0" ^
-e XINGYUN_REDIS_PASSWORD="password" ^
-e XINGYUN_RABBITMQ_ADDRESSES="rabbitmq.example.com:5672" ^
-e XINGYUN_RABBITMQ_VHOST="/" ^
-e XINGYUN_RABBITMQ_USERNAME="username" ^
-e XINGYUN_RABBITMQ_PASSWORD="password" ^
-e XINGYUN_UPLOAD_DOMAIN="http://localhost:8080" ^
-e JAVA_OPTS="-Xms512m -Xmx512m" ^
-v xingyun-tmp:/opt/data/tmp ^
-v xingyun-upload:/opt/data/upload ^
-v xingyun-security-upload:/opt/data/security-upload ^
-v xingyun-logs:/opt/logs ^
xingyun-api:local
```
如果在 Linux/macOS 下执行,请将续行符 `^` 替换为 `\`
## 环境变量约定
### 必填
- `XINGYUN_DB_URL`
- `XINGYUN_DB_USERNAME`
- `XINGYUN_DB_PASSWORD`
- `XINGYUN_REDIS_HOST`
- `XINGYUN_REDIS_PASSWORD`
- `XINGYUN_RABBITMQ_ADDRESSES`
- `XINGYUN_RABBITMQ_USERNAME`
- `XINGYUN_RABBITMQ_PASSWORD`
推荐把以上变量写入 `xingyun-api/.env`,再执行 `docker compose up -d --build`
### 常用可选项
- `XINGYUN_REDIS_PORT`
默认值:`6379`
- `XINGYUN_REDIS_DATABASE`
默认值:`0`
- `XINGYUN_REDIS_PASSWORD`
默认值:`password`
- `XINGYUN_REDIS_TIMEOUT`
默认值:`10s`
- `XINGYUN_RABBITMQ_VHOST`
默认值:`/`
- `XINGYUN_RABBITMQ_CONNECTION_TIMEOUT`
默认值:`60000`
- `XINGYUN_UPLOAD_DOMAIN`
默认值:`http://localhost:8080`
- `JAVA_OPTS`
追加 JVM 参数,例如堆大小、GC、诊断开关
以下变量通常不需要在 `compose.yaml` 中重复声明,镜像和应用配置已提供默认值:
- `SPRING_PROFILES_ACTIVE`
- `XINGYUN_TMP_DIR`
- `XINGYUN_UPLOAD_DIR`
- `XINGYUN_SECURITY_UPLOAD_DIR`
- `XINGYUN_LOG_DIR`
## 数据卷与目录
容器默认使用以下目录:
- `/opt/data/tmp`
- `/opt/data/upload`
- `/opt/data/security-upload`
- `/opt/logs`
推荐全部挂载为持久化卷,避免上传文件和日志随容器删除而丢失。
## 说明
- 当前方案只覆盖单体模块 `xingyun-api`
- 当前方案不自动初始化数据库结构或导入演示数据
- 当前方案不包含 `xingyun-front` 与云端模块的容器部署
+183
View File
@@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>【${project.artifactId}】月千ERP</name>
<modules>
<module>yueqian-erp-core</module>
<module>yueqian-erp-api</module>
<module>yueqian-erp-basedata</module>
<module>yueqian-erp-sc</module>
<module>yueqian-erp-chart</module>
<module>yueqian-erp-settle</module>
<module>cloud/yueqian-erp-cloud-api</module>
<module>yueqian-erp-comp</module>
<module>cloud/yueqian-erp-cloud-gateway</module>
</modules>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<maven.compiler.release>21</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
<spring-boot-maven-plugin.version>3.5.0</spring-boot-maven-plugin.version>
<yueqian-erp.version>1.0.0-SNAPSHOT</yueqian-erp.version>
<jugg.version>5.0.0</jugg.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.lframework</groupId>
<artifactId>parent</artifactId>
<version>${jugg.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.lframework</groupId>
<artifactId>mq-starter</artifactId>
<version>${jugg.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-basedata</artifactId>
<version>${yueqian-erp.version}</version>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-comp</artifactId>
<version>${yueqian-erp.version}</version>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-sc</artifactId>
<version>${yueqian-erp.version}</version>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-chart</artifactId>
<version>${yueqian-erp.version}</version>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-settle</artifactId>
<version>${yueqian-erp.version}</version>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-core</artifactId>
<version>${yueqian-erp.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<release>${maven.compiler.release}</release>
<encoding>${project.build.sourceEncoding}</encoding>
<parameters>true</parameters>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
</plugins>
</build>
<!-- 指定仓库 -->
<repositories>
<repository>
<id>ali-public</id>
<name>阿里云public库</name>
<url>https://maven.aliyun.com/repository/public</url>
<layout>default</layout>
</repository>
<repository>
<id>ali-central</id>
<name>阿里云central库</name>
<url>https://maven.aliyun.com/repository/central</url>
</repository>
<repository>
<id>ali-central-old</id>
<name>阿里云central库old</name>
<url>https://maven.aliyun.com/nexus/content/groups/public</url>
</repository>
</repositories>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profiles-active>dev</profiles-active>
<discovery-server>127.0.0.1:10000</discovery-server>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profiles-active>test</profiles-active>
<discovery-server>127.0.0.1:10000</discovery-server>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profiles-active>prod</profiles-active>
<discovery-server>127.0.0.1:10000</discovery-server>
</properties>
</profile>
</profiles>
</project>
+30
View File
@@ -0,0 +1,30 @@
# compose 运行参数
XINGYUN_API_IMAGE=xingyun-api:local
XINGYUN_API_CONTAINER_NAME=xingyun-api
XINGYUN_API_PORT=8080
# 必填的外部基础设施配置
XINGYUN_DB_URL=jdbc:mysql://mysql.example.com:3306/platform?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8
XINGYUN_DB_USERNAME=root
XINGYUN_DB_PASSWORD=change-me
XINGYUN_REDIS_HOST=redis.example.com
XINGYUN_REDIS_PASSWORD=change-me
XINGYUN_RABBITMQ_ADDRESSES=rabbitmq.example.com:5672
XINGYUN_RABBITMQ_USERNAME=username
XINGYUN_RABBITMQ_PASSWORD=change-me
# 可选覆盖项
XINGYUN_REDIS_PORT=6379
XINGYUN_REDIS_DATABASE=0
XINGYUN_REDIS_TIMEOUT=10s
XINGYUN_RABBITMQ_VHOST=/
XINGYUN_RABBITMQ_CONNECTION_TIMEOUT=60000
XINGYUN_UPLOAD_DOMAIN=http://localhost:8080
JAVA_OPTS=-Xms512m -Xmx512m
# 以下默认值已由 Dockerfile 和 application-prod.yml 提供
SPRING_PROFILES_ACTIVE=prod
XINGYUN_TMP_DIR=/opt/data/tmp
XINGYUN_UPLOAD_DIR=/opt/data/upload
XINGYUN_SECURITY_UPLOAD_DIR=/opt/data/security-upload
XINGYUN_LOG_DIR=/opt/logs
+24
View File
@@ -0,0 +1,24 @@
FROM eclipse-temurin:21-jre-jammy
WORKDIR /opt
ARG JAR_FILE=@build.finalName@.jar
COPY ${JAR_FILE} /opt/app.jar
EXPOSE 8080
ENV SPRING_PROFILES_ACTIVE="prod" \
XINGYUN_TMP_DIR="/opt/data/tmp" \
XINGYUN_UPLOAD_DIR="/opt/data/upload" \
XINGYUN_SECURITY_UPLOAD_DIR="/opt/data/security-upload" \
XINGYUN_LOG_DIR="/opt/logs" \
JAVA_OPTS=""
RUN mkdir -p /opt/data/tmp /opt/data/upload /opt/data/security-upload /opt/logs
# 在默认情况下
# /opt/data/tmp是tomcat临时文件目录
# /opt/data/upload是公开上传文件的存储目录
# /opt/data/security-upload是安全上传文件的存储目录
# /opt/logs是日志的存储目录
CMD ["sh", "-c", "exec java -server -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} ${JAVA_OPTS} -jar /opt/app.jar"]
+7
View File
@@ -0,0 +1,7 @@
@echo off
setlocal
powershell -ExecutionPolicy Bypass -File "%~dp0build-image.ps1" %*
set EXIT_CODE=%ERRORLEVEL%
endlocal & exit /b %EXIT_CODE%
+52
View File
@@ -0,0 +1,52 @@
param(
[Parameter(Position = 0)]
[string]$ImageTag = 'xingyun-api:local'
)
$ErrorActionPreference = 'Stop'
function Show-Usage {
Write-Output 'Usage: powershell -ExecutionPolicy Bypass -File build-image.ps1 [image:tag]'
Write-Output ''
Write-Output 'Builds the xingyun-api jar and Docker image.'
Write-Output 'Default image tag: xingyun-api:local'
}
if ($ImageTag -in @('-h', '--help')) {
Show-Usage
exit 0
}
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$targetDir = Join-Path $scriptDir 'target'
$dockerfile = Join-Path $targetDir 'Dockerfile'
$packageCommand = 'mvn -pl xingyun-api -am package -DskipTests'
if (-not (Test-Path -LiteralPath $dockerfile)) {
Write-Output "Missing Dockerfile: $dockerfile"
Write-Output "Run '$packageCommand' first to generate the module artifacts."
exit 1
}
$jarFiles = @(
Get-ChildItem $targetDir -Filter '*.jar' -File
)
$jarFiles = $jarFiles | Where-Object {
$_.Name -notlike '*-sources.jar' -and
$_.Name -notlike '*-javadoc.jar' -and
$_.Name -notlike 'original-*.jar'
}
if ($jarFiles.Count -lt 1) {
Write-Output "No runnable jar found in $targetDir."
Write-Output "Run '$packageCommand' first to generate the module artifacts."
exit 1
}
Write-Output "Building Docker image: $ImageTag"
& docker build -t $ImageTag -f $dockerfile $targetDir
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
Write-Output "Done: $ImageTag"
+27
View File
@@ -0,0 +1,27 @@
#!/bin/sh
set -eu
usage() {
echo "Usage: sh build-image.sh [image:tag]"
echo
echo "Builds the xingyun-api jar and Docker image."
echo "Default image tag: xingyun-api:local"
}
if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then
usage
exit 0
fi
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
REPO_ROOT=$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd)
IMAGE_TAG=${1:-xingyun-api:local}
echo "Packaging xingyun-api..."
mvn -f "$REPO_ROOT/pom.xml" -pl xingyun-api -am package -DskipTests
echo "Building Docker image: $IMAGE_TAG"
docker build -t "$IMAGE_TAG" -f "$SCRIPT_DIR/target/Dockerfile" "$SCRIPT_DIR/target"
echo "Done: $IMAGE_TAG"
+31
View File
@@ -0,0 +1,31 @@
services:
xingyun-api:
image: ${XINGYUN_API_IMAGE:-xingyun-api:local}
build:
context: ./target
dockerfile: Dockerfile
container_name: ${XINGYUN_API_CONTAINER_NAME:-xingyun-api}
restart: unless-stopped
ports:
- "${XINGYUN_API_PORT:-8080}:8080"
environment:
XINGYUN_DB_URL: ${XINGYUN_DB_URL:?XINGYUN_DB_URL is required}
XINGYUN_DB_USERNAME: ${XINGYUN_DB_USERNAME:?XINGYUN_DB_USERNAME is required}
XINGYUN_DB_PASSWORD: ${XINGYUN_DB_PASSWORD:?XINGYUN_DB_PASSWORD is required}
XINGYUN_REDIS_HOST: ${XINGYUN_REDIS_HOST:?XINGYUN_REDIS_HOST is required}
XINGYUN_REDIS_PASSWORD: ${XINGYUN_REDIS_PASSWORD:?XINGYUN_REDIS_PASSWORD is required}
XINGYUN_RABBITMQ_ADDRESSES: ${XINGYUN_RABBITMQ_ADDRESSES:?XINGYUN_RABBITMQ_ADDRESSES is required}
XINGYUN_RABBITMQ_USERNAME: ${XINGYUN_RABBITMQ_USERNAME:?XINGYUN_RABBITMQ_USERNAME is required}
XINGYUN_RABBITMQ_PASSWORD: ${XINGYUN_RABBITMQ_PASSWORD:?XINGYUN_RABBITMQ_PASSWORD is required}
XINGYUN_REDIS_PORT: ${XINGYUN_REDIS_PORT:-6379}
XINGYUN_REDIS_DATABASE: ${XINGYUN_REDIS_DATABASE:-0}
XINGYUN_REDIS_TIMEOUT: ${XINGYUN_REDIS_TIMEOUT:-10s}
XINGYUN_RABBITMQ_VHOST: ${XINGYUN_RABBITMQ_VHOST:-/}
XINGYUN_RABBITMQ_CONNECTION_TIMEOUT: ${XINGYUN_RABBITMQ_CONNECTION_TIMEOUT:-60000}
XINGYUN_UPLOAD_DOMAIN: ${XINGYUN_UPLOAD_DOMAIN:-http://localhost:8080}
JAVA_OPTS: ${JAVA_OPTS:-}
volumes:
- ./data/tmp:/opt/data/tmp
- ./data/upload:/opt/data/upload
- ./data/security-upload:/opt/data/security-upload
- ./logs:/opt/logs
+128
View File
@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yueqian-erp</artifactId>
<groupId>com.yueqian</groupId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yueqian-erp-api</artifactId>
<name>【${project.artifactId}】Api接口层</name>
<dependencies>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-comp</artifactId>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-basedata</artifactId>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-sc</artifactId>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-settle</artifactId>
</dependency>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-chart</artifactId>
</dependency>
<dependency>
<groupId>com.lframework</groupId>
<artifactId>rabbitmq-starter</artifactId>
<exclusions>
<exclusion>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>copy-resources-to-target</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}</directory>
<filtering>true</filtering>
<includes>
<include>Dockerfile</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>scripts/*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application.yml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>db/**</exclude>
<exclude>scripts/*</exclude>
</excludes>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>demo</id>
<dependencies>
<dependency>
<groupId>com.lframework</groupId>
<artifactId>xingyun-demo</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
@@ -0,0 +1,50 @@
package com.yueqian.xingyun.api;
import com.lframework.starter.web.core.annotations.locker.EnableLock;
import com.lframework.starter.web.core.annotations.locker.LockType;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.mybatis.spring.annotation.MapperScan;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@EnableLock(type = LockType.REDIS)
@ServletComponentScan(basePackages = {"com.yueqian.xingyun"})
@SpringBootApplication(scanBasePackages = {"com.yueqian.xingyun"})
@MapperScan({"com.yueqian.xingyun.**.mappers"})
public class XingYunApiApplication {
public static void main(String[] args) {
SpringApplication.run(XingYunApiApplication.class, args);
}
@Configuration
public static class OpenApiConfiguration {
@Bean("xingyunApi")
public GroupedOpenApi xingyunApi() {
return GroupedOpenApi.builder()
.group("星云ERP")
.packagesToScan(
"com.yueqian.xingyun.api",
"com.yueqian.xingyun.basedata",
"com.yueqian.xingyun.chart",
"com.yueqian.xingyun.comp",
"com.yueqian.xingyun.sc",
"com.yueqian.xingyun.settle")
.build();
}
@Bean
public OpenAPI openAPI() {
return new OpenAPI().info(new Info()
.title("星云ERP接口文档")
.description("# 星云ERP接口文档")
.version("v1.0.0"));
}
}
}
@@ -0,0 +1,2 @@
config.stopBubbling=true
lombok.equalsAndHashCode.callSuper=call
@@ -0,0 +1,114 @@
logging:
pattern:
console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint}|%clr(%5p)|%clr(${PID:- }){magenta}|%clr(%15.15t){faint}|%clr(${spring.application.name}){cyan}|%clr(%X{traceId:-N/A}){blue}|%X{spanId:-N/A}|%clr(%-40.40logger{39}){cyan}|%m%n%wEx"
file: ${logging.pattern.console}
level:
com.yueqian: DEBUG
io.lettuce.core.protocol: OFF
org.dromara.warm.flow: DEBUG
spring:
servlet:
multipart:
#临时文件路径
location: D:\tmp\tmp-datas
datasource:
dynamic:
# 设置默认数据源
primary: master
# 是否严格匹配数据源 未匹配到指定数据源时true抛异常,false使用默认数据源
strict: true
datasource:
master:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/platform?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8
username: root
password: password
druid:
initial-size: 10
min-idle: 10
max-active: 200
max-wait: 60000
time-between-eviction-runs-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
filters: stat
data:
redis:
#地址
host: 127.0.0.1
#端口,默认为6379
port: 6379
#数据库
database: 0
#密码
password: password
#连接超时时间
timeout: 10s
lettuce:
pool:
#连接池中的最小空闲连接
min-idle: 0
#连接池中的最大空闲连接
max-idle: 8
#连接池的最大数据库连接数
max-active: 8
#连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
#RabbitMQ配置
rabbitmq:
addresses: 127.0.0.1:5672 # RabbitMQ集群地址列表,多个地址用逗号分隔
virtual-host: /
username: username
password: password
connection-timeout: 60000 # 连接超时时间(毫秒),默认为60000毫秒(60秒)
ssl:
enabled: false # 是否启用SSL,默认为false
algorithm: TLSv1.2 # SSL算法,默认为TLSv1.2
publisher-confirm-type: SIMPLE # 发布确认机制
publisher-returns: true # 是否开启发布返回机制,默认为false
listener:
type: direct
simple:
acknowledge-mode: AUTO # 消费者确认模式,默认为auto
retry:
enabled: false # 是否启用重试机制,默认为false
direct:
acknowledge-mode: AUTO # 消费者确认模式,默认为auto
retry:
enabled: false # 是否启用重试机制,默认为false
sa-token:
# 配置 Sa-Token 单独使用的 Redis 连接,将业务和鉴权独立
alone-redis:
# Redis数据库索引(默认为0),最好与业务数据的redis隔离
database: 1
# Redis服务器地址
host: ${spring.data.redis.host}
# Redis服务器连接端口
port: ${spring.data.redis.port}
# Redis服务器连接密码(默认为空)
password: ${spring.data.redis.password}
# 连接超时时间
timeout: ${spring.data.redis.timeout}
jugg:
# 公开上传
upload:
#下载时的baseUrl,与domain的区别:会在url后面拼接/**作为静态资源的url,而domain是后端系统的具体域名,下载时的完整url例如:upload.domain + upload.url/xxx.jpg
url: /oss
#下载时的域名
domain: http://localhost:8080
#上传文件的路径
location: D:\upload\upload-data
# 安全上传
security-upload:
#下载时的域名,一般情况下和公开上传的域名一致
domain: ${jugg.upload.domain}
# 上传文件的路径
location: ${jugg.upload.location}
@@ -0,0 +1,115 @@
logging:
pattern:
console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint}|%clr(%5p)|%clr(${PID:- }){magenta}|%clr(%15.15t){faint}|%clr(${spring.application.name}){cyan}|%clr(%X{traceId:-N/A}){blue}|%X{spanId:-N/A}|%clr(%-40.40logger{39}){cyan}|%m%n%wEx"
file: ${logging.pattern.console}
file:
name: ${XINGYUN_LOG_DIR:/opt/logs}/${spring.application.name}.log
max-history: 14
level:
io.lettuce.core.protocol: OFF
spring:
servlet:
multipart:
#临时文件路径
location: ${XINGYUN_TMP_DIR:/opt/data/tmp}
datasource:
dynamic:
# 设置默认数据源
primary: master
# 是否严格匹配数据源 未匹配到指定数据源时true抛异常,false使用默认数据源
strict: true
datasource:
master:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: ${XINGYUN_DB_URL:jdbc:mysql://127.0.0.1:3306/platform?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8}
username: ${XINGYUN_DB_USERNAME:root}
password: ${XINGYUN_DB_PASSWORD:password}
druid:
initial-size: 10
min-idle: 10
max-active: 200
max-wait: 60000
time-between-eviction-runs-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
filters: stat
data:
redis:
#地址
host: ${XINGYUN_REDIS_HOST:127.0.0.1}
#端口,默认为6379
port: ${XINGYUN_REDIS_PORT:6379}
#数据库
database: ${XINGYUN_REDIS_DATABASE:0}
#密码
password: ${XINGYUN_REDIS_PASSWORD:password}
#连接超时时间
timeout: ${XINGYUN_REDIS_TIMEOUT:10s}
lettuce:
pool:
#连接池中的最小空闲连接
min-idle: 0
#连接池中的最大空闲连接
max-idle: 8
#连接池的最大数据库连接数
max-active: 8
#连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
#RabbitMQ配置
rabbitmq:
addresses: ${XINGYUN_RABBITMQ_ADDRESSES:127.0.0.1:5672} # RabbitMQ集群地址列表,多个地址用逗号分隔
virtual-host: ${XINGYUN_RABBITMQ_VHOST:/}
username: ${XINGYUN_RABBITMQ_USERNAME:username}
password: ${XINGYUN_RABBITMQ_PASSWORD:password}
connection-timeout: ${XINGYUN_RABBITMQ_CONNECTION_TIMEOUT:60000} # 连接超时时间(毫秒),默认为60000毫秒(60秒)
ssl:
enabled: false # 是否启用SSL,默认为false
algorithm: TLSv1.2 # SSL算法,默认为TLSv1.2
publisher-confirm-type: SIMPLE # 发布确认机制
publisher-returns: true # 是否开启发布返回机制,默认为false
listener:
type: direct
simple:
acknowledge-mode: AUTO # 消费者确认模式,默认为auto
retry:
enabled: false # 是否启用重试机制,默认为false
direct:
acknowledge-mode: AUTO # 消费者确认模式,默认为auto
retry:
enabled: false # 是否启用重试机制,默认为false
sa-token:
# 配置 Sa-Token 单独使用的 Redis 连接,将业务和鉴权独立
alone-redis:
# Redis数据库索引(默认为0),最好与业务数据的redis隔离
database: 1
# Redis服务器地址
host: ${spring.data.redis.host}
# Redis服务器连接端口
port: ${spring.data.redis.port}
# Redis服务器连接密码(默认为空)
password: ${spring.data.redis.password}
# 连接超时时间
timeout: ${spring.data.redis.timeout}
jugg:
# 公开上传
upload:
#下载时的baseUrl,与domain的区别:会在url后面拼接/**作为静态资源的url,而domain是后端系统的具体域名,下载时的完整url例如:upload.domain + upload.url/xxx.jpg
url: /oss
#下载时的域名
domain: ${XINGYUN_UPLOAD_DOMAIN:http://localhost:8080}
#上传文件的路径
location: ${XINGYUN_UPLOAD_DIR:/opt/data/upload}
# 安全上传
security-upload:
#下载时的域名,一般情况下和公开上传的域名一致
domain: ${jugg.upload.domain}
# 上传文件的路径
location: ${XINGYUN_SECURITY_UPLOAD_DIR:/opt/data/security-upload}
@@ -0,0 +1,115 @@
logging:
pattern:
console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint}|%clr(%5p)|%clr(${PID:- }){magenta}|%clr(%15.15t){faint}|%clr(${spring.application.name}){cyan}|%clr(%X{traceId:-N/A}){blue}|%X{spanId:-N/A}|%clr(%-40.40logger{39}){cyan}|%m%n%wEx"
file: ${logging.pattern.console}
file:
name: logs/${spring.application.name}.log
max-history: 14
level:
io.lettuce.core.protocol: OFF
spring:
servlet:
multipart:
#临时文件路径
location: D:\tmp\tmp-datas
datasource:
dynamic:
# 设置默认数据源
primary: master
# 是否严格匹配数据源 未匹配到指定数据源时true抛异常,false使用默认数据源
strict: true
datasource:
master:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/platform?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8
username: root
password: password
druid:
initial-size: 10
min-idle: 10
max-active: 200
max-wait: 60000
time-between-eviction-runs-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
filters: stat
data:
redis:
#地址
host: 127.0.0.1
#端口,默认为6379
port: 6379
#数据库
database: 0
#密码
password: password
#连接超时时间
timeout: 10s
lettuce:
pool:
#连接池中的最小空闲连接
min-idle: 0
#连接池中的最大空闲连接
max-idle: 8
#连接池的最大数据库连接数
max-active: 8
#连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
#RabbitMQ配置
rabbitmq:
addresses: 127.0.0.1:5672 # RabbitMQ集群地址列表,多个地址用逗号分隔
virtual-host: /
username: username
password: password
connection-timeout: 60000 # 连接超时时间(毫秒),默认为60000毫秒(60秒)
ssl:
enabled: false # 是否启用SSL,默认为false
algorithm: TLSv1.2 # SSL算法,默认为TLSv1.2
publisher-confirm-type: SIMPLE # 发布确认机制
publisher-returns: true # 是否开启发布返回机制,默认为false
listener:
type: direct
simple:
acknowledge-mode: AUTO # 消费者确认模式,默认为auto
retry:
enabled: false # 是否启用重试机制,默认为false
direct:
acknowledge-mode: AUTO # 消费者确认模式,默认为auto
retry:
enabled: false # 是否启用重试机制,默认为false
sa-token:
# 配置 Sa-Token 单独使用的 Redis 连接,将业务和鉴权独立
alone-redis:
# Redis数据库索引(默认为0),最好与业务数据的redis隔离
database: 1
# Redis服务器地址
host: ${spring.data.redis.host}
# Redis服务器连接端口
port: ${spring.data.redis.port}
# Redis服务器连接密码(默认为空)
password: ${spring.data.redis.password}
# 连接超时时间
timeout: ${spring.data.redis.timeout}
jugg:
# 公开上传
upload:
#下载时的baseUrl,与domain的区别:会在url后面拼接/**作为静态资源的url,而domain是后端系统的具体域名,下载时的完整url例如:upload.domain + upload.url/xxx.jpg
url: /oss
#下载时的域名
domain: http://localhost:8080
#上传文件的路径
location: D:\upload\upload-data
# 安全上传
security-upload:
#下载时的域名,一般情况下和公开上传的域名一致
domain: ${jugg.upload.domain}
# 上传文件的路径
location: ${jugg.upload.location}
@@ -0,0 +1,168 @@
server:
#端口
port: 8080
spring:
main:
allow-bean-definition-overriding: true
allow-circular-references: true
application:
name: @project.artifactId@
profiles:
active: @profiles-active@
servlet:
multipart:
#是否开启文件上传
enabled: true
#单个文件最大值
max-file-size: 10MB
#请求中所有文件的最大值
max-request-size: 100MB
#将文件写入磁盘的阈值
#file-size-threshold: 0
#是否要延迟解析文件
#resolve-lazily: false
quartz:
jdbc:
initialize-schema: never
job-store-type: jdbc
wait-for-jobs-to-complete-on-shutdown: true
#时间格式
jackson:
date-format: yyyy-MM-dd HH:mm:ss
default-property-inclusion: non_null
#使用redis存储SESSION
session:
store-type: redis
data:
redis:
lettuce:
reader-idle-time-seconds: 30
knife4j:
enable: true
setting:
language: zh-CN
# 是否显示界面中SwaggerModel功能
enableSwaggerModels: false
# 是否显示界面中"文档管理"功能
enableDocumentManage: true
# 是否默认显示底部Footer
enableFooter: false
# 是否自定义Footer
enableFooterCustom: true
# 自定义Footer内容(支持Markdown语法)
footerCustomContent: Apache License 2.0 | Copyright 2019-[星云ERP](https://gitee.com/lframework/xingyun)
# 是否开启调试
enableDebug: true
# 是否显示OpenAPI原始结构的Tab框,默认显示
enableOpenApi: false
# 是否生产环境
production: false
springdoc:
default-flat-param-object: true
# Sa-Token配置
sa-token:
# token名称 (同时也是cookie名称),此值不要修改
token-name: X-Auth-Token
# token有效期,单位s 默认30天, -1代表永不过期
timeout: 25920000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
active-timeout: 7200
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
is-concurrent: true
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share: false
# token风格
token-style: uuid
# 是否输出操作日志
is-log: false
jugg:
secret:
# 秘钥,用于敏感信息加密,生产环境一定要更改此项,并且产生数据后不要更改秘钥
# 提供了EncryptUtil工具类,包含:生成秘钥、加密、解密方法。
key: eRE2drUFINojkG9ivqtfOA==
#默认配置
default-setting:
#默认的用户ID,用于写入数据库时的createById和updateById的自动赋值,如果有登录人则取登录人ID,如果没有则取默认用户ID,如果不配置,默认是1
default-user-id: 1
#默认的用户姓名,用于写入数据库时的createBy和updateBy的自动赋值,如果有登录人则取登录人姓名,如果没有则取默认用户姓名,如果不配置,默认是系统管理员
default-user-name: 系统管理员
web:
#终端ID
worker-id: 1
#数据中心ID
center-id: 1
#重复提交拦截暂时不实现
#repeat-request:
#重复提交拦截间隔(单位:秒)
#filter-interval: 1
#缓存TTL配置 单位:秒
cache:
#公共缓存过期时间
ttl: 1800
#特殊指定缓存过期时间,以下示例为cacheName的过期时间是3600秒、cacheName2的过期是7200秒。cacheName、cacheName2对应的是@Cacheable的Value属性
#regions:
# cacheName: 3600
# cacheName2: 7200
regions:
product_stock_warning_notify: 86400
#开启websocket
ws:
#通信topic
#topic: xingyun:ws:topic
#是否支持跨域
#support-cross-domain: false
#验证码配置
kaptcha:
#过期时间(单位:分钟)
expire-time: 5
border: true
border-color: black
border-thickness: 1
noise-color: black
text-producer-char-string: abcde2345678gfynmnpwx
text-producer-char-length: 4
text-producer-font-names: Arial,Courier
text-producer-font-color: black
text-producer-font-size: 28
text-producer-char-space: 2
back-ground-clr-from: lightGray
back-ground-clr-to: white
image-width: 120
image-height: 40
#PageHelper分页器
pagehelper:
offset-as-page-num: true
row-bounds-with-count: true
page-size-zero: true
reasonable: false
params: pageNum=pageIndex;pageSize=pageSize;
support-methods-arguments: false
mybatis-plus:
mapper-locations: classpath*:/mappers/**/*.xml
typeEnumsPackage: com.lframework.starter.**.enums,com.yueqian.xingyun.**.enums
op-logs:
#是否开启
enabled: true
#操作日志保留天数
retain-days: 7
# 是否移除内置权限,针对admin等内置权限,因为内置权限等同于通配符权限,设置为true时会用具体的权限将内置权限替换掉,生产环境建议设置为true
remove-fixed-permissions: false
# warm-flow
warm-flow:
token-name: ${sa-token.token-name}
data-fill-handler-path: com.lframework.starter.bpm.handlers.BpmDataFillHandler
# 是否开启逻辑删除(orm框架本身不支持逻辑删除,可通过这种方式开启)
logic_delete: true
# 逻辑删除字段值(开启后默认为2
logic_delete_value: 2
# 逻辑未删除字段(开启后默认为0
logic_not_delete_value: 0
@@ -0,0 +1,7 @@
▄ ▄ ▀
█ █ ▄▄▄ ▄ ▄▄ ▄▄▄▄ ▄ ▄ ▄ ▄ ▄ ▄▄
██ █ █▀ █ █▀ ▀█ ▀▄ ▄▀ █ █ █▀ █
▄▀▀▄ █ █ █ █ █ █▄█ █ █ █ █
▄▀ ▀▄ ▄▄█▄▄ █ █ ▀█▄▀█ ▀█ ▀▄▄▀█ █ █
▄ █ ▄▀
▀▀ ▀▀
@@ -0,0 +1,4 @@
all目录中的是全量SQL,其中platform.sql是平台库SQLtenant.sql是租户库SQL。
migration目录中的是增量SQL,其中platform目录中是平台库的增量SQL;tenant目录中是租户库的增量SQL。
多租户时,租户库是从平台库的tenant表中获取的,不要忘记修改这个表里面的数据
tenant表中存储的密码不是明文密码,需要将明文密码加密后存储,参见EncryptUtil中的main方法进行转换。
@@ -0,0 +1,393 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for magic_api_file
-- ----------------------------
DROP TABLE IF EXISTS `magic_api_file`;
CREATE TABLE `magic_api_file` (
`file_path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`file_content` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
PRIMARY KEY (`file_path`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of magic_api_file
-- ----------------------------
-- ----------------------------
-- Table structure for magic_api_file_backup
-- ----------------------------
DROP TABLE IF EXISTS `magic_api_file_backup`;
CREATE TABLE `magic_api_file_backup` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '原对象ID',
`create_date` bigint(13) NOT NULL COMMENT '备份时间',
`tag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标签',
`type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型',
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原名称',
`content` blob NULL COMMENT '备份内容',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人',
PRIMARY KEY (`id`, `create_date`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of magic_api_file_backup
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_blob_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_blob_triggers`;
CREATE TABLE `qrtz_blob_triggers` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`BLOB_DATA` blob NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_blob_triggers
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_calendars
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_calendars`;
CREATE TABLE `qrtz_calendars` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`CALENDAR` blob NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_calendars
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_cron_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_cron_triggers`;
CREATE TABLE `qrtz_cron_triggers` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_cron_triggers
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_fired_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_fired_triggers`;
CREATE TABLE `qrtz_fired_triggers` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`FIRED_TIME` bigint(13) NOT NULL,
`SCHED_TIME` bigint(13) NOT NULL,
`PRIORITY` int(11) NOT NULL,
`STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE,
INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE,
INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_fired_triggers
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_job_details
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_job_details`;
CREATE TABLE `qrtz_job_details` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`JOB_DATA` blob NULL,
PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_job_details
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_locks
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_locks`;
CREATE TABLE `qrtz_locks` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_locks
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_paused_trigger_grps
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
CREATE TABLE `qrtz_paused_trigger_grps` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_paused_trigger_grps
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_scheduler_state
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_scheduler_state`;
CREATE TABLE `qrtz_scheduler_state` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`LAST_CHECKIN_TIME` bigint(13) NOT NULL,
`CHECKIN_INTERVAL` bigint(13) NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_scheduler_state
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_simple_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_simple_triggers`;
CREATE TABLE `qrtz_simple_triggers` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`REPEAT_COUNT` bigint(7) NOT NULL,
`REPEAT_INTERVAL` bigint(12) NOT NULL,
`TIMES_TRIGGERED` bigint(10) NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_simple_triggers
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_simprop_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
CREATE TABLE `qrtz_simprop_triggers` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`INT_PROP_1` int(11) NULL DEFAULT NULL,
`INT_PROP_2` int(11) NULL DEFAULT NULL,
`LONG_PROP_1` bigint(20) NULL DEFAULT NULL,
`LONG_PROP_2` bigint(20) NULL DEFAULT NULL,
`DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL,
`DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL,
`BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_simprop_triggers
-- ----------------------------
-- ----------------------------
-- Table structure for qrtz_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_triggers`;
CREATE TABLE `qrtz_triggers` (
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL,
`PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL,
`PRIORITY` int(11) NULL DEFAULT NULL,
`TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`START_TIME` bigint(13) NOT NULL,
`END_TIME` bigint(13) NULL DEFAULT NULL,
`CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL,
`JOB_DATA` blob NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE,
INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE,
INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE,
INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE,
INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE,
INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE,
INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of qrtz_triggers
-- ----------------------------
-- ----------------------------
-- Table structure for sys_module
-- ----------------------------
DROP TABLE IF EXISTS `sys_module`;
CREATE TABLE `sys_module` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注',
`is_platform` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为平台功能模块',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统模块' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_module
-- ----------------------------
INSERT INTO `sys_module` VALUES (1, '平台管理', '系统平台的核心模块。', 1, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (2, '系统管理', '维护企业、系统基础数据,包括部门、岗位、角色和参数等。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (3, '基础信息管理', '维护基础业务数据,包括仓库、客户、供应商、会员等。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (4, '商品中心', '管理商品核心数据。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (5, '采购业务', '管理供应商与企业的采购业务。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (6, '销售业务', '管理企业与TOB端大客户的销售业务。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (7, '零售业务', '管理企业与TOC端会员的零售业务。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (8, '库存管理及调拨', '查询商品库存和进行商品调拨。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (9, '库存盘点', '库存商品盘点。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (10, '库存调整', '商品库存调整。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (11, '结算管理', '企业与供应商、客户进行结算。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (12, '开发管理', '系统快捷开发,如管理定时器、数据实体、数据对象、表单生成等。', 1, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (13, '便捷办公', '支持文件收纳和在线Excel。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (14, '开放平台', '系统开放平台管理。', 1, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (15, '物流发货', '管理企业物流业务。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (16, '审批流程', '管理审批流程。', 0, '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
-- ----------------------------
-- Table structure for sys_module_tenant
-- ----------------------------
DROP TABLE IF EXISTS `sys_module_tenant`;
CREATE TABLE `sys_module_tenant` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
`module_id` int(11) NOT NULL COMMENT '模块ID',
`tenant_id` int(11) NOT NULL COMMENT '租户ID',
`expire_time` datetime NOT NULL COMMENT '过期时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `name`(`tenant_id`, `module_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户和系统模块关系表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_module_tenant
-- ----------------------------
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875135', 1, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875136', 2, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875137', 3, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875138', 4, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875139', 5, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875140', 6, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875141', 7, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875142', 8, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875143', 9, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875144', 10, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875145', 11, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875146', 12, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875147', 13, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875148', 14, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875149', 15, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1748649349774184463', 16, 1000, '2099-01-01 00:00:00');
-- ----------------------------
-- Table structure for sys_open_domain
-- ----------------------------
DROP TABLE IF EXISTS `sys_open_domain`;
CREATE TABLE `sys_open_domain` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`api_secret` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'API秘钥',
`available` tinyint(1) NOT NULL COMMENT '状态',
`description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注',
`tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `name`(`name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '开放域' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_open_domain
-- ----------------------------
-- ----------------------------
-- Table structure for tenant
-- ----------------------------
DROP TABLE IF EXISTS `tenant`;
CREATE TABLE `tenant` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`server_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '域名',
`jdbc_url` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC连接地址',
`jdbc_username` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC用户名',
`jdbc_password` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC密码',
`is_platform` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为平台管理租户',
`available` tinyint(1) NOT NULL COMMENT '状态',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1001 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of tenant
-- ----------------------------
INSERT INTO `tenant` VALUES (1000, '测试租户', NULL, 'jdbc:mysql://127.0.0.1:3306/xingyun', 'root', '24590d72bfb4d71ccbc533570aa9627b', 1, 1, '2022-12-31 22:59:21', '2023-03-13 22:14:07');
SET FOREIGN_KEY_CHECKS = 1;
File diff suppressed because one or more lines are too long
@@ -0,0 +1,313 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for qrtz_blob_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_blob_triggers`;
CREATE TABLE `qrtz_blob_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(190) NOT NULL,
`TRIGGER_GROUP` varchar(190) NOT NULL,
`BLOB_DATA` blob,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_blob_triggers
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_calendars
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_calendars`;
CREATE TABLE `qrtz_calendars` (
`SCHED_NAME` varchar(120) NOT NULL,
`CALENDAR_NAME` varchar(190) NOT NULL,
`CALENDAR` blob NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_calendars
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_cron_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_cron_triggers`;
CREATE TABLE `qrtz_cron_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(190) NOT NULL,
`TRIGGER_GROUP` varchar(190) NOT NULL,
`CRON_EXPRESSION` varchar(120) NOT NULL,
`TIME_ZONE_ID` varchar(80) DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_cron_triggers
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_fired_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_fired_triggers`;
CREATE TABLE `qrtz_fired_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`ENTRY_ID` varchar(95) NOT NULL,
`TRIGGER_NAME` varchar(190) NOT NULL,
`TRIGGER_GROUP` varchar(190) NOT NULL,
`INSTANCE_NAME` varchar(190) NOT NULL,
`FIRED_TIME` bigint(13) NOT NULL,
`SCHED_TIME` bigint(13) NOT NULL,
`PRIORITY` int(11) NOT NULL,
`STATE` varchar(16) NOT NULL,
`JOB_NAME` varchar(190) DEFAULT NULL,
`JOB_GROUP` varchar(190) DEFAULT NULL,
`IS_NONCONCURRENT` varchar(1) DEFAULT NULL,
`REQUESTS_RECOVERY` varchar(1) DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`),
KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`),
KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`),
KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_fired_triggers
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_job_details
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_job_details`;
CREATE TABLE `qrtz_job_details` (
`SCHED_NAME` varchar(120) NOT NULL,
`JOB_NAME` varchar(190) NOT NULL,
`JOB_GROUP` varchar(190) NOT NULL,
`DESCRIPTION` varchar(250) DEFAULT NULL,
`JOB_CLASS_NAME` varchar(250) NOT NULL,
`IS_DURABLE` varchar(1) NOT NULL,
`IS_NONCONCURRENT` varchar(1) NOT NULL,
`IS_UPDATE_DATA` varchar(1) NOT NULL,
`REQUESTS_RECOVERY` varchar(1) NOT NULL,
`JOB_DATA` blob,
PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`),
KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_job_details
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_locks
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_locks`;
CREATE TABLE `qrtz_locks` (
`SCHED_NAME` varchar(120) NOT NULL,
`LOCK_NAME` varchar(40) NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_locks
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_paused_trigger_grps
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
CREATE TABLE `qrtz_paused_trigger_grps` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_GROUP` varchar(190) NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_paused_trigger_grps
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_scheduler_state
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_scheduler_state`;
CREATE TABLE `qrtz_scheduler_state` (
`SCHED_NAME` varchar(120) NOT NULL,
`INSTANCE_NAME` varchar(190) NOT NULL,
`LAST_CHECKIN_TIME` bigint(13) NOT NULL,
`CHECKIN_INTERVAL` bigint(13) NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_scheduler_state
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_simple_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_simple_triggers`;
CREATE TABLE `qrtz_simple_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(190) NOT NULL,
`TRIGGER_GROUP` varchar(190) NOT NULL,
`REPEAT_COUNT` bigint(7) NOT NULL,
`REPEAT_INTERVAL` bigint(12) NOT NULL,
`TIMES_TRIGGERED` bigint(10) NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_simple_triggers
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_simprop_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
CREATE TABLE `qrtz_simprop_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(190) NOT NULL,
`TRIGGER_GROUP` varchar(190) NOT NULL,
`STR_PROP_1` varchar(512) DEFAULT NULL,
`STR_PROP_2` varchar(512) DEFAULT NULL,
`STR_PROP_3` varchar(512) DEFAULT NULL,
`INT_PROP_1` int(11) DEFAULT NULL,
`INT_PROP_2` int(11) DEFAULT NULL,
`LONG_PROP_1` bigint(20) DEFAULT NULL,
`LONG_PROP_2` bigint(20) DEFAULT NULL,
`DEC_PROP_1` decimal(13,4) DEFAULT NULL,
`DEC_PROP_2` decimal(13,4) DEFAULT NULL,
`BOOL_PROP_1` varchar(1) DEFAULT NULL,
`BOOL_PROP_2` varchar(1) DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_simprop_triggers
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for qrtz_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_triggers`;
CREATE TABLE `qrtz_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(190) NOT NULL,
`TRIGGER_GROUP` varchar(190) NOT NULL,
`JOB_NAME` varchar(190) NOT NULL,
`JOB_GROUP` varchar(190) NOT NULL,
`DESCRIPTION` varchar(250) DEFAULT NULL,
`NEXT_FIRE_TIME` bigint(13) DEFAULT NULL,
`PREV_FIRE_TIME` bigint(13) DEFAULT NULL,
`PRIORITY` int(11) DEFAULT NULL,
`TRIGGER_STATE` varchar(16) NOT NULL,
`TRIGGER_TYPE` varchar(8) NOT NULL,
`START_TIME` bigint(13) NOT NULL,
`END_TIME` bigint(13) DEFAULT NULL,
`CALENDAR_NAME` varchar(190) DEFAULT NULL,
`MISFIRE_INSTR` smallint(2) DEFAULT NULL,
`JOB_DATA` blob,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`),
KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`),
KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`),
KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`),
KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`),
KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`),
KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`),
KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of qrtz_triggers
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for sys_open_domain
-- ----------------------------
DROP TABLE IF EXISTS `sys_open_domain`;
CREATE TABLE `sys_open_domain` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(20) NOT NULL COMMENT '名称',
`api_secret` varchar(100) NOT NULL COMMENT 'API秘钥',
`available` tinyint(1) NOT NULL COMMENT '状态',
`description` varchar(200) NOT NULL DEFAULT '' COMMENT '备注',
`tenant_id` int(11) DEFAULT NULL COMMENT '租户ID',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='开放域';
-- ----------------------------
-- Records of sys_open_domain
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for tenant
-- ----------------------------
DROP TABLE IF EXISTS `tenant`;
CREATE TABLE `tenant` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(200) NOT NULL COMMENT '名称',
`jdbc_url` varchar(400) NOT NULL COMMENT 'JDBC连接地址',
`jdbc_username` varchar(200) NOT NULL COMMENT 'JDBC用户名',
`jdbc_password` varchar(200) NOT NULL COMMENT 'JDBC密码',
`available` tinyint(1) NOT NULL COMMENT '状态',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1003 DEFAULT CHARSET=utf8mb4 COMMENT='租户';
-- ----------------------------
-- Records of tenant
-- ----------------------------
BEGIN;
INSERT INTO `tenant` (`id`, `name`, `jdbc_url`, `jdbc_username`, `jdbc_password`, `available`, `create_time`, `update_time`) VALUES (1000, '测试租户', 'jdbc:mysql://127.0.0.1:3306/xingyun', 'root', '123456', 1, '2022-12-31 22:59:21', '2023-03-13 22:14:07');
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,61 @@
DROP TABLE IF EXISTS `sys_module`;
CREATE TABLE `sys_module` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统模块' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_module
-- ----------------------------
INSERT INTO `sys_module` VALUES (1, '平台管理', '系统平台的核心模块。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (2, '系统管理', '维护企业、系统基础数据,包括部门、岗位、角色、系统菜单和参数等。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (3, '基础信息管理', '维护基础业务数据,包括仓库、客户、供应商、会员等。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (4, '商品中心', '管理商品核心数据。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (5, '采购业务', '管理供应商与企业的采购业务。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (6, '销售业务', '管理企业与TOB端大客户的销售业务。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (7, '零售业务', '管理企业与TOC端会员的零售业务。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (8, '库存管理及调拨', '查询商品库存和进行商品调拨。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (9, '库存盘点', '库存商品盘点。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (10, '库存调整', '商品库存数量和成本调整。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (11, '结算管理', '企业与供应商、客户进行结算。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (12, '开发管理', '系统快捷开发,如管理定时器、数据实体、数据对象、表单生成等。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (13, '便捷办公', '支持文件收纳和在线Excel。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (14, '开放平台', '系统开放平台管理。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module` VALUES (15, '物流发货', '管理企业物流业务。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
DROP TABLE IF EXISTS `sys_module_tenant`;
CREATE TABLE `sys_module_tenant` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
`module_id` int(11) NOT NULL COMMENT '模块ID',
`tenant_id` int(11) NOT NULL COMMENT '租户ID',
`expire_time` datetime NOT NULL COMMENT '过期时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `name`(`tenant_id`, `module_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户和系统模块关系表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_module_tenant
-- ----------------------------
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875135', 1, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875136', 2, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875137', 3, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875138', 4, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875139', 5, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875140', 6, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875141', 7, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875142', 8, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875143', 9, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875144', 10, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875145', 11, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875146', 12, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875147', 13, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875148', 14, 1000, '2099-01-01 00:00:00');
INSERT INTO `sys_module_tenant` VALUES ('1666286094246875149', 15, 1000, '2099-01-01 00:00:00');
@@ -0,0 +1,17 @@
DROP TABLE IF EXISTS `magic_api_file`;
CREATE TABLE `magic_api_file` (
`file_path` varchar(512) NOT NULL,
`file_content` mediumtext,
PRIMARY KEY (`file_path`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DROP TABLE IF EXISTS `magic_api_file_backup`;
CREATE TABLE `magic_api_file_backup` (
`id` varchar(32) NOT NULL COMMENT '原对象ID',
`create_date` bigint(13) NOT NULL COMMENT '备份时间',
`tag` varchar(32) DEFAULT NULL COMMENT '标签',
`type` varchar(32) DEFAULT NULL COMMENT '类型',
`name` varchar(64) DEFAULT NULL COMMENT '原名称',
`content` blob COMMENT '备份内容',
`create_by` varchar(64) DEFAULT NULL COMMENT '操作人',
PRIMARY KEY (`id`,`create_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
@@ -0,0 +1 @@
UPDATE `qrtz_job_details` SET `JOB_CLASS_NAME` = 'com.yueqian.xingyun.template.inner.config.OpLogTimerConfiguration$OpLogClearJob' WHERE `qrtz_job_details`.`SCHED_NAME` = 'quartzScheduler' AND `qrtz_job_details`.`JOB_NAME` = 'OP_LOG_TIMER' AND `qrtz_job_details`.`JOB_GROUP` = 'OP_LOG_TIMER_GROUP';
@@ -0,0 +1 @@
UPDATE `tenant` SET jdbc_password = '24590d72bfb4d71ccbc533570aa9627b' WHERE jdbc_password = '123456';
@@ -0,0 +1,2 @@
INSERT INTO `sys_module` (`id`, `name`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (16, '审批流程', '管理审批流程。', '系统管理员', '1', '2023-06-06 10:26:30', '系统管理员', '1', '2023-06-06 10:26:41');
INSERT INTO `sys_module_tenant` (`id`, `module_id`, `tenant_id`, `expire_time`) VALUES ('1748649349774184463', 16, 1000, '2099-01-01 00:00:00');
@@ -0,0 +1,2 @@
ALTER TABLE `tenant`
ADD COLUMN `server_name` varchar(200) NULL COMMENT '域名' AFTER `name`;
@@ -0,0 +1,7 @@
UPDATE `sys_module` SET `description` = '维护企业、系统基础数据,包括部门、岗位、角色和参数等。' WHERE `id` = 2;
ALTER TABLE `tenant`
ADD COLUMN `is_platform` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为平台管理租户' AFTER `jdbc_password`;
UPDATE `tenant` SET `is_platform` = 1 WHERE `id` = 1000;
ALTER TABLE `sys_module`
ADD COLUMN `is_platform` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为平台功能模块' AFTER `description`;
UPDATE `sys_module` SET `is_platform` = 1 WHERE `id` IN (1, 12, 14);
@@ -0,0 +1 @@
UPDATE sys_module t SET t.description = '商品库存调整。' WHERE t.id = 10;
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,56 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000013', '1000013', 'SysGenerateCode', '编号规则', NULL, 0, '/system/generate-code/index', NULL, '1000', '2', '/generate-code', 0, 1, 0, 'system:generate-code:manage', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2021-12-09 17:54:42');
-- ----------------------------
-- Table structure for sys_generate_code
-- ----------------------------
DROP TABLE IF EXISTS `sys_generate_code`;
CREATE TABLE `sys_generate_code` (
`id` int(11) NOT NULL COMMENT 'ID',
`name` varchar(20) NOT NULL COMMENT '名称',
`config_str` longtext NOT NULL COMMENT '配置信息(JSONArray',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of sys_generate_code
-- ----------------------------
BEGIN;
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (1, '用户编号', '[{\"type\":6,\"val\":\"R\"},{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"58aabb1d160430444158d82e4c86cb9c7f2a\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (200, '采购订单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"37366f903834c842d5e8144bd707bdb77e35\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (201, '采购收货单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"12099be638c90d466b2a4af5465ed632459f\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (202, '采购退单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"60fdc467f35db94c8569f6ed68d103ce5452\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (203, '销售订单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"d141ddad1cea5344ebe85ac6d3c6550a9d5b\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (204, '销售出库单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"2bec018f14b3d647b9e8641a408dcecf58bc\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (205, '销售退货单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"240604dc9024834d9d29abf86dd6bf7f3989\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (206, '零售出库单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"60ecbed8c835454552f8c177c69c155bdaf8\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (207, '零售退货单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"8307f839bd2e24426de87884fc034fe8d546\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (208, '预先盘点单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"5142a4fc6392764d35bb852e9dcfe544a482\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (209, '盘点任务号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"e0937a56dc47a6437c1840195ab26a454db6\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (210, '盘点单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"d5a2827d3b2f6844aae858e6cb62449a3283\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (212, '库存调整单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"10787084f2177b430709b260f42085ce14e9\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (213, '仓库调拨单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"3b0668d95c93234ca65a6afa6f5c333819ea\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (214, '物流单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"f693245a4a05ab4e7f19362e45e09da59d74\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (300, '供应商对账单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"89398b781627df40f6fbfdab81fc7ab83c05\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (301, '供应商费用单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"286289a735b3f24859a91db603b14e48df4e\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (302, '供应商付款单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"f7ed22483ab83a435218cd0af3b6102fa308\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (303, '供应商结算单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"741524aed5dbd1452acbe05bf63a35d8bbeb\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (304, '客户对账单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"d8bddcd37139d24bb12ae66b0f6732eecef9\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (305, '客户费用单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"37f9d9a53699d042088918afe08d7de15d82\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (306, '客户预付款单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"9a2cb171fd93464fb76928b35f77d0045b32\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (307, '客户结算单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"e63f16fc2acf984c3e9bef378e6ea4546204\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]');
COMMIT;
UPDATE `sys_menu` SET `code` = '2001001', `name` = 'ProductCategory', `title` = '商品分类', `icon` = NULL, `component_type` = 0, `component` = '/base-data/product/category/index', `request_param` = NULL, `parent_id` = '2001', `sys_module_id` = '4', `path` = '/category', `no_cache` = 0, `display` = 1, `hidden` = 0, `permission` = 'base-data:product:category:query', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 21:59:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 21:59:36' WHERE `id` = '2001001';
UPDATE `sys_menu` SET `code` = '2001001001', `name` = '', `title` = '新增分类', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '2001001', `sys_module_id` = '4', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'base-data:product:category:add', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-12 22:50:27', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-04 00:34:23' WHERE `id` = '2001001001';
UPDATE `sys_menu` SET `code` = '2001001002', `name` = '', `title` = '修改分类', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '2001001', `sys_module_id` = '4', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'base-data:product:category:modify', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-12 23:23:33', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-04 00:34:23' WHERE `id` = '2001001002';
UPDATE `sys_menu` SET `code` = '2001001003', `name` = '', `title` = '导入分类', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '2001001', `sys_module_id` = '4', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'base-data:product:category:import', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-12 23:23:33', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-04 00:34:23' WHERE `id` = '2001001003';
UPDATE `sys_menu` SET `title` = '库存调整' WHERE `id` = '3000005003';
UPDATE `sys_menu` SET `code` = '3000005002001', `name` = '', `title` = '新增库存调整原因', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '3000005002', `sys_module_id` = '10', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'stock:adjust:reason:add', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-12 22:50:27', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-04 00:34:23' WHERE `id` = '3000005002001';
UPDATE `sys_menu` SET `code` = '3000005002002', `name` = '', `title` = '修改库存调整原因', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '3000005002', `sys_module_id` = '10', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'stock:adjust:reason:modify', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-12 22:50:27', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-04 00:34:23' WHERE `id` = '3000005002002';
DELETE FROM `sys_menu` WHERE id IN ('3000005001', '3000005001001', '3000005001002', '3000005001003', '3000005001004', '3000005001005', '1000003', '1000003001', '1000003002');
DROP TABLE `tbl_stock_cost_adjust_sheet`;
DROP TABLE `tbl_stock_cost_adjust_sheet_detail`;
DROP TABLE sys_position;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,110 @@
CREATE TABLE `sys_mail_message` (
`id` varchar(20) NOT NULL COMMENT 'ID',
`title` varchar(100) NOT NULL COMMENT '标题',
`content` longtext NOT NULL COMMENT '内容',
`mail` varchar(100) NOT NULL COMMENT '邮箱',
`biz_key` varchar(20) NOT NULL COMMENT '业务键',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
`send_status` tinyint(3) NOT NULL DEFAULT '0' COMMENT '发送状态',
PRIMARY KEY (`id`),
KEY `mail` (`mail`),
KEY `biz_key` (`biz_key`),
KEY `create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='邮件消息';
CREATE TABLE `sys_notify_group` (
`id` varchar(20) NOT NULL COMMENT 'ID',
`name` varchar(20) NOT NULL COMMENT '名称',
`receiver_type` tinyint(3) NOT NULL COMMENT '接收者类型',
`message_type` longtext NOT NULL COMMENT '消息类型',
`description` varchar(200) DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
`available` tinyint(1) NOT NULL COMMENT '状态',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息通知组';
CREATE TABLE `sys_notify_group_receiver` (
`id` varchar(20) NOT NULL COMMENT 'ID',
`group_id` varchar(20) NOT NULL COMMENT '消息通知组ID',
`receiver_id` varchar(20) NOT NULL COMMENT '接收者ID',
PRIMARY KEY (`id`),
UNIQUE KEY `group_id` (`group_id`,`receiver_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息通知组-接收者关系表';
CREATE TABLE `sys_site_message` (
`id` varchar(20) NOT NULL COMMENT 'ID',
`title` varchar(100) NOT NULL COMMENT '标题',
`content` longtext NOT NULL COMMENT '内容',
`receiver_id` varchar(20) NOT NULL COMMENT '接收人ID',
`biz_key` varchar(20) NOT NULL COMMENT '业务键',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
`readed` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已读',
`read_time` datetime DEFAULT NULL COMMENT '已读时间',
PRIMARY KEY (`id`),
KEY `biz_key` (`biz_key`),
KEY `receiver_id` (`receiver_id`),
KEY `create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='站内信';
CREATE TABLE `tbl_product_stock_warning` (
`id` varchar(20) NOT NULL COMMENT 'ID',
`sc_id` varchar(20) NOT NULL COMMENT '仓库ID',
`product_id` varchar(20) NOT NULL COMMENT '商品ID',
`max_limit` int(11) NOT NULL DEFAULT '0' COMMENT '预警上限',
`min_limit` int(11) NOT NULL DEFAULT '0' COMMENT '预警下限',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
`available` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `sc_id` (`sc_id`,`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存预警';
CREATE TABLE `tbl_product_stock_warning_notify` (
`id` varchar(20) NOT NULL COMMENT 'ID',
`notify_group_id` varchar(20) NOT NULL COMMENT '通知组ID',
PRIMARY KEY (`id`),
UNIQUE KEY `notify_group_id` (`notify_group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存预警通知组';
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000014', '1000014', 'SysNotifyGroup', '消息通知组', NULL, 0, '/system/notify-group/index', NULL, '1000', '2', '/notify-group', 0, 1, 0, 'system:notify-group:query', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2021-12-09 17:54:42');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000014001', '1000014001', '', '新增消息通知组', NULL, 0, '', NULL, '1000014', '8', '', 0, 2, 0, 'system:notify-group:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000014002', '1000014002', '', '修改消息通知组', NULL, 0, '', NULL, '1000014', '8', '', 0, 2, 0, 'system:notify-group:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000007', '3000007', 'StockWarning', '库存预警', NULL, 0, '/sc/stock/warning/index', NULL, '3000', '8', '/warning', 0, 1, 0, 'stock:warning:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000007001', '3000007001', '', '新增库存预警', NULL, 0, '', NULL, '3000007', '8', '', 0, 2, 0, 'stock:warning:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000007002', '3000007002', '', '修改库存预警', NULL, 0, '', NULL, '3000007', '8', '', 0, 2, 0, 'stock:warning:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000007003', '3000007003', '', '删除库存预警', NULL, 0, '', NULL, '3000007', '8', '', 0, 2, 0, 'stock:warning:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000007004', '3000007004', '', '设置消息通知组', NULL, 0, '', NULL, '3000007', '8', '', 0, 2, 0, 'stock:warning:notify', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1002', '1002', 'MsgCenter', '消息中心', 'ant-design:message-outlined', NULL, '', NULL, NULL, '2', '/msg-center', 0, 0, 0, '', 1, 1, '', '系统管理员', '1', '2021-07-04 00:22:05', '系统管理员', '1', '2021-07-04 00:34:23');
UPDATE `sys_menu` SET `parent_id` = '1002' WHERE `id` = '1000009';
UPDATE `sys_menu` SET `code` = '1002001' WHERE `id` = '1000009';
UPDATE `sys_menu` SET `permission` = '' WHERE `id` = '1000009';
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1002002', '1002002', 'SysNotify', '站内信', NULL, 0, '/system/notify/index', NULL, '1002', '2', '/system/notify', 0, 1, 0, '', 0, 1, '', '系统管理员', '1', '2022-08-18 14:31:12', '系统管理员', '1', '2022-08-18 14:31:12');
UPDATE `sys_menu` SET `parent_id` = '1002' WHERE `id` = '1000008';
UPDATE `sys_menu` SET `title` = '我的系统通知' WHERE `id` = '1000009';
UPDATE `sys_menu` SET `title` = '我的站内信' WHERE `id` = '1002002';
UPDATE `sys_menu` SET `code` = '1002002', `name` = 'SiteMessage', `title` = '我的站内信', `icon` = NULL, `component_type` = 0, `component` = '/system/site-message/index', `request_param` = NULL, `parent_id` = '1002', `sys_module_id` = '2', `path` = '/system/site-message', `no_cache` = 0, `display` = 1, `hidden` = 0, `permission` = '', `is_special` = 0, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2022-08-18 14:31:12', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2022-08-18 14:31:12' WHERE `id` = '1002002';
UPDATE `sys_menu` SET `code` = '1002001', `name` = 'MySysNotice', `title` = '我的系统通知', `icon` = NULL, `component_type` = 0, `component` = '/system/notice/index', `request_param` = NULL, `parent_id` = '1002', `sys_module_id` = '2', `path` = '/system/notice/my', `no_cache` = 0, `display` = 1, `hidden` = 0, `permission` = '', `is_special` = 0, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2022-08-18 14:31:12', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2022-08-18 14:31:12' WHERE `id` = '1000009';
UPDATE `sys_menu` SET `code` = '1002002', `name` = 'MySiteMessage', `title` = '我的站内信', `icon` = NULL, `component_type` = 0, `component` = '/system/site-message/index', `request_param` = NULL, `parent_id` = '1002', `sys_module_id` = '2', `path` = '/system/site-message/my', `no_cache` = 0, `display` = 1, `hidden` = 0, `permission` = '', `is_special` = 0, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2022-08-18 14:31:12', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2022-08-18 14:31:12' WHERE `id` = '1002002';
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1002001', '1002001', 'SiteMessage', '站内信', NULL, 0, '/system/site-message/manage', NULL, '1002', '2', '/system/site-message/manage', 0, 1, 0, 'system:site-message:manage', 0, 1, '', '系统管理员', '1', '2022-08-18 14:31:12', '系统管理员', '1', '2022-08-18 14:31:12');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1002003', '1002003', 'MailMessage', '邮件消息', NULL, 0, '/system/mail-message/index', NULL, '1002', '2', '/system/mail-message', 0, 1, 0, 'system:mail-message:manage', 0, 1, '', '系统管理员', '1', '2022-08-18 14:31:12', '系统管理员', '1', '2022-08-18 14:31:12');
@@ -0,0 +1,47 @@
ALTER TABLE `sw_file_box`
CHANGE COLUMN `url` `record_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '上传记录ID' AFTER `name`;
UPDATE `sys_parameter` SET `pm_key` = 'upload.oss.config', `pm_value` = '{\"customUrl\":\"\",\"endpoint\":\"yourEndpoint\",\"internalEndPoint\":\"\",\"accessKeyId\":\"yourAccessKeyId\",\"accessKeySecret\":\"yourAccessKeySecret\",\"bucketName\":\"yourBacketName\"}', `description` = '阿里云对象存储配置信息,upload.type=OSS时生效,注意:当服务器与OSS同一地域时,建议填写internalEndPoint,此值表示内网endpoint,在上传时会优先使用内网endpoint。customUrl为自定义域名(需带协议)为空代表不使用自定义域名,示例值:https://www.lframework.com。其他参数均在阿里云控台获取。', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2023-06-27 10:38:05', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2025-04-10 20:48:54' WHERE `id` = 10;
UPDATE `sys_parameter` SET `pm_key` = 'upload.obs.config', `pm_value` = '{\"customUrl\":\"\",\"endpoint\":\"yourEndpoint\",\"ak\":\"yourAk\",\"sk\":\"yourSk\",\"bucketName\":\"yourBucketName\"}', `description` = '华为云对象存储配置信息,upload.type=OBS时生效。customUrl为自定义域名(目前华为云OBS不支持https协议的自定义域名)为空代表不使用自定义域名,示例值:http://www.lframework.com。其他参数均在华为云控台获取。', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2023-06-27 10:38:05', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2025-04-10 20:50:10' WHERE `id` = 11;
UPDATE `sys_parameter` SET `pm_key` = 'upload.cos.config', `pm_value` = '{\"customUrl\":\"\",\"endpoint\":\"yourEndpoint\",\"region\":\"yourRegion\",\"secretId\":\"yourSecretId\",\"secretKey\":\"yourSecretKey\",\"bucketName\":\"yourBucketName\"}', `description` = '腾讯云对象存储配置信息,upload.type=COS时生效。enpoint为下载文件时的域名,customUrl为自定义域名(需带协议)为空代表不使用自定义域名,示例值:https://www.lframework.com。其他参数均在腾讯云控台获取。', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2023-06-27 10:38:05', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2025-04-10 20:51:53' WHERE `id` = 12;
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (14, 'security-upload.type', 'LOCAL', '上传类型,分为LOCAL、OSS、COS、OBS。LOCAL:服务器本地存储。OSS:阿里云对象存储。COS:腾讯云对象存储。OBS:华为云对象存储', '系统管理员', '1', '2023-06-27 10:38:05', '系统管理员', '1', '2025-04-10 20:50:49');
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (15, 'security-upload.oss.config', '{\"customUrl\":\"\",\"endpoint\":\"yourEndpoint\",\"internalEndPoint\":\"\",\"accessKeyId\":\"yourAccessKeyId\",\"accessKeySecret\":\"yourAccessKeySecret\",\"bucketName\":\"yourBacketName\"}', '阿里云对象存储配置信息,security-upload.type=OSS时生效,注意:当服务器与OSS同一地域时,建议填写internalEndPoint,此值表示内网endpoint,在上传时会优先使用内网endpoint。customUrl为自定义域名(需带协议)为空代表不使用自定义域名,示例值:https://www.lframework.com。其他参数均在阿里云控台获取。', '系统管理员', '1', '2023-06-27 10:38:05', '系统管理员', '1', '2025-04-10 20:48:59');
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (16, 'security-upload.obs.config', '{\"customUrl\":\"\",\"endpoint\":\"yourEndpoint\",\"ak\":\"yourAk\",\"sk\":\"yourSk\",\"bucketName\":\"yourBucketName\"}', '华为云对象存储配置信息,security-upload.type=OBS时生效。customUrl为自定义域名(目前华为云OBS不支持https协议的自定义域名)为空代表不使用自定义域名,示例值:http://www.lframework.com。其他参数均在华为云控台获取。', '系统管理员', '1', '2023-06-27 10:38:05', '系统管理员', '1', '2025-04-10 20:50:40');
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (17, 'security-upload.cos.config', '{\"customUrl\":\"\",\"endpoint\":\"yourEndpoint\",\"region\":\"yourRegion\",\"secretId\":\"yourSecretId\",\"secretKey\":\"yourSecretKey\",\"bucketName\":\"yourBucketName\"}', '腾讯云对象存储配置信息,security-upload.type=COS时生效。enpoint为下载文件时的域名,customUrl为自定义域名(需带协议)为空代表不使用自定义域名,示例值:https://www.lframework.com。其他参数均在腾讯云控台获取。', '系统管理员', '1', '2023-06-27 10:38:05', '系统管理员', '1', '2025-04-10 20:52:09');
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (18, 'security-upload.sign-url-expired', '600', '预签名URL过期时间,单位:秒。', '系统管理员', '1', '2023-06-27 10:38:05', '系统管理员', '1', '2023-06-27 14:48:02');
CREATE TABLE `tbl_security_upload_record` (
`id` varchar(20) NOT NULL COMMENT 'ID',
`upload_type` varchar(20) NOT NULL COMMENT '上传方式',
`file_path` longtext NOT NULL COMMENT '文件路径',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='安全上传记录';
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (19, 'export.timeout', '600', '单个导出任务超时时间,单位:秒。', '系统管理员', '1', '2025-04-10 10:38:05', '系统管理员', '1', '2025-04-10 10:38:05');
CREATE TABLE `tbl_export_task` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`name` varchar(200) NOT NULL COMMENT '名称',
`record_id` varchar(32) DEFAULT NULL COMMENT '上传记录ID',
`status` tinyint(3) NOT NULL COMMENT '状态',
`error_msg` longtext COMMENT '错误信息',
`req_class_name` longtext NOT NULL COMMENT '请求类名',
`req_params` longtext COMMENT '请求类方法参数',
`req_params_sign` varchar(40) DEFAULT NULL COMMENT '请求类方法参数签名',
`total_count` bigint(20) NOT NULL DEFAULT '0' COMMENT '总数据条数',
`cur_count` bigint(20) NOT NULL DEFAULT '0' COMMENT '当前完成数据条数',
`file_size` varchar(200) DEFAULT NULL COMMENT '文件大小',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`finish_time` datetime DEFAULT NULL COMMENT '结束时间',
PRIMARY KEY (`id`),
KEY `status` (`status`),
KEY `create_time` (`create_time`),
KEY `finish_time` (`finish_time`),
KEY `req_params_sign` (`req_params_sign`),
KEY `create_by_id` (`create_by_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='导出任务';
@@ -0,0 +1,10 @@
UPDATE `sys_generate_code` SET `name` = '用户编号', `config_str` = '[{\"type\":6,\"val\":\"U\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"58aabb1d160430444158d82e4c86cb9c7f2a\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]' WHERE `id` = 1;
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (2, '部门编号', '[{\"type\":6,\"val\":\"D\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"6cba5a299099449fb385850b5f5c1ec4\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (3, '角色编号', '[{\"type\":6,\"val\":\"R\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"ccb59649d82547098b2626d35dd06064\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (4, '仓库编号', '[{\"type\":6,\"val\":\"CK\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"f3d4d218b3064f0d8bf7f12f5eb64fb9\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (5, '客户编号', '[{\"type\":6,\"val\":\"KH\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"0c9f51fcf94c442b9661280cf61c9ef7\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (6, '供应商编号', '[{\"type\":6,\"val\":\"GYS\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"12262adfb244488d80de51caa8edb66e\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (7, '会员编号', '[{\"type\":6,\"val\":\"HY\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"206d9d9abfdd49b4b0a4f2730b7b0288\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (8, '门店编号', '[{\"type\":6,\"val\":\"M\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"f3021011fee745c18eb6eba410c17527\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (9, '品牌编号', '[{\"type\":6,\"val\":\"B\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"331e5e9818194b3096ccbe941f6dedc6\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (10, '商品编号', '[{\"type\":6,\"val\":\"P\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"c9b6e74117f84fe68346201de3554b50\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
File diff suppressed because one or more lines are too long
@@ -0,0 +1,21 @@
ALTER TABLE `sys_role`
ADD COLUMN `category_id` varchar(32) NOT NULL COMMENT '分类ID' AFTER `id`;
ALTER TABLE `sys_role`
ADD INDEX `category_id`(`category_id`) USING BTREE;
UPDATE sys_role SET category_id = '1';
CREATE TABLE `sys_role_category` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`code` varchar(20) NOT NULL COMMENT '编号',
`name` varchar(20) NOT NULL COMMENT '名称',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `code` (`code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='角色分类';
INSERT INTO `sys_role_category` (`id`, `code`, `name`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1', '001', '默认', '系统管理员', '1', '2025-05-12 00:00:00', '系统管理员', '1', '2025-05-12 00:00:00');
@@ -0,0 +1,30 @@
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000015', '1000015', 'UserGroup', '用户分组', NULL, 0, '/system/user-group/index', NULL, '1000', '2', '/user-group', 0, 1, 0, 'system:user-group:query', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2025-01-19 18:36:11');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000015001', '1000015001', '', '新增用户分组', NULL, 0, '', NULL, '1000015', '8', '', 0, 2, 0, 'system:user-group:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2025-01-19 18:36:11');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000015002', '1000015002', '', '修改用户分组', NULL, 0, '', NULL, '1000015', '8', '', 0, 2, 0, 'system:user-group:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2025-01-19 18:36:11');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (99, '通用编号', '[{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"9dfa3174afa0464794e98e19ad7bb121ef24\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (11, '用户分组编号', '[{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"4bf9dafec322744f1f08bdf2d2569076a4d7\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]');
CREATE TABLE `sys_user_group` (
`id` varchar(20) NOT NULL COMMENT 'ID',
`code` varchar(20) NOT NULL COMMENT '编号',
`name` varchar(20) NOT NULL COMMENT '名称',
`description` varchar(200) DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
`available` tinyint(1) NOT NULL COMMENT '状态',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户组';
CREATE TABLE `sys_user_group_detail` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`user_id` varchar(32) NOT NULL COMMENT '用户ID',
`group_id` varchar(32) NOT NULL COMMENT '用户组ID',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `user_id, group_id` (`user_id`,`group_id`) USING BTREE,
KEY `group_id` (`group_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='用户与用户组关系表';
@@ -0,0 +1,251 @@
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1003', '1003', 'BpmManage', '流程中心', 'ant-design:project-outlined', NULL, '', NULL, NULL, '16', '/bpm', 0, 0, 0, '', 1, 1, '', '系统管理员', '1', '2021-07-04 00:22:05', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1003001', '1003001', 'DesignFlowDefinition', '流程设计', NULL, 0, '/bpm/flow/definition/index', NULL, '1003', '16', '/flow-definition', 0, 1, 0, '', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2021-12-09 17:54:42');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1003002', '1003002', 'MyFlow', '我的发起', NULL, 0, '/bpm/flow/task/my/index', NULL, '1003', '16', '/flow-my', 0, 1, 0, '', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2021-12-09 17:54:42');
CREATE TABLE `flow_definition`
(
`id` bigint NOT NULL COMMENT '主键id',
`flow_code` varchar(40) NOT NULL COMMENT '流程编码',
`flow_name` varchar(100) NOT NULL COMMENT '流程名称',
`category` varchar(100) DEFAULT NULL COMMENT '流程类别',
`version` varchar(20) NOT NULL COMMENT '流程版本',
`is_publish` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否发布(0未发布 1已发布 9失效)',
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
`activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
`listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型',
`listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径',
`ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='流程定义表';
CREATE TABLE `flow_node`
(
`id` bigint NOT NULL COMMENT '主键id',
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`definition_id` bigint NOT NULL COMMENT '流程定义id',
`node_code` varchar(100) NOT NULL COMMENT '流程节点编码',
`node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称',
`permission_flag` varchar(200) DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,用@@隔开)',
`node_ratio` decimal(6, 3) DEFAULT NULL COMMENT '流程签署比例值',
`coordinate` varchar(100) DEFAULT NULL COMMENT '坐标',
`any_node_skip` varchar(100) DEFAULT NULL COMMENT '任意结点跳转',
`listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型',
`listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径',
`handler_type` varchar(100) DEFAULT NULL COMMENT '处理器类型',
`handler_path` varchar(400) DEFAULT NULL COMMENT '处理器路径',
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
`version` varchar(20) NOT NULL COMMENT '版本',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`ext` text COMMENT '扩展属性',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='流程节点表';
CREATE TABLE `flow_skip`
(
`id` bigint NOT NULL COMMENT '主键id',
`definition_id` bigint NOT NULL COMMENT '流程定义id',
`now_node_code` varchar(100) NOT NULL COMMENT '当前流程节点的编码',
`now_node_type` tinyint(1) DEFAULT NULL COMMENT '当前节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`next_node_code` varchar(100) NOT NULL COMMENT '下一个流程节点的编码',
`next_node_type` tinyint(1) DEFAULT NULL COMMENT '下一个节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`skip_name` varchar(100) DEFAULT NULL COMMENT '跳转名称',
`skip_type` varchar(40) DEFAULT NULL COMMENT '跳转类型(PASS审批通过 REJECT退回)',
`skip_condition` varchar(200) DEFAULT NULL COMMENT '跳转条件',
`coordinate` varchar(100) DEFAULT NULL COMMENT '坐标',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='节点跳转关联表';
CREATE TABLE `flow_instance`
(
`id` bigint NOT NULL COMMENT '主键id',
`definition_id` bigint NOT NULL COMMENT '对应flow_definition表的id',
`business_id` varchar(40) NOT NULL COMMENT '业务id',
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`node_code` varchar(40) NOT NULL COMMENT '流程节点编码',
`node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称',
`variable` text COMMENT '任务变量',
`flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
`activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
`def_json` text COMMENT '流程定义json',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`ext` varchar(500) DEFAULT NULL COMMENT '扩展字段,预留给业务系统使用',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='流程实例表';
CREATE TABLE `flow_task`
(
`id` bigint NOT NULL COMMENT '主键id',
`definition_id` bigint NOT NULL COMMENT '对应flow_definition表的id',
`instance_id` bigint NOT NULL COMMENT '对应flow_instance表的id',
`node_code` varchar(100) NOT NULL COMMENT '节点编码',
`node_name` varchar(100) DEFAULT NULL COMMENT '节点名称',
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='待办任务表';
CREATE TABLE `flow_his_task`
(
`id` bigint(20) NOT NULL COMMENT '主键id',
`definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id',
`instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id',
`task_id` bigint(20) NOT NULL COMMENT '对应flow_task表的id',
`node_code` varchar(100) DEFAULT NULL COMMENT '开始节点编码',
`node_name` varchar(100) DEFAULT NULL COMMENT '开始节点名称',
`node_type` tinyint(1) DEFAULT NULL COMMENT '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`target_node_code` varchar(200) DEFAULT NULL COMMENT '目标节点编码',
`target_node_name` varchar(200) DEFAULT NULL COMMENT '结束节点名称',
`approver` varchar(40) DEFAULT NULL COMMENT '审批者',
`cooperate_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)',
`collaborator` varchar(40) DEFAULT NULL COMMENT '协作人',
`skip_type` varchar(10) NOT NULL COMMENT '流转类型(PASS通过 REJECT退回 NONE无动作)',
`flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
`message` varchar(500) DEFAULT NULL COMMENT '审批意见',
`variable` TEXT DEFAULT NULL COMMENT '任务变量',
`ext` TEXT DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
`create_time` datetime DEFAULT NULL COMMENT '任务开始时间',
`update_time` datetime DEFAULT NULL COMMENT '审批完成时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='历史任务记录表';
CREATE TABLE `flow_user`
(
`id` bigint NOT NULL COMMENT '主键id',
`type` char(1) NOT NULL COMMENT '人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3待办任务的委托人权限)',
`processed_by` varchar(80) DEFAULT NULL COMMENT '权限人',
`associated` bigint NOT NULL COMMENT '任务表id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`create_by` varchar(80) DEFAULT NULL COMMENT '创建人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE,
KEY `user_processed_type` (`processed_by`, `type`),
KEY `user_associated` (`associated`) USING BTREE
) ENGINE = InnoDB COMMENT ='流程用户表';
ALTER TABLE `tbl_purchase_config`
ADD COLUMN `purchase_require_bpm` tinyint(1) NOT NULL DEFAULT 0 COMMENT '采购订单是否开启审批流程' AFTER `id`,
ADD COLUMN `purchase_bpm_process_id` bigint(20) NULL COMMENT '采购订单关联的审批流程ID' AFTER `purchase_require_bpm`,
ADD COLUMN `purchase_bpm_process_code` varchar(200) NULL COMMENT '采购订单关联的审批流程编号' AFTER `purchase_bpm_process_id`;
CREATE TABLE `tbl_purchase_order_form` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`code` varchar(32) NOT NULL COMMENT '单号',
`sc_id` varchar(32) NOT NULL COMMENT '仓库ID',
`supplier_id` varchar(32) NOT NULL COMMENT '供应商ID',
`purchaser_id` varchar(32) DEFAULT NULL COMMENT '采购员ID',
`expect_arrive_date` date DEFAULT NULL COMMENT '预计到货日期',
`total_num` int(11) NOT NULL DEFAULT '0' COMMENT '采购数量',
`total_gift_num` int(11) NOT NULL DEFAULT '0' COMMENT '赠品数量',
`total_amount` decimal(24,2) NOT NULL DEFAULT '0.00' COMMENT '采购金额',
`description` varchar(200) DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
`approve_by` varchar(32) DEFAULT NULL COMMENT '审核人',
`approve_time` datetime DEFAULT NULL COMMENT '审核时间',
`status` tinyint(3) NOT NULL COMMENT '状态',
`refuse_reason` varchar(200) DEFAULT NULL COMMENT '拒绝原因',
`flow_instance_id` bigint(20) DEFAULT NULL COMMENT '关联的审批流程ID',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `code` (`code`) USING BTREE,
KEY `sc_id` (`sc_id`) USING BTREE,
KEY `supplier_id` (`supplier_id`) USING BTREE,
KEY `create_time` (`create_time`) USING BTREE,
KEY `flow_instance_id` (`flow_instance_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='采购订单';
CREATE TABLE `tbl_purchase_order_detail_form` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`order_id` varchar(32) NOT NULL COMMENT '订单ID',
`product_id` varchar(32) NOT NULL COMMENT '商品ID',
`order_num` int(11) NOT NULL COMMENT '采购数量',
`tax_price` decimal(16,2) NOT NULL COMMENT '采购价',
`is_gift` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否赠品',
`tax_rate` decimal(16,2) NOT NULL COMMENT '税率(%',
`description` varchar(200) DEFAULT NULL COMMENT '备注',
`order_no` int(11) NOT NULL COMMENT '排序编号',
`receive_num` int(11) NOT NULL DEFAULT '0' COMMENT '已收货数量',
PRIMARY KEY (`id`) USING BTREE,
KEY `order_id` (`order_id`) USING BTREE,
KEY `product_id` (`product_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='采购订单明细';
CREATE TABLE `flow_cu_instance` (
`id` bigint(20) NOT NULL COMMENT 'ID',
`title` varchar(200) NOT NULL COMMENT '标题',
`biz_type` varchar(100) NULL COMMENT '业务类型',
`biz_flag` varchar(100) NULL COMMENT '业务标识',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程实例扩展表';
ALTER TABLE `tbl_purchase_order`
ADD COLUMN `flow_instance_id` bigint(20) NULL COMMENT '关联的审批流程ID' AFTER `refuse_reason`,
ADD INDEX `flow_instance_id`(`flow_instance_id`) USING BTREE;
ALTER TABLE `flow_definition`
MODIFY COLUMN `is_publish` tinyint(3) NOT NULL DEFAULT 0 COMMENT '是否发布(0未发布 1已发布 9失效)' AFTER `version`,
MODIFY COLUMN `activity_status` tinyint(3) NOT NULL DEFAULT 1 COMMENT '流程激活状态(0挂起 1激活)' AFTER `form_path`;
CREATE TABLE `flow_cu_approve_his` (
`id` bigint(20) NOT NULL COMMENT 'ID',
`definition_id` bigint(20) NOT NULL COMMENT '流程定义ID',
`instance_id` bigint(20) NOT NULL COMMENT '流程实例ID',
`node_code` varchar(100) NOT NULL COMMENT '节点编码',
`node_name` varchar(100) NOT NULL COMMENT '节点名称',
`task_id` bigint(20) DEFAULT NULL COMMENT '流程任务ID',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`message` varchar(500) DEFAULT NULL COMMENT '说明',
`skip_type` tinyint(3) NOT NULL COMMENT '审核类型',
PRIMARY KEY (`id`),
KEY `definition_id` (`definition_id`),
KEY `instance_id` (`instance_id`),
KEY `task_id` (`task_id`),
KEY `node_code` (`node_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程审核历史';
CREATE TABLE `flow_cu_category` (
`id` varchar(32) COLLATE utf8_bin NOT NULL COMMENT 'ID',
`name` varchar(100) COLLATE utf8_bin NOT NULL COMMENT '名称',
`parent_id` varchar(32) COLLATE utf8_bin DEFAULT NULL COMMENT '父级ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPACT COMMENT='流程分类';
ALTER TABLE `flow_cu_instance`
ADD COLUMN `start_time` datetime NOT NULL COMMENT '发起时间' AFTER `biz_flag`,
ADD COLUMN `end_time` datetime NULL COMMENT '结束时间' AFTER `start_time`;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1003003', '1003003', 'FlowTodo', '待办任务', NULL, 0, '/bpm/flow/task/todo/index', NULL, '1003', '16', '/flow-todo', 0, 1, 0, '', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2021-12-09 17:54:42');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1003004', '1003004', 'FlowInstanceManage', '流程实例管理', NULL, 0, '/bpm/flow/instance/manage/index', NULL, '1003', '16', '/flow-instance-manage', 0, 1, 0, '', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2021-12-09 17:54:42');
@@ -0,0 +1,2 @@
ALTER TABLE `sys_generate_code` COMMENT = '编号规则';
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000007005', '3000007005', '', '导入库存预警', NULL, 0, '', NULL, '3000007', '8', '', 0, 2, 0, 'stock:warning:import', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
@@ -0,0 +1,729 @@
ALTER TABLE `tbl_purchase_order_detail`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `order_num`,
MODIFY COLUMN `receive_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '已收货数量' AFTER `order_no`,
ADD COLUMN `tax_amount` decimal(24, 2) NOT NULL DEFAULT 0 COMMENT '含税总金额' AFTER `receive_num`;
ALTER TABLE `tbl_purchase_order_detail_form`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `order_num`,
MODIFY COLUMN `receive_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '已收货数量' AFTER `order_no`,
ADD COLUMN `tax_amount` decimal(24, 2) NOT NULL DEFAULT 0 COMMENT '含税总金额' AFTER `receive_num`;
ALTER TABLE `tbl_purchase_order`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `expect_arrive_date`,
MODIFY COLUMN `total_gift_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `total_num`;
ALTER TABLE `tbl_purchase_order_form`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `expect_arrive_date`,
MODIFY COLUMN `total_gift_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `total_num`;
ALTER TABLE `tbl_receive_sheet`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `purchase_order_id`,
MODIFY COLUMN `total_gift_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_receive_sheet_detail`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `order_num`,
MODIFY COLUMN `return_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `order_no`,
ADD COLUMN `tax_amount` decimal(24, 2) NOT NULL DEFAULT 0 COMMENT '采购总金额' AFTER `purchase_order_detail_id`;
ALTER TABLE `tbl_product_stock`
MODIFY COLUMN `stock_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '库存数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL DEFAULT 0 COMMENT '含税价格' AFTER `stock_num`;
ALTER TABLE `tbl_product_stock_log`
MODIFY COLUMN `ori_stock_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '变动前库存数量' AFTER `cur_tax_price`,
MODIFY COLUMN `cur_stock_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '变动后库存数量' AFTER `ori_stock_num`,
MODIFY COLUMN `stock_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '变动库存数量' AFTER `cur_stock_num`;
ALTER TABLE `base_data_product_purchase`
MODIFY COLUMN `price` decimal(16, 6) NOT NULL COMMENT '采购价' AFTER `id`;
ALTER TABLE `base_data_product_sale`
MODIFY COLUMN `price` decimal(16, 6) NOT NULL COMMENT '销售价' AFTER `id`;
ALTER TABLE `base_data_product_retail`
MODIFY COLUMN `price` decimal(16, 6) NOT NULL COMMENT '零售价' AFTER `id`;
ALTER TABLE `base_data_product_bundle`
MODIFY COLUMN `sale_price` decimal(16, 6) NOT NULL COMMENT '销售价' AFTER `bundle_num`,
MODIFY COLUMN `retail_price` decimal(16, 6) NOT NULL COMMENT '零售价' AFTER `sale_price`;
ALTER TABLE `tbl_purchase_return`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `receive_sheet_id`,
MODIFY COLUMN `total_gift_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_purchase_return_detail`
MODIFY COLUMN `return_num` decimal(16, 8) NOT NULL COMMENT '退货数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL COMMENT '采购价' AFTER `return_num`;
ALTER TABLE `tbl_purchase_return_detail`
ADD COLUMN `tax_amount` decimal(24, 2) NOT NULL DEFAULT 0 COMMENT '退货总金额' AFTER `receive_sheet_detail_id`;
ALTER TABLE `tbl_sc_transfer_order`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '调拨数量' AFTER `target_sc_id`;
ALTER TABLE `tbl_sc_transfer_order_detail`
MODIFY COLUMN `transfer_num` decimal(16, 8) NOT NULL COMMENT '调拨数量' AFTER `product_id`,
MODIFY COLUMN `receive_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '已收货数量' AFTER `order_no`;
ALTER TABLE `tbl_sc_transfer_order_detail_receive`
MODIFY COLUMN `receive_num` decimal(16, 8) NOT NULL COMMENT '收货数量' AFTER `detail_id`;
ALTER TABLE `tbl_sc_transfer_order_detail`
MODIFY COLUMN `tax_price` decimal(16, 6) NULL DEFAULT NULL COMMENT '成本价' AFTER `transfer_num`;
ALTER TABLE `tbl_sc_transfer_order_detail`
ADD COLUMN `transfer_amount` decimal(24, 2) NOT NULL DEFAULT 0 COMMENT '调拨金额' AFTER `transfer_num`,
ADD COLUMN `receive_amount` decimal(24, 2) NOT NULL DEFAULT 0 COMMENT '已收货金额' AFTER `receive_num`;
ALTER TABLE `tbl_sc_transfer_order_detail`
MODIFY COLUMN `tax_price` decimal(16, 6) NULL COMMENT '成本价' AFTER `transfer_amount`;
ALTER TABLE `tbl_sc_transfer_order_detail_receive`
ADD COLUMN `receive_amount` decimal(24, 2) NOT NULL DEFAULT 0 COMMENT '收货金额' AFTER `receive_num`;
update tbl_sc_transfer_order_detail_receive r
join tbl_sc_transfer_order_detail d on d.id = r.detail_id
set r.receive_amount = r.receive_num * d.transfer_amount / d.transfer_num
where d.tax_price is not null;
ALTER TABLE `tbl_product_stock_warning`
MODIFY COLUMN `max_limit` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '预警上限' AFTER `product_id`,
MODIFY COLUMN `min_limit` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '预警下限' AFTER `max_limit`;
ALTER TABLE `tbl_stock_adjust_sheet_detail`
MODIFY COLUMN `stock_num` decimal(16, 8) NOT NULL COMMENT '调整库存数量' AFTER `product_id`;
ALTER TABLE `tbl_sale_order`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '销售数量' AFTER `saler_id`,
MODIFY COLUMN `total_gift_num` decimal(24) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_sale_order_detail`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL COMMENT '销售数量' AFTER `product_id`,
MODIFY COLUMN `out_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '已出库数量' AFTER `order_no`;
ALTER TABLE `tbl_sale_order_detail_bundle`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '组合商品数量' AFTER `main_product_id`,
MODIFY COLUMN `product_order_num` decimal(16, 8) NOT NULL COMMENT '单品数量' AFTER `product_id`;
ALTER TABLE `tbl_sale_order_detail_bundle`
MODIFY COLUMN `product_ori_price` decimal(16, 6) NOT NULL COMMENT '单品原价' AFTER `product_order_num`,
MODIFY COLUMN `product_tax_price` decimal(16, 6) NOT NULL COMMENT '单品含税价格' AFTER `product_ori_price`;
ALTER TABLE `tbl_sale_order_detail`
MODIFY COLUMN `ori_price` decimal(16, 6) NOT NULL COMMENT '原价' AFTER `order_num`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL COMMENT '现价' AFTER `ori_price`;
ALTER TABLE `tbl_sale_out_sheet`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `sale_order_id`,
MODIFY COLUMN `total_gift_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_sale_out_sheet_detail`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL COMMENT '出库数量' AFTER `product_id`,
MODIFY COLUMN `ori_price` decimal(16, 6) NOT NULL COMMENT '原价' AFTER `order_num`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL COMMENT '现价' AFTER `ori_price`,
MODIFY COLUMN `return_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `ori_bundle_detail_id`;
ALTER TABLE `tbl_sale_out_sheet_detail_bundle`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '组合商品数量' AFTER `main_product_id`,
MODIFY COLUMN `product_order_num` decimal(16, 8) NOT NULL COMMENT '单品数量' AFTER `product_id`,
MODIFY COLUMN `product_ori_price` decimal(16, 6) NOT NULL COMMENT '单品原价' AFTER `product_order_num`,
MODIFY COLUMN `product_tax_price` decimal(16, 6) NOT NULL COMMENT '单品含税价格' AFTER `product_ori_price`;
ALTER TABLE `tbl_sale_out_sheet_detail_lot`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL COMMENT '出库数量' AFTER `detail_id`,
MODIFY COLUMN `return_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `order_num`;
ALTER TABLE `tbl_sale_return`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `out_sheet_id`,
MODIFY COLUMN `total_gift_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_sale_return_detail`
MODIFY COLUMN `return_num` decimal(16, 8) NOT NULL COMMENT '退货数量' AFTER `product_id`,
MODIFY COLUMN `ori_price` decimal(16, 6) NOT NULL COMMENT '原价' AFTER `return_num`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL COMMENT '现价' AFTER `ori_price`;
ALTER TABLE `tbl_retail_out_sheet`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `payment_date`,
MODIFY COLUMN `total_gift_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_retail_out_sheet_detail`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL COMMENT '出库数量' AFTER `product_id`,
MODIFY COLUMN `return_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `settle_status`;
ALTER TABLE `tbl_retail_out_sheet_detail`
MODIFY COLUMN `ori_price` decimal(16, 6) NOT NULL COMMENT '原价' AFTER `order_num`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL COMMENT '现价' AFTER `ori_price`;
ALTER TABLE `tbl_retail_out_sheet_detail_bundle`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '组合商品数量' AFTER `main_product_id`,
MODIFY COLUMN `product_ori_price` decimal(16, 6) NOT NULL COMMENT '单品原价' AFTER `product_order_num`,
MODIFY COLUMN `product_tax_price` decimal(16, 6) NOT NULL COMMENT '单品含税价格' AFTER `product_ori_price`;
ALTER TABLE `tbl_retail_out_sheet_detail_lot`
MODIFY COLUMN `order_num` decimal(16, 8) NOT NULL COMMENT '出库数量' AFTER `detail_id`,
MODIFY COLUMN `return_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `order_num`;
ALTER TABLE `tbl_retail_return`
MODIFY COLUMN `total_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `out_sheet_id`,
MODIFY COLUMN `total_gift_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_retail_return_detail`
MODIFY COLUMN `return_num` decimal(16, 8) NOT NULL COMMENT '退货数量' AFTER `product_id`,
MODIFY COLUMN `ori_price` decimal(16, 6) NOT NULL COMMENT '原价' AFTER `return_num`,
MODIFY COLUMN `tax_price` decimal(16, 6) NOT NULL COMMENT '现价' AFTER `ori_price`;
ALTER TABLE `tbl_pre_take_stock_sheet_detail`
MODIFY COLUMN `first_num` decimal(16, 8) NULL DEFAULT NULL COMMENT '初盘数量' AFTER `product_id`,
MODIFY COLUMN `second_num` decimal(16, 8) NULL DEFAULT NULL COMMENT '复盘数量' AFTER `first_num`,
MODIFY COLUMN `rand_num` decimal(16, 8) NULL DEFAULT NULL COMMENT '抽盘数量' AFTER `second_num`;
ALTER TABLE `tbl_take_stock_plan_detail`
MODIFY COLUMN `stock_num` decimal(16, 8) NOT NULL COMMENT '初始库存数量' AFTER `product_id`,
MODIFY COLUMN `ori_take_num` decimal(16, 8) NULL DEFAULT NULL COMMENT '盘点数量' AFTER `stock_num`,
MODIFY COLUMN `take_num` decimal(16, 8) NULL DEFAULT NULL COMMENT '修改后的盘点数量' AFTER `ori_take_num`,
MODIFY COLUMN `total_out_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '出项数量' AFTER `take_num`,
MODIFY COLUMN `total_in_num` decimal(16, 8) NOT NULL DEFAULT 0 COMMENT '入项数量' AFTER `total_out_num`;
ALTER TABLE `tbl_take_stock_sheet_detail`
MODIFY COLUMN `take_num` decimal(16, 8) NOT NULL COMMENT '盘点数量' AFTER `product_id`;
ALTER TABLE `base_data_product_bundle`
ADD COLUMN `purchase_price` decimal(16, 6) NOT NULL COMMENT '采购价' AFTER `bundle_num`;
CREATE TABLE `tbl_purchase_order_detail_bundle` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`order_id` varchar(32) NOT NULL COMMENT '采购单ID',
`detail_id` varchar(32) NOT NULL COMMENT '明细ID',
`main_product_id` varchar(32) NOT NULL COMMENT '组合商品ID',
`order_num` decimal(16,8) NOT NULL DEFAULT '0.00000000' COMMENT '组合商品数量',
`product_id` varchar(32) NOT NULL COMMENT '单品ID',
`product_order_num` decimal(16,8) NOT NULL COMMENT '单品数量',
`product_ori_price` decimal(16,6) NOT NULL COMMENT '单品原价',
`product_tax_price` decimal(16,6) NOT NULL COMMENT '单品含税价格',
`product_tax_rate` varchar(16) NOT NULL COMMENT '单品税率',
`product_detail_id` varchar(32) DEFAULT NULL COMMENT '单品明细ID',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `order_id` (`order_id`,`product_detail_id`) USING BTREE,
KEY `detail_id` (`detail_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='采购单组合商品明细';
CREATE TABLE `tbl_purchase_order_detail_bundle_form` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`order_id` varchar(32) NOT NULL COMMENT '采购单ID',
`detail_id` varchar(32) NOT NULL COMMENT '明细ID',
`main_product_id` varchar(32) NOT NULL COMMENT '组合商品ID',
`order_num` decimal(16,8) NOT NULL DEFAULT '0.00000000' COMMENT '组合商品数量',
`product_id` varchar(32) NOT NULL COMMENT '单品ID',
`product_order_num` decimal(16,8) NOT NULL COMMENT '单品数量',
`product_ori_price` decimal(16,6) NOT NULL COMMENT '单品原价',
`product_tax_price` decimal(16,6) NOT NULL COMMENT '单品含税价格',
`product_tax_rate` varchar(16) NOT NULL COMMENT '单品税率',
`product_detail_id` varchar(32) DEFAULT NULL COMMENT '单品明细ID',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `order_id` (`order_id`,`product_detail_id`) USING BTREE,
KEY `detail_id` (`detail_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='采购单组合商品明细';
CREATE TABLE `tbl_receive_sheet_detail_bundle` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`sheet_id` varchar(32) NOT NULL COMMENT '收货单ID',
`detail_id` varchar(32) NOT NULL COMMENT '明细ID',
`main_product_id` varchar(32) NOT NULL COMMENT '组合商品ID',
`order_num` decimal(16,8) NOT NULL DEFAULT '0.00000000' COMMENT '组合商品数量',
`product_id` varchar(32) NOT NULL COMMENT '单品ID',
`product_order_num` decimal(16,8) NOT NULL COMMENT '单品数量',
`product_ori_price` decimal(16,6) NOT NULL COMMENT '单品原价',
`product_tax_price` decimal(16,6) NOT NULL COMMENT '单品含税价格',
`product_tax_rate` varchar(16) NOT NULL COMMENT '单品税率',
`product_detail_id` varchar(32) DEFAULT NULL COMMENT '单品明细ID',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `sheet_id` (`sheet_id`,`product_detail_id`) USING BTREE,
KEY `detail_id` (`detail_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='采购收货单组合商品明细';
ALTER TABLE `tbl_sale_order_detail`
ADD COLUMN `tax_amount` decimal(24, 2) NOT NULL COMMENT '总金额' AFTER `ori_bundle_detail_id`;
ALTER TABLE `tbl_sale_out_sheet_detail`
ADD COLUMN `tax_amount` decimal(24, 2) NOT NULL COMMENT '总金额' AFTER `return_num`;
ALTER TABLE `tbl_sale_return_detail`
ADD COLUMN `tax_amount` decimal(24, 2) NOT NULL COMMENT '总金额' AFTER `out_sheet_detail_id`;
ALTER TABLE `tbl_retail_out_sheet_detail`
ADD COLUMN `tax_amount` decimal(24, 2) NOT NULL COMMENT '总金额' AFTER `ori_bundle_detail_id`;
ALTER TABLE `tbl_retail_return_detail`
ADD COLUMN `tax_amount` decimal(24, 2) NOT NULL COMMENT '总金额' AFTER `out_sheet_detail_id`;
ALTER TABLE `tbl_purchase_order_detail_bundle`
ADD COLUMN `product_tax_amount` decimal(24, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_purchase_order_detail_bundle_form`
ADD COLUMN `product_tax_amount` decimal(24, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_receive_sheet_detail_bundle`
ADD COLUMN `product_tax_amount` decimal(24, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_retail_out_sheet_detail_bundle`
ADD COLUMN `product_tax_amount` decimal(24, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_sale_order_detail_bundle`
ADD COLUMN `product_tax_amount` decimal(24, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_sale_out_sheet_detail_bundle`
ADD COLUMN `product_tax_amount` decimal(24, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_purchase_order_detail`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `order_num`,
MODIFY COLUMN `receive_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '已收货数量' AFTER `order_no`;
ALTER TABLE `tbl_purchase_order_detail_form`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `order_num`,
MODIFY COLUMN `receive_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '已收货数量' AFTER `order_no`;
ALTER TABLE `tbl_purchase_order`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `expect_arrive_date`,
MODIFY COLUMN `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `total_num`;
ALTER TABLE `tbl_purchase_order_form`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `expect_arrive_date`,
MODIFY COLUMN `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `total_num`;
ALTER TABLE `tbl_receive_sheet`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `purchase_order_id`,
MODIFY COLUMN `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_receive_sheet_detail`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '采购数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL DEFAULT 0 COMMENT '采购价' AFTER `order_num`,
MODIFY COLUMN `return_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `order_no`,
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL DEFAULT 0 COMMENT '采购总金额' AFTER `purchase_order_detail_id`;
ALTER TABLE `tbl_product_stock`
MODIFY COLUMN `stock_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '库存数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL DEFAULT 0 COMMENT '含税价格' AFTER `stock_num`;
ALTER TABLE `tbl_product_stock`
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL COMMENT '含税金额' AFTER `tax_price`;
ALTER TABLE `tbl_product_stock_log`
MODIFY COLUMN `ori_stock_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '变动前库存数量' AFTER `cur_tax_price`,
MODIFY COLUMN `cur_stock_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '变动后库存数量' AFTER `ori_stock_num`,
MODIFY COLUMN `stock_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '变动库存数量' AFTER `cur_stock_num`;
ALTER TABLE `base_data_product_purchase`
MODIFY COLUMN `price` decimal(24, 6) NOT NULL COMMENT '采购价' AFTER `id`;
ALTER TABLE `base_data_product_sale`
MODIFY COLUMN `price` decimal(24, 6) NOT NULL COMMENT '销售价' AFTER `id`;
ALTER TABLE `base_data_product_retail`
MODIFY COLUMN `price` decimal(24, 6) NOT NULL COMMENT '零售价' AFTER `id`;
ALTER TABLE `base_data_product_bundle`
MODIFY COLUMN `sale_price` decimal(24, 6) NOT NULL COMMENT '销售价' AFTER `bundle_num`,
MODIFY COLUMN `retail_price` decimal(24, 6) NOT NULL COMMENT '零售价' AFTER `sale_price`;
ALTER TABLE `tbl_purchase_return`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `receive_sheet_id`,
MODIFY COLUMN `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_purchase_return_detail`
MODIFY COLUMN `return_num` decimal(24, 8) NOT NULL COMMENT '退货数量' AFTER `product_id`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL COMMENT '采购价' AFTER `return_num`;
ALTER TABLE `tbl_purchase_return_detail`
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL DEFAULT 0 COMMENT '退货总金额' AFTER `receive_sheet_detail_id`;
ALTER TABLE `tbl_sc_transfer_order`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '调拨数量' AFTER `target_sc_id`;
ALTER TABLE `tbl_sc_transfer_order_detail`
MODIFY COLUMN `transfer_num` decimal(24, 8) NOT NULL COMMENT '调拨数量' AFTER `product_id`,
MODIFY COLUMN `receive_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '已收货数量' AFTER `order_no`;
ALTER TABLE `tbl_sc_transfer_order_detail_receive`
MODIFY COLUMN `receive_num` decimal(24, 8) NOT NULL COMMENT '收货数量' AFTER `detail_id`;
ALTER TABLE `tbl_sc_transfer_order_detail`
MODIFY COLUMN `tax_price` decimal(24, 6) NULL DEFAULT NULL COMMENT '成本价' AFTER `transfer_num`;
ALTER TABLE `tbl_sc_transfer_order_detail`
MODIFY COLUMN `tax_price` decimal(24, 6) NULL COMMENT '成本价' AFTER `transfer_amount`;
ALTER TABLE `tbl_product_stock_warning`
MODIFY COLUMN `max_limit` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '预警上限' AFTER `product_id`,
MODIFY COLUMN `min_limit` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '预警下限' AFTER `max_limit`;
ALTER TABLE `tbl_stock_adjust_sheet_detail`
MODIFY COLUMN `stock_num` decimal(24, 8) NOT NULL COMMENT '调整库存数量' AFTER `product_id`;
ALTER TABLE `tbl_sale_order`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '销售数量' AFTER `saler_id`,
MODIFY COLUMN `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_sale_order_detail`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL COMMENT '销售数量' AFTER `product_id`,
MODIFY COLUMN `out_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '已出库数量' AFTER `order_no`;
ALTER TABLE `tbl_sale_order_detail_bundle`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '组合商品数量' AFTER `main_product_id`,
MODIFY COLUMN `product_order_num` decimal(24, 8) NOT NULL COMMENT '单品数量' AFTER `product_id`;
ALTER TABLE `tbl_sale_order_detail_bundle`
MODIFY COLUMN `product_ori_price` decimal(24, 6) NOT NULL COMMENT '单品原价' AFTER `product_order_num`,
MODIFY COLUMN `product_tax_price` decimal(24, 6) NOT NULL COMMENT '单品含税价格' AFTER `product_ori_price`;
ALTER TABLE `tbl_sale_order_detail`
MODIFY COLUMN `ori_price` decimal(24, 6) NOT NULL COMMENT '原价' AFTER `order_num`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL COMMENT '现价' AFTER `ori_price`;
ALTER TABLE `tbl_sale_out_sheet`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `sale_order_id`,
MODIFY COLUMN `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_sale_out_sheet_detail`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL COMMENT '出库数量' AFTER `product_id`,
MODIFY COLUMN `ori_price` decimal(24, 6) NOT NULL COMMENT '原价' AFTER `order_num`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL COMMENT '现价' AFTER `ori_price`,
MODIFY COLUMN `return_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `ori_bundle_detail_id`;
ALTER TABLE `tbl_sale_out_sheet_detail_bundle`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '组合商品数量' AFTER `main_product_id`,
MODIFY COLUMN `product_order_num` decimal(24, 8) NOT NULL COMMENT '单品数量' AFTER `product_id`,
MODIFY COLUMN `product_ori_price` decimal(24, 6) NOT NULL COMMENT '单品原价' AFTER `product_order_num`,
MODIFY COLUMN `product_tax_price` decimal(24, 6) NOT NULL COMMENT '单品含税价格' AFTER `product_ori_price`;
ALTER TABLE `tbl_sale_out_sheet_detail_lot`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL COMMENT '出库数量' AFTER `detail_id`,
MODIFY COLUMN `return_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `order_num`;
ALTER TABLE `tbl_sale_return`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `out_sheet_id`,
MODIFY COLUMN `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_sale_return_detail`
MODIFY COLUMN `return_num` decimal(24, 8) NOT NULL COMMENT '退货数量' AFTER `product_id`,
MODIFY COLUMN `ori_price` decimal(24, 6) NOT NULL COMMENT '原价' AFTER `return_num`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL COMMENT '现价' AFTER `ori_price`;
ALTER TABLE `tbl_retail_out_sheet`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `payment_date`,
MODIFY COLUMN `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_retail_out_sheet_detail`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL COMMENT '出库数量' AFTER `product_id`,
MODIFY COLUMN `return_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `settle_status`;
ALTER TABLE `tbl_retail_out_sheet_detail`
MODIFY COLUMN `ori_price` decimal(24, 6) NOT NULL COMMENT '原价' AFTER `order_num`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL COMMENT '现价' AFTER `ori_price`;
ALTER TABLE `tbl_retail_out_sheet_detail_bundle`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '组合商品数量' AFTER `main_product_id`,
MODIFY COLUMN `product_ori_price` decimal(24, 6) NOT NULL COMMENT '单品原价' AFTER `product_order_num`,
MODIFY COLUMN `product_tax_price` decimal(24, 6) NOT NULL COMMENT '单品含税价格' AFTER `product_ori_price`;
ALTER TABLE `tbl_retail_out_sheet_detail_lot`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL COMMENT '出库数量' AFTER `detail_id`,
MODIFY COLUMN `return_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '已退货数量' AFTER `order_num`;
ALTER TABLE `tbl_retail_return`
MODIFY COLUMN `total_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '商品数量' AFTER `out_sheet_id`,
MODIFY COLUMN `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '赠品数量' AFTER `total_num`;
ALTER TABLE `tbl_retail_return_detail`
MODIFY COLUMN `return_num` decimal(24, 8) NOT NULL COMMENT '退货数量' AFTER `product_id`,
MODIFY COLUMN `ori_price` decimal(24, 6) NOT NULL COMMENT '原价' AFTER `return_num`,
MODIFY COLUMN `tax_price` decimal(24, 6) NOT NULL COMMENT '现价' AFTER `ori_price`;
ALTER TABLE `tbl_pre_take_stock_sheet_detail`
MODIFY COLUMN `first_num` decimal(24, 8) NULL DEFAULT NULL COMMENT '初盘数量' AFTER `product_id`,
MODIFY COLUMN `second_num` decimal(24, 8) NULL DEFAULT NULL COMMENT '复盘数量' AFTER `first_num`,
MODIFY COLUMN `rand_num` decimal(24, 8) NULL DEFAULT NULL COMMENT '抽盘数量' AFTER `second_num`;
ALTER TABLE `tbl_take_stock_plan_detail`
MODIFY COLUMN `stock_num` decimal(24, 8) NOT NULL COMMENT '初始库存数量' AFTER `product_id`,
MODIFY COLUMN `ori_take_num` decimal(24, 8) NULL DEFAULT NULL COMMENT '盘点数量' AFTER `stock_num`,
MODIFY COLUMN `take_num` decimal(24, 8) NULL DEFAULT NULL COMMENT '修改后的盘点数量' AFTER `ori_take_num`,
MODIFY COLUMN `total_out_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '出项数量' AFTER `take_num`,
MODIFY COLUMN `total_in_num` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '入项数量' AFTER `total_out_num`;
ALTER TABLE `tbl_take_stock_sheet_detail`
MODIFY COLUMN `take_num` decimal(24, 8) NOT NULL COMMENT '盘点数量' AFTER `product_id`;
ALTER TABLE `tbl_purchase_order_detail_bundle`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT '组合商品数量' AFTER `main_product_id`,
MODIFY COLUMN `product_ori_price` decimal(24, 6) NOT NULL COMMENT '单品原价' AFTER `product_order_num`,
MODIFY COLUMN `product_tax_price` decimal(24, 6) NOT NULL COMMENT '单品含税价格' AFTER `product_ori_price`,
MODIFY COLUMN `product_tax_rate` decimal(16, 2) NOT NULL COMMENT '单品税率' AFTER `product_tax_price`,
MODIFY COLUMN `product_tax_amount` decimal(32, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_purchase_order_detail_bundle_form`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT '组合商品数量' AFTER `main_product_id`,
MODIFY COLUMN `product_ori_price` decimal(24, 6) NOT NULL COMMENT '单品原价' AFTER `product_order_num`,
MODIFY COLUMN `product_tax_price` decimal(24, 6) NOT NULL COMMENT '单品含税价格' AFTER `product_ori_price`,
MODIFY COLUMN `product_tax_rate` decimal(16, 2) NOT NULL COMMENT '单品税率' AFTER `product_tax_price`,
MODIFY COLUMN `product_tax_amount` decimal(32, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_receive_sheet_detail_bundle`
MODIFY COLUMN `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT '组合商品数量' AFTER `main_product_id`,
MODIFY COLUMN `product_order_num` decimal(24, 8) NOT NULL COMMENT '单品数量' AFTER `product_id`,
MODIFY COLUMN `product_ori_price` decimal(24, 6) NOT NULL COMMENT '单品原价' AFTER `product_order_num`,
MODIFY COLUMN `product_tax_price` decimal(24, 6) NOT NULL COMMENT '单品含税价格' AFTER `product_ori_price`,
MODIFY COLUMN `product_tax_rate` decimal(16, 2) NOT NULL COMMENT '单品税率' AFTER `product_tax_price`,
MODIFY COLUMN `product_tax_amount` decimal(32, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_purchase_order_detail`
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT '含税总金额' AFTER `receive_num`;
ALTER TABLE `tbl_purchase_order_detail_form`
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT '含税总金额' AFTER `receive_num`;
ALTER TABLE `tbl_sc_transfer_order_detail`
MODIFY COLUMN `transfer_amount` decimal(32, 2) NOT NULL DEFAULT 0 COMMENT '调拨金额' AFTER `transfer_num`,
MODIFY COLUMN `receive_amount` decimal(32, 2) NOT NULL DEFAULT 0 COMMENT '已收货金额' AFTER `receive_num`;
ALTER TABLE `tbl_sc_transfer_order_detail_receive`
MODIFY COLUMN `receive_amount` decimal(32, 2) NOT NULL DEFAULT 0 COMMENT '收货金额' AFTER `receive_num`;
ALTER TABLE `base_data_product_bundle`
MODIFY COLUMN `purchase_price` decimal(24, 6) NOT NULL COMMENT '采购价' AFTER `bundle_num`;
ALTER TABLE `tbl_sale_order_detail`
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL COMMENT '总金额' AFTER `ori_bundle_detail_id`;
ALTER TABLE `tbl_sale_out_sheet_detail`
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL COMMENT '总金额' AFTER `return_num`;
ALTER TABLE `tbl_sale_return_detail`
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL COMMENT '总金额' AFTER `out_sheet_detail_id`;
ALTER TABLE `tbl_retail_out_sheet_detail`
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL COMMENT '总金额' AFTER `ori_bundle_detail_id`;
ALTER TABLE `tbl_retail_return_detail`
MODIFY COLUMN `tax_amount` decimal(32, 2) NOT NULL COMMENT '总金额' AFTER `out_sheet_detail_id`;
ALTER TABLE `tbl_purchase_order_detail_bundle`
MODIFY COLUMN `product_tax_amount` decimal(32, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_purchase_order_detail_bundle_form`
MODIFY COLUMN `product_tax_amount` decimal(32, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_receive_sheet_detail_bundle`
MODIFY COLUMN `product_tax_amount` decimal(32, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_retail_out_sheet_detail_bundle`
MODIFY COLUMN `product_tax_amount` decimal(32, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_sale_order_detail_bundle`
MODIFY COLUMN `product_tax_amount` decimal(32, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_sale_out_sheet_detail_bundle`
MODIFY COLUMN `product_tax_amount` decimal(32, 2) NOT NULL COMMENT '单品含税金额' AFTER `product_detail_id`;
ALTER TABLE `tbl_retail_out_sheet_detail_bundle`
MODIFY COLUMN `product_tax_rate` decimal(16, 2) NOT NULL COMMENT '单品税率' AFTER `product_tax_price`;
ALTER TABLE `tbl_sale_order_detail_bundle`
MODIFY COLUMN `product_tax_rate` decimal(16, 2) NOT NULL COMMENT '单品税率' AFTER `product_tax_price`;
ALTER TABLE `tbl_sale_out_sheet_detail_bundle`
MODIFY COLUMN `product_tax_rate` decimal(16, 2) NOT NULL COMMENT '单品税率' AFTER `product_tax_price`;
alter table `customer_settle_check_sheet` modify column `total_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `customer_settle_check_sheet` modify column `total_pay_amount` decimal(32, 2) NOT NULL COMMENT "应付金额";
alter table `customer_settle_check_sheet` modify column `total_payed_amount` decimal(32, 2) NOT NULL COMMENT "已付金额";
alter table `customer_settle_check_sheet` modify column `total_discount_amount` decimal(32, 2) NOT NULL COMMENT "已优惠金额";
alter table `customer_settle_check_sheet_detail` modify column `pay_amount` decimal(32, 2) NOT NULL COMMENT "应付金额";
alter table `customer_settle_fee_sheet` modify column `total_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `customer_settle_fee_sheet_detail` modify column `amount` decimal(32, 2) NOT NULL COMMENT "金额";
alter table `customer_settle_pre_sheet` modify column `total_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `customer_settle_pre_sheet_detail` modify column `amount` decimal(32, 2) NOT NULL COMMENT "金额";
alter table `customer_settle_sheet` modify column `total_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `customer_settle_sheet` modify column `total_discount_amount` decimal(32, 2) NOT NULL COMMENT "已优惠金额";
alter table `customer_settle_sheet_detail` modify column `pay_amount` decimal(32, 2) NOT NULL COMMENT "实付金额";
alter table `customer_settle_sheet_detail` modify column `discount_amount` decimal(32, 2) NOT NULL COMMENT "优惠金额";
alter table `settle_check_sheet` modify column `total_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `settle_check_sheet` modify column `total_pay_amount` decimal(32, 2) NOT NULL COMMENT "应付金额";
alter table `settle_check_sheet` modify column `total_payed_amount` decimal(32, 2) NOT NULL COMMENT "已付金额";
alter table `settle_check_sheet` modify column `total_discount_amount` decimal(32, 2) NOT NULL COMMENT "已优惠金额";
alter table `settle_check_sheet_detail` modify column `pay_amount` decimal(32, 2) NOT NULL COMMENT "应付金额";
alter table `settle_fee_sheet` modify column `total_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `settle_fee_sheet_detail` modify column `amount` decimal(32, 2) NOT NULL COMMENT "金额";
alter table `settle_pre_sheet` modify column `total_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `settle_pre_sheet_detail` modify column `amount` decimal(32, 2) NOT NULL COMMENT "金额";
alter table `settle_sheet` modify column `total_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `settle_sheet` modify column `total_discount_amount` decimal(32, 2) NOT NULL COMMENT "已优惠金额";
alter table `settle_sheet_detail` modify column `pay_amount` decimal(32, 2) NOT NULL COMMENT "实付金额";
alter table `settle_sheet_detail` modify column `discount_amount` decimal(32, 2) NOT NULL COMMENT "优惠金额";
alter table `tbl_logistics_sheet` modify column `total_amount` decimal(32, 2) NULL COMMENT "物流费";
alter table `tbl_order_chart` modify column `total_amount` decimal(32, 2) NOT NULL COMMENT "单据总金额";
alter table `tbl_order_pay_type` modify column `pay_amount` decimal(32, 2) NOT NULL COMMENT "支付金额";
alter table `tbl_product_stock` modify column `tax_amount` decimal(32, 2) NOT NULL COMMENT "含税金额";
alter table `tbl_product_stock_log` modify column `tax_amount` decimal(32, 2) NOT NULL COMMENT "含税金额";
alter table `tbl_purchase_order` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "采购金额";
alter table `tbl_purchase_order_detail` modify column `tax_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "含税总金额";
alter table `tbl_purchase_order_detail_bundle` modify column `product_tax_amount` decimal(32, 2) NOT NULL COMMENT "单品含税金额";
alter table `tbl_purchase_order_detail_bundle_form` modify column `product_tax_amount` decimal(32, 2) NOT NULL COMMENT "单品含税金额";
alter table `tbl_purchase_order_detail_form` modify column `tax_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "含税总金额";
alter table `tbl_purchase_order_form` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "采购金额";
alter table `tbl_purchase_return` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "退货金额";
alter table `tbl_purchase_return_detail` modify column `tax_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "退货总金额";
alter table `tbl_receive_sheet` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "收货金额";
alter table `tbl_receive_sheet_detail` modify column `tax_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "采购总金额";
alter table `tbl_receive_sheet_detail_bundle` modify column `product_tax_amount` decimal(32, 2) NOT NULL COMMENT "单品含税金额";
alter table `tbl_retail_out_sheet` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "出库金额";
alter table `tbl_retail_out_sheet_detail` modify column `tax_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `tbl_retail_out_sheet_detail_bundle` modify column `product_tax_amount` decimal(32, 2) NOT NULL COMMENT "单品含税金额";
alter table `tbl_retail_out_sheet_detail_lot` modify column `cost_tax_amount` decimal(32, 2) NOT NULL COMMENT "含税成本金额";
alter table `tbl_retail_return` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "退货金额";
alter table `tbl_retail_return_detail` modify column `tax_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `tbl_sale_order` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "销售金额";
alter table `tbl_sale_order_detail` modify column `tax_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `tbl_sale_order_detail_bundle` modify column `product_tax_amount` decimal(32, 2) NOT NULL COMMENT "单品含税金额";
alter table `tbl_sale_out_sheet` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "出库金额";
alter table `tbl_sale_out_sheet_detail` modify column `tax_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `tbl_sale_out_sheet_detail_bundle` modify column `product_tax_amount` decimal(32, 2) NOT NULL COMMENT "单品含税金额";
alter table `tbl_sale_out_sheet_detail_lot` modify column `cost_tax_amount` decimal(32, 2) NOT NULL COMMENT "含税成本金额";
alter table `tbl_sale_return` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "退货金额";
alter table `tbl_sale_return_detail` modify column `tax_amount` decimal(32, 2) NOT NULL COMMENT "总金额";
alter table `tbl_sc_transfer_order` modify column `total_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "调拨成本金额";
alter table `tbl_sc_transfer_order_detail` modify column `transfer_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "调拨金额";
alter table `tbl_sc_transfer_order_detail` modify column `receive_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "已收货金额";
alter table `tbl_sc_transfer_order_detail_receive` modify column `receive_amount` decimal(32, 2) NOT NULL DEFAULT 0.00 COMMENT "收货金额";
alter table `base_data_product_bundle` modify column `purchase_price` decimal(24, 6) NOT NULL COMMENT "采购价";
alter table `base_data_product_bundle` modify column `sale_price` decimal(24, 6) NOT NULL COMMENT "销售价";
alter table `base_data_product_bundle` modify column `retail_price` decimal(24, 6) NOT NULL COMMENT "零售价";
alter table `base_data_product_purchase` modify column `price` decimal(24, 6) NOT NULL COMMENT "采购价";
alter table `base_data_product_retail` modify column `price` decimal(24, 6) NOT NULL COMMENT "零售价";
alter table `base_data_product_sale` modify column `price` decimal(24, 6) NOT NULL COMMENT "销售价";
alter table `tbl_product_stock` modify column `tax_price` decimal(24, 6) NOT NULL DEFAULT 0.000000 COMMENT "含税价格";
alter table `tbl_product_stock_log` modify column `ori_tax_price` decimal(24, 6) NOT NULL COMMENT "原含税成本价";
alter table `tbl_product_stock_log` modify column `cur_tax_price` decimal(24, 6) NOT NULL COMMENT "现含税成本价";
alter table `tbl_purchase_order_detail` modify column `tax_price` decimal(24, 6) NOT NULL DEFAULT 0.000000 COMMENT "采购价";
alter table `tbl_purchase_order_detail_bundle` modify column `product_ori_price` decimal(24, 6) NOT NULL COMMENT "单品原价";
alter table `tbl_purchase_order_detail_bundle` modify column `product_tax_price` decimal(24, 6) NOT NULL COMMENT "单品含税价格";
alter table `tbl_purchase_order_detail_bundle_form` modify column `product_ori_price` decimal(24, 6) NOT NULL COMMENT "单品原价";
alter table `tbl_purchase_order_detail_bundle_form` modify column `product_tax_price` decimal(24, 6) NOT NULL COMMENT "单品含税价格";
alter table `tbl_purchase_order_detail_form` modify column `tax_price` decimal(24, 6) NOT NULL DEFAULT 0.000000 COMMENT "采购价";
alter table `tbl_purchase_return_detail` modify column `tax_price` decimal(24, 6) NOT NULL COMMENT "采购价";
alter table `tbl_receive_sheet_detail` modify column `tax_price` decimal(24, 6) NOT NULL DEFAULT 0.000000 COMMENT "采购价";
alter table `tbl_receive_sheet_detail_bundle` modify column `product_ori_price` decimal(24, 6) NOT NULL COMMENT "单品原价";
alter table `tbl_receive_sheet_detail_bundle` modify column `product_tax_price` decimal(24, 6) NOT NULL COMMENT "单品含税价格";
alter table `tbl_retail_out_sheet_detail` modify column `ori_price` decimal(24, 6) NOT NULL COMMENT "原价";
alter table `tbl_retail_out_sheet_detail` modify column `tax_price` decimal(24, 6) NOT NULL COMMENT "现价";
alter table `tbl_retail_out_sheet_detail_bundle` modify column `product_ori_price` decimal(24, 6) NOT NULL COMMENT "单品原价";
alter table `tbl_retail_out_sheet_detail_bundle` modify column `product_tax_price` decimal(24, 6) NOT NULL COMMENT "单品含税价格";
alter table `tbl_retail_return_detail` modify column `ori_price` decimal(24, 6) NOT NULL COMMENT "原价";
alter table `tbl_retail_return_detail` modify column `tax_price` decimal(24, 6) NOT NULL COMMENT "现价";
alter table `tbl_sale_order_detail` modify column `ori_price` decimal(24, 6) NOT NULL COMMENT "原价";
alter table `tbl_sale_order_detail` modify column `tax_price` decimal(24, 6) NOT NULL COMMENT "现价";
alter table `tbl_sale_order_detail_bundle` modify column `product_ori_price` decimal(24, 6) NOT NULL COMMENT "单品原价";
alter table `tbl_sale_order_detail_bundle` modify column `product_tax_price` decimal(24, 6) NOT NULL COMMENT "单品含税价格";
alter table `tbl_sale_out_sheet_detail` modify column `ori_price` decimal(24, 6) NOT NULL COMMENT "原价";
alter table `tbl_sale_out_sheet_detail` modify column `tax_price` decimal(24, 6) NOT NULL COMMENT "现价";
alter table `tbl_sale_out_sheet_detail_bundle` modify column `product_ori_price` decimal(24, 6) NOT NULL COMMENT "单品原价";
alter table `tbl_sale_out_sheet_detail_bundle` modify column `product_tax_price` decimal(24, 6) NOT NULL COMMENT "单品含税价格";
alter table `tbl_sale_return_detail` modify column `ori_price` decimal(24, 6) NOT NULL COMMENT "原价";
alter table `tbl_sale_return_detail` modify column `tax_price` decimal(24, 6) NOT NULL COMMENT "现价";
alter table `tbl_sc_transfer_order_detail` modify column `tax_price` decimal(24, 6) NULL COMMENT "成本价";
alter table `tbl_pre_take_stock_sheet_detail` modify column `first_num` decimal(24, 8) NULL COMMENT "初盘数量";
alter table `tbl_pre_take_stock_sheet_detail` modify column `second_num` decimal(24, 8) NULL COMMENT "复盘数量";
alter table `tbl_pre_take_stock_sheet_detail` modify column `rand_num` decimal(24, 8) NULL COMMENT "抽盘数量";
alter table `tbl_product_stock` modify column `stock_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "库存数量";
alter table `tbl_product_stock_log` modify column `ori_stock_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "变动前库存数量";
alter table `tbl_product_stock_log` modify column `cur_stock_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "变动后库存数量";
alter table `tbl_product_stock_log` modify column `stock_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "变动库存数量";
alter table `tbl_purchase_order` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "采购数量";
alter table `tbl_purchase_order` modify column `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "采购价";
alter table `tbl_purchase_order_detail` modify column `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "采购数量";
alter table `tbl_purchase_order_detail` modify column `receive_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "已收货数量";
alter table `tbl_purchase_order_detail_bundle` modify column `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "组合商品数量";
alter table `tbl_purchase_order_detail_bundle` modify column `product_order_num` decimal(24, 8) NOT NULL COMMENT "单品数量";
alter table `tbl_purchase_order_detail_bundle_form` modify column `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "组合商品数量";
alter table `tbl_purchase_order_detail_bundle_form` modify column `product_order_num` decimal(24, 8) NOT NULL COMMENT "单品数量";
alter table `tbl_purchase_order_detail_form` modify column `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "采购数量";
alter table `tbl_purchase_order_detail_form` modify column `receive_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "已收货数量";
alter table `tbl_purchase_order_form` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "采购数量";
alter table `tbl_purchase_order_form` modify column `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "采购价";
alter table `tbl_purchase_return` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "商品数量";
alter table `tbl_purchase_return` modify column `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "赠品数量";
alter table `tbl_purchase_return_detail` modify column `return_num` decimal(24, 8) NOT NULL COMMENT "退货数量";
alter table `tbl_receive_sheet` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "商品数量";
alter table `tbl_receive_sheet` modify column `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "赠品数量";
alter table `tbl_receive_sheet_detail` modify column `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "采购数量";
alter table `tbl_receive_sheet_detail` modify column `return_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "已退货数量";
alter table `tbl_receive_sheet_detail_bundle` modify column `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "组合商品数量";
alter table `tbl_receive_sheet_detail_bundle` modify column `product_order_num` decimal(24, 8) NOT NULL COMMENT "单品数量";
alter table `tbl_retail_out_sheet` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "商品数量";
alter table `tbl_retail_out_sheet` modify column `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "赠品数量";
alter table `tbl_retail_out_sheet_detail` modify column `order_num` decimal(24, 8) NOT NULL COMMENT "出库数量";
alter table `tbl_retail_out_sheet_detail` modify column `return_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "已退货数量";
alter table `tbl_retail_out_sheet_detail_bundle` modify column `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "组合商品数量";
alter table `tbl_retail_out_sheet_detail_lot` modify column `order_num` decimal(24, 8) NOT NULL COMMENT "出库数量";
alter table `tbl_retail_out_sheet_detail_lot` modify column `return_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "已退货数量";
alter table `tbl_retail_return` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "商品数量";
alter table `tbl_retail_return` modify column `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "赠品数量";
alter table `tbl_retail_return_detail` modify column `return_num` decimal(24, 8) NOT NULL COMMENT "退货数量";
alter table `tbl_sale_order` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "销售数量";
alter table `tbl_sale_order` modify column `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "赠品数量";
alter table `tbl_sale_order_detail` modify column `order_num` decimal(24, 8) NOT NULL COMMENT "销售数量";
alter table `tbl_sale_order_detail` modify column `out_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "已出库数量";
alter table `tbl_sale_order_detail_bundle` modify column `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "组合商品数量";
alter table `tbl_sale_order_detail_bundle` modify column `product_order_num` decimal(24, 8) NOT NULL COMMENT "单品数量";
alter table `tbl_sale_out_sheet` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "商品数量";
alter table `tbl_sale_out_sheet` modify column `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "赠品数量";
alter table `tbl_sale_out_sheet_detail` modify column `order_num` decimal(24, 8) NOT NULL COMMENT "出库数量";
alter table `tbl_sale_out_sheet_detail` modify column `return_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "已退货数量";
alter table `tbl_sale_out_sheet_detail_bundle` modify column `order_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "组合商品数量";
alter table `tbl_sale_out_sheet_detail_bundle` modify column `product_order_num` decimal(24, 8) NOT NULL COMMENT "单品数量";
alter table `tbl_sale_out_sheet_detail_lot` modify column `order_num` decimal(24, 8) NOT NULL COMMENT "出库数量";
alter table `tbl_sale_out_sheet_detail_lot` modify column `return_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "已退货数量";
alter table `tbl_sale_return` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "商品数量";
alter table `tbl_sale_return` modify column `total_gift_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "赠品数量";
alter table `tbl_sale_return_detail` modify column `return_num` decimal(24, 8) NOT NULL COMMENT "退货数量";
alter table `tbl_sc_transfer_order` modify column `total_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "调拨数量";
alter table `tbl_sc_transfer_order_detail` modify column `transfer_num` decimal(24, 8) NOT NULL COMMENT "调拨数量";
alter table `tbl_sc_transfer_order_detail` modify column `receive_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "已收货数量";
alter table `tbl_sc_transfer_order_detail_receive` modify column `receive_num` decimal(24, 8) NOT NULL COMMENT "收货数量";
alter table `tbl_stock_adjust_sheet_detail` modify column `stock_num` decimal(24, 8) NOT NULL COMMENT "调整库存数量";
alter table `tbl_take_stock_plan_detail` modify column `stock_num` decimal(24, 8) NOT NULL COMMENT "初始库存数量";
alter table `tbl_take_stock_plan_detail` modify column `ori_take_num` decimal(24, 8) NULL COMMENT "盘点数量";
alter table `tbl_take_stock_plan_detail` modify column `take_num` decimal(24, 8) NULL COMMENT "修改后的盘点数量";
alter table `tbl_take_stock_plan_detail` modify column `total_out_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "出项数量";
alter table `tbl_take_stock_plan_detail` modify column `total_in_num` decimal(24, 8) NOT NULL DEFAULT 0.00000000 COMMENT "入项数量";
alter table `tbl_take_stock_sheet_detail` modify column `take_num` decimal(24, 8) NOT NULL COMMENT "盘点数量";
update tbl_purchase_order_detail set tax_amount = order_num * tax_price;
update tbl_purchase_order_detail_form set tax_amount = order_num * tax_price;
update tbl_receive_sheet_detail set tax_amount = order_num * tax_price;
update tbl_purchase_return_detail set tax_amount = return_num * tax_price;
UPDATE tbl_sc_transfer_order_detail SET transfer_amount =transfer_num * tax_price, receive_amount = receive_num * tax_price WHERE tax_price IS NOT NULL;
UPDATE tbl_sale_order_detail
SET tax_amount = tax_price * order_num;
UPDATE tbl_sale_out_sheet_detail
SET tax_amount = tax_price * order_num;
UPDATE tbl_sale_return_detail
SET tax_amount = tax_price * return_num;
UPDATE tbl_retail_out_sheet_detail
SET tax_amount = tax_price * order_num;
UPDATE tbl_retail_return_detail
SET tax_amount = tax_price * return_num;
UPDATE tbl_purchase_order_detail_bundle
SET product_tax_amount = product_tax_price * order_num;
UPDATE tbl_purchase_order_detail_bundle_form
SET product_tax_amount = product_tax_price * order_num;
UPDATE tbl_receive_sheet_detail_bundle
SET product_tax_amount = product_tax_price * order_num;
UPDATE tbl_retail_out_sheet_detail_bundle
SET product_tax_amount = product_tax_price * order_num;
UPDATE tbl_sale_order_detail_bundle
SET product_tax_amount = product_tax_price * order_num;
UPDATE tbl_sale_out_sheet_detail_bundle
SET product_tax_amount = product_tax_price * order_num;
@@ -0,0 +1,425 @@
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000008', '2000008', 'PayType', '支付方式', NULL, 0, '/base-data/pay-type/index', NULL, '2000', '/pay-type', 0, 1, 0, 'base-data:pay-type:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000008001', '2000008001', '', '新增支付方式', NULL, 0, '', NULL, '2000008', '', 0, 2, 0, 'base-data:pay-type:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000008002', '2000008002', '', '修改支付方式', NULL, 0, '', NULL, '2000008', '', 0, 2, 0, 'base-data:pay-type:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for base_data_pay_type
-- ----------------------------
DROP TABLE IF EXISTS `base_data_pay_type`;
CREATE TABLE `base_data_pay_type` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
`code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`rec_text` tinyint(1) NOT NULL COMMENT '是否记录内容',
`available` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态',
`description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `code`(`code`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付方式' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of base_data_pay_type
-- ----------------------------
INSERT INTO `base_data_pay_type` VALUES ('1', '001', '现金', 0, 1, '', '系统管理员', '1', '2023-03-21 10:09:44', '系统管理员', '1', '2023-03-21 10:12:30');
INSERT INTO `base_data_pay_type` VALUES ('2', '002', '微信支付', 0, 1, '', '系统管理员', '1', '2023-03-21 10:09:44', '系统管理员', '1', '2023-03-21 10:12:30');
INSERT INTO `base_data_pay_type` VALUES ('3', '003', '支付宝支付', 0, 1, '', '系统管理员', '1', '2023-03-21 10:09:44', '系统管理员', '1', '2023-03-21 10:12:30');
INSERT INTO `base_data_pay_type` VALUES ('4', '004', '移动支付', 0, 1, '', '系统管理员', '1', '2023-03-21 10:09:44', '系统管理员', '1', '2023-03-21 10:12:30');
INSERT INTO `base_data_pay_type` VALUES ('5', '005', '优惠券', 1, 1, '', '系统管理员', '1', '2023-03-21 10:09:44', '系统管理员', '1', '2023-03-21 10:12:30');
INSERT INTO `base_data_pay_type` VALUES ('6', '006', '积分', 0, 1, '', '系统管理员', '1', '2023-03-21 10:09:44', '系统管理员', '1', '2023-03-21 10:12:30');
SET FOREIGN_KEY_CHECKS = 1;
ALTER TABLE `base_data_store_center`
ADD COLUMN `zip_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮编' AFTER `people_num`,
ADD COLUMN `receiver` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收货人' AFTER `zip_code`,
ADD COLUMN `receive_telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收货手机号' AFTER `receiver`,
ADD COLUMN `receive_address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收货地址' AFTER `receive_telephone`,
ADD COLUMN `sender` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货人' AFTER `receive_address`,
ADD COLUMN `send_telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货手机号' AFTER `sender`,
ADD COLUMN `send_address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货地址' AFTER `send_telephone`;
ALTER TABLE `base_data_supplier`
CHANGE COLUMN `delivery_address` `send_address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货地址' AFTER `address`,
ADD COLUMN `sender` varchar(200) NULL COMMENT '发货人' AFTER `address`,
ADD COLUMN `send_telephone` varchar(20) NULL COMMENT '发货手机号' AFTER `sender`;
ALTER TABLE `base_data_member`
ADD COLUMN `city_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地区ID' AFTER `guider_id`,
ADD COLUMN `zip_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮编' AFTER `city_id`,
ADD COLUMN `receiver` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收货人' AFTER `zip_code`,
ADD COLUMN `receive_telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收货手机号' AFTER `receiver`,
ADD COLUMN `receive_address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收货地址' AFTER `receive_telephone`;
DROP TABLE IF EXISTS `base_data_address`;
CREATE TABLE `base_data_address` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
`entity_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '实体ID',
`entity_type` tinyint(3) NOT NULL COMMENT '实体类型',
`address_type` tinyint(3) NOT NULL COMMENT '地址类型',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '姓名',
`telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号',
`province_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '',
`city_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '',
`district_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '',
`address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '详细地址',
`is_default` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否默认地址',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `entity_id`(`entity_id`, `entity_type`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '地址库' ROW_FORMAT = Dynamic;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000009', '2000009', 'Address', '地址库', NULL, 0, '/base-data/address/index', NULL, '2000', '/address', 0, 1, 0, 'base-data:address:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000009001', '2000009001', '', '新增地址', NULL, 0, '', NULL, '2000009', '', 0, 2, 0, 'base-data:address:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000009002', '2000009002', '', '修改地址', NULL, 0, '', NULL, '2000009', '', 0, 2, 0, 'base-data:address:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000009003', '2000009003', '', '导出地址', NULL, 0, '', NULL, '2000009', '', 0, 2, 0, 'base-data:address:export', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000009004', '2000009004', '', '导入地址', NULL, 0, '', NULL, '2000009', '', 0, 2, 0, 'base-data:address:import', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO base_data_address (
id,
entity_id,
entity_type,
address_type,
`name`,
telephone,
province_id,
city_id,
district_id,
address,
is_default,
create_by,
create_by_id,
create_time,
update_by,
update_by_id,
update_time
) SELECT
CONCAT(tb.id, 2) AS id,
tb.id AS entity_id,
1 AS entity_type,
2 AS address_type,
tb.receiver,
tb.receive_telephone,
p.id AS province_id,
c.id AS city_id,
d.id AS district_id,
tb.receive_address,
1 AS is_default,
tb.create_by,
tb.create_by_id,
tb.create_time,
tb.update_by,
tb.update_by_id,
tb.update_time
FROM
base_data_store_center AS tb
INNER JOIN dic_city AS d ON d.id = tb.city_id
INNER JOIN dic_city as c ON c.id = d.parent_id
INNER JOIN dic_city as p ON p.id = c.parent_id
WHERE
tb.receiver IS NOT NULL
AND tb.receiver != ''
AND tb.receive_telephone IS NOT NULL
AND tb.receive_telephone != ''
AND tb.receive_address IS NOT NULL
AND tb.receive_address != '';
INSERT INTO base_data_address (
id,
entity_id,
entity_type,
address_type,
`name`,
telephone,
province_id,
city_id,
district_id,
address,
is_default,
create_by,
create_by_id,
create_time,
update_by,
update_by_id,
update_time
) SELECT
CONCAT(tb.id, 2) AS id,
tb.id AS entity_id,
2 AS entity_type,
2 AS address_type,
tb.receiver,
tb.receive_telephone,
p.id AS province_id,
c.id AS city_id,
d.id AS district_id,
tb.receive_address,
1 AS is_default,
tb.create_by,
tb.create_by_id,
tb.create_time,
tb.update_by,
tb.update_by_id,
tb.update_time
FROM
base_data_customer AS tb
INNER JOIN dic_city AS d ON d.id = tb.city_id
INNER JOIN dic_city as c ON c.id = d.parent_id
INNER JOIN dic_city as p ON p.id = c.parent_id
WHERE
tb.receiver IS NOT NULL
AND tb.receiver != ''
AND tb.receive_telephone IS NOT NULL
AND tb.receive_telephone != ''
AND tb.receive_address IS NOT NULL
AND tb.receive_address != '';
INSERT INTO base_data_address (
id,
entity_id,
entity_type,
address_type,
`name`,
telephone,
province_id,
city_id,
district_id,
address,
is_default,
create_by,
create_by_id,
create_time,
update_by,
update_by_id,
update_time
) SELECT
CONCAT(tb.id, 2) AS id,
tb.id AS entity_id,
4 AS entity_type,
2 AS address_type,
tb.receiver,
tb.receive_telephone,
p.id AS province_id,
c.id AS city_id,
d.id AS district_id,
tb.receive_address,
1 AS is_default,
tb.create_by,
tb.create_by_id,
tb.create_time,
tb.update_by,
tb.update_by_id,
tb.update_time
FROM
base_data_member AS tb
INNER JOIN dic_city AS d ON d.id = tb.city_id
INNER JOIN dic_city as c ON c.id = d.parent_id
INNER JOIN dic_city as p ON p.id = c.parent_id
WHERE
tb.receiver IS NOT NULL
AND tb.receiver != ''
AND tb.receive_telephone IS NOT NULL
AND tb.receive_telephone != ''
AND tb.receive_address IS NOT NULL
AND tb.receive_address != '';
INSERT INTO base_data_address (
id,
entity_id,
entity_type,
address_type,
`name`,
telephone,
province_id,
city_id,
district_id,
address,
is_default,
create_by,
create_by_id,
create_time,
update_by,
update_by_id,
update_time
) SELECT
CONCAT(tb.id, 1) AS id,
tb.id AS entity_id,
1 AS entity_type,
1 AS address_type,
tb.sender,
tb.send_telephone,
p.id AS province_id,
c.id AS city_id,
d.id AS district_id,
tb.send_address,
1 AS is_default,
tb.create_by,
tb.create_by_id,
tb.create_time,
tb.update_by,
tb.update_by_id,
tb.update_time
FROM
base_data_store_center AS tb
INNER JOIN dic_city AS d ON d.id = tb.city_id
INNER JOIN dic_city as c ON c.id = d.parent_id
INNER JOIN dic_city as p ON p.id = c.parent_id
WHERE
tb.sender IS NOT NULL
AND tb.sender != ''
AND tb.send_telephone IS NOT NULL
AND tb.send_telephone != ''
AND tb.send_address IS NOT NULL
AND tb.send_address != '';
INSERT INTO base_data_address (
id,
entity_id,
entity_type,
address_type,
`name`,
telephone,
province_id,
city_id,
district_id,
address,
is_default,
create_by,
create_by_id,
create_time,
update_by,
update_by_id,
update_time
) SELECT
CONCAT(tb.id, 1) AS id,
tb.id AS entity_id,
3 AS entity_type,
1 AS address_type,
tb.sender,
tb.send_telephone,
p.id AS province_id,
c.id AS city_id,
d.id AS district_id,
tb.send_address,
1 AS is_default,
tb.create_by,
tb.create_by_id,
tb.create_time,
tb.update_by,
tb.update_by_id,
tb.update_time
FROM
base_data_supplier AS tb
INNER JOIN dic_city AS d ON d.id = tb.city_id
INNER JOIN dic_city as c ON c.id = d.parent_id
INNER JOIN dic_city as p ON p.id = c.parent_id
WHERE
tb.sender IS NOT NULL
AND tb.sender != ''
AND tb.send_telephone IS NOT NULL
AND tb.send_telephone != ''
AND tb.send_address IS NOT NULL
AND tb.send_address != '';
ALTER TABLE `base_data_customer`
DROP COLUMN `receiver`,
DROP COLUMN `receive_telephone`,
DROP COLUMN `receive_address`;
ALTER TABLE `base_data_member`
DROP COLUMN `zip_code`,
DROP COLUMN `receiver`,
DROP COLUMN `receive_telephone`,
DROP COLUMN `receive_address`;
ALTER TABLE `base_data_supplier`
DROP COLUMN `sender`,
DROP COLUMN `send_telephone`,
DROP COLUMN `send_address`;
ALTER TABLE `base_data_store_center`
DROP COLUMN `zip_code`,
DROP COLUMN `receiver`,
DROP COLUMN `receive_telephone`,
DROP COLUMN `receive_address`,
DROP COLUMN `sender`,
DROP COLUMN `send_telephone`,
DROP COLUMN `send_address`;
DROP TABLE IF EXISTS `tbl_order_pay_type`;
CREATE TABLE `tbl_order_pay_type` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
`order_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '订单ID',
`pay_type_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付方式ID',
`pay_amount` decimal(24, 2) NOT NULL COMMENT '支付金额',
`text` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付内容',
PRIMARY KEY (`id`) USING BTREE,
INDEX `order_id`(`order_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单支付方式' ROW_FORMAT = Dynamic;
insert into tbl_order_pay_type (id, order_id, pay_type_id, pay_amount, text) select id, id, 1, total_amount, NULL from tbl_purchase_order where total_amount > 0;
insert into tbl_order_pay_type (id, order_id, pay_type_id, pay_amount, text) select id, id, 1, total_amount, NULL from tbl_receive_sheet where total_amount > 0;
insert into tbl_order_pay_type (id, order_id, pay_type_id, pay_amount, text) select id, id, 1, total_amount, NULL from tbl_purchase_return where total_amount > 0;
insert into tbl_order_pay_type (id, order_id, pay_type_id, pay_amount, text) select id, id, 1, total_amount, NULL from tbl_retail_out_sheet where total_amount > 0;
insert into tbl_order_pay_type (id, order_id, pay_type_id, pay_amount, text) select id, id, 1, total_amount, NULL from tbl_retail_return where total_amount > 0;
insert into tbl_order_pay_type (id, order_id, pay_type_id, pay_amount, text) select id, id, 1, total_amount, NULL from tbl_sale_order where total_amount > 0;
insert into tbl_order_pay_type (id, order_id, pay_type_id, pay_amount, text) select id, id, 1, total_amount, NULL from tbl_sale_out_sheet where total_amount > 0;
insert into tbl_order_pay_type (id, order_id, pay_type_id, pay_amount, text) select id, id, 1, total_amount, NULL from tbl_sale_return where total_amount > 0;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000002003', '1000002003', '', '部门权限', NULL, 0, '', NULL, '1000002', '', 0, 2, 0, 'system:dept:permission', 1, 1, '', '系统管理员', '1', '2021-06-27 01:33:47', '系统管理员', '1', '2021-07-04 00:34:23');
DROP TABLE IF EXISTS `sys_data_permission_data`;
CREATE TABLE `sys_data_permission_data` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`biz_id` varchar(32) NOT NULL COMMENT '业务ID',
`biz_type` tinyint(3) NOT NULL COMMENT '业务类型',
`permission_type` tinyint(3) NOT NULL COMMENT '权限类型',
`permission` longtext NOT NULL COMMENT '数据权限',
PRIMARY KEY (`id`),
UNIQUE KEY `biz_id` (`biz_id`,`biz_type`,`permission_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据权限数据';
DROP TABLE IF EXISTS `sys_data_permission_model_detail`;
CREATE TABLE `sys_data_permission_model_detail` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`model_id` int(11) NOT NULL COMMENT '模型ID',
`condition_type` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '条件',
`input_type` tinyint(3) NOT NULL COMMENT '输入类型',
`table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表名',
`column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字段名',
`enum_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '前端枚举名',
`sql_value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL',
PRIMARY KEY (`id`) USING BTREE,
INDEX `model_id`(`model_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据权限模型明细' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_data_permission_model_detail
-- ----------------------------
INSERT INTO `sys_data_permission_model_detail` VALUES (1, '编号', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'product', 'code', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (2, '名称', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'product', 'name', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (3, '简称', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'product', 'short_name', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (4, 'SKU', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'product', 'sku_code', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (5, '简码', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'product', 'external_code', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (6, '品类编号', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'category', 'code', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (7, '品类名称', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'category', 'name', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (8, '品牌编号', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'brand', 'code', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (9, '品牌名称', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'brand', 'name', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (10, '规格', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'product', 'spec', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (11, '单位', 1, '0,1,2,3,4,5,6,7,8,9,10', 0, 'product', 'unit', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (12, '状态', 1, '0,5,6,7', 1, 'product', 'available', 'AVAILABLE', NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (13, '创建时间', 1, '0,1,2,3,4,5', 2, 'product', 'create_time', NULL, NULL);
INSERT INTO `sys_data_permission_model_detail` VALUES (14, '创建人部门与本人相同', 2, '6', 99, 'order', 'create_by_id', NULL, 'SELECT __ud.user_id FROM sys_user_dept AS __ud WHERE __ud.dept_id IN ({__var#curDeptIds})');
INSERT INTO `sys_data_permission_model_detail` VALUES (15, '创建人部门是本人的上级部门', 2, '6', 99, 'order', 'create_by_id', NULL, 'SELECT DISTINCT __ud.user_id FROM sys_user_dept AS __ud WHERE FIND_IN_SET(__ud.dept_id,(SELECT GROUP_CONCAT(__mp.path) FROM sys_dept AS __d INNER JOIN recursion_mapping AS __mp ON __mp.node_id=__d.id AND __mp.node_type=1 WHERE __d.id IN ({__var#curDeptIds}) AND __mp.level> 1))');
INSERT INTO `sys_data_permission_model_detail` VALUES (16, '创建人部门是本人的下级部门', 2, '6', 99, 'order', 'create_by_id', NULL, 'SELECT DISTINCT __ud.user_id FROM sys_user_dept AS __ud WHERE __ud.dept_id IN (SELECT __mp.node_id FROM recursion_mapping AS __mp WHERE FIND_IN_SET((SELECT __d.id FROM sys_dept AS __d WHERE __d.id IN ({__var#curDeptIds})),__mp.path) AND __mp.node_type=1)');
INSERT INTO `sys_data_permission_model_detail` VALUES (17, '创建时间', 2, '0,1,2,3,4,5', 2, 'order', 'create_time', NULL, NULL);
@@ -0,0 +1,110 @@
CREATE TABLE `base_data_product_code` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`product_id` varchar(32) NOT NULL COMMENT '商品ID',
`code` varchar(20) NOT NULL COMMENT '编号',
`is_main` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否主编号',
PRIMARY KEY (`id`),
UNIQUE KEY `product_id` (`product_id`,`code`),
KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品编号';
ALTER TABLE `base_data_product`
ADD COLUMN `multi_code` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否一品多码' AFTER `code`;
INSERT INTO base_data_product_code (id, product_id, code, is_main)
SELECT code as id, id as product_id,code as code,true as is_main from base_data_product
where available = TRUE;
INSERT IGNORE INTO base_data_product_code (id, product_id, code, is_main)
select
t.code AS id,
t.product_id as product_id,
t.code AS code,
false as is_main
from (
SELECT
sku_code as code,
id as product_id
FROM
base_data_product
WHERE
available = TRUE
AND sku_code IS NOT NULL
AND sku_code != ''
union
SELECT
external_code as code,
id as product_id
FROM
base_data_product
WHERE
available = TRUE
AND external_code IS NOT NULL
AND external_code != ''
) t;
ALTER TABLE `base_data_product`
DROP COLUMN `sku_code`,
DROP COLUMN `external_code`;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000002005', '2000002005', '', '仓位查询', NULL, 0, '', NULL, '2000002', '3', '', 0, 2, 0, 'base-data:stock-cell:query', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000002006', '2000002006', '', '新增仓位', NULL, 0, '', NULL, '2000002', '3', '', 0, 2, 0, 'base-data:stock-cell:add', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000002007', '2000002007', '', '修改仓位', NULL, 0, '', NULL, '2000002', '3', '', 0, 2, 0, 'base-data:stock-cell:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000002008', '2000002008', '', '删除仓位', NULL, 0, '', NULL, '2000002', '3', '', 0, 2, 0, 'base-data:stock-cell:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000002009', '2000002009', '', '导入仓位', NULL, 0, '', NULL, '2000002', '3', '', 0, 2, 0, 'base-data:stock-cell:import', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
CREATE TABLE `base_data_stock_cell` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`sc_id` varchar(32) NOT NULL COMMENT '仓库ID',
`code` varchar(20) NOT NULL COMMENT '编号',
`name` varchar(20) NOT NULL COMMENT '名称',
`cell_type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '仓位类别',
`available` tinyint(1) NOT NULL COMMENT '状态',
`description` varchar(200) NOT NULL DEFAULT '' COMMENT '备注',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `code` (`code`) USING BTREE,
KEY `name` (`name`),
KEY `sc_id` (`sc_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='仓位';
INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (12, '仓位编号', '[{\"type\":\"6\",\"val\":\"C\"},{\"type\":\"1\",\"pattern\":\"yyMMdd\"},{\"type\":\"3\",\"key\":\"c31d11cdad371340a9985a110f8dad7cb9ea\",\"len\":\"5\",\"step\":1,\"expireType\":0,\"expireSeconds\":86400}]');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001006', '2001006', 'StockCellProduct', '仓位商品管理', NULL, 0, '/base-data/stock-cell-product/index', NULL, '2001', '4', '/stock-cell-product', 0, 1, 0, 'base-data:stock-cell-product:query', 1, 1, '', '系统管理员', '1', '2021-07-06 17:01:00', '系统管理员', '1', '2021-07-06 17:01:00');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001006001', '2001006001', '', '新增仓位商品', NULL, 0, '', NULL, '2001006', '4', '', 0, 2, 0, 'base-data:stock-cell-product:add', 1, 1, '', '系统管理员', '1', '2021-05-12 10:53:45', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001006002', '2001006002', '', '修改仓位商品', NULL, 0, '', NULL, '2001006', '4', '', 0, 2, 0, 'base-data:stock-cell-product:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 10:53:45', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001006003', '2001006003', '', '删除仓位商品', NULL, 0, '', NULL, '2001006', '4', '', 0, 2, 0, 'base-data:stock-cell-product:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 10:53:45', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001006004', '2001006004', '', '导入仓位商品', NULL, 0, '', NULL, '2001006', '4', '', 0, 2, 0, 'base-data:stock-cell-product:import', 1, 1, '', '系统管理员', '1', '2021-05-12 10:53:45', '系统管理员', '1', '2021-07-04 00:34:23');
CREATE TABLE `tbl_stock_cell_product` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`sc_id` varchar(32) NOT NULL COMMENT '仓库ID',
`stock_cell_id` varchar(32) NOT NULL COMMENT '仓位ID',
`product_id` varchar(32) NOT NULL COMMENT '商品ID',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `sc_id` (`sc_id`),
KEY `stock_cell_id` (`stock_cell_id`),
KEY `product_id` (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='仓位商品';
CREATE TABLE `sys_user_menu_sort` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`user_id` varchar(32) NOT NULL COMMENT '用户ID',
`menu_id` varchar(32) NOT NULL COMMENT '菜单ID',
`parent_id` varchar(32) DEFAULT NULL COMMENT '父级菜单ID',
`sort_no` int(11) NOT NULL COMMENT '排序',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `menu_id` (`menu_id`),
KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
@@ -0,0 +1,10 @@
UPDATE `sys_menu`
SET `component` = '/system/online-code/index',
`path` = '/online-code',
`request_param` = NULL,
`update_by` = '系统管理员',
`update_by_id` = '1',
`update_time` = NOW()
WHERE `id` = '1001001'
AND `code` = '1001001'
AND `permission` = 'system:online-code:config';
@@ -0,0 +1,69 @@
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005002', '3000005002', 'StockAdjustReason', '库存调整原因', NULL, 0, '/sc/stock/adjust/stock/reason/index', NULL, '3000005', '/stock/reason', 0, 1, 0, 'stock:adjust:reason:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005002001', '3000005002001', '', '新增库存成本调整单', NULL, 0, '', NULL, '3000005002', '', 0, 2, 0, 'stock:adjust:reason:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005002002', '3000005002002', '', '修改库存成本调整单', NULL, 0, '', NULL, '3000005002', '', 0, 2, 0, 'stock:adjust:reason:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
DROP TABLE IF EXISTS `tbl_stock_adjust_reason`;
CREATE TABLE `tbl_stock_adjust_reason` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
`code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`available` tinyint(1) NOT NULL COMMENT '状态',
`description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `code`(`code`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '库存调整原因' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of tbl_stock_adjust_reason
-- ----------------------------
INSERT INTO `tbl_stock_adjust_reason` VALUES ('1', '001', '初始化数据', 1, '系统内置', '系统管理员', '1', '2023-04-18 14:04:34', '系统管理员', '1', '2023-04-18 14:04:53');
INSERT INTO `tbl_stock_adjust_reason` VALUES ('2', '002', '损溢', 1, '系统内置', '系统管理员', '1', '2023-04-18 14:04:34', '系统管理员', '1', '2023-04-18 14:04:53');
INSERT INTO `tbl_stock_adjust_reason` VALUES ('3', '003', '其他', 1, '系统内置', '系统管理员', '1', '2023-04-18 14:04:34', '系统管理员', '1', '2023-04-18 14:04:53');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005003', '3000005003', 'StockAdjustSheet', '库存调整', NULL, 0, '/sc/stock/adjust/stock/index', NULL, '3000005', '/stock', 0, 1, 0, 'stock:adjust:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005003001', '3000005003001', '', '新增库存调整单', NULL, 0, '', NULL, '3000005003', '', 0, 2, 0, 'stock:adjust:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005003002', '3000005003002', '', '修改库存调整单', NULL, 0, '', NULL, '3000005003', '', 0, 2, 0, 'stock:adjust:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005003003', '3000005003003', '', '删除库存调整单', NULL, 0, '', NULL, '3000005003', '', 0, 2, 0, 'stock:adjust:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005003004', '3000005003004', '', '导出库存调整单', NULL, 0, '', NULL, '3000005003', '', 0, 2, 0, 'stock:adjust:export', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005003005', '3000005003005', '', '审核库存调整单', NULL, 0, '', NULL, '3000005003', '', 0, 2, 0, 'stock:adjust:approve', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
DROP TABLE IF EXISTS `tbl_stock_adjust_sheet`;
CREATE TABLE `tbl_stock_adjust_sheet` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`code` varchar(32) NOT NULL COMMENT '业务单据号',
`sc_id` varchar(32) NOT NULL COMMENT '仓库ID',
`biz_type` tinyint(3) NOT NULL COMMENT '业务类型',
`reason_id` varchar(32) NOT NULL COMMENT '调整原因ID',
`status` tinyint(3) NOT NULL COMMENT '状态',
`description` varchar(200) DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
`approve_by` varchar(32) DEFAULT NULL COMMENT '审核人',
`approve_time` datetime DEFAULT NULL COMMENT '审核时间',
`refuse_reason` varchar(200) DEFAULT NULL COMMENT '拒绝原因',
PRIMARY KEY (`id`),
UNIQUE KEY `code` (`code`),
KEY `sc_id` (`sc_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存调整单';
DROP TABLE IF EXISTS `tbl_stock_adjust_sheet_detail`;
CREATE TABLE `tbl_stock_adjust_sheet_detail` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`sheet_id` varchar(32) NOT NULL COMMENT '单据ID',
`product_id` varchar(32) NOT NULL COMMENT '商品ID',
`stock_num` int(11) NOT NULL COMMENT '调整库存数量',
`description` varchar(200) DEFAULT NULL COMMENT '备注',
`order_no` int(11) NOT NULL COMMENT '排序',
PRIMARY KEY (`id`),
UNIQUE KEY `sheet_id` (`sheet_id`,`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存调整单明细';
@@ -0,0 +1,74 @@
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000006', '3000006', 'ScTransferOrder', '仓库调拨', NULL, 0, '/sc/stock/transfer/index', NULL, '3000', '/transfer', 0, 1, 0, 'stock:sc-transfer:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000006001', '3000006001', '', '新增仓库调拨单', NULL, 0, '', NULL, '3000006', '', 0, 2, 0, 'stock:sc-transfer:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000006002', '3000006002', '', '修改仓库调拨单', NULL, 0, '', NULL, '3000006', '', 0, 2, 0, 'stock:sc-transfer:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000006003', '3000006003', '', '删除仓库调拨单', NULL, 0, '', NULL, '3000006', '', 0, 2, 0, 'stock:sc-transfer:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000006004', '3000006004', '', '导出仓库调拨单', NULL, 0, '', NULL, '3000006', '', 0, 2, 0, 'stock:sc-transfer:export', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000006005', '3000006005', '', '审核仓库调拨单', NULL, 0, '', NULL, '3000006', '', 0, 2, 0, 'stock:sc-transfer:approve', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000006006', '3000006006', '', '仓库调拨单收货', NULL, 0, '', NULL, '3000006', '', 0, 2, 0, 'stock:sc-transfer:receive', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `tbl_retail_out_sheet_detail_lot`
DROP COLUMN `cost_un_tax_amount`;
ALTER TABLE `tbl_sale_out_sheet_detail_lot`
DROP COLUMN `cost_un_tax_amount`;
ALTER TABLE `tbl_product_stock_log`
DROP COLUMN `ori_un_tax_price`,
DROP COLUMN `cur_un_tax_price`,
DROP COLUMN `un_tax_amount`;
ALTER TABLE `tbl_product_stock`
DROP COLUMN `un_tax_price`,
DROP COLUMN `un_tax_amount`;
DROP TABLE IF EXISTS `tbl_sc_transfer_order`;
CREATE TABLE `tbl_sc_transfer_order` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
`code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '单号',
`source_sc_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '转出仓库ID',
`target_sc_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '转入仓库ID',
`total_num` int(11) NOT NULL DEFAULT 0 COMMENT '调拨数量',
`total_amount` decimal(24, 2) NOT NULL DEFAULT 0.00 COMMENT '调拨成本金额',
`description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
`approve_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核人',
`approve_time` datetime NULL DEFAULT NULL COMMENT '审核时间',
`status` tinyint(3) NOT NULL COMMENT '状态',
`refuse_reason` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '拒绝原因',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `code`(`code`) USING BTREE,
INDEX `source_sc_id`(`source_sc_id`) USING BTREE,
INDEX `target_sc_id`(`target_sc_id`) USING BTREE,
INDEX `create_time`(`create_time`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '仓库调拨单' ROW_FORMAT = Dynamic;
CREATE TABLE `tbl_sc_transfer_order_detail` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
`order_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调拨单ID',
`product_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商品ID',
`transfer_num` int(11) NOT NULL COMMENT '调拨数量',
`tax_price` decimal(16, 2) NULL DEFAULT NULL COMMENT '成本价',
`description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`order_no` int(11) NOT NULL COMMENT '排序编号',
`receive_num` int(11) NOT NULL DEFAULT 0 COMMENT '已收货数量',
PRIMARY KEY (`id`) USING BTREE,
INDEX `order_id`(`order_id`) USING BTREE,
INDEX `product_id`(`product_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '仓库调拨单明细' ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `tbl_sc_transfer_order_detail_receive`;
CREATE TABLE `tbl_sc_transfer_order_detail_receive` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
`order_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调拨单ID',
`detail_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '明细ID',
`receive_num` int(11) NOT NULL COMMENT '收货数量',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `order_id`(`order_id`, `detail_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '仓库调拨单收货明细' ROW_FORMAT = Dynamic;
@@ -0,0 +1,81 @@
ALTER TABLE `base_data_product`
ADD COLUMN `product_type` tinyint(3) NOT NULL DEFAULT 1 COMMENT '商品类型' AFTER `brand_id`;
ALTER TABLE `tbl_sale_out_sheet_detail`
ADD COLUMN `ori_bundle_detail_id` varchar(32) NULL COMMENT '组合商品原始明细ID' AFTER `sale_order_detail_id`;
ALTER TABLE `tbl_sale_order_detail`
ADD COLUMN `ori_bundle_detail_id` varchar(32) NULL COMMENT '组合商品原始明细ID' AFTER `out_num`;
ALTER TABLE `tbl_retail_out_sheet_detail`
ADD COLUMN `ori_bundle_detail_id` varchar(32) NULL COMMENT '组合商品原始明细ID' AFTER `return_num`;
DROP TABLE IF EXISTS `base_data_product_bundle`;
CREATE TABLE `base_data_product_bundle` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`main_product_id` varchar(32) NOT NULL COMMENT '主商品ID',
`product_id` varchar(32) NOT NULL COMMENT '单品ID',
`bundle_num` int(11) NOT NULL COMMENT '包含数量',
`sale_price` decimal(24,2) NOT NULL COMMENT '销售价',
`retail_price` decimal(24,2) NOT NULL COMMENT '零售价',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `main_product_id` (`main_product_id`,`product_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='组合商品';
DROP TABLE IF EXISTS `tbl_sale_out_sheet_detail_bundle`;
CREATE TABLE `tbl_sale_out_sheet_detail_bundle` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`sheet_id` varchar(32) NOT NULL COMMENT '出库单ID',
`detail_id` varchar(32) NOT NULL COMMENT '明细ID',
`main_product_id` varchar(32) NOT NULL COMMENT '组合商品ID',
`order_num` int(11) NOT NULL DEFAULT '0' COMMENT '组合商品数量',
`product_id` varchar(32) NOT NULL COMMENT '单品ID',
`product_order_num` int(11) NOT NULL COMMENT '单品数量',
`product_ori_price` decimal(16,2) NOT NULL COMMENT '单品原价',
`product_tax_price` decimal(16,2) NOT NULL COMMENT '单品含税价格',
`product_tax_rate` varchar(16) NOT NULL COMMENT '单品税率',
`product_detail_id` varchar(32) DEFAULT NULL COMMENT '单品明细ID',
PRIMARY KEY (`id`),
UNIQUE KEY `sheet_id` (`sheet_id`,`product_detail_id`) USING BTREE,
KEY `detail_id` (`detail_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售出库单组合商品明细';
DROP TABLE IF EXISTS `tbl_sale_order_detail_bundle`;
CREATE TABLE `tbl_sale_order_detail_bundle` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`order_id` varchar(32) NOT NULL COMMENT '销售单ID',
`detail_id` varchar(32) NOT NULL COMMENT '明细ID',
`main_product_id` varchar(32) NOT NULL COMMENT '组合商品ID',
`order_num` int(11) NOT NULL DEFAULT '0' COMMENT '组合商品数量',
`product_id` varchar(32) NOT NULL COMMENT '单品ID',
`product_order_num` int(11) NOT NULL COMMENT '单品数量',
`product_ori_price` decimal(16,2) NOT NULL COMMENT '单品原价',
`product_tax_price` decimal(16,2) NOT NULL COMMENT '单品含税价格',
`product_tax_rate` varchar(16) NOT NULL COMMENT '单品税率',
`product_detail_id` varchar(32) DEFAULT NULL COMMENT '单品明细ID',
PRIMARY KEY (`id`),
UNIQUE KEY `order_id` (`order_id`,`product_detail_id`) USING BTREE,
KEY `detail_id` (`detail_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售单组合商品明细';
DROP TABLE IF EXISTS `tbl_retail_out_sheet_detail_bundle`;
CREATE TABLE `tbl_retail_out_sheet_detail_bundle` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`sheet_id` varchar(32) NOT NULL COMMENT '出库单ID',
`detail_id` varchar(32) NOT NULL COMMENT '明细ID',
`main_product_id` varchar(32) NOT NULL COMMENT '组合商品ID',
`order_num` int(11) NOT NULL DEFAULT '0' COMMENT '组合商品数量',
`product_id` varchar(32) NOT NULL COMMENT '单品ID',
`product_order_num` int(11) NOT NULL COMMENT '单品数量',
`product_ori_price` decimal(16,2) NOT NULL COMMENT '单品原价',
`product_tax_price` decimal(16,2) NOT NULL COMMENT '单品含税价格',
`product_tax_rate` varchar(16) NOT NULL COMMENT '单品税率',
`product_detail_id` varchar(32) DEFAULT NULL COMMENT '单品明细ID',
PRIMARY KEY (`id`),
UNIQUE KEY `sheet_id` (`sheet_id`,`product_detail_id`) USING BTREE,
KEY `detail_id` (`detail_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='零售出库单组合商品明细';
@@ -0,0 +1,376 @@
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000010', '2000010', 'LogisticsCompany', '物流公司', NULL, 0, '/base-data/logistics/company/index', NULL, '2000', '/logistics/company', 0, 1, 0, 'base-data:logistics-company:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000010001', '2000010001', '', '新增物流公司', NULL, 0, '', NULL, '2000010', '', 0, 2, 0, 'base-data:logistics-company:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000010002', '2000010002', '', '修改物流公司', NULL, 0, '', NULL, '2000010', '', 0, 2, 0, 'base-data:logistics-company:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_product`
ADD COLUMN `weight` decimal(16, 2) NULL COMMENT '重量(kg' AFTER `unit`,
ADD COLUMN `volume` decimal(16, 2) NULL COMMENT '体积(cm3' AFTER `weight`;
ALTER TABLE `sys_menu`
ADD COLUMN `sys_module_id` varchar(32) NULL COMMENT '系统模块ID' AFTER `parent_id`;
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000001';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000001001';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000001002';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000001003';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000002';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000002001';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000002002';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000002003';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000003';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000003001';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000003002';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000004';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000004001';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000004002';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000004003';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000005';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000005001';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000005002';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000005003';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000006';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000007';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000007001';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000007002';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000007003';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000008';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000008001';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000008002';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000009';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010001';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010002';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010003';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010004';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010005';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010006';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010007';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010008';
UPDATE `sys_menu` SET `sys_module_id` = '2' WHERE `id` = '1000010009';
UPDATE `sys_menu` SET `sys_module_id` = '1' WHERE `id` = '1000011';
UPDATE `sys_menu` SET `sys_module_id` = '1' WHERE `id` = '1000011001';
UPDATE `sys_menu` SET `sys_module_id` = '1' WHERE `id` = '1000011002';
UPDATE `sys_menu` SET `sys_module_id` = '14' WHERE `id` = '1000012';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000002';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000002001';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000002002';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000002003';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000004';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000004001';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000004002';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000004003';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000005';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000005001';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000005002';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000005003';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000006';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000006001';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000006002';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000006003';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000007';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000007001';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000007002';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000007003';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000008';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000008001';
UPDATE `sys_menu` SET `sys_module_id` = '3' WHERE `id` = '2000008002';
UPDATE `sys_menu` SET `sys_module_id` = '15' WHERE `id` = '2000009';
UPDATE `sys_menu` SET `sys_module_id` = '15' WHERE `id` = '2000009001';
UPDATE `sys_menu` SET `sys_module_id` = '15' WHERE `id` = '2000009002';
UPDATE `sys_menu` SET `sys_module_id` = '15' WHERE `id` = '2000009003';
UPDATE `sys_menu` SET `sys_module_id` = '15' WHERE `id` = '2000009004';
UPDATE `sys_menu` SET `sys_module_id` = '15' WHERE `id` = '2000010';
UPDATE `sys_menu` SET `sys_module_id` = '15' WHERE `id` = '2000010001';
UPDATE `sys_menu` SET `sys_module_id` = '15' WHERE `id` = '2000010002';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001001';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001001001';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001001002';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001001003';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001002';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001002001';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001002002';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001002003';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001003';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001003001';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001003002';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001003003';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001003004';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001003005';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001004';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001004001';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001004002';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001004003';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001004004';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001004005';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001005';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001005001';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001005002';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001005003';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001006';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001006001';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001006002';
UPDATE `sys_menu` SET `sys_module_id` = '4' WHERE `id` = '2001006003';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002001';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002002';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002002001';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002002002';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002002003';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002002004';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002002005';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002002006';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002003';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002003001';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002003002';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002003003';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002003004';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002003005';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002003006';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002004';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002004001';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002004002';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002004003';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002004004';
UPDATE `sys_menu` SET `sys_module_id` = '5' WHERE `id` = '2002004005';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003001';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003002';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003002001';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003002002';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003002003';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003002004';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003002005';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003003';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003003001';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003003002';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003003003';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003003004';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003003005';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003004';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003004001';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003004002';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003004003';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003004004';
UPDATE `sys_menu` SET `sys_module_id` = '6' WHERE `id` = '2003004005';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004001';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004002';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004002001';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004002002';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004002003';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004002004';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004002005';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004003';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004003001';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004003002';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004003003';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004003004';
UPDATE `sys_menu` SET `sys_module_id` = '7' WHERE `id` = '2004003005';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000001';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000001001';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000003';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000003001';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004001';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004002';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004002001';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004002002';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004002003';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004002004';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004003';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004003001';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004003002';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004003003';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004003004';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004003005';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004003006';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004003007';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004004';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004004001';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004004002';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004004003';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004004004';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004004005';
UPDATE `sys_menu` SET `sys_module_id` = '9' WHERE `id` = '3000004004006';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005001';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005001001';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005001002';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005001003';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005001004';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005001005';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005002';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005002001';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005002002';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005003';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005003001';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005003002';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005003003';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005003004';
UPDATE `sys_menu` SET `sys_module_id` = '10' WHERE `id` = '3000005003005';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000006';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000006001';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000006002';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000006003';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000006004';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000006005';
UPDATE `sys_menu` SET `sys_module_id` = '8' WHERE `id` = '3000006006';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000001001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000001002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000001003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000002001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000002002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000002003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000003001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000003002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000003003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000003004';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000003005';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000004';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000004001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000004002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000004003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000004004';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000004005';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000005';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000005001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000005002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000005003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000005004';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000005005';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000006';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000006001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000006002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000006003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000006004';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000006005';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000007';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000008';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000009';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000009001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000009002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000009003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000009004';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000009005';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000010';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000010001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000010002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000010003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000010004';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000010005';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000011';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000011001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000011002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000011003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000011004';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000011005';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000012';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000012001';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000012002';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000012003';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000012004';
UPDATE `sys_menu` SET `sys_module_id` = '11' WHERE `id` = '4000012005';
UPDATE `sys_menu` SET `sys_module_id` = '12' WHERE `id` = '9000';
UPDATE `sys_menu` SET `sys_module_id` = '12' WHERE `id` = '9000001';
UPDATE `sys_menu` SET `sys_module_id` = '12' WHERE `id` = '9000002';
UPDATE `sys_menu` SET `sys_module_id` = '12' WHERE `id` = '9000003';
UPDATE `sys_menu` SET `sys_module_id` = '12' WHERE `id` = '9000004';
UPDATE `sys_menu` SET `sys_module_id` = '12' WHERE `id` = '9000005';
UPDATE `sys_menu` SET `sys_module_id` = '12' WHERE `id` = '9000006';
UPDATE `sys_menu` SET `sys_module_id` = '12' WHERE `id` = '9000007';
UPDATE `sys_menu` SET `sys_module_id` = '13' WHERE `id` = '9001';
UPDATE `sys_menu` SET `sys_module_id` = '13' WHERE `id` = '9001001';
UPDATE `sys_menu` SET `sys_module_id` = '13' WHERE `id` = '9001002';
UPDATE `sys_menu` SET `title` = '库存数量调整' WHERE `id` = '3000005003';
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000011003', '1000011003', '', '授权模块', NULL, 0, '', NULL, '1000011', '1', '', 0, 2, 0, 'system:tenant:module', 0, 1, '', '系统管理员', '1', '2022-08-18 14:31:12', '系统管理员', '1', '2022-08-18 14:31:12');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1001', '1001', 'Platform', '平台管理', 'a-menu', NULL, '', NULL, '0001', '1', '/platform', 0, 0, 0, '', 1, 1, '', '系统管理员', '1', '2021-07-04 00:22:05', '系统管理员', '1', '2021-07-04 00:34:23');
UPDATE `sys_menu` SET `parent_id` = '1001' WHERE `id` = '1000011';
UPDATE `sys_menu` SET `parent_id` = '1001' WHERE `id` = '1000012';
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('5000', '5000', 'Logistics', '物流管理', 'a-menu', NULL, '', NULL, '0001', '15', '/logistics', 0, 0, 0, '', 1, 1, '', '系统管理员', '1', '2021-07-04 00:22:05', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('5000001', '5000001', 'LogisticsSheet', '物流单管理', NULL, 0, '/sc/logistics/sheet/index', NULL, '5000', '15', '/sheet', 0, 1, 0, 'logistics:sheet:query', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2021-12-09 17:54:42');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('5000001001', '5000001001', '', '新增物流单', NULL, 0, '', NULL, '5000001', '15', '', 0, 2, 0, 'logistics:sheet:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-12-09 17:54:42');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('5000001002', '5000001002', '', '修改物流单', NULL, 0, '', NULL, '5000001', '15', '', 0, 2, 0, 'logistics:sheet:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-12-09 17:54:42');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('5000001003', '5000001003', '', '删除物流单', NULL, 0, '', NULL, '5000001', '15', '', 0, 2, 0, 'logistics:sheet:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:24:36', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('5000001004', '5000001004', '', '物流单发货', NULL, 0, '', NULL, '5000001', '15', '', 0, 2, 0, 'logistics:sheet:delivery', 1, 1, '', '系统管理员', '1', '2021-05-12 23:24:36', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('5000001005', '5000001005', '', '导入物流单', NULL, 0, '', NULL, '5000001', '15', '', 0, 2, 0, 'logistics:sheet:import', 1, 1, '', '系统管理员', '1', '2021-05-12 23:24:36', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('5000001006', '5000001006', '', '导出物流单', NULL, 0, '', NULL, '5000001', '15', '', 0, 2, 0, 'logistics:sheet:export', 1, 1, '', '系统管理员', '1', '2021-05-12 23:24:36', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `tbl_sale_config`
ADD COLUMN `out_stock_require_logistics` tinyint(1) NOT NULL DEFAULT 0 COMMENT '销售出库单是否需要物流单' AFTER `sale_return_multiple_relate_out_stock`;
ALTER TABLE `tbl_retail_config`
ADD COLUMN `retail_out_sheet_require_logistics` tinyint(1) NOT NULL DEFAULT 0 COMMENT '零售出库单是否需要发货' AFTER `retail_return_require_member`;
DROP TABLE IF EXISTS `base_data_logistics_company`;
CREATE TABLE `base_data_logistics_company` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`code` varchar(20) NOT NULL COMMENT '编号',
`name` varchar(20) NOT NULL COMMENT '名称',
`contact` varchar(100) DEFAULT NULL COMMENT '联系人',
`telephone` varchar(20) DEFAULT NULL COMMENT '联系电话',
`city_id` varchar(32) DEFAULT NULL COMMENT '地区ID',
`address` varchar(200) DEFAULT NULL COMMENT '地址',
`available` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态',
`description` varchar(200) NOT NULL DEFAULT '' COMMENT '备注',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流公司';
DROP TABLE IF EXISTS `tbl_logistics_sheet`;
CREATE TABLE `tbl_logistics_sheet` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`code` varchar(32) NOT NULL COMMENT '业务单据号',
`logistics_no` varchar(100) DEFAULT NULL COMMENT '物流单号',
`logistics_company_id` varchar(32) NOT NULL COMMENT '物流公司ID',
`sender_name` varchar(100) NOT NULL COMMENT '寄件人姓名',
`sender_telephone` varchar(20) NOT NULL COMMENT '寄件人联系电话',
`sender_province_id` varchar(32) NOT NULL COMMENT '寄件人省',
`sender_city_id` varchar(32) NOT NULL COMMENT '寄件人市',
`sender_district_id` varchar(32) NOT NULL COMMENT '寄件人区',
`sender_address` varchar(200) NOT NULL COMMENT '寄件人地址',
`receiver_name` varchar(100) NOT NULL COMMENT '收件人姓名',
`receiver_telephone` varchar(20) NOT NULL COMMENT '收件人联系电话',
`receiver_province_id` varchar(32) NOT NULL COMMENT '收件人省',
`receiver_city_id` varchar(32) NOT NULL COMMENT '收件人市',
`receiver_district_id` varchar(32) NOT NULL COMMENT '收件人区',
`receiver_address` varchar(200) NOT NULL COMMENT '收件人地址',
`total_weight` decimal(16,2) DEFAULT NULL COMMENT '总重量(kg',
`total_volume` decimal(16,2) DEFAULT NULL COMMENT '总体积(cm3',
`total_amount` decimal(16,2) DEFAULT NULL COMMENT '物流费',
`status` tinyint(3) NOT NULL COMMENT '状态',
`description` varchar(200) NOT NULL DEFAULT '' COMMENT '备注',
`delivery_by` varchar(32) DEFAULT NULL COMMENT '发货人',
`delivery_time` datetime DEFAULT NULL COMMENT '发货时间',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `code` (`code`),
KEY `logistics_no` (`logistics_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流单';
DROP TABLE IF EXISTS `tbl_logistics_sheet_detail`;
CREATE TABLE `tbl_logistics_sheet_detail` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`sheet_id` varchar(32) NOT NULL COMMENT '物流单ID',
`biz_id` varchar(32) NOT NULL COMMENT '业务单据ID',
`biz_type` tinyint(3) NOT NULL COMMENT '业务类型',
PRIMARY KEY (`id`),
UNIQUE KEY ```biz_id``` (`biz_id`,`biz_type`) USING BTREE,
KEY `sheet_id` (`sheet_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流单明细';
@@ -0,0 +1,34 @@
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('9000008', '9000008', 'CustomPage', '自定义页面', NULL, 0, '/development/custom/page/index', NULL, '9000', '12', '/custom/page', 0, 1, 0, '', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2021-12-09 17:54:42');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1001001', '1001001', 'OnelineCode', '在线开发', 'a-menu', 0, '/iframes/index', NULL, '1001', '1', '/online-code?src=${magic-api.base-url}${magic-api.web}/index.html', 0, 1, 0, 'system:online-code:config', 1, 1, '', '系统管理员', '1', '2021-05-08 18:37:01', '系统管理员', '1', '2021-12-09 17:54:42');
DROP TABLE IF EXISTS `gen_custom_page_category`;
CREATE TABLE `gen_custom_page_category` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`parent_id` varchar(32) DEFAULT NULL COMMENT '父级ID',
`code` varchar(20) NOT NULL COMMENT '编号',
`name` varchar(20) NOT NULL COMMENT '名称',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自定义页面分类';
DROP TABLE IF EXISTS `gen_custom_page`;
CREATE TABLE `gen_custom_page` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(20) NOT NULL COMMENT '名称',
`category_id` varchar(32) DEFAULT NULL COMMENT '分类ID',
`page_code` longtext NOT NULL COMMENT '页面代码',
`script_code` longtext COMMENT '脚本代码',
`description` varchar(200) DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) NOT NULL COMMENT '创建人ID',
`create_by_id` varchar(32) NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(32) NOT NULL COMMENT '修改人ID',
`update_by_id` varchar(32) NOT NULL COMMENT '修改人ID',
`update_time` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `category_id` (`category_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='自定义页面';
@@ -0,0 +1,7 @@
ALTER TABLE `sys_parameter`
MODIFY COLUMN `pm_value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '' AFTER `pm_key`;
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (9, 'upload.type', 'LOCAL', '上传类型,分为LOCAL、OSS、COS、OBS。LOCAL:服务器本地存储。OSS:阿里云对象存储。COS:腾讯云对象存储。OBS:华为云对象存储', '系统管理员', '1', '2023-06-27 10:38:05', '系统管理员', '1', '2023-06-27 10:38:10');
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (11, 'upload.obs.config', '{\"customUrl\":\"\",\"endpoint\":\"yourEndpoint\",\"ak\":\"yourAccessKeyId\",\"sk\":\"yourAccessKeySecret\",\"bucketName\":\"yourBucketName\"}', '华为云对象存储配置信息,upload.type=OBS时生效。customUrl为自定义域名(需带协议)为空代表不使用自定义域名,示例值:https://www.lframework.com。其他参数均在华为云控台获取。', '系统管理员', '1', '2023-06-27 10:38:05', '系统管理员', '1', '2023-06-27 10:38:10');
DELETE FROM `sys_parameter` WHERE `id` = 7 AND `pm_key` = 'sms.ali';
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (10, 'upload.oss.config', '{\"customUrl\":\"\",\"endpoint\":\"yourEndpoint\",\"internalEndPoint\":\"\",\"accessKeyId\":\"yourAccessKeyId\",\"accessKeySecret\":\"yourAccessKeySecret\",\"bucketName\":\"yourBucketName\"}', '阿里云对象存储配置信息,upload.type=OSS时生效,注意:当服务器与OSS同一地域时,建议填写internalEndPoint,此值表示内网endpoint,在上传时会优先使用内网endpoint。customUrl为自定义域名(需带协议)为空代表不使用自定义域名,示例值:https://www.lframework.com。其他参数均在阿里云控台获取。', '系统管理员', '1', '2023-06-27 10:38:05', '系统管理员', '1', '2023-06-27 10:38:10');
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (12, 'upload.cos.config', '{\"customUrl\":\"yourCustomUrl\",\"region\":\"yourRegion\",\"secretId\":\"yourSecretId\",\"secretKey\":\"yourSecretKey\",\"bucketName\":\"yourBucketName\"}', '腾讯云对象存储配置信息,upload.type=COS时生效。customUrl为下载文件时的域名,如果使用自定义域名,示例值:https://www.lframework.com,如果不使用自定义域名,那么就填写COS的访问域名。其他参数均在腾讯云控台获取。', '系统管理员', '1', '2023-06-27 10:38:05', '系统管理员', '1', '2023-06-27 14:48:02');
@@ -0,0 +1,49 @@
ALTER TABLE `sw_file_box` ADD COLUMN `content_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ContentType' AFTER `url`;
ALTER TABLE `sw_file_box` MODIFY COLUMN `url` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'Url' AFTER `name`;
ALTER TABLE `sw_file_box` ADD COLUMN `file_type` tinyint(3) NOT NULL COMMENT '文件类型' AFTER `content_type`;
ALTER TABLE `sw_file_box` ADD COLUMN `file_size` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件大小' AFTER `file_type`;
ALTER TABLE `sw_file_box` ADD COLUMN `file_path` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件路径' AFTER `file_size`;
ALTER TABLE `sw_file_box` ADD COLUMN `file_suffix` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件后缀' AFTER `file_path`;
ALTER TABLE `sw_file_box` DROP COLUMN `available`;
DELETE FROM `sys_menu` WHERE `id` = '0001';
DELETE FROM `sys_menu` WHERE `id` = '2001003';
DELETE FROM `sys_menu` WHERE `id` = '2001003001';
DELETE FROM `sys_menu` WHERE `id` = '2001003002';
DELETE FROM `sys_menu` WHERE `id` = '2001003003';
DELETE FROM `sys_menu` WHERE `id` = '2001003004';
DELETE FROM `sys_menu` WHERE `id` = '2001003005';
DELETE FROM `sys_menu` WHERE `id` = '2001006';
DELETE FROM `sys_menu` WHERE `id` = '2001006001';
DELETE FROM `sys_menu` WHERE `id` = '2001006002';
DELETE FROM `sys_menu` WHERE `id` = '2001006003';
DELETE FROM `sys_menu` WHERE `id` = '9000006';
DELETE FROM `sys_menu` WHERE `id` = '9000007';
DELETE FROM `sys_menu` WHERE `id` = '9001002';
UPDATE `sys_menu` SET `code` = '1000', `name` = 'System', `title` = '系统管理', `icon` = 'ant-design:setting-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '2', `path` = '/system', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-04 00:22:05', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2023-10-27 17:01:09' WHERE `id` = '1000';
UPDATE `sys_menu` SET `code` = '1000001', `name` = 'Menu', `title` = '菜单管理', `icon` = NULL, `component_type` = 0, `component` = '/system/menu/index', `request_param` = NULL, `parent_id` = '1000', `sys_module_id` = '2', `path` = '/menu', `no_cache` = 0, `display` = 1, `hidden` = 0, `permission` = 'system:menu:query', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-08 18:37:01', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2023-10-27 17:01:09' WHERE `id` = '1000001';
UPDATE `sys_menu` SET `code` = '1000001001', `name` = '', `title` = '新增菜单', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '1000001', `sys_module_id` = '2', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'system:menu:add', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-12 22:50:27', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2023-10-27 17:01:09' WHERE `id` = '1000001001';
UPDATE `sys_menu` SET `code` = '1000001002', `name` = '', `title` = '修改菜单', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '1000001', `sys_module_id` = '2', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'system:menu:modify', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-12 23:23:33', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2023-10-27 17:00:27' WHERE `id` = '1000001002';
UPDATE `sys_menu` SET `code` = '1000001003', `name` = '', `title` = '删除菜单', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '1000001', `sys_module_id` = '2', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'system:menu:delete', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-12 23:24:36', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2023-10-27 17:00:27' WHERE `id` = '1000001003';
UPDATE `sys_menu` SET `code` = '1000002', `name` = 'Dept', `title` = '部门管理', `icon` = NULL, `component_type` = 0, `component` = '/system/dept/index', `request_param` = NULL, `parent_id` = '1000', `sys_module_id` = '2', `path` = '/dept', `no_cache` = 0, `display` = 1, `hidden` = 0, `permission` = 'system:dept:query', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:09:27', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2023-10-27 17:00:27' WHERE `id` = '1000002';
UPDATE `sys_menu` SET `code` = '1000002001', `name` = '', `title` = '新增部门', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '1000002', `sys_module_id` = '2', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'system:dept:add', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-06-27 01:33:31', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2023-10-27 17:00:27' WHERE `id` = '1000002001';
UPDATE `sys_menu` SET `code` = '1000002002', `name` = '', `title` = '修改部门', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '1000002', `sys_module_id` = '2', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'system:dept:modify', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-06-27 01:33:47', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2023-10-27 17:00:27' WHERE `id` = '1000002002';
UPDATE `sys_menu` SET `code` = '1000002003', `name` = '', `title` = '部门权限', `icon` = NULL, `component_type` = 0, `component` = '', `request_param` = NULL, `parent_id` = '1000002', `sys_module_id` = '2', `path` = '', `no_cache` = 0, `display` = 2, `hidden` = 0, `permission` = 'system:dept:permission', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-06-27 01:33:47', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2023-10-27 17:00:27' WHERE `id` = '1000002003';
UPDATE `sys_menu` SET `code` = '1000012', `name` = 'OpenDomain', `title` = '开放域', `icon` = NULL, `component_type` = 0, `component` = '/system/open-domain/index', `request_param` = NULL, `parent_id` = '1001', `sys_module_id` = '14', `path` = '/open-domain', `no_cache` = 0, `display` = 1, `hidden` = 0, `permission` = 'system:open-domain:config', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-08 18:37:01', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-12-09 17:54:42' WHERE `id` = '1000012';
UPDATE `sys_menu` SET `code` = '1001', `name` = 'Platform', `title` = '平台管理', `icon` = 'ant-design:global-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '1', `path` = '/platform', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-04 00:22:05', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-04 00:34:23' WHERE `id` = '1001';
UPDATE `sys_menu` SET `code` = '1001001', `name` = 'OnelineCode', `title` = '在线开发', `icon` = NULL, `component_type` = 0, `component` = '/iframes/index', `request_param` = NULL, `parent_id` = '1001', `sys_module_id` = '1', `path` = '/online-code?src=${magic-api.base-url}${magic-api.web}/index.html', `no_cache` = 0, `display` = 1, `hidden` = 0, `permission` = 'system:online-code:config', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-05-08 18:37:01', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-12-09 17:54:42' WHERE `id` = '1001001';
UPDATE `sys_menu` SET `code` = '2000', `name` = 'BaseData', `title` = '基础信息管理', `icon` = 'ant-design:container-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '3', `path` = '/base-data', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '2000';
UPDATE `sys_menu` SET `code` = '2001', `name` = 'Product', `title` = '商品中心', `icon` = 'ant-design:appstore-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '4', `path` = '/product', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '2001';
UPDATE `sys_menu` SET `code` = '2002', `name` = 'Purchase', `title` = '采购管理', `icon` = 'ant-design:money-collect-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '5', `path` = '/purchase', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '2002';
UPDATE `sys_menu` SET `code` = '2003', `name` = 'Sale', `title` = '销售管理', `icon` = 'ant-design:rocket-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '6', `path` = '/sale', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '2003';
UPDATE `sys_menu` SET `code` = '2004', `name` = 'Retail', `title` = '零售管理', `icon` = 'ant-design:flag-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '7', `path` = '/retail', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '2004';
UPDATE `sys_menu` SET `code` = '3000', `name` = 'StockManage', `title` = '库存管理', `icon` = 'ant-design:hdd-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '8', `path` = '/stock', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '3000';
UPDATE `sys_menu` SET `code` = '3000004', `name` = 'TakeStock', `title` = '库存盘点', `icon` = 'ant-design:monitor-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '9', `path` = '/take', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '3000004';
UPDATE `sys_menu` SET `code` = '3000005', `name` = 'StockAdjust', `title` = '库存调整', `icon` = 'ant-design:thunderbolt-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '10', `path` = '/take-adjust', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '3000005';
UPDATE `sys_menu` SET `code` = '4000', `name` = 'SettleManage', `title` = '结算管理', `icon` = 'ant-design:credit-card-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '11', `path` = '/settle', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '4000';
UPDATE `sys_menu` SET `code` = '4000007', `name` = 'SupplierSettleManage', `title` = '供应商结算', `icon` = NULL, `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = '4000', `sys_module_id` = '11', `path` = '/supplier', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '4000007';
UPDATE `sys_menu` SET `code` = '4000008', `name` = 'CustomerSettleManage', `title` = '客户结算', `icon` = NULL, `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = '4000', `sys_module_id` = '11', `path` = '/customer', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-05 01:21:35', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-05 01:21:39' WHERE `id` = '4000008';
UPDATE `sys_menu` SET `code` = '5000', `name` = 'Logistics', `title` = '物流管理', `icon` = 'ant-design:gift-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '15', `path` = '/logistics', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-04 00:22:05', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-04 00:34:23' WHERE `id` = '5000';
UPDATE `sys_menu` SET `code` = '9000', `name` = 'Development', `title` = '开发管理', `icon` = 'ant-design:tool-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '12', `path` = '/development', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-04 00:22:05', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-04 00:34:23' WHERE `id` = '9000';
UPDATE `sys_menu` SET `code` = '9001', `name` = 'SmartWork', `title` = '便捷办公', `icon` = 'ant-design:read-outlined', `component_type` = NULL, `component` = '', `request_param` = NULL, `parent_id` = NULL, `sys_module_id` = '13', `path` = '/smart-work', `no_cache` = 0, `display` = 0, `hidden` = 0, `permission` = '', `is_special` = 1, `available` = 1, `description` = '', `create_by` = '系统管理员', `create_by_id` = '1', `create_time` = '2021-07-04 00:22:05', `update_by` = '系统管理员', `update_by_id` = '1', `update_time` = '2021-07-04 00:34:23' WHERE `id` = '9001';
ALTER TABLE `op_logs`
MODIFY COLUMN `log_type` int(11) NOT NULL COMMENT '类别' AFTER `name`;
@@ -0,0 +1 @@
INSERT INTO `sys_parameter` (`id`, `pm_key`, `pm_value`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (13, 'login-captcha.enabled', 'true', '登录时是否需要验证码,true:需要;false:不需要。', '系统管理员', '1', '2024-10-16 21:39:32', '系统管理员', '1', '2024-10-16 21:39:32');
@@ -0,0 +1,134 @@
ALTER TABLE `base_data_product`
MODIFY COLUMN `sku_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SKU' AFTER `short_name`,
MODIFY COLUMN `brand_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '品牌ID' AFTER `category_id`;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000002004', '1000002004', '', '删除部门', NULL, 0, '', NULL, '1000002', '2', '', 0, 2, 0, 'system:dept:delete', 1, 1, '', '系统管理员', '1', '2021-06-27 01:33:47', '系统管理员', '1', '2025-01-19 18:36:07');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000004004', '1000004004', '', '删除角色', NULL, 0, '', NULL, '1000004', '2', '', 0, 2, 0, 'system:role:delete', 1, 1, '', '系统管理员', '1', '2021-06-30 00:32:45', '系统管理员', '1', '2025-01-19 18:36:08');
ALTER TABLE `sys_role`
DROP INDEX `code`,
DROP INDEX `name`,
ADD INDEX `code`(`code`) USING BTREE,
ADD INDEX `name`(`name`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000005004', '1000005004', '', '删除用户', NULL, 0, '', NULL, '1000005', '2', '', 0, 2, 0, 'system:user:delete', 1, 1, '', '系统管理员', '1', '2021-06-30 00:32:45', '系统管理员', '1', '2025-01-19 18:36:09');
ALTER TABLE `sys_user`
DROP INDEX `code`,
DROP INDEX `username`,
ADD INDEX `code`(`code`) USING BTREE,
ADD INDEX `username`(`username`) USING BTREE;
ALTER TABLE `sys_notify_group`
DROP INDEX `name`,
ADD INDEX `name`(`name`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000014003', '1000014003', '', '删除消息通知组', NULL, 0, '', NULL, '1000014', '8', '', 0, 2, 0, 'system:notify-group:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2025-01-19 18:36:11');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('1000015003', '1000015003', '', '删除用户分组', NULL, 0, '', NULL, '1000015', '8', '', 0, 2, 0, 'system:user-group:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2025-01-19 18:36:11');
ALTER TABLE `sys_user_group`
DROP INDEX `name`,
DROP INDEX `code`,
ADD INDEX `name`(`name`) USING BTREE,
ADD INDEX `code`(`code`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000002004', '2000002004', '', '删除仓库', NULL, 0, '', NULL, '2000002', '3', '', 0, 2, 0, 'base-data:store-center:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_store_center`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE;
ALTER TABLE `base_data_customer`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000004004', '2000004004', '', '删除客户', NULL, 0, '', NULL, '2000004', '3', '', 0, 2, 0, 'base-data:customer:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000005004', '2000005004', '', '删除供应商', NULL, 0, '', NULL, '2000005', '3', '', 0, 2, 0, 'base-data:supplier:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_supplier`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000006004', '2000006004', '', '删除会员', NULL, 0, '', NULL, '2000006', '3', '', 0, 2, 0, 'base-data:member:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_member`
DROP INDEX `code`,
DROP INDEX `telephone`,
ADD INDEX `code`(`code`) USING BTREE,
ADD INDEX `telephone`(`telephone`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000007004', '2000007004', '', '删除门店', NULL, 0, '', NULL, '2000007', '3', '', 0, 2, 0, 'base-data:shop:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `tbl_shop`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000008003', '2000008003', '', '删除支付方式', NULL, 0, '', NULL, '2000008', '3', '', 0, 2, 0, 'base-data:pay-type:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_pay_type`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000009005', '2000009005', '', '删除地址', NULL, 0, '', NULL, '2000009', '15', '', 0, 2, 0, 'base-data:address:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_logistics_company`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000010003', '2000010003', '', '删除物流公司', NULL, 0, '', NULL, '2000010', '15', '', 0, 2, 0, 'base-data:logistics-company:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_product_category`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE,
ADD INDEX `name`(`name`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001001004', '2001001004', '', '删除分类', NULL, 0, '', NULL, '2001001', '4', '', 0, 2, 0, 'base-data:product:category:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_product_brand`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE,
ADD INDEX `name`(`name`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001002004', '2001002004', '', '删除品牌', NULL, 0, '', NULL, '2001002', '4', '', 0, 2, 0, 'base-data:product:brand:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_product_property`
ADD INDEX `code`(`code`) USING BTREE,
ADD INDEX `name`(`name`) USING BTREE;
ALTER TABLE `base_data_product_property_item`
DROP INDEX `property_id`,
ADD INDEX `property_id`(`property_id`, `code`) USING BTREE,
ADD INDEX `property_id2`(`name`, `property_id`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001004006', '2001004006', '', '删除属性', NULL, 0, '', NULL, '2001004', '4', '', 0, 2, 0, 'base-data:product:property:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001004007', '2001004007', '', '删除属性值', NULL, 0, '', NULL, '2001004', '4', '', 0, 2, 0, 'base-data:product:property-item:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `base_data_product`
DROP INDEX `code`,
DROP INDEX `sku_code`,
ADD INDEX `code`(`code`) USING BTREE,
ADD INDEX `sku_code`(`sku_code`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2001005004', '2001005004', '', '删除商品', NULL, 0, '', NULL, '2001005', '4', '', 0, 2, 0, 'base-data:product:info:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `tbl_stock_adjust_reason`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('3000005002003', '3000005002003', '', '删除库存调整原因', NULL, 0, '', NULL, '3000005002', '10', '', 0, 2, 0, 'stock:adjust:reason:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23');
ALTER TABLE `settle_in_item`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE;
ALTER TABLE `settle_out_item`
DROP INDEX `code`,
ADD INDEX `code`(`code`) USING BTREE;
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('4000001004', '4000001004', '', '删除收入项目', NULL, 0, '', NULL, '4000001', '11', '', 0, 2, 0, 'settle:in-item:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 10:53:45', '系统管理员', '1', '2021-07-04 00:34:23');
INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('4000002004', '4000002004', '', '删除支出项目', NULL, 0, '', NULL, '4000002', '11', '', 0, 2, 0, 'settle:out-item:delete', 1, 1, '', '系统管理员', '1', '2021-05-12 10:53:45', '系统管理员', '1', '2021-07-04 00:34:23');
UPDATE `sys_menu` SET `parent_id` = '1001' WHERE `id` = '9000';
UPDATE `sys_menu` SET `icon` = NULL WHERE `id` = '9000';
UPDATE `sys_menu` SET `parent_id` = '1001' WHERE `id` = '1000001';
UPDATE `sys_menu` SET `sys_module_id` = '1' WHERE `id` IN (
'1000001',
'1000001001',
'1000001002',
'1000001003',
'9000',
'9000001',
'9000002',
'9000003',
'9000004',
'9000005',
'9000008'
);
UPDATE `sys_menu` SET `sys_module_id` = '12' WHERE `id` IN (
'9000',
'9000001',
'9000002',
'9000003',
'9000004',
'9000005',
'9000008'
);
UPDATE `sys_menu` SET `parent_id` = '1001' WHERE `id` = '1000007';
UPDATE `sys_menu` SET `parent_id` = '1001' WHERE `id` = '1000010';
DELETE FROM `sys_menu` WHERE `id` IN (
'9000002',
'9000003',
'9000004',
'9000005',
'9000008'
);
@@ -0,0 +1,12 @@
#!/bin/sh
export BUILD_ID=dontkillme
if [ -z $JAVA_HOME ] ;
then
echo "JAVA_HOME is not exist, please check"
exit 1
fi
export APP_HOME_BIN_PATH=$(cd `dirname $0`; pwd)
export APP_HOME=${APP_HOME_BIN_PATH%/bin}
$JAVA_HOME/bin/java -jar -server -Xmx256m -XX:MaxPermSize=32m -XX:MaxNewSize=32m $APP_HOME/@build.finalName@.jar >/dev/null 2>&1 &
@@ -0,0 +1,10 @@
#!/bin/sh
export APP_HOME_BIN_PATH=$(cd `dirname $0`; pwd)
export APP_HOME=${APP_HOME_BIN_PATH%/bin}
export C_PID=`ps -ef | grep java | grep $APP_HOME | grep -v grep | awk '{print $2}'`
if [ ! -z "$C_PID" ]; then
kill -15 $C_PID;
fi
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yueqian-erp</artifactId>
<groupId>com.yueqian</groupId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yueqian-erp-basedata</artifactId>
<name>【${project.artifactId}】基础数据服务层</name>
<dependencies>
<dependency>
<groupId>com.yueqian</groupId>
<artifactId>yueqian-erp-core</artifactId>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,120 @@
package com.yueqian.xingyun.basedata.bo.address;
import com.lframework.starter.common.constants.StringPool;
import com.lframework.starter.web.core.annotations.convert.EnumConvert;
import com.lframework.starter.web.core.bo.BaseBo;
import com.lframework.starter.web.core.utils.ApplicationUtil;
import com.yueqian.xingyun.basedata.entity.Address;
import com.lframework.starter.web.inner.dto.dic.city.DicCityDto;
import com.lframework.starter.web.inner.service.DicCityService;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class AddressSelectorBo extends BaseBo<Address> {
/**
* ID
*/
@Schema(description = "ID")
private String id;
/**
* 地址类型
*/
@Schema(description = "地址类型")
@EnumConvert
private Integer addressType;
/**
* 姓名
*/
@Schema(description = "姓名")
private String name;
/**
* 手机号
*/
@Schema(description = "手机号")
private String telephone;
/**
* 省ID
*/
@Schema(description = "省ID")
private String provinceId;
/**
* 省名称
*/
@Schema(description = "省名称")
private String provinceName;
/**
* 市ID
*/
@Schema(description = "市ID")
private String cityId;
/**
* 市名称
*/
@Schema(description = "市名称")
private String cityName;
/**
* 区ID
*/
@Schema(description = "区ID")
private String districtId;
/**
* 区名称
*/
@Schema(description = "区名称")
private String districtName;
/**
* 地区全称
*/
@Schema(description = "地区全称")
private String areaFullName;
/**
* 详细地址
*/
@Schema(description = "详细地址")
private String address;
/**
* 是否默认地址
*/
@Schema(description = "是否默认地址")
private Boolean isDefault;
public AddressSelectorBo() {
}
public AddressSelectorBo(Address dto) {
super(dto);
}
@Override
protected void afterInit(Address dto) {
DicCityService dicCityService = ApplicationUtil.getBean(DicCityService.class);
DicCityDto province = dicCityService.findById(dto.getProvinceId());
this.provinceName = province.getName();
DicCityDto city = dicCityService.findById(dto.getCityId());
this.cityName = city.getName();
DicCityDto district = dicCityService.findById(dto.getDistrictId());
this.districtName = district.getName();
this.areaFullName =
this.provinceName + StringPool.CITY_SPLIT + this.cityName + StringPool.CITY_SPLIT
+ this.districtName;
}
}
@@ -0,0 +1,161 @@
package com.yueqian.xingyun.basedata.bo.address;
import com.lframework.starter.web.core.annotations.convert.EnumConvert;
import com.lframework.starter.web.core.bo.BaseBo;
import com.lframework.starter.web.core.utils.ApplicationUtil;
import com.yueqian.xingyun.basedata.entity.Address;
import com.yueqian.xingyun.basedata.entity.Customer;
import com.yueqian.xingyun.basedata.entity.Member;
import com.yueqian.xingyun.basedata.entity.Shop;
import com.yueqian.xingyun.basedata.entity.StoreCenter;
import com.yueqian.xingyun.basedata.entity.Supplier;
import com.yueqian.xingyun.basedata.enums.AddressEntityType;
import com.yueqian.xingyun.basedata.service.customer.CustomerService;
import com.yueqian.xingyun.basedata.service.member.MemberService;
import com.yueqian.xingyun.basedata.service.shop.ShopService;
import com.yueqian.xingyun.basedata.service.storecenter.StoreCenterService;
import com.yueqian.xingyun.basedata.service.supplier.SupplierService;
import com.lframework.starter.web.inner.dto.dic.city.DicCityDto;
import com.lframework.starter.web.inner.service.DicCityService;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class GetAddressBo extends BaseBo<Address> {
/**
* ID
*/
@Schema(description = "ID")
private String id;
/**
* 实体ID
*/
@Schema(description = "实体ID")
private String entityId;
/**
* 实体名称
*/
@Schema(description = "实体名称")
private String entityName;
/**
* 实体类型
*/
@Schema(description = "实体类型")
@EnumConvert
private Integer entityType;
/**
* 地址类型
*/
@Schema(description = "地址类型")
@EnumConvert
private Integer addressType;
/**
* 姓名
*/
@Schema(description = "姓名")
private String name;
/**
* 手机号
*/
@Schema(description = "手机号")
private String telephone;
/**
* 省ID
*/
@Schema(description = "省ID")
private String provinceId;
/**
* 省名称
*/
@Schema(description = "省名称")
private String provinceName;
/**
* 市ID
*/
@Schema(description = "市ID")
private String cityId;
/**
* 市名称
*/
@Schema(description = "市名称")
private String cityName;
/**
* 区ID
*/
@Schema(description = "区ID")
private String districtId;
/**
* 区名称
*/
@Schema(description = "区名称")
private String districtName;
/**
* 详细地址
*/
@Schema(description = "详细地址")
private String address;
/**
* 是否默认地址
*/
@Schema(description = "是否默认地址")
private Boolean isDefault;
public GetAddressBo() {
}
public GetAddressBo(Address dto) {
super(dto);
}
@Override
protected void afterInit(Address dto) {
DicCityService dicCityService = ApplicationUtil.getBean(DicCityService.class);
DicCityDto province = dicCityService.findById(dto.getProvinceId());
this.provinceName = province.getName();
DicCityDto city = dicCityService.findById(dto.getCityId());
this.cityName = city.getName();
DicCityDto district = dicCityService.findById(dto.getDistrictId());
this.districtName = district.getName();
if (dto.getEntityType() == AddressEntityType.SC) {
StoreCenterService storeCenterService = ApplicationUtil.getBean(StoreCenterService.class);
StoreCenter sc = storeCenterService.findById(dto.getEntityId());
this.entityName = sc.getName();
} else if (dto.getEntityType() == AddressEntityType.CUSTOMER) {
CustomerService customerService = ApplicationUtil.getBean(CustomerService.class);
Customer customer = customerService.findById(dto.getEntityId());
this.entityName = customer.getName();
} else if (dto.getEntityType() == AddressEntityType.SUPPLIER) {
SupplierService supplierService = ApplicationUtil.getBean(SupplierService.class);
Supplier supplier = supplierService.findById(dto.getEntityId());
this.entityName = supplier.getName();
} else if (dto.getEntityType() == AddressEntityType.MEMBER) {
MemberService memberService = ApplicationUtil.getBean(MemberService.class);
Member member = memberService.findById(dto.getEntityId());
this.entityName = member.getName();
} else if (dto.getEntityType() == AddressEntityType.SHOP) {
ShopService shopService = ApplicationUtil.getBean(ShopService.class);
Shop shop = shopService.findById(dto.getEntityId());
this.entityName = shop.getName();
}
}
}
@@ -0,0 +1,174 @@
package com.yueqian.xingyun.basedata.bo.address;
import com.lframework.starter.web.core.annotations.convert.EnumConvert;
import com.lframework.starter.web.core.bo.BaseBo;
import com.lframework.starter.web.core.utils.ApplicationUtil;
import com.yueqian.xingyun.basedata.entity.Address;
import com.yueqian.xingyun.basedata.entity.Customer;
import com.yueqian.xingyun.basedata.entity.Member;
import com.yueqian.xingyun.basedata.entity.Shop;
import com.yueqian.xingyun.basedata.entity.StoreCenter;
import com.yueqian.xingyun.basedata.entity.Supplier;
import com.yueqian.xingyun.basedata.enums.AddressEntityType;
import com.yueqian.xingyun.basedata.service.customer.CustomerService;
import com.yueqian.xingyun.basedata.service.member.MemberService;
import com.yueqian.xingyun.basedata.service.shop.ShopService;
import com.yueqian.xingyun.basedata.service.storecenter.StoreCenterService;
import com.yueqian.xingyun.basedata.service.supplier.SupplierService;
import com.lframework.starter.web.inner.dto.dic.city.DicCityDto;
import com.lframework.starter.web.inner.service.DicCityService;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
import lombok.Data;
@Data
public class QueryAddressBo extends BaseBo<Address> {
/**
* ID
*/
@Schema(description = "ID")
private String id;
/**
* 实体ID
*/
@Schema(description = "实体ID")
private String entityId;
/**
* 实体名称
*/
@Schema(description = "实体名称")
private String entityName;
/**
* 实体类型
*/
@Schema(description = "实体类型")
@EnumConvert
private Integer entityType;
/**
* 地址类型
*/
@Schema(description = "地址类型")
@EnumConvert
private Integer addressType;
/**
* 姓名
*/
@Schema(description = "姓名")
private String name;
/**
* 手机号
*/
@Schema(description = "手机号")
private String telephone;
/**
* 省ID
*/
@Schema(description = "省ID")
private String provinceId;
/**
* 省名称
*/
@Schema(description = "省名称")
private String provinceName;
/**
* 市ID
*/
@Schema(description = "市ID")
private String cityId;
/**
* 市名称
*/
@Schema(description = "市名称")
private String cityName;
/**
* 区ID
*/
@Schema(description = "区ID")
private String districtId;
/**
* 区名称
*/
@Schema(description = "区名称")
private String districtName;
/**
* 详细地址
*/
@Schema(description = "详细地址")
private String address;
/**
* 是否默认地址
*/
@Schema(description = "是否默认地址")
private Boolean isDefault;
/**
* 创建人ID
*/
@Schema(description = "创建人ID")
private String createBy;
/**
* 创建时间
*/
@Schema(description = "创建时间")
private LocalDateTime createTime;
public QueryAddressBo() {
}
public QueryAddressBo(Address dto) {
super(dto);
}
@Override
protected void afterInit(Address dto) {
DicCityService dicCityService = ApplicationUtil.getBean(DicCityService.class);
DicCityDto province = dicCityService.findById(dto.getProvinceId());
this.provinceName = province.getName();
DicCityDto city = dicCityService.findById(dto.getCityId());
this.cityName = city.getName();
DicCityDto district = dicCityService.findById(dto.getDistrictId());
this.districtName = district.getName();
if (dto.getEntityType() == AddressEntityType.SC) {
StoreCenterService storeCenterService = ApplicationUtil.getBean(StoreCenterService.class);
StoreCenter sc = storeCenterService.findById(dto.getEntityId());
this.entityName = sc.getName();
} else if (dto.getEntityType() == AddressEntityType.CUSTOMER) {
CustomerService customerService = ApplicationUtil.getBean(CustomerService.class);
Customer customer = customerService.findById(dto.getEntityId());
this.entityName = customer.getName();
} else if (dto.getEntityType() == AddressEntityType.SUPPLIER) {
SupplierService supplierService = ApplicationUtil.getBean(SupplierService.class);
Supplier supplier = supplierService.findById(dto.getEntityId());
this.entityName = supplier.getName();
} else if (dto.getEntityType() == AddressEntityType.MEMBER) {
MemberService memberService = ApplicationUtil.getBean(MemberService.class);
Member member = memberService.findById(dto.getEntityId());
this.entityName = member.getName();
} else if (dto.getEntityType() == AddressEntityType.SHOP) {
ShopService shopService = ApplicationUtil.getBean(ShopService.class);
Shop shop = shopService.findById(dto.getEntityId());
this.entityName = shop.getName();
}
}
}
@@ -0,0 +1,37 @@
package com.yueqian.xingyun.basedata.bo.customer;
import com.lframework.starter.web.core.bo.BaseBo;
import com.yueqian.xingyun.basedata.entity.Customer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class CustomerSelectorBo extends BaseBo<Customer> {
/**
* ID
*/
@Schema(description = "ID")
private String id;
/**
* 编号
*/
@Schema(description = "编号")
private String code;
/**
* 名称
*/
@Schema(description = "名称")
private String name;
public CustomerSelectorBo() {
}
public CustomerSelectorBo(Customer dto) {
super(dto);
}
}
@@ -0,0 +1,163 @@
package com.yueqian.xingyun.basedata.bo.customer;
import com.lframework.starter.common.constants.StringPool;
import com.lframework.starter.common.utils.StringUtil;
import com.lframework.starter.web.core.bo.BaseBo;
import com.lframework.starter.web.core.utils.ApplicationUtil;
import com.yueqian.xingyun.basedata.entity.Customer;
import com.lframework.starter.web.inner.dto.dic.city.DicCityDto;
import com.lframework.starter.web.inner.service.DicCityService;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import java.util.stream.Collectors;
import lombok.Data;
@Data
public class GetCustomerBo extends BaseBo<Customer> {
/**
* ID
*/
@Schema(description = "ID")
private String id;
/**
* 编号
*/
@Schema(description = "编号")
private String code;
/**
* 名称
*/
@Schema(description = "名称")
private String name;
/**
* 简码
*/
@Schema(description = "简码")
private String mnemonicCode;
/**
* 联系人
*/
@Schema(description = "联系人")
private String contact;
/**
* 联系电话
*/
@Schema(description = "联系电话")
private String telephone;
/**
* 电子邮箱
*/
@Schema(description = "电子邮箱")
private String email;
/**
* 邮编
*/
@Schema(description = "邮编")
private String zipCode;
/**
* 传真
*/
@Schema(description = "传真")
private String fax;
/**
* 地区ID
*/
@Schema(description = "地区ID")
private List<String> city;
/**
* 地区名称
*/
@Schema(description = "地区名称")
private String cityName;
/**
* 地址
*/
@Schema(description = "地址")
private String address;
/**
* 结算方式
*/
@Schema(description = "结算方式")
private Integer settleType;
/**
* 统一社会信用代码
*/
@Schema(description = "统一社会信用代码")
private String creditCode;
/**
* 纳税人识别号
*/
@Schema(description = "纳税人识别号")
private String taxIdentifyNo;
/**
* 开户银行
*/
@Schema(description = "开户银行")
private String bankName;
/**
* 户名
*/
@Schema(description = "户名")
private String accountName;
/**
* 银行账号
*/
@Schema(description = "银行账号")
private String accountNo;
/**
* 备注
*/
@Schema(description = "备注")
private String description;
public GetCustomerBo() {
}
public GetCustomerBo(Customer dto) {
super(dto);
}
@Override
public BaseBo<Customer> convert(Customer dto) {
return super.convert(dto, GetCustomerBo::getSettleType);
}
@Override
protected void afterInit(Customer dto) {
if (dto.getSettleType() != null) {
this.settleType = dto.getSettleType().getCode();
}
if (!StringUtil.isBlank(dto.getCityId())) {
DicCityService dicCityService = ApplicationUtil.getBean(DicCityService.class);
List<DicCityDto> cityList = dicCityService.getChainById(dto.getCityId());
this.city = cityList.stream().map(DicCityDto::getId).collect(Collectors.toList());
this.cityName = cityList.stream().map(DicCityDto::getName)
.collect(Collectors.joining(StringPool.CITY_SPLIT));
}
}
}
@@ -0,0 +1,76 @@
package com.yueqian.xingyun.basedata.bo.customer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lframework.starter.common.constants.StringPool;
import com.lframework.starter.web.core.bo.BaseBo;
import com.yueqian.xingyun.basedata.entity.Customer;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
import lombok.Data;
@Data
public class QueryCustomerBo extends BaseBo<Customer> {
/**
* ID
*/
@Schema(description = "ID")
private String id;
/**
* 编号
*/
@Schema(description = "编号")
private String code;
/**
* 名称
*/
@Schema(description = "名称")
private String name;
/**
* 备注
*/
@Schema(description = "备注")
private String description;
/**
* 创建人ID
*/
@Schema(description = "创建人ID")
private String createBy;
/**
* 创建时间
*/
@Schema(description = "创建时间")
@JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
private LocalDateTime createTime;
/**
* 修改人ID
*/
@Schema(description = "修改人ID")
private String updateBy;
/**
* 修改时间
*/
@Schema(description = "修改时间")
@JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
private LocalDateTime updateTime;
public QueryCustomerBo() {
}
public QueryCustomerBo(Customer dto) {
super(dto);
}
@Override
protected void afterInit(Customer dto) {
}
}
@@ -0,0 +1,93 @@
package com.yueqian.xingyun.basedata.bo.logistics.company;
import com.lframework.starter.common.constants.StringPool;
import com.lframework.starter.common.utils.StringUtil;
import com.lframework.starter.web.core.bo.BaseBo;
import com.lframework.starter.web.core.utils.ApplicationUtil;
import com.yueqian.xingyun.basedata.entity.LogisticsCompany;
import com.lframework.starter.web.inner.dto.dic.city.DicCityDto;
import com.lframework.starter.web.inner.service.DicCityService;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import java.util.stream.Collectors;
import lombok.Data;
@Data
public class GetLogisticsCompanyBo extends BaseBo<LogisticsCompany> {
/**
* ID
*/
@Schema(description = "ID")
private String id;
/**
* 编号
*/
@Schema(description = "编号")
private String code;
/**
* 名称
*/
@Schema(description = "名称")
private String name;
/**
* 联系人
*/
@Schema(description = "联系人")
private String contact;
/**
* 联系电话
*/
@Schema(description = "联系电话")
private String telephone;
/**
* 地区ID
*/
@Schema(description = "地区ID")
private List<String> city;
/**
* 地区名称
*/
@Schema(description = "地区名称")
private String cityName;
/**
* 地址
*/
@Schema(description = "地址")
private String address;
/**
* 备注
*/
@Schema(description = "备注")
private String description;
public GetLogisticsCompanyBo() {
}
public GetLogisticsCompanyBo(LogisticsCompany dto) {
super(dto);
}
@Override
protected void afterInit(LogisticsCompany dto) {
if (!StringUtil.isBlank(dto.getCityId())) {
DicCityService dicCityService = ApplicationUtil.getBean(DicCityService.class);
List<DicCityDto> cityList = dicCityService.getChainById(dto.getCityId());
this.city = cityList.stream().map(DicCityDto::getId).collect(Collectors.toList());
this.cityName = cityList.stream().map(DicCityDto::getName)
.collect(Collectors.joining(StringPool.CITY_SPLIT));
}
}
}
@@ -0,0 +1,37 @@
package com.yueqian.xingyun.basedata.bo.logistics.company;
import com.lframework.starter.web.core.bo.BaseBo;
import com.yueqian.xingyun.basedata.entity.LogisticsCompany;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class LogisticsCompanySelectorBo extends BaseBo<LogisticsCompany> {
/**
* ID
*/
@Schema(description = "ID")
private String id;
/**
* 编号
*/
@Schema(description = "编号")
private String code;
/**
* 名称
*/
@Schema(description = "名称")
private String name;
public LogisticsCompanySelectorBo() {
}
public LogisticsCompanySelectorBo(LogisticsCompany dto) {
super(dto);
}
}
@@ -0,0 +1,76 @@
package com.yueqian.xingyun.basedata.bo.logistics.company;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lframework.starter.common.constants.StringPool;
import com.lframework.starter.web.core.bo.BaseBo;
import com.yueqian.xingyun.basedata.entity.LogisticsCompany;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
import lombok.Data;
@Data
public class QueryLogisticsCompanyBo extends BaseBo<LogisticsCompany> {
/**
* ID
*/
@Schema(description = "ID")
private String id;
/**
* 编号
*/
@Schema(description = "编号")
private String code;
/**
* 名称
*/
@Schema(description = "名称")
private String name;
/**
* 备注
*/
@Schema(description = "备注")
private String description;
/**
* 创建人ID
*/
@Schema(description = "创建人ID")
private String createBy;
/**
* 创建时间
*/
@Schema(description = "创建时间")
@JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
private LocalDateTime createTime;
/**
* 修改人ID
*/
@Schema(description = "修改人ID")
private String updateBy;
/**
* 修改时间
*/
@Schema(description = "修改时间")
@JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
private LocalDateTime updateTime;
public QueryLogisticsCompanyBo() {
}
public QueryLogisticsCompanyBo(LogisticsCompany dto) {
super(dto);
}
@Override
protected void afterInit(LogisticsCompany dto) {
}
}

Some files were not shown because too many files have changed in this diff Show More