一、业务和功能介绍
1. 立项背景随着A股市场投资者规模突破2.2亿,散户群体在信息获取、数据分析、持仓管理等方面面临显著痛点:行情数据分散于多个平台、缺乏统一的投研工具链、投资决策缺少量化依据。同时,期货市场的基差分析、净持仓追踪等专业功能门槛较高,普通投资者难以有效利用。本项目"牛散网"旨在构建一个面向个人投资者的一站式智能投研平台,整合股票行情、期货分析、牛散持仓追踪、AI研报解读等核心能力,降低专业投研工具的使用门槛,帮助用户建立数据驱动的投资决策体系。2. 核心功能模块平台采用双端架构,分为用户客户端(nsw-client-web)和运营管理后台(nsw-admin-web),涵盖以下核心业务模块:
股票行情与选股模块:提供个股详情页(K线图、财务数据、机构评级)、多维度选股工具(形态选股支持50种子分类筛选、条件选股)、实时行情数据聚合与展示。
牛散与游资追踪模块:追踪知名投资者(牛散)的持仓变动、盈亏排行、操作风格分析;游资席位数据追踪与热钱流向分析,包含牛散详情弹窗、持仓市值排名、按报告期季度筛选等功能。
期货分析模块:覆盖期货净持仓对比分析、期现基差波动分析、多空持仓数据可视化,集成AI分析模块提供自动化研判报告。
融资融券模块:融资余额趋势图表、融券数据查询、两融标的筛选。
AI智能研报模块:支持PDF研报上传与解析(基于LangChain4j)、AI自动生成研报摘要与投资评级、提示词外置化管理,覆盖研报分析、板块核心观点生成等多场景。
用户体系与积分模块:VIP会员开通与权益管理、积分规则配置与扣除策略、用户关注/收藏体系、邀请人机制。
内容与社区模块:文章发布与板块管理(黑马挖掘)、评论回复与互动、公告通知、在线客服(WebSocket + STOMP实时通信)。
支付与订单模块:集成支付宝与微信支付(IJPay),支持VIP购买、积分充值等交易场景。
运营管理后台:仪表盘数据概览、广告位管理、客户管理、会员管理、积分管理、角色权限管理、操作日志审计、帮助中心管理。
3. 业务流程用户通过注册/登录进入平台后,可浏览首页推荐的热门股票、板块动态和研报精选。在个股详情页,用户可查看完整的K线图表、财务核心指标(ROE、毛利率等)、机构持仓变动和AI生成的分析摘要。通过选股工具,用户可自定义筛选条件生成候选标的列表,并追踪牛散的建仓/减仓动向。在期货板块,用户可查看净持仓对比图和基差波动趋势,结合AI分析辅助判断。平台通过积分和VIP机制控制高级功能的访问权限,导出和下载操作统一由积分策略管控。后台管理员通过运营后台进行内容审核、用户管理、数据维护等日常运营工作。
二、项目实现
1. 架构思路项目采用Spring Cloud Alibaba微服务架构,按业务领域拆分为6个后端微服务,各服务通过Nacos实现服务注册与配置管理,使用OpenFeign进行服务间远程调用,Sentinel实现流量控制与熔断降级,API网关(Spring Cloud Gateway)统一处理鉴权、跨域和路由转发:
nsw-gateway-server(API网关):统一入口,负责请求路由、Token校验、跨域处理、限流控制。
nsw-business-server(核心业务服务):承载用户体系、积分系统、支付订单、内容管理、客服系统、牛散/投顾管理等41个业务Controller,是系统中最复杂的业务聚合层。
nsw-data-server(数据服务):独立管理120+数据库实体和100+数据查询接口,专注于金融行情数据、股票基本面、期货持仓、融资融券等数据密集型业务,采用PostgreSQL作为扩展数据源。
nsw-task-server(定时任务服务):基于XXL-Job实现分布式调度,负责行情数据定时同步、研报解析、积分结算等周期性任务,管理118个数据实体。
nsw-file-server(文件服务):统一文件上传下载,支持本地存储与S3对象存储。
nsw-admin-server(管理后台服务):独立的管理端API,包含43个管理接口,支撑运营后台全部管理功能。
前端采用Vue 3 + TypeScript + Vite构建,客户端使用Ant Design Vue + Element Plus混合方案,管理端使用Element Plus,两端均通过ECharts实现金融数据可视化(K线图、多空对比图、财务指标图等),通过Pinia进行状态管理,Axios封装统一HTTP请求与拦截器。数据库层采用MySQL + PostgreSQL双数据源动态路由方案(MyBatis-Plus Dynamic Datasource),MySQL承载用户、订单等核心业务数据,PostgreSQL承载行情、持仓等金融分析数据。Redis + Redisson提供缓存加速与分布式锁支持。部署层面采用Docker容器化方案,通过统一Shell脚本(manage.sh)实现8个服务的一键构建、启停和状态监控,Nginx作为前端静态资源服务器和反向代理。