luoweijian
|
3149f0d57e
|
commit
|
1 week 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
|
3 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
|
4 weeks ago |