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 逐拍实锤)
3 days ago
luoweijian
a61031512c
commit
4 days 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)
6 days ago
luoweijian
3149f0d57e
commit
7 days 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
luoweijian
0d5ee62812
feat(opportunity): 商机模块接口整改(票01-06)
- 票01: 修 W-02 NOT NULL 字段默认值 + 补 GET /detail + POST /edit
- 票02: 状态机 11 个 HTTP 接口(claim/assign/pause/resume/release-pool/close/reopen/handover)
- 票03: 详情 Tab 6 子域接口(客户/跟进/勘察/附件/团队/日志)
- 票04: 协作+看板+访问上报 6 个接口
- 票05: 规则族 /versions 端点(阶段模板/方案卡模板/公海规则)
- 票06: 回归验证 33 条接口全通
2 weeks ago
luoweijian
51902312fc
commit
2 weeks ago
luoweijian
8ddc54143c
feat(rule): 票15 全局默认阶段模板兜底 seed(StageTemplateInitializer)
植入一条全公司通用发布中默认阶段模板作转商机阶段落位兜底:
客户圈定→关系摸排→资料采集→方案卡→已转项目(引用 opp_stage 字典 01-05),
末节点已转项目固定(is_fixed=1,票06契约)。对称方案卡 SchemeFieldDefInitializer
兜底范式,幂等按 code 判存(含已停用不复活)。零 A4/零字典改动。crm-rule 131 全绿。
2 weeks ago
luoweijian
f7e06f699f
feat(opportunity): 票 07 方案卡运行时收尾 + V-CONFIG 三族版本机制抽公共
方案卡(票 07):
- 创建改手动选模板版本(PRD §7.2/L499 不自动匹配),候选=发布中且适用范围
命中负责人部门(专用∪通用),空则前端置灰;新增 listSelectableTemplates 下拉数据
- DTO 收敛:删 SchemeCardSaveDTO,统一双向 SchemeCardDTO(ADR-0017 Route A),
values→valuesJson 隐式表单绑定;StageController 同步改齐 SwitchStageDTO
- 软删对齐 §7:新建卡 delete_key=0
V-CONFIG 抽公共(票 05/06/07 同族):
- 新增 VersionedConfigSupport 基类,收敛 minor 版本号顺延/编码顺延/纯状态迁移;
三 ServiceImpl 继承,领域校验与子表替换仍各票自持
- 种子字段库 SchemeFieldDefInitializer:16 项系统字段 + 全公司通用兜底模板
(OPP_SCHEME_TPL_01,幂等键=编码含已停用,停用后重启不复活)
CONTEXT/ADR/PRD spec 回填 + 错别字修正(兑底→兜底)
测试:crm-rule 129 + crm-opportunity 100 全绿
2 weeks ago
luoweijian
01372d682c
docs(opportunity): 票 05 spec 回填(PRD §7.10 幂等批次键具体化 + crm-rule CONTEXT 升级通用规则域/商机规则子域三词汇 + opportunity CONTEXT 落地记录与三项已知缺口登记)
2 weeks ago
luoweijian
cddabf32df
feat(opportunity): 票 05 维护 Job 先提醒后回收落地(单 @Scheduled 提醒-回收串行 + 待发通知落库 + code-review 修正:常量替换/状态迁移去重/空集守卫 + 清理误入临时日志)
2 weeks ago
luoweijian
30f8e48161
commit
2 weeks ago
luoweijian
01900ca76a
feat(opportunity): 票 06 商机阶段模板 + 阶段运行时落地(轴2)
- crm-rule:阶段模板 V-CONFIG 版本状态机(头表/适用部门/阶段节点三实体 + 草稿三分支/发布顶替/默认顶替/复制/停用/仅草稿可删),固定节点「已转项目」系统规范化(入参拒绝伪造、末位补唯一),节点字典引用校验(仅「商机阶段」分组启用项可新增引用,票01 定稿方向引入 crm-dict 依赖),绑定匹配(部门专用优先/多命中取最近创建/默认兜底),错误码 64013-64017,权限种子仅菜单
- crm-opportunity:opportunity_stage_history 快照 + 阶段自由切换(CAS 锚 current_stage_id、仅推进中可切 66005、固定节点/跨版本禁切 66006)、三态进度/历史查询端点;转项目端口 E8 成功后联动驱动固定节点(系统身份 0L、幂等、缺固定节点告警跳过)
- crm-dict:新增「商机阶段」字典分组种子(OPP_STAGE_01..05)及初始化测试断言同步
- 测试:阶段模板状态机 41 用例 + 阶段运行时 17 用例 + ConvertPort 联动断言;全反应器 662 用例绿
2 weeks ago
luoweijian
95d7f968dc
commit
2 weeks ago
luoweijian
6583863b49
commit
2 weeks ago
luoweijian
3d0699df6f
commit
3 weeks ago
luoweijian
a644f8db13
feat: 行政区划全量种子导入——RegionDataInitializer 幂等导入国标三级 3432 行(frontend-integration 票据 01)
3 weeks ago
luoweijian
1d6c9c6d7a
commit
3 weeks ago
luoweijian
dfd1fc6f01
commit
3 weeks ago
luoweijian
70b53de34c
commit
3 weeks ago
luoweijian
3277f701de
commit
3 weeks ago
luoweijian
b345c4dc7b
commit
3 weeks ago