1. 项目背景与行业痛点
窗帘行业作为家居装饰的重要组成部分,长期以来一直面临着报价流程繁琐、效率低下的问题。传统的手工丈量、计算器计价方式存在三个核心痛点:
-
时间成本高:从客户咨询到最终报价,通常需要经历多次现场测量、反复沟通和手工计算,整个过程可能耗时数天。
-
误差风险大:人工计算容易在尺寸换算、面料价格叠加、工艺费用计算等环节出错,导致报价不准确。
-
管理困难:历史报价难以追溯,无法形成有效的价格数据库,不利于企业进行成本分析和经营决策。
以某中型窗帘门店为例,其日均处理20单报价需求,每单平均耗时45分钟,其中:
- 现场测量:15分钟
- 手工计算:20分钟
- 复核确认:10分钟
年累计耗时约5,850小时,相当于3个全职员工的工作量。而采用自动化报价系统后,这一时间可缩短至5分钟/单,效率提升近90%。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 技术选型与架构
本系统采用前后端分离的架构设计,主要技术栈如下:
前端技术栈:
- Vue.js 3.x:采用Composition API编写组件,实现响应式界面
- Element Plus:提供丰富的UI组件库
- Axios:处理HTTP请求,与后端API交互
- Vue Router:实现前端路由管理
- ECharts:用于数据可视化展示
后端技术栈:
- Spring Boot 2.7:快速构建企业级应用
- Spring Security:实现权限控制和认证
- MyBatis-Plus:简化数据库操作
- Redis:缓存热点数据,提高系统响应速度
- Swagger:API文档自动生成
数据库设计:
- MySQL 8.0:关系型数据库,存储业务数据
- 主要表结构设计:
- 用户表(sys_user)
- 窗帘分类表(curtain_category)
- 窗帘信息表(curtain_info)
- 报价记录表(quotation_record)
- 审核流程表(approval_flow)
2.2 核心功能模块
系统主要分为四大模块:
-
基础信息管理模块
- 用户权限管理(RBAC模型)
- 窗帘分类与产品库维护
- 门店与销售人员管理
-
智能报价模块
- 尺寸自动换算(厘米↔英寸)
- 面料价格计算(含损耗率)
- 工艺费用叠加(褶皱、拼接等)
- 折扣策略应用(会员价、促销价)
-
工作流引擎模块
- 多级审核流程配置
- 状态机设计(草稿→提交→审核→完成)
- 消息通知机制(站内信+邮件)
-
数据分析模块
- 报价成功率统计
- 产品热度分析
- 销售业绩报表
3. 核心算法与实现细节
3.1 智能报价算法实现
报价计算是系统的核心功能,主要计算公式如下:
code复制总价 = (面料单价 × 宽度 × 高度 × 损耗系数)
+ (轨道/罗马杆单价 × 宽度)
+ 工艺费
- 折扣金额
Java实现代码示例:
java复制public BigDecimal calculateQuotation(QuotationDTO dto) {
// 计算面料费用
BigDecimal fabricCost = dto.getFabricPrice()
.multiply(dto.getWidth())
.multiply(dto.getHeight())
.multiply(dto.getWastageFactor());
// 计算轨道费用
BigDecimal railCost = dto.getRailPrice().multiply(dto.getWidth());
// 计算总价
BigDecimal total = fabricCost
.add(railCost)
.add(dto.getProcessFee())
.subtract(dto.getDiscountAmount());
return total.setScale(2, RoundingMode.HAL
