1、立项背景
再生资源行业传统模式存在信息不对称、交易链路繁琐、监管追溯难、资金流转慢等痛点,中小商户与企业间对接效率极低,行业数字化转型需求迫切。同时,国家大力推动循环经济发展,亟需一款集信息服务、业务协同、数据管控于一体的平台,打通再生资源从回收、加工到交易、融资的全链条。
2、核心目标
整合行业资源:汇聚再生资源供需方、物流服务商、金融机构等多方主体,构建行业资源生态;
实现业务闭环:覆盖从立项、合同签订到订单执行、对账、融资的全流程,提升交易效率;
强化监管与风控:通过数据采集与分析,实现交易全流程追溯,降低行业风控风险;
推动数字化升级:为行业提供标准化、智能化的信息服务与业务工具,助力再生资源行业规范化、高效化发展。
1)软件整体功能
平台以 “信息服务 + 业务协同 + 数据管控” 为核心,面向商户、企业、监管 / 管理端三类用户,提供全场景功能支撑。前端基于 Vue3+Vite+TypeScript 构建多端界面,后端以 Spring Boot 为核心拆解为启动、公共、核心、业务、数据抓取五大模块,支撑高可用、高扩展的系统架构。
2)核心功能模块
基础管理模块(核心模块):覆盖用户 / 角色 / 菜单 / 部门管理、日志、文件、字典配置、定时任务等基础能力,保障平台权限与基础运营,是全系统的支撑底座。
再生资源业务模块(业务模块):平台核心业务闭环,包含身份管理、合同、订单、发货、收货、对账、发票、应收、融资、风控等全链路功能,实现再生资源业务从发起至完结的全流程管控。
数据采集与对接模块(数据抓取模块):对接外部 ERP 系统,通过 AI 识别、HTML 解析等技术采集行业外部数据,同步补充平台信息,提升数据完整性。
信息服务模块:提供再生资源行情查询、供需信息发布、行业资讯推送等功能,满足用户信息获取需求,构建行业信息生态。
3、业务流程和功能路径描述
交易协同路径:商户 / 企业发布供需信息→身份认证审核→签订电子合同→生成交易订单→发起发货 / 收货→确认收货→发起对账→开具发票→完成应收结算;
数据采集路径:外部 ERP 系统数据请求→AI 识别验证码→解析业务数据→定时同步至平台数据库→平台数据校验与展示;
风控与融资路径:交易数据汇总→平台风控规则校验→生成企业信用报告→金融机构基于数据提供融资服务→融资回款跟踪。
功能路径支撑
用户端路径:用户登录→权限校验→进入对应功能界面(商户端侧重业务操作,企业端侧重资源管理,管理端侧重监管与配置)→执行功能操作→数据实时同步至数据库;
系统端路径:前端请求→后端接口处理(调用对应模块服务)→数据读写(MySQL / 文件存储)→返回结果→前端展示;
外部对接路径:外部系统请求→数据抓取模块解析→数据校验→存入
一、整体架构设计思路与技术栈
平台采用**前后端分离、分层模块化**架构设计,遵循高内聚低耦合原则,分为前端层、后端服务层、数据存储层,通过RESTful API标准化交互。
- 前端:Vue3 + Vite + TypeScript,负责界面渲染与交互。
- 后端:Spring Boot 2.x,分启动、公共、核心、业务、数据抓取五大模块。
- 数据层:MySQL 8.0,系统表用MyBatis-Plus,业务表用FastBatis;定时任务用Quartz,文件支持OSS/本地存储。
- 安全:JWT认证、Spring Security权限控制、统一异常与响应封装。
- 辅助:AICoding辅助编码,提升开发效率。
二、我负责的模块与成果
我主要负责**业务模块**与**数据抓取模块**开发,全程使用AICoding提升编码效率。
1. 业务模块
实现合同、订单、发货、收货、对账核心流程,完成状态机流转、数据固化、ID关联、无外键设计。支持订单从创建到结算全链路闭环,接口稳定,业务数据准确,满足平台交易与结算需求。
2. 数据抓取模块
对接沙钢、中天等多家ERP系统,用Selenium、OkHttp、JSoup实现数据自动抓取、AI验证码识别、定时同步。数据解析准确,任务执行稳定,保障平台外部数据及时入库。
3. 公共能力复用
基于common模块工具类,完成参数校验、统一返回、异常处理、文件上传等功能,代码规范统一。
整体交付模块功能完整、流程通畅、性能达标,支撑平台日常交易与数据管理。
三、难点、坑点与解决方案
1. 业务状态流转混乱
订单、发货、对账状态多,并发下易出现状态异常。
解决方案:用状态模式封装状态规则,加前置校验与操作日志,避免非法跳转,保证流程稳定。
2. 多ERP数据格式不统一
不同厂商返回HTML、JSON、Excel混合格式,解析难度大、准确率低。
解决方案:用策略模式分场景解析,结合正则与模板提取,增加数据校验兜底,提升准确率。
3. AICoding生成代码不贴合项目规范
自动生成的CRUD、返回体、异常处理与项目自定义规则不一致。
解决方案:先在AICoding中配置项目规范,限定包结构、返回格式、异常码;生成后只保留骨架,核心逻辑手写,统一接入项目体系,兼顾效率与质量。
4. 多数据源切换问题
系统表与业务表分库,偶尔出现Mapper注入错误、SQL执行异常。
解决方案:明确数据源注解,规范Mapper扫描路径,统一事务控制,稳定切换MyBatis-Plus与FastBatis。
## 总结
项目采用成熟稳定的前后端分离架构,模块职责清晰。我通过AICoding高效完成业务与数据抓取模块开发,解决状态机、多格式解析、AI代码适配等问