# 常用工具 **Repository Path**: cocliubin/common-tools ## Basic Information - **Project Name**: 常用工具 - **Description**: 大人时代变了,本工具集全部由AI生成 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-17 - **Last Updated**: 2025-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 常用工具类 ## 项目简介 大人时代变了,本工具集全部由AI生成。 本项目旨在提供一系列实用的工具类集合,涵盖了日常开发中常见的功能需求。所有代码均由AI辅助生成,充分利用了现代AI技术来提高开发效率。 ## 项目结构 ``` common-tools ├── src/ # 源代码目录 │ └── main/ # 主要代码 │ ├── java/ # Java源代码 │ │ └── com/common/ # 项目主包 │ │ ├── response/ # 响应处理模块 │ │ │ ├── Result.java # 统一响应结果 │ │ │ ├── IResultCode.java # 响应码接口 │ │ │ ├── ResultBuilder.java # 响应结果构建器 │ │ │ └── code/ # 响应码模块 │ │ │ ├── ResultCodeModule.java # 响应码模块抽象类 │ │ │ ├── ResultCodeContainer.java # 响应码容器(单例) │ │ │ ├── BaseModule.java # 基础响应码(HTTP标准码) │ │ │ ├── UserModule.java # 用户相关响应码 │ │ │ ├── BusinessModule.java # 业务相关响应码 │ │ │ └── SystemModule.java # 系统相关响应码 │ │ └── utils/ # 工具类模块 │ │ └── // 其他工具类 │ └── resources/ # 资源文件目录 │ ├── application.yml # 应用配置文件 │ └── logback-spring.xml # 日志配置文件 ├── docs/ # 项目文档 │ └── response-code.md # 响应码设计文档 ├── pom.xml # Maven项目配置文件 ├── README.md # 项目说明文档 └── .gitignore # Git忽略文件配置 ``` ## 技术栈 - Java 8+ - Spring Boot - Maven - Lombok ## 开发环境要求 - JDK 8+ - Maven 3.6+ - IDE(推荐IntelliJ IDEA) ## 功能模块 ### 1. 响应码管理框架 #### 1.1 特性 - 模块化的响应码管理 - 优雅的链式调用API - 完善的类型安全 - 支持动态扩展 - 线程安全 - 高性能(O(1)查询) #### 1.2 响应码结构 响应码采用4位数字设计: - 第1位:模块代码(1-9) - 后3位:业务代码(100-999) 例如: - 2101 = 用户模块(2) + 账号不存在(101) - 3201 = 业务模块(3) + 数据不存在(201) #### 1.3 使用示例 ```java // 1. 基础使用 Result success = Result.ok(user); Result error = Result.error(UserModule.Code.ACCOUNT_NOT_EXIST); // 2. 自定义模块 public class PaymentModule extends ResultCodeModule { public PaymentModule() { super(5, "支付模块"); } @Getter @AllArgsConstructor public enum Code implements IResultCode { PAYMENT_FAILED(101, "支付失败"), PAYMENT_TIMEOUT(102, "支付超时"); private final Integer code; private final String message; @Override public Integer getCode() { return new PaymentModule().generateCode(code); } } } // 3. 注册模块 ResultCodeContainer.getInstance().registerModule(new PaymentModule()); // 4. 构建响应 Result result = ResultBuilder.create() .code(PaymentModule.Code.PAYMENT_FAILED) .data(order) .build(); ``` #### 1.4 设计模式 框架使用了多种设计模式: - 单例模式:确保响应码容器全局唯一 - 模板方法模式:统一的响应码生成算法 - 枚举策略模式:类型安全的响应码定义 - 组合模式:模块化的响应码组织 - 建造者模式:链式调用API #### 1.5 最佳实践 1. 模块划分 - 按业务领域划分模块 - 保持模块的独立性 - 合理规划响应码范围 2. 响应码设计 - 语义清晰的响应码 - 简洁明了的错误信息 - 合理的分类组织 3. 异常处理 - 统一的异常转换 - 清晰的错误提示 - 完整的错误信息 ## 构建和运行 ### 构建项目 ```bash mvn clean package ``` ### 运行项目 ```bash java -jar target/common-tools.jar ``` ## 开发指南 1. 克隆项目到本地 2. 使用IDE(推荐IntelliJ IDEA)导入项目 3. 确保已安装所需的JDK和Maven版本 4. 运行 `CommonToolsApplication.java` 启动应用 ## 版本记录 ### 1.0.0 (2024-01-xx) - 初始版本发布 - 实现响应码管理框架 - 支持模块化响应码管理 - 提供完整的文档支持 ## 贡献指南 1. Fork 本仓库 2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交你的改动 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 开发团队 - Author: LiuB - Version: 1.0.0 - License: MIT ## 许可证 MIT License