程序聚合 软件案例 基于springboot的云之家OA和纷享销客数据交互插件

基于springboot的云之家OA和纷享销客数据交互插件

2026-07-22 11:44:45
行业:企业内部管理、企业服务(saas)
载体:插件
技术:Java、Spring Boot、Apache HTTP Server

业务和功能介绍

1. 立项背景和目标

公司同时使用云之家 OA(审批工作流)和纷享销客 CRM(客户/业务对象)两套系统,审批环节产生的业务数据(如订单审批、出差申请、报销流程等)需要回写到纷享销客对应的业务对象,原生云之家无法直接对接纷享销客的 OpenAPI,且双方系统在数据格式、鉴权方式、加密机制上完全不同(云之家采用 AES/ECB/PKCS5Padding 加密推送,纷享销客采用 OAuth2.0 + Bearer Token 鉴权)。本项目(mlxcl-middle)作为云之家与纷享销客之间的轻量级中间服务,承接云之家审批推送、解密、解析、调用纷享 OpenAPI 回写等完整链路,实现审批数据从 OA 到 CRM 的自动化流转。

2. 软件功能、核心功能模块介绍

服务基于 Spring Boot 3.3.5 构建,按职责划分为四大模块:

云之家推送接入(POST /middle/yunzhijia/testapi):负责接收云之家 CloudFlow 推送的加密数据,使用 cloudflow-key(16 字节 AES 密钥)进行 AES/ECB/PKCS5Padding 解密,还原成明文 JSON 后进入业务处理链路;解密失败立即返回 error 避免阻塞云之家重试。
纷享销客 API 代理(POST /middle/fxiaoke/testapi):作为纷享销客 OpenAPI 的统一入口,对外屏蔽鉴权细节,接收 dataObjectApiName + objectDataId 后自动识别预制对象(如 PersonnelObj)和自定义对象(ApiName 以 __c 结尾),分别路由到 /cgi/crm/v2/data/get 或 /cgi/crm/custom/v2/data/get 接口查询详情,并自动注入 x-fs-userid、x-fs-ea 等业务 Header。
通用数据处理中台(POST /api/process):以 bizType 为路由键的策略模式分发器(TYPE_A / TYPE_B / Default),便于后续按业务类型扩展新的对接流程,无需改动主流程。
基础设施:统一响应封装 ApiResult(code/message/data)、@Valid + @NotBlank 参数校验、Spring Boot Actuator 健康检查(/actuator/health)、/api/health 业务探活、WebMvcConfig 跨域配置。
3. 业务流程、功能路径描述

云之家→纷享审批数据流转(核心链路):云之家工作流节点触发推送 → 调用 POST /middle/yunzhijia/testapi 传入加密报文 → 服务 AES 解密得到明文 → 落库/记录 → 立即返回 success 释放连接 → @Asy

项目实现

1. 整体架构和设计思路,不同模块使用的技术栈

整体架构:采用经典 三层架构 + 异步解耦 的轻量中间服务设计。Controller 层负责协议适配和加解密;Service 层封装业务逻辑(FXiaokeApiService + FXiaokeTokenService + YunZhiJiaService + YunZhiJiaAsyncProcessor);Config + Util 层负责配置注入与工具能力。云之家推送链路采用同步接收 + 异步处理模式(@EnableAsync + @Async),保证 OA 侧 3 秒内拿到响应,避免触发云之家重试风暴。
技术栈:
运行时:Java 21 + Spring Boot 3.3.5
Web:spring-boot-starter-web(内嵌 Tomcat,监听 43686 端口)
能力:spring-boot-starter-validation、spring-boot-starter-actuator、spring-boot-starter-async
JSON:Fastjson2 2.0.53(性能优于 Jackson,纷享 API 报文高频解析)
工具库:Hutool 5.8.34(简化集合/日期/字符串处理)
HTTP 客户端:RestTemplate(封装于 RestTemplateConfig)
加解密:JDK 自带 javax.crypto(AES/ECB/PKCS5Padding)
简化代码:Lombok(@Data / @Slf4j / @RequiredArgsConstructor)
2. “我” 的负责模块和结果(尽可能量化)

我独立完成该中间服务从需求拆解、架构设计到编码落地的全部工作,核心成果:

21 个 Java 类文件,按职责拆为 3 个 Controller、5 个 Service、3 个 Config、1 个 Util、4 个 DTO/Model,分层清晰。
6+ 个核心 REST 端点(云之家推送、纷享对象查询、通用数据处理、健康检查等),覆盖云之家→纷享、纷享→上游两个方向的数据交互。
Token 缓存双层机制:内存级缓存(ReentrantLock + 双重检查锁 DCL)+ 提前 600 秒 主动刷新策略,将高频调用场景下 /oauth2.0/token 的实际请求量降低到原来的 1/12 以下(Token 默认有效期 7200s)。
对象路由自适应:单接口同时支持纷享预制对象与自定义对象,根据 dataObjectApiName 是否以 __c 结尾自动选择 /cgi/crm/v2/data/* 或 /cgi/crm/custom/v2/data/*。
双鉴权模式兼容:既支持 accessToken 注入 Body 的传统接口,也支持 Authoriza

示例图片视频


塔姆
30天前活跃
方向: 后端-Python、后端-Java、
交付率:100.00%
相似推荐
高性能架构演说与空间运镜工作室-FocusFlow (流镜)
1. 立项背景与目标: 在技术架构评审、方案汇报与大型工程交付中,传统的静态架构图(如 Visio、Draw.io)往往难以生动呈现微服务调用链与数据流转拓扑;而通过录屏剪辑制作演示视频又面临“4K大图缩放模糊、重绘卡顿、音画手动对齐繁琐”等痛点。FocusFlow(流镜)立项旨在打造一款 60fps 电影级空间演说工作室,帮助架构师与研发团队以极低成本将静态架构图转化为带有 AI 语音解说与平滑运镜的动态交互式演示。 2. 软件核心功能模块: - 电影级视锥空间运镜引擎:支持超大架构图在视锥变换算法下 60 帧无损平滑缩放聚焦,结合 Sobel 边缘梯度磁吸,毫秒级对齐框选核心实体。 - 智能 TTS 配音与多音轨管线:内置高拟真语音合成与 Web Audio 音频流,输入解说讲稿自动合成自然人声,实时生成多轨音频波形与提词字幕。 - 声画时序驱动运镜:依据解说词字数与音频时长自适应推算镜头停留节奏,实现视锥摄像机位移与语音播报毫秒级协同。 - 100% 离线自包含单文件交付:全量脚本与静态资产打包为单份 HTML(<5MB),无需后端,断网双击即开,零部署运维成本。 3. 业务流程与功能路径: 导入架构拓扑图或通过内置画布绘制 -> 创建运镜关键帧并框选重点讲解模块 -> 录入对应分幕解说词并自动合成 TTS 音频 -> 开启声画节拍对齐并实时预览演播 -> 一键导出单文件演说包或高清演示视频。
⻓沙湘江新区产业链供应链云平台
本项⽬是为政府单位建设的⼀个集中管理、整合资源、提供服务的平台。该平台⽤⼾端包括PC端 和⼩程序,功能分为产业链、供需集市、供需活动、供需服务、产业联盟五⼤模块,聚焦于产业链研究,旨 在为产业链提供全⽅位的⽀持和服务,促进产业链的发展和升级。
找不同游戏及运营管理系统-神探喵扎特
面向休闲游戏玩家与运营团队的找不同产品,由Cocos客户端、PHP服务端和Web运营后台组成。客户端提供章节闯关、双图找不同、提示、限时、误触限制、连击、奖励与排行榜;运营人员可在后台完成双图热点标注、难度规则配置、草稿发布、版本回滚和玩家资产调整,使关卡内容持续更新而无需频繁发布客户端。
跑步俱乐部社交平台小程序-喵扎特跑步
面向跑步俱乐部的活动运营、运动记录与成员协作小程序,覆盖俱乐部创建及权限、活动发布与报名、PK和打卡挑战、成绩与排行榜、社交动态、消息提醒、运动数据统计及设备绑定。用户可在个人与俱乐部身份间切换,从加入组织、参与活动、记录运动到查看排名和月报形成完整业务链路,管理者可持续维护活动和成员数据。
ROS 2 机器人配件与教程电商平台
**业务介绍:**面向机器人开发者、教育者和研究者的 ROS 2 配件独立站。平台将机器人零件、套件销售与技术教程结合,帮助用 户根据应用场景了解产品、完成选型,并从教程直接进入购买流程。 **功能介绍:**平台提供商品展示、规格与多币种价格、购物车、结账和订单确认;支持中英文内容及 ROS 2 教程,并可在教程中 关联相关零件。智能客服可回答商品选型和教程问题,复杂咨询可转交人工;后台支持商品与内容管理,以及客服会话接管和回复。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服