|
|
|
|
<?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>com.crm</groupId>
|
|
|
|
|
<artifactId>crm</artifactId>
|
|
|
|
|
<version>1.0.0-SNAPSHOT</version>
|
|
|
|
|
</parent>
|
|
|
|
|
|
|
|
|
|
<artifactId>crm-app</artifactId>
|
|
|
|
|
<packaging>jar</packaging>
|
|
|
|
|
<name>crm-app</name>
|
|
|
|
|
<description>CRM 单体应用启动入口:聚合所有模块,统一配置与启动</description>
|
|
|
|
|
|
|
|
|
|
<dependencies>
|
|
|
|
|
<!-- 聚合所有业务模块 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.crm</groupId>
|
|
|
|
|
<artifactId>crm-base</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.crm</groupId>
|
|
|
|
|
<artifactId>crm-auth</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.crm</groupId>
|
|
|
|
|
<artifactId>crm-file</artifactId>
|
|
|
|
|
</dependency>
|
feat(dict): data dictionary module — two-level flat model, CRUD/default/cache/permission/seed (ADR-0015)
- 4 tables (dict_group/dict_item/dict_group_default/dict_ref_count), delete_key soft-delete reuse
- DictGroup/DictItem full CRUD + force-delete + status toggle + enabled-list
- DictReferenceService: increment/decrement/batchApply/isReferenced, same-tx ref_count, no cache
- DictQueryService: Caffeine 10s cache + 2s negative cache for empty results, group.status join
- Default item: INSERT ON DUPLICATE KEY UPDATE, hibernate on group disable, auto-restore
- Permission seeds: 10 perm codes → sys_menu tree, bound to ROLE_ADMIN, no crm-auth import
- Built-in dict initializer: idempotent upsert, builtin=false never touched (US-41), value not overwritten
- 48 tests pass; full project compiles
1 month ago
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.crm</groupId>
|
|
|
|
|
<artifactId>crm-dict</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.crm</groupId>
|
|
|
|
|
<artifactId>crm-rule</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.crm</groupId>
|
|
|
|
|
<artifactId>crm-preference</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.crm</groupId>
|
|
|
|
|
<artifactId>crm-lead</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.crm</groupId>
|
|
|
|
|
<artifactId>crm-opportunity</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.crm</groupId>
|
|
|
|
|
<artifactId>crm-customer</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- 运行时依赖:数据库驱动 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>com.mysql</groupId>
|
|
|
|
|
<artifactId>mysql-connector-j</artifactId>
|
|
|
|
|
<scope>runtime</scope>
|
|
|
|
|
</dependency>
|
|
|
|
|
</dependencies>
|
|
|
|
|
|
|
|
|
|
<build>
|
|
|
|
|
<plugins>
|
|
|
|
|
<!-- crm-app 作为最终可交付物,需要 repackage 为可执行 jar -->
|
|
|
|
|
<plugin>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
|
|
|
</plugin>
|
|
|
|
|
</plugins>
|
|
|
|
|
</build>
|
feat(dict): data dictionary module — two-level flat model, CRUD/default/cache/permission/seed (ADR-0015)
- 4 tables (dict_group/dict_item/dict_group_default/dict_ref_count), delete_key soft-delete reuse
- DictGroup/DictItem full CRUD + force-delete + status toggle + enabled-list
- DictReferenceService: increment/decrement/batchApply/isReferenced, same-tx ref_count, no cache
- DictQueryService: Caffeine 10s cache + 2s negative cache for empty results, group.status join
- Default item: INSERT ON DUPLICATE KEY UPDATE, hibernate on group disable, auto-restore
- Permission seeds: 10 perm codes → sys_menu tree, bound to ROLE_ADMIN, no crm-auth import
- Built-in dict initializer: idempotent upsert, builtin=false never touched (US-41), value not overwritten
- 48 tests pass; full project compiles
1 month ago
|
|
|
</project>
|