luoweijian
c9d6e75508
评审收口: 类级@Tag与方法级tags互斥归正(ADR-0024)/读侧别名字典提拉一次(N+1)/客户换负责人同步逐项目写 TRANSFER 动态/过时注释刷新/对齐表与 Decisions 补记
7 hours ago
luoweijian
fb3ff7d857
评审P1清理: 误入库存的 JVM 崩溃诊断日志移出并补 gitignore(hs_err_pid*/replay_pid*)
7 hours ago
luoweijian
bc76b0c7f9
ticket01修正补充: opp_id 放宽为可空仅在列仍 NOT NULL 时执行(幂等,避免共享库每次启动重复 ALTER)
8 hours ago
luoweijian
4ca6128652
ticket19: 验收交付包 ACCEPTANCE.md(单入口/一键验收路径/交付物索引/P2P3 翻案回环/发版联调移交清单/spin-out 清单)
8 hours ago
luoweijian
52d260c8d6
ticket16+17+18: 全新会话 e2e 审计(P0=0/P1=3/P2=12/P3=10 台账落盘)→ 16R 修复 → 全新会话复测(P1 全 FIX、23 条维持记档、主链 11/11);文档收口(ADR-0042 双轴模型/端点↔原型 21×17 对齐核查表/spec §8 留痕核销)
8 hours ago
luoweijian
1e677fce85
ticket16R: 修复 P1 三项——D-01 看板冲突badge/入口仅进行中项目;D-02 状态动作授权 68010(负责人∨管理员∨销售总监);D-03 赢单快照随标记落列。冒烟扩到 35 步全过
8 hours ago
luoweijian
9559b251d7
ticket01修正: 迁移器放宽遗留列 opp_id 为可空(实体不再映射,NOT NULL 会让 A3 新建卡 INSERT 失败,真实环境实测)+ ADR-0041 修订
9 hours ago
luoweijian
c81c973b6e
ticket14+15: A5 demo 单页(看板7列/列表双筛/详情8页签/状态机全动作/角色切换)+ 种子与 Playwright 冒烟 25 步全过 + 操作说明;悬空字典码回显不再冒充字典名
9 hours ago
luoweijian
e5bbde8286
ticket13: ProjectRuleQueryPort inbound(crm-rule 声明自实现,①⑤真读 ②③④签名预留桩)+ 看板列头/详情阶段名别名优先 + 标底等级判定接入
10 hours ago
luoweijian
03d37029a2
ticket12: 移交与同步接缝——项目域移交迁入 crm-project(断 extends 查 crm_project)、删商机侧旧类、ProjectOwnerSyncPort 真实现替换 Noop、crm-auth 零改动
10 hours ago
luoweijian
a11be860d9
ticket09-11: 详情 Tab 全读侧(跟进/附件子表+crm-file biz 定位/客户目录单列/动态投影读/方案报价招投标开标主表扩展列零阶段子表)
10 hours ago
luoweijian
b6b1897610
ticket05-08: 项目状态机(推进+3→5连跳/多步回退+三终态锁+赢单锁死/关闭记因四要素/赢输分叉/冲突解除=报备审核双写)+ 回退授权 seam + spec 回写连跳口径
10 hours ago
luoweijian
58cba4ed6b
ticket03+04: /project/list(scope双轴/阶段7值筛/报备独立筛/分页)+ /project/board(7列全画/计数/冲突badge/stage0冲突入口/列头字典名回退)
11 hours ago
luoweijian
1d41e12ef3
ticket02: crm-project 模块骨架 + /project/create + /project/detail(独立 crm_project 全列/双轴枚举/建档闭环/票01端口真实现/bruno-sync 首配/CONTEXT.md)
11 hours ago
luoweijian
03946d8da5
ticket01: 方案卡 owner 化解耦 opp_id→owner_type+owner_id 双归属(ADR-0041,商机侧行为回归不变,PROJECT 通道桩 fail-closed)
11 hours ago
luoweijian
7c132f6d7a
commit
15 hours ago
luoweijian
57d554141b
merge: resolve conflict in crm-app.log
1 day ago
luoweijian
21517012be
commit
1 day ago
luoweijian
e70a0484aa
commit
1 day ago
luoweijian
3ba6659d1e
commit
1 day ago
luoweijian
a6c9609918
commit
2 days ago
luoweijian
2846d35de0
commit
3 days ago
luoweijian
06865be47e
commit
3 days ago
luoweijian
a9f708f205
commit
4 days ago
luoweijian
aef8c214ab
commit
4 days ago
luoweijian
082e17958c
commit
4 days ago
luoweijian
ab761ad2a4
commit
4 days ago
luoweijian
746b032092
commit
6 days ago
luoweijian
08d9d1f118
commit
6 days ago
luoweijian
fb6044f443
commit
7 days ago
luoweijian
9d4edcc62a
commit
1 week ago
luoweijian
43887d31ac
docs(customer): 跨机器交接包(交接文档 + 冒烟/回归工具脱敏入库)
tools/ 三脚本凭据改环境变量(CRM_TOKEN/CRM_DB_*),无明文密码/内网IP/本机绝对路径;HANDOFF-CROSS-MACHINE-2026-09-03.md 为换机器权威交接(含新机器 bootstrap 步骤与期望基线 521/0/0 + BOM 零命中)
1 week ago
luoweijian
dc8aadabb8
feat(customer): 票09-13 客户模块收尾(超期提醒/公海回收/saved-view/成员/关注/接口文档)+ 票14 review 修复
- 票09 跟进超期提醒:crm-rule 提醒配置端点(GET/PUT /api/rule/customer/reminder)
+ CustomerPendingNotice 待发作业;公海回收(超过领取时限自动回收)
- 票10 workspace saved-view 过滤器接入(customer.overview/mine/pool 三 scope)
+ FOCUSED 内置视图 + 列偏好联动
- 票11 商机侧硬依赖真实现:CustomerOpportunityQueryPort(pageByCustomer)
+ hasActiveOpportunity 守卫 + OpportunityOwnerSyncPort(归属变更联动商机)
- 票12 不符②③④⑤修复:成员管理写端点(MEMBER_ADD/REMOVE,两阶段整批校验)/
关注+重点标记(customer_focus 一行两态:行存在=关注、starred=重点,focus/unfocus/star/unstar/focus-batch)/
详情汇总卡 5 字段占位恒 null(grill Q18 契约)/ oplog action 筛选
- 票13 API-SUMMARY.md:9 Controller 55 端点按原型 14 界面分组 + 错误码 67001-67016 + 已知缺口 5 项
- 票14 code-review(Standards+Spec 双轴)修复:removeMember 补 @Transactional /
OpportunityMapper 两查询补 o.deleted=0 口径对齐 / CustomerFocusServiceImpl 去 implements Constants 改静态引用 /
TEMPLATE_NAME 上移 ICustomerImportService / API-SUMMARY 补 release-pool-batch
- 验证:三模块回归 521/0/0 + 全仓 BOM 扫描 688 文件零命中 + 8080 冒烟全链 code=0(starred 逐拍实锤)
1 week ago
luoweijian
b48fbb8beb
commit
1 week ago
luoweijian
a61031512c
commit
1 week ago
luoweijian
2329f8cf14
commit
1 week ago
luoweijian
acd0d944c7
商机新建接口补齐字段(opp-create-fields 票 01-05)
- 实体加 address + 商机关键联系人快照三列;CreateOpportunityRequest 补 7 字段(项目金额/地址/客户角色/是否主要/关键联系人 id+姓名+公司),remark 展示名改「项目概况」、cityCode 注释放宽(市码或区/县码均可)
- OpportunityIntakeSpec 扩 7 组件;OpportunityIntakeImpl 建档透传落主表,linkPrimaryCustomer 按 isPrimaryIntended 分支(=1 刷主客户冗余并回写 / =0 留空不回写,无空转 UPDATE),customerRole/isPrimaryIntended 空回退 ROLE_INTENDED/1 保持线索转入路径兼容
- OpportunityCreateServiceImpl 翻译 7 新字段进 spec,补 customerId 非空时校验(isPrimaryIntended 必填且仅 1/0、customerRole 必填;customerId 空则忽略);OpportunityCreationPortImpl 显式传 null,LEAD_CONVERT 行为不变(线索转入映射另票)
- 测试:恢复并按新契约更新 OpportunityIntakeImplTest(分支/透传断言),CreateServiceImplTest 补 4 校验用例,OpportunityTest 字段契约同步 4 新列;crm-opportunity 233 测试全绿
- 文档:CONTEXT.md 放宽「关联客户」不变式(创建允许零主要意向客户)+ 新增项目概况/项目详细地址/商机关键联系人词条;api-docs 仓 新建商机.bru 参数表/示例同步
1 week ago
luoweijian
915edfdb9a
feat(opportunity-board): group board by stage display name, drop status filter
- rule: validate display-name uniqueness within a template version on publish (64017)
- rule: add describeStageNames / resolveStageIdsByDisplayName batch contracts
- opportunity: board stops filtering by advancing(2), rows with current_stage_id go on board
- opportunity: boardStageSummary groups by display name, ordered full/empty viewport columns
- opportunity: boardCards takes stageName and returns oppStatus
- tests: rule unit tests + opportunity service tests + H2 board integration test
- docs: sync board Bruno collection (stageName param, oppStatus field, drop stageId)
1 week ago
luoweijian
0d2f74c4ff
解决日志文件的合并冲突
1 week ago
luoweijian
530e3f15d1
stoptrackinglog
1 week ago
luoweijian
d8cd74b0d6
commit
1 week ago
luoweijian
9b136de2c2
commit
2 weeks ago
luoweijian
32ac2926bf
chore: stop tracking crm-app.log
2 weeks ago
luoweijian
3149f0d57e
commit
2 weeks ago
luoweijian
1b1e4ef945
commit
2 weeks ago
luoweijian
9233a5b32a
commit
2 weeks ago
luoweijian
5ac7aba65a
commit
2 weeks ago
luoweijian
3504604b0d
commit
2 weeks ago
luoweijian
938aed922e
fix(opportunity): 修复新建商机 500 并保护系统预设阶段模板
新建商机因 current_stage_id/stage_template_id/stage_template_version
三列 NOT NULL 无默认值、而无发布中默认阶段模板时静默 return 而崩(500)。
- OpportunityIntakeImpl.applyInitialStage 改 fail-fast:无发布中默认模板
或版本无节点时抛 OpportunityIntakeException(经 seam 译为 HTTP 友好
BusinessErrorException),不再静默产出无阶段脏商机
- 后台阶段配置保护系统预设模板(SEED_STAGE_TPL_CODE=OPP_STAGE_TPL_01):
deleteDraft/disableTemplate 拒绝删除/停用,保证始终有发布中默认模板
- 新增错误码 CODE_STAGE_TPL_SEED_PROTECTED=64018
2 weeks ago
luoweijian
feb8144c19
fix(opportunity): code review 修复5处问题
- PageResult: Sub/Collab 分页接口从 Page<T> 改为 PageResult<T>(硬违规)
- addFollow: 新增后刷新 last_valid_follow_time 回收锚点(Spec Bug)
- deleteFollow: 软删后写 ROW_DELETE oplog(Spec缺失)
- addAttachment: FOLLOW_UP bizType 加10个附件上限校验(Spec缺失)
- OpportunityCollabServiceImpl: 魔法数字2改为 OpportunityStatus.STATUS_ADVANCING(smell)
- OpportunityPoolRuleController: import 分组排序修正(规范)
2 weeks ago