14 KiB
14 KiB
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 | 是 | '' | 用户昵称 |
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)