unis-sip/project.md

313 lines
14 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

> 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)