You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

172 lines
6.3 KiB

1 month ago
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.5</version>
<relativePath/>
</parent>
<groupId>com.crm</groupId>
<artifactId>crm</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>crm</name>
<description>CRM 系统父工程,统一管理依赖版本与公共配置</description>
<modules>
<module>crm-base</module>
<module>crm-auth</module>
<module>crm-file</module>
<module>crm-dict</module>
4 weeks ago
<module>crm-rule</module>
<module>crm-preference</module>
<module>crm-lead</module>
feat(opportunity): 票 03 商机主表落地(Opportunity 实体 + 5 态枚举 + Mapper 骨架) TDD 三切片(红→绿各一轮,19 测试全绿): - OpportunityStatus:轴 1 归属流转 5 态枚举(1待领取/2推进中/3暂缓中/4已关闭/5已转项目), implements HasValueEnum<Integer>;只钉值域,迁移逻辑归票 04 - Opportunity:主表实体(票 03 三簇 + Amendment 1),同构 crm-lead/Lead 写法 * 簇 A 业务字段 12 列(含 project_amount decimal(14,2) 选填,Amendment 1) * 簇 B 归属三层(owner_user_id/owner_dept_id/origin_dept_id)+ 两轴落点 (opp_status/current_stage_id/stage_template_id+版本号冗余)+ 来源快照 4 列 + 单计时器 claim_time/last_valid_follow_time * C3 主客户冗余快照 2 列、暂缓附加 4 列落主表(E4 写/E5 清空) * 乐观锁 @Version version=0(切主客户票 13 / 状态 CAS 票 04 复用,接线归后续票) * @DataScope(module=opportunity, owner_user_id, owner_dept_id)——module 已在 crm-auth DataInitializer 预注册,不触发 ADR-0006 启动拒绝 * 索引:UNIQUE(source_lead_id) + (owner_user_id,opp_status) + (owner_dept_id,opp_status) * 不建:pool_id/dept_id/recycle_deadline/expected_deal_date(票 05/10 定稿排除) - OpportunityMapper:骨架 extends CrmBaseMapper(同构 LeadMapper) - 模块装配:根 pom modules/dependencyManagement + crm-app 聚合依赖 - CONTEXT.md 待细化小节勾销主表项 边界守住:子表归 07/08/09,customerId 契约归 11,关联客户表归 13,均未触碰。 验证:全量 BOM 扫描 0 命中;全反应堆 clean test 9 模块 SUCCESS。
2 weeks ago
<module>crm-opportunity</module>
1 month ago
<module>crm-app</module>
</modules>
<properties>
<java.version>17</java.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 依赖版本统一在父 pom 管理,子模块引用时不允许自行指定版本 -->
<mybatis-plus.version>3.5.7</mybatis-plus.version>
<minio.version>8.5.17</minio.version>
<hutool.version>5.8.32</hutool.version>
<easyexcel.version>4.0.3</easyexcel.version>
<guava.version>33.2.1-jre</guava.version>
<knife4j.version>4.5.0</knife4j.version>
<pdfbox.version>3.0.3</pdfbox.version>
<mybatis-spring.version>3.0.3</mybatis-spring.version>
1 month ago
</properties>
<dependencyManagement>
<dependencies>
<!-- 内部模块 -->
<dependency>
<groupId>com.crm</groupId>
<artifactId>crm-base</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.crm</groupId>
<artifactId>crm-auth</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.crm</groupId>
<artifactId>crm-file</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.crm</groupId>
<artifactId>crm-dict</artifactId>
<version>${project.version}</version>
</dependency>
4 weeks ago
<dependency>
<groupId>com.crm</groupId>
<artifactId>crm-rule</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.crm</groupId>
<artifactId>crm-preference</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.crm</groupId>
<artifactId>crm-lead</artifactId>
<version>${project.version}</version>
</dependency>
feat(opportunity): 票 03 商机主表落地(Opportunity 实体 + 5 态枚举 + Mapper 骨架) TDD 三切片(红→绿各一轮,19 测试全绿): - OpportunityStatus:轴 1 归属流转 5 态枚举(1待领取/2推进中/3暂缓中/4已关闭/5已转项目), implements HasValueEnum<Integer>;只钉值域,迁移逻辑归票 04 - Opportunity:主表实体(票 03 三簇 + Amendment 1),同构 crm-lead/Lead 写法 * 簇 A 业务字段 12 列(含 project_amount decimal(14,2) 选填,Amendment 1) * 簇 B 归属三层(owner_user_id/owner_dept_id/origin_dept_id)+ 两轴落点 (opp_status/current_stage_id/stage_template_id+版本号冗余)+ 来源快照 4 列 + 单计时器 claim_time/last_valid_follow_time * C3 主客户冗余快照 2 列、暂缓附加 4 列落主表(E4 写/E5 清空) * 乐观锁 @Version version=0(切主客户票 13 / 状态 CAS 票 04 复用,接线归后续票) * @DataScope(module=opportunity, owner_user_id, owner_dept_id)——module 已在 crm-auth DataInitializer 预注册,不触发 ADR-0006 启动拒绝 * 索引:UNIQUE(source_lead_id) + (owner_user_id,opp_status) + (owner_dept_id,opp_status) * 不建:pool_id/dept_id/recycle_deadline/expected_deal_date(票 05/10 定稿排除) - OpportunityMapper:骨架 extends CrmBaseMapper(同构 LeadMapper) - 模块装配:根 pom modules/dependencyManagement + crm-app 聚合依赖 - CONTEXT.md 待细化小节勾销主表项 边界守住:子表归 07/08/09,customerId 契约归 11,关联客户表归 13,均未触碰。 验证:全量 BOM 扫描 0 命中;全反应堆 clean test 9 模块 SUCCESS。
2 weeks ago
<dependency>
<groupId>com.crm</groupId>
<artifactId>crm-opportunity</artifactId>
<version>${project.version}</version>
</dependency>
1 month ago
<dependency>
<groupId>com.crm</groupId>
<artifactId>crm-app</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- 对象存储 -->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>${minio.version}</version>
</dependency>
<!-- 工具 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>${easyexcel.version}</version>
</dependency>
<!-- 接口文档 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
<!-- MyBatis-Spring(crm-dict 测试手工装配用) -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis-spring.version}</version>
1 month ago
</dependency>
<!-- PDF 渲染(缩略图第一页) -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>${pdfbox.version}</version>
</dependency>
1 month ago
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>