Tighten KamoCRMAgeReqUpdateRunner per review
- Restore Javadoc paragraph explaining @Order(10) rationale. - Test now references the UPDATE_SQL constant directly instead of duplicating the SQL string, so ...
诚实的营销——根据实际平台能力调整页面
对照实际的KamoCRM产品能力全面审查营销页面. 取消了关于今天没有建造的地物的捏造索赔,并重新定位 工业专用和一体化专用的可请求制造 特性通过新特性请求系统。 KamoCRM实际提供的内容(现在准确反映): - 具有可定制管道的客户关系管理 - KamoMeet(Janus WebRTC本地视频) - 电话和短信...
直接通过 k8s DNS 而不是通过 API Service 呼叫计费服务
Next.js 服务器侧代理现在呼叫 Billing Service at **************** 直接跳过 不需要跳过APIService. 使用billing servicce URL env var 以 k8s 内部 DNS 为默认值.
Remove translate config from application.yml — belongs in k8s/configmap.yaml
Remove redundant translation table SQL — Hibernate ddl-auto handles them
添加成员 Type 到用户信息, 重命名模板Name 到 docDescription 在模板设置仓库
从成员实体中添加成员Type字段 用户-info API响应并使用UserInfo hook. 重命名模板Name 到 doc 在模板中的描述SettingsStore 与一般文档保持一致 编辑术语,并删除未使用的范围/assoc设置 存储界面.
从安全服务到转换服务/DocsService的所有成像API线路
上传路线现在通过 Conversion Service URL 直接调用转换服务: - POST/api/成像/上载 →/api/转换/成像/上载 - POST/API/成像/平板/上载 ...
删除 Imaging 控制器和豆子/ maging —— 移至 Conversion Service 和 DocsService
上传端点现在位于转换服务站/api/转换/成像/*。 所有管理和下载端点现在都以DocsService at /api/docs/image/*为单位.
Delegate thumbnail generation to ConversionService, remove PDFBox dependency
ThumbnailGenerationJob now POSTs the converted PDF to ConversionService **************** unzips the response, and stores each thumb_p{n}.png in MinIO. PDFBox re...
将缩略图生成到转换服务, 删除 PDFBox 依赖性
生成AndStoreThumbnails 现在 POST 将 PDF 转换为转换服务 **************** 解开响应, 每个存储 MinIO中的缩略语 p{n}.png,并发布每页WS进度. PDF 框已删除 .
删除 JSON 为订阅计划 ID 阵列解析工作
后端现在返回合适的数组而不是 JSON 字符串,所以 在附加、捆绑、 并推广电网电池渲染器.
Use List<String> instead of manual JSON strings for promotion plan/cycle IDs
Update KamoCRMPricingLoader to use List.of() for applicablePlanIds and applicableBillingCycles, matching the shared library's migration from JSON strings to ent...
移动订阅 JSON 字段到基于实体的@ ManyTOMY 关系
替换 jsonb 字符串列(兼容的 PlanIds,包括 InPlanIds,可应用的 PlanIds, 包含合适的 JPA @ ManyToMany 加入表格和 @ ElementCollection。 更新服务层以解析计划实体而非序列化 JSON,并更新 从字符串升级到列表<String>,以便与添加/捆绑的 DT...
重新设计基于对话框到子页面导航的webinar 设置
将弹出对话框和单独的手风琴部分替换为两个级别 内置导航流 : - 第1级:使用点击到导航的清洁的 webinar 类型表 - 第2级:带有标签界面的打字细节子页(Details, 演讲者、提醒者、可用时间段) 所有形式都是内在的——不再使用模式弹出. 按类型管理槽 ,而不是作为单独的一节。 帧器运动 视图之间的转换.
将支持设置从成员级支持页面分到专用设置页面
- 从/支持页面中删除设置标签,只保留出票和分析 - 在分析中添加子 Tabs: 概览和状态及响应时间(从设置中移动) - 重建/设置/特点/支持专题、分析、和安排的支助分页 - 更新设置 Status Window 导航和/并设置有新路线的页面卡
账户端点使用直接接触字段,不需要用户
POST / 客户现在先保存Name, lastName, 电子邮件, 电话, 地址 账户。 PUT/客户/{uid} 更新所有直接字段 。 显示名称, 电子邮件,电话解析度会优先处理用户倒置的直接字段. 账户完全自成一体——从未登录的外部客户 可以拥有完整的配置文件,而不成为用户或成员.
从 Team Member 管理器中分离账户管理器/账户页面
3个分页分页标签:客户端和客户端,成员,团队成员. - Tab 0: 新的账户管理器组件——独立,获取真实账户 数据来自账户 Api, ag-grid 表格, 搜索, 点击 / account/view/{uid} - 第1/2分页:现有团队成员管理(未更改) - 客户端和客户端标签不再使用模拟数据
更新客户端点以使用账户( Long uid), 删除地址端点
客户/ 组@ PathVariable 从 UUID 更改为 Long来匹配账户实体 。 删除的地址端点——地址来自账户的主要成员(成员实体).
以基于账户的客户模式取代零售客户端
账户.java已经是商业客户实体,但太小了。 零售客户重复了这一概念。 承诺: - 加强商业领域的账户:公司、票据、接受市场营销; 免税、总命令、总开支、货币、外部指数/供应、活性 - 在成员中添加主要成员ManyToOne(与 地址、电子邮件、电话——不重复) - 创建账户组、账户组成员(取代零售客户集团) - 创...
将各站点的品牌命名标准化-Kamo-KamoCRM/KamoCRM 企业.
法律页面(术语、隐私、GDPR、页脚版权) "KamoCRM Inc"为公司实体. 产品/品牌参考 包括营销副本、元数据、FAQ、博客、定价和页面 字幕现在使用"KamoCRM". 临时 UI 语境( 聊天部件, 卡莫(Kamo Meet/Kamo Docs)等特征名称.
将所有管道部件从商机MarketApi移到商机Api
更新可直接从商务导入的 10 文件 Api 而不是删除的文件 商业市场。 删除相容性shim和已死商务 MarketManager 组件(1117行,不再进口).
重写带有确定性布局引擎的 Hexhead 安放系统
取代buggy相撞-避免系统(spiralSearch, solution Collisions, fly ToHomeRow,码头/组RAF回路),具有单一的定量回流功能. 修复工具窗口后出现的螺旋头(z:100-250),相互重叠, 和不一致的运动。 保留蜂窝组群,快活/快活,以及所有事件.
Strip SchemaCleanupRunner to only post-Hibernate fixups
Hibernate ddl-auto: update handles all table/column creation from JPA entities. Removed all redundant CREATE TABLE/ADD COLUMN statements that duplicated what Hi...
Split mailboxes tab into sub-tabs for primary, aliases, shared
Primary Mailboxes, Email Aliases, and Shared Mailboxes are now each under their own sub-tab within the Mailboxes settings page, matching the existing sub-tab pa...
Remove notes code, moved to KBService
Notes management (controller, service, encryption) has been relocated to KBService where it better aligns with knowledge and content management responsibilities...
Update internal entity ID types from number to string for UUID migration
Updates TypeScript types, hooks, and components to use string IDs for entities converted to UUID on the backend. User-facing entity IDs (User, Organization, Mem...
Update commerce product and market ID references from Long to UUID
Update calendar event and integration ID references from Long to UUID
Update version ID references from Long to UUID
Article IDs remain Long. Version IDs now use UUID.
Update KB media and version ID references from Long to UUID
Article IDs (KbArticle) remain Long. Version, media, pin, and review IDs now use UUID for improved CockroachDB write performance.
Update AI entity ID references from Long to UUID
Updates all controllers, services, and WebSocket handler to use UUID for AI entity IDs (providers, models, sessions, messages, folders, policies, MCP configs). ...
Update controllers and services for UUID entity IDs
Updates all controller @PathVariable and service method signatures to use UUID instead of Long for internal entity IDs (avatars, backgrounds, roles, departments...
将内部实体ID从 Long/ unique rowid () 转换为 UUID/ gen random uuid ()
通过使用随机分布的UUID来改进 CockroachDB 写入性能 用于内部实体主键,而不是相继的独有 rowid()值。 用户介绍实体(用户、组织、成员、账户、领导、联系人、 联系簿、申请、KbArticle、供应商、出价、订单、业务约定、 注: Img)保留了Long/unique rowid()用于人可读取的ID...
以管理联系人源对话框替换源
- 重命名添加SourceDialog → 用完整的 CRUD 管理SourceDialog( 列表) 有状态+去除的现有源,加上内加表) - 将“管理联系人源”按钮移到左面板下方,并固定 高于同步页脚( 或在无源时单独位于下方) - 从左面板源列表中删除按键 - 简化联系人LeftPanel道具(管理源替换) 关于A...
Remove Client ID and Secret fields from RingCentral UI
These are platform-level credentials set once in the K8s secret. Customers only need to provide their JWT Key and main phone number.
Read RingCentral client-id/secret from platform config, not per-org DB
Client ID and Secret identify the Kamo app on RingCentral's platform — they are shared across all orgs. Inject them from Spring Boot properties (backed by the K...
从 VoipProviderConfig 中删除客户端ID/客户端加密
这些是平台层面的证书,由所有鸟类共享。 只有 jwtKey 和 主Phone Number 是人均 org.
