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