# cloud-coder-starter **Repository Path**: cloud-coder/cloud-coder-starter ## Basic Information - **Project Name**: cloud-coder-starter - **Description**: java基础组件沉淀 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-06-16 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### cloud-coder-starter 介绍 # 使用方式:在maven/settings.xml中添加如下配置 2061427-release-0CAuV7 packages aliyun https://packages.aliyun.com/5fe9d2295d32b3c1e44e7c41/maven/2061427-release-0cauv7 * # 引入依赖 com.geline cloud-coder-core 1.3.5 com.geline cloud-coder-starter-easytrans 1.3.5 com.geline cloud-coder-starter-mybatisplus 1.3.5 1. **cloud-coder-core** 基础工具包,包括基础service定义(会话,消息,加解密,日志) 2. **cloud-coder-starter-mybatisplus** mybatis-plus组件扩展 - `@UniqueKey` 唯一索引检验注解 - `@LogCarry` 关联表日志写入注解 - `@QueryModel` 单表查询条件注解 - `@One2Many` One2ManyFactory支持外键表添加、更新、关联查询 - `@ExtractTable, @ExtractKey, @ExtractStatus` 支持子表字段更新,自动回填计算主表字段 - `@ExtractAfter` 支持当前表字段更新后,自动计算更新其它表字段 3. **cloud-coder-web** web拦截器组件 - `@RepeatSubmit` 防重复提交:用于POST添加接口 - `@ValidBefore` 方法前置检验注解 ```java @ValidBefore(handler = ValidSecretTypeHandler.class, errorMsg = "您的密级权限过低,不允许查看!") ``` 4. **cloud-coder-starter-easytrans** 数据翻译组件 - `@DictType` 枚举字典定义 - `@TransEnum` 枚举字典翻译 - `@TransDict` 字段翻译(支持枚举字典+字典表) - `@TransSQL` sql翻译(支持基础字段,对象,列表对象) - `@TransEntity` Entity翻译 - `@TransTable` 表外键翻译 - `@DSMasked` 数据脱敏 ```java // 枚举字典定义 @DictType(value = "project_status", label = "应用状态") public enum ProjectStatus implements IDict { no("未开始"), go("开发中"), check("验收中"), over("完成"); private String label; ProjectStatus(String label){ this.label = label; } @Override public String getLabel() { return label; } @Override public Object getValue() { return name(); } } @Getter @Setter public class ProjectDTO implements Serializable { private String projectStatus; @TransDict(dictType = "project_status", source = "projectStatus") private String projectStatusDesc; private String dataBaseId; @TransSQL(value = "select db_title from sdk_data_base where id=#{dataBaseId}") private String dbTitle; @TransSQL(value = "select id, db_code, db_title from sdk_data_base where id=#{dataBaseId}") private DataBase dataBase; @TransSQL("select db_code from sdk_data_base where id=#{dataBaseId}") private List codeList; @TransSQL(sqlIdInMapper = "selectDataBaseList") private List dataBaseList; @TransTable(table="t_tenant", foreignKey = "tenant_id") private TenantVO tenantVO; @DSMasked(strategy = SensitiveStrategy.USERNAME) private String username; @DSMasked(strategy = SensitiveStrategy.PASSWORD) private String password; @DSMasked(strategy = SensitiveStrategy.BANK_CARD) private String bankCard; @DSMasked(strategy = SensitiveStrategy.ID_CARD) private String idCard; @DSMasked(strategy = SensitiveStrategy.EMAIL) private String email; // 生成2个属性:phone为脱敏值,phoneOrigin为原值 @DSMasked(strategy = SensitiveStrategy.PHONE, findOrigin = true) private String phone; @DSMasked(strategy = SensitiveStrategy.CODE) private String code; @ApiModelProperty(value = "总成本") @TransField(handler = CostPerM2Handler.class) private BigDecimal costAmountTotal; } ``` 5. **cloud-coder-starter-uploadfile** 文件上传组件 6. **cloud-coder-starter-sqlbackup** 数据库备份组件 支持 mysql, kingbase, shentong 数据库备份 ```java // 开启数据库备份 @EnableDatabaseBackup @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ```