unis-sip/project.md

313 lines
14 KiB
Markdown
Raw Normal View History

2025-04-09 08:45:38 +00:00
> SIP是售后服务平台Service Information Platform
# 系统架构
后端采用Spring Boot+JWT+Mybatis-Plus+Redis+Mysql
前端采用vue3 + element-plus + ts
# 数据库设计
采用mysql数据库采用ORM框架进行数据库操作。数据库版本为8.0.31。
测试的数据库连接信息如下mysql://root:5tzz94jd@unis-sip-mysql.ns-dv9ov434.svc:3306/unis_sip?charset=utf8mb4&parseTime=True&loc=Local
## 系统表
### 系统用户表sys_user
主要用于管理系统用户账号信息,包含用户的基本信息、登录信息和状态等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| user_id | bigint | 20 | 否 | - | 主键用户ID自增 |
| dept_id | bigint | 20 | 是 | null | 部门ID |
| login_name | varchar | 30 | 否 | - | 登录账号 |
| user_name | varchar | 30 | 是 | '' | 用户昵称 |
| email | varchar | 50 | 是 | '' | 用户邮箱 |
| phonenumber | varchar | 11 | 是 | '' | 手机号码 |
| sex | char | 1 | 是 | '0' | 用户性别0男 1女 2未知 |
| avatar | varchar | 100 | 是 | '' | 头像路径 |
| password | varchar | 50 | 是 | '' | 密码 |
| salt | varchar | 20 | 是 | '' | 盐加密 |
| status | char | 1 | 是 | '0' | 帐号状态0正常 1停用 |
| login_ip | varchar | 128 | 是 | '' | 最后登录IP |
| login_date | datetime | - | 是 | null | 最后登录时间 |
| create_at | datetime | - | 否 | - | 创建时间 |
| update_at | datetime | - | 否 | - | 更新时间 |
| delete_at | datetime | - | 是 | null | 删除时间,软删除 |
索引:
- PRIMARY KEY (user_id)
### 字典类型表sys_dict_type
主要用于管理系统中的各种码表类型定义,包括字典名称、类型和状态等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| dict_id | bigint | 20 | 否 | - | 主键字典ID自增 |
| dict_name | varchar | 100 | 是 | '' | 字典名称 |
| dict_type | varchar | 100 | 是 | '' | 字典类型 |
| status | char | 1 | 是 | '0' | 状态0正常 1停用 |
| create_at | datetime | - | 否 | - | 创建时间 |
| update_at | datetime | - | 否 | - | 更新时间 |
| delete_at | datetime | - | 是 | null | 删除时间,软删除 |
| remark | varchar | 500 | 是 | null | 备注 |
索引:
- PRIMARY KEY (dict_id)
- UNIQUE KEY idx_dict_type (dict_type)
### 字典数据表sys_dict_data
主要用于存储字典类型下的字典项数据,包括字典标签、键值和排序等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| dict_code | bigint | 20 | 否 | - | 主键,字典编码,自增 |
| dict_sort | int | 4 | 是 | 0 | 字典排序 |
| dict_label | varchar | 100 | 是 | '' | 字典标签 |
| dict_value | varchar | 100 | 是 | '' | 字典键值 |
| dict_type | varchar | 100 | 是 | '' | 字典类型 |
| css_class | varchar | 100 | 是 | null | 样式属性(其他样式扩展) |
| is_default | char | 1 | 是 | 'N' | 是否默认Y是 N否 |
| status | char | 1 | 是 | '0' | 状态0正常 1停用 |
| create_at | datetime | - | 否 | - | 创建时间 |
| update_at | datetime | - | 否 | - | 更新时间 |
| remark | varchar | 500 | 是 | null | 备注 |
索引:
- PRIMARY KEY (dict_code)
- KEY idx_dict_type (dict_type)
### 系统角色表sys_role
主要用于管理系统角色权限,包含角色的基本信息、数据权限范围和状态等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| role_id | bigint | 20 | 否 | - | 主键角色ID自增 |
| role_name | varchar | 30 | 否 | - | 角色名称 |
| role_key | varchar | 100 | 否 | - | 角色权限字符串 |
| data_scope | char | 1 | 是 | '1' | 数据范围1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限 |
| status | char | 1 | 否 | - | 角色状态0正常 1停用 |
| create_time | datetime | - | 是 | null | 创建时间 |
| update_time | datetime | - | 是 | null | 更新时间 |
| delete_at | datetime | - | 是 | null | 删除时间 |
索引:
- PRIMARY KEY (role_id)
### 用户角色关系表sys_user_role
主要用于管理用户和角色的多对多关联关系。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | 20 | 否 | - | 主键ID自增 |
| user_id | bigint | 20 | 否 | - | 用户ID |
| role_id | bigint | 20 | 否 | - | 角色ID |
索引:
- PRIMARY KEY (id)
### 部门信息表sys_dept
主要用于管理组织架构,包含部门的基本信息、层级关系和联系方式等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| dept_id | bigint | 20 | 否 | - | 主键部门id自增 |
| parent_id | bigint | 20 | 是 | 0 | 父部门id |
| ancestors | varchar | 50 | 是 | '' | 祖级列表 |
| dept_name | varchar | 30 | 是 | '' | 部门名称 |
| order_num | int | 4 | 是 | 0 | 显示顺序 |
| contact_person | varchar | 20 | 是 | null | 联系人 |
| contact_phone | varchar | 11 | 是 | null | 联系电话 |
| contact_email | varchar | 50 | 是 | null | 联系邮箱 |
| status | char | 1 | 是 | '0' | 部门状态0-正常1-停用 |
| create_at | datetime | - | 否 | - | 创建时间 |
| update_at | datetime | - | 否 | - | 更新时间 |
| delete_at | datetime | - | 是 | null | 删除时间,软删除 |
索引:
- PRIMARY KEY (dept_id)
### 菜单权限表sys_menu
主要用于管理系统菜单权限,包含菜单的基本信息、层级关系和权限标识等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| menu_id | bigint | 20 | 否 | - | 主键菜单ID自增 |
| menu_name | varchar | 50 | 否 | - | 菜单名称 |
| parent_id | bigint | 20 | 是 | 0 | 父菜单ID |
| order_num | int | 4 | 是 | 0 | 显示顺序 |
| url | varchar | 200 | 是 | '#' | 路由地址 |
| target | varchar | 20 | 是 | '' | 打开方式menuItem页签 menuBlank新窗口 |
| menu_type | char | 1 | 是 | '' | 菜单类型M模块 C菜单 F按钮 |
| perms | varchar | 100 | 是 | null | 权限标识 |
| icon | varchar | 100 | 是 | '#' | 菜单图标 |
| create_at | datetime | - | 否 | - | 创建时间 |
| update_at | datetime | - | 否 | - | 更新时间 |
| delete_at | datetime | - | 是 | null | 删除时间 |
| remark | varchar | 500 | 是 | '' | 备注 |
索引:
- PRIMARY KEY (menu_id)
### 角色菜单关系表sys_role_menu
主要用于管理角色和菜单的多对多关联关系。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | 20 | 否 | - | 主键ID自增 |
| role_id | bigint | 20 | 否 | - | 角色ID |
| menu_id | bigint | 20 | 否 | - | 菜单ID |
索引:
- PRIMARY KEY (id)
## 业务表
### 产品编码表product_code
主要用于存储产品的基本信息,包括产品型号、规格等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | - | 否 | - | 主键,自增 |
| product_code | varchar | 64 | 否 | - | 产品编码,唯一 |
| product_name | varchar | 128 | 否 | - | 产品名称 |
| model | varchar | 64 | 否 | - | 产品代码 |
| description | text | - | 是 | null | 产品描述 |
| unit | varchar | 16 | 否 | '个' | 单位 |
| remark | varchar | 512 | 是 | null | 备注 |
| created_at | datetime | - | 否 | CURRENT_TIMESTAMP | 创建时间 |
| updated_at | datetime | - | 否 | CURRENT_TIMESTAMP | 更新时间 |
| deleted_at | datetime | - | 是 | null | 删除时间,软删除 |
索引:
- PRIMARY KEY (id)
- UNIQUE KEY idx_product_code (product_code)
- KEY idx_model (model)
### 项目信息表project_info
主要用于存储项目的基本信息,包括项目状态、客户信息等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | - | 否 | - | 主键,自增 |
| project_code | varchar | 32 | 否 | - | 项目编号,唯一 |
| project_name | varchar | 128 | 否 | - | 项目名称 |
| customer_name | varchar | 64 | 否 | - | 客户名称 |
| customer_contact | varchar | 32 | 是 | null | 客户联系人 |
| customer_phone | varchar | 20 | 是 | null | 客户联系电话 |
| customer_email | varchar | 64 | 是 | null | 客户邮箱 |
| project_status | tinyint | - | 否 | 1 | 项目状态1-进行中2-已签合同3-已交付99-已终止 |
| bg_property | tinyint | - | 否 | - | BG属性1-商业2-行业 |
| industry_code | tinyint | - | 否 | - | 行业编码 |
| project_manager | varchar | 32 | 否 | - | 项目经理 |
| project_manager_phone | varchar | 20 | 是 | null | 项目经理电话 |
| project_manager_email | varchar | 64 | 是 | null | 项目经理邮箱 |
| start_date | date | - | 否 | - | 项目开始日期 |
| description | text | - | 是 | null | 项目描述 |
| created_at | datetime | - | 否 | CURRENT_TIMESTAMP | 创建时间 |
| updated_at | datetime | - | 否 | CURRENT_TIMESTAMP | 更新时间 |
| deleted_at | datetime | - | 是 | null | 删除时间,软删除 |
索引:
- PRIMARY KEY (id)
- UNIQUE KEY idx_project_code (project_code)
- KEY idx_customer_name (customer_name)
- KEY idx_project_status (project_status)
### 合同信息表order_info
主要用于存储项目的合同信息,与项目信息表为一对多关系。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | - | 否 | - | 主键,自增 |
| project_code | varchar | 32 | 否 | - | 关联项目编号 |
| order_code | varchar | 32 | 否 | - | 合同编号,唯一 |
| order_name | varchar | 128 | 否 | - | 合同名称 |
| customer_name | varchar | 64 | 否 | - | 客户名称 |
| customer_contact | varchar | 32 | 是 | null | 客户联系人 |
| customer_phone | varchar | 20 | 是 | null | 客户联系电话 |
| customer_email | varchar | 64 | 是 | null | 客户邮箱 |
| order_type | tinyint | - | 否 | - | 合同类型1-直签合同2-代理商合同 |
| order_dept | varchar | 32 | 否 | - | 归属代表处编码 |
| partener_dept | varchar | 32 | 否 | - | 代理商编码 |
| order_date | date | - | 否 | - | 合同签定日期 |
| order_status | tinyint | - | 否 | 1 | 合同状态1-待审核2-已审核3-已驳回 |
| remark | varchar | 512 | 是 | null | 备注 |
| created_at | datetime | - | 否 | CURRENT_TIMESTAMP | 创建时间 |
| updated_at | datetime | - | 否 | CURRENT_TIMESTAMP | 更新时间 |
| deleted_at | datetime | - | 是 | null | 删除时间,软删除 |
索引:
- PRIMARY KEY (id)
- UNIQUE KEY idx_order_code (order_code)
### 合同清单表order_list
主要用于记录合同包含的产品信息,包括产品编码、单价和数量等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | - | 否 | - | 主键,自增 |
| order_code | varchar | 32 | 否 | - | 关联合同编号 |
| product_code | varchar | 64 | 否 | - | 产品编码,关联产品编码表 |
| quantity | int | - | 否 | 1 | 数量 |
| price | decimal | 10,2 | 否 | 0 | 单价 |
| amount | decimal | 10,2 | 否 | 0 | 总价 |
| remark | varchar | 512 | 是 | null | 备注 |
| created_at | datetime | - | 否 | CURRENT_TIMESTAMP | 创建时间 |
| updated_at | datetime | - | 否 | CURRENT_TIMESTAMP | 更新时间 |
| deleted_at | datetime | - | 是 | null | 删除时间,软删除 |
索引:
- PRIMARY KEY (id)
- KEY idx_order_id (order_id)
- KEY idx_product_code (product_code)
### 发货记录表order_delivery
主要用于记录产品的发货信息,包括发货时间、物流信息等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | - | 否 | - | 主键,自增 |
| order_code | varchar | 32 | 否 | - | 关联合同编号 |
| delivery_code | varchar | 32 | 否 | - | 发货单号,唯一 |
| delivery_date | date | - | 否 | - | 发货日期 |
| delivery_type | tinyint | - | 否 | 1 | 发货方式1-快递2-物流3-自提 |
| logistics_company | varchar | 64 | 是 | null | 物流公司 |
| logistics_code | varchar | 32 | 是 | null | 物流单号 |
| receiver_name | varchar | 32 | 否 | - | 收货人姓名 |
| receiver_phone | varchar | 20 | 否 | - | 收货人电话 |
| receiver_address | varchar | 256 | 否 | - | 收货地址 |
| delivery_status | tinyint | - | 否 | 1 | 发货状态1-待发货2-已发货3-已签收 |
| sign_time | datetime | - | 是 | null | 签收时间 |
| remark | varchar | 512 | 是 | null | 备注 |
| created_at | datetime | - | 否 | CURRENT_TIMESTAMP | 创建时间 |
| updated_at | datetime | - | 否 | CURRENT_TIMESTAMP | 更新时间 |
| deleted_at | datetime | - | 是 | null | 删除时间,软删除 |
索引:
- PRIMARY KEY (id)
- UNIQUE KEY idx_delivery_code (delivery_code)
- KEY idx_order_id (order_id)
- KEY idx_delivery_status (delivery_status)
### 发货清单表delivery_list
主要用于记录每个发货单包含的具体产品信息,包括产品编码和序列号等。
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | - | 否 | - | 主键,自增 |
| delivery_code | varchar | 32 | 否 | - | 关联发货单编号 |
| product_code | varchar | 64 | 否 | - | 产品编码,关联产品编码表 |
| serial_number | varchar | 64 | 否 | - | 产品序列号 |
| remark | varchar | 512 | 是 | null | 备注 |
| created_at | datetime | - | 否 | CURRENT_TIMESTAMP | 创建时间 |
| updated_at | datetime | - | 否 | CURRENT_TIMESTAMP | 更新时间 |
| deleted_at | datetime | - | 是 | null | 删除时间,软删除 |
索引:
- PRIMARY KEY (id)
- KEY idx_delivery_id (delivery_id)
- KEY idx_product_code (product_code)
- UNIQUE KEY idx_serial_number (serial_number)