签入版本
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.xiaomayi</groupId>
|
||||
<artifactId>xiaomayi-services</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
<!-- 项目名称 -->
|
||||
<artifactId>xiaomayi-generator</artifactId>
|
||||
<!-- 项目打包类型:JAR包 -->
|
||||
<packaging>jar</packaging>
|
||||
<!-- 项目名称 -->
|
||||
<name>xiaomayi-generator</name>
|
||||
<!-- 项目描述 -->
|
||||
<description>小蚂蚁云生成器模块</description>
|
||||
|
||||
<!-- 依赖声明 -->
|
||||
<dependencies>
|
||||
<!-- mybatis配置模块 -->
|
||||
<dependency>
|
||||
<groupId>com.xiaomayi</groupId>
|
||||
<artifactId>xiaomayi-mybatis</artifactId>
|
||||
</dependency>
|
||||
<!-- 文档依赖模块 -->
|
||||
<dependency>
|
||||
<groupId>com.xiaomayi</groupId>
|
||||
<artifactId>xiaomayi-springdoc</artifactId>
|
||||
</dependency>
|
||||
<!-- 多租户模块 -->
|
||||
<dependency>
|
||||
<groupId>com.xiaomayi</groupId>
|
||||
<artifactId>xiaomayi-tenant</artifactId>
|
||||
</dependency>
|
||||
<!-- 系统管理依赖模块 -->
|
||||
<dependency>
|
||||
<groupId>com.xiaomayi</groupId>
|
||||
<artifactId>xiaomayi-system</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.config;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代码工具配置类
|
||||
* </p>
|
||||
* 特别注意:依赖非静态set方法,切记不然无法读取值
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-24
|
||||
*/
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "generator")
|
||||
public class GeneratorConfig {
|
||||
|
||||
/**
|
||||
* 软件作者
|
||||
*/
|
||||
private static String author;
|
||||
|
||||
/**
|
||||
* 服务层路径
|
||||
*/
|
||||
private static String serviceModelName;
|
||||
|
||||
/**
|
||||
* 服务层包名
|
||||
*/
|
||||
private static String servicePackageName;
|
||||
|
||||
/**
|
||||
* 应用层路径
|
||||
*/
|
||||
private static String moduleModelName;
|
||||
|
||||
/**
|
||||
* 应用层路径包名
|
||||
*/
|
||||
private static String modulePackageName;
|
||||
|
||||
/**
|
||||
* 生成文件是否移除前缀,默认:false
|
||||
*/
|
||||
private static boolean removePrefix;
|
||||
|
||||
/**
|
||||
* 数据表前缀
|
||||
*/
|
||||
private static String tablePrefix;
|
||||
|
||||
public static String getAuthor() {
|
||||
return author;
|
||||
}
|
||||
|
||||
public void setAuthor(String author) {
|
||||
GeneratorConfig.author = author;
|
||||
}
|
||||
|
||||
public static String getServiceModelName() {
|
||||
return serviceModelName;
|
||||
}
|
||||
|
||||
public void setServiceModelName(String serviceModelName) {
|
||||
GeneratorConfig.serviceModelName = serviceModelName;
|
||||
}
|
||||
|
||||
public static String getServicePackageName() {
|
||||
return servicePackageName;
|
||||
}
|
||||
|
||||
public void setServicePackageName(String servicePackageName) {
|
||||
GeneratorConfig.servicePackageName = servicePackageName;
|
||||
}
|
||||
|
||||
public static String getModuleModelName() {
|
||||
return moduleModelName;
|
||||
}
|
||||
|
||||
public void setModuleModelName(String moduleModelName) {
|
||||
GeneratorConfig.moduleModelName = moduleModelName;
|
||||
}
|
||||
|
||||
public static String getModulePackageName() {
|
||||
return modulePackageName;
|
||||
}
|
||||
|
||||
public void setModulePackageName(String modulePackageName) {
|
||||
GeneratorConfig.modulePackageName = modulePackageName;
|
||||
}
|
||||
|
||||
public static boolean getRemovePrefix() {
|
||||
return removePrefix;
|
||||
}
|
||||
|
||||
public void setRemovePrefix(boolean removePrefix) {
|
||||
GeneratorConfig.removePrefix = removePrefix;
|
||||
}
|
||||
|
||||
public static String getTablePrefix() {
|
||||
return tablePrefix;
|
||||
}
|
||||
|
||||
public void setTablePrefix(String tablePrefix) {
|
||||
GeneratorConfig.tablePrefix = tablePrefix;
|
||||
}
|
||||
}
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.dto.generator;
|
||||
|
||||
import com.xiaomayi.mybatis.dto.PageDTO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代码生成
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-07-23
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(name = "业务分页查询DTO", description = "业务分页查询DTO")
|
||||
public class GeneratorPageDTO extends PageDTO {
|
||||
|
||||
@Schema(description = "数据表名称")
|
||||
private String tableName;
|
||||
|
||||
@Schema(description = "数据表描述")
|
||||
private String tableComment;
|
||||
|
||||
}
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.dto.generator;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 一键生成DTO
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-07-23
|
||||
*/
|
||||
@Data
|
||||
public class GeneratorTableDTO {
|
||||
|
||||
/**
|
||||
* 代码生成表名称(多个使用逗号“,”分隔)
|
||||
*/
|
||||
@Schema(description = "数据表名称")
|
||||
@NotEmpty(message = "数据表名称不能为空")
|
||||
private String[] tableNames;
|
||||
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.dto.template;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 模板
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-18
|
||||
*/
|
||||
@Data
|
||||
@Schema(name = "模板添加DTO", description = "模板添加DTO")
|
||||
public class TemplateAddDTO {
|
||||
|
||||
@Schema(description = "模板名称")
|
||||
@NotBlank(message = "模板名称不能为空")
|
||||
@Size(max = 100, message = "模板名称最多100个字符")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "模板编码")
|
||||
@NotBlank(message = "模板编码不能为空")
|
||||
@Size(max = 100, message = "模板编码最多100个字符")
|
||||
private String code;
|
||||
|
||||
@Schema(description = "文件路径")
|
||||
@NotBlank(message = "文件路径不能为空")
|
||||
@Size(max = 255, message = "文件路径最多255个字符")
|
||||
private String path;
|
||||
|
||||
@Schema(description = "模板描述")
|
||||
@Size(max = 255, message = "模板描述最多255个字符")
|
||||
private String note;
|
||||
|
||||
@Schema(description = "模板内容")
|
||||
private String content;
|
||||
|
||||
}
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.dto.template;
|
||||
|
||||
import com.xiaomayi.mybatis.dto.PageDTO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 模板
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(name = "模板分页查询DTO", description = "模板分页查询DTO")
|
||||
public class TemplatePageDTO extends PageDTO {
|
||||
|
||||
@Schema(description = "模板名称")
|
||||
private String name;
|
||||
|
||||
}
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.dto.template;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 模板
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-18
|
||||
*/
|
||||
@Data
|
||||
@Schema(name = "模板更新DTO", description = "模板更新DTO")
|
||||
public class TemplateUpdateDTO {
|
||||
|
||||
@Schema(description = "模板ID")
|
||||
@NotNull(message = "模板ID不能为空")
|
||||
@Min(value = 1, message = "模板ID必须大于0")
|
||||
private Integer id;
|
||||
|
||||
@Schema(description = "模板名称")
|
||||
@NotBlank(message = "模板名称不能为空")
|
||||
@Size(max = 100, message = "模板名称最多100个字符")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "模板编码")
|
||||
@NotBlank(message = "模板编码不能为空")
|
||||
@Size(max = 100, message = "模板编码最多100个字符")
|
||||
private String code;
|
||||
|
||||
@Schema(description = "文件路径")
|
||||
@NotBlank(message = "文件路径不能为空")
|
||||
@Size(max = 255, message = "文件路径最多255个字符")
|
||||
private String path;
|
||||
|
||||
@Schema(description = "模板描述")
|
||||
@Size(max = 255, message = "模板描述最多255个字符")
|
||||
private String note;
|
||||
|
||||
@Schema(description = "模板内容")
|
||||
private String content;
|
||||
|
||||
}
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xiaomayi.mybatis.model.BaseEntity;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 模板
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-18
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("gen_template")
|
||||
@Schema(name = "模板", description = "模板")
|
||||
public class Template extends BaseEntity {
|
||||
|
||||
@Schema(description = "模板ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@Schema(description = "模板名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "模板编码")
|
||||
private String code;
|
||||
|
||||
@Schema(description = "文件路径")
|
||||
private String path;
|
||||
|
||||
@Schema(description = "模板描述")
|
||||
private String note;
|
||||
|
||||
@Schema(description = "模板内容")
|
||||
private String content;
|
||||
|
||||
}
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xiaomayi.generator.dto.generator.GeneratorPageDTO;
|
||||
import com.xiaomayi.generator.vo.generator.DbTableListVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代码生成 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-07-23
|
||||
*/
|
||||
@Mapper
|
||||
public interface GeneratorMapper {
|
||||
|
||||
/**
|
||||
* 获取数据表分页列表
|
||||
*
|
||||
* @param page 分页
|
||||
* @param param 查询条件
|
||||
* @return 返回结果
|
||||
*/
|
||||
IPage<DbTableListVO> getTableList(IPage<DbTableListVO> page, @Param("param") GeneratorPageDTO param);
|
||||
|
||||
}
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.xiaomayi.generator.entity.Template;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 模板 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-18
|
||||
*/
|
||||
@Mapper
|
||||
public interface TemplateMapper extends BaseMapper<Template> {
|
||||
|
||||
}
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xiaomayi.core.utils.R;
|
||||
import com.xiaomayi.generator.dto.generator.GeneratorPageDTO;
|
||||
import com.xiaomayi.generator.vo.generator.DbTableListVO;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代码生成 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-07-23
|
||||
*/
|
||||
public interface GeneratorService {
|
||||
|
||||
/**
|
||||
* 查询分页列表
|
||||
*
|
||||
* @param tablePageDTO 查询条件
|
||||
* @return 返回结果
|
||||
*/
|
||||
IPage<DbTableListVO> page(GeneratorPageDTO tablePageDTO);
|
||||
|
||||
/**
|
||||
* 一键生成
|
||||
*
|
||||
* @param tableNames 数据表名称
|
||||
* @return 返回结果
|
||||
*/
|
||||
R generator(String[] tableNames);
|
||||
|
||||
}
|
||||
+160
@@ -0,0 +1,160 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.xiaomayi.core.utils.R;
|
||||
import com.xiaomayi.generator.dto.template.TemplateAddDTO;
|
||||
import com.xiaomayi.generator.dto.template.TemplatePageDTO;
|
||||
import com.xiaomayi.generator.dto.template.TemplateUpdateDTO;
|
||||
import com.xiaomayi.generator.entity.Template;
|
||||
import com.xiaomayi.generator.vo.template.TemplateInfoVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 模板 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-18
|
||||
*/
|
||||
public interface TemplateService extends IService<Template> {
|
||||
|
||||
/**
|
||||
* 查询分页列表
|
||||
*
|
||||
* @param templatePageDTO 查询条件
|
||||
* @return 返回结果
|
||||
*/
|
||||
Page<Template> page(TemplatePageDTO templatePageDTO);
|
||||
|
||||
/**
|
||||
* 根据ID查询信息
|
||||
*
|
||||
* @param id 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
Template getInfo(Integer id);
|
||||
|
||||
/**
|
||||
* 根据ID查询详情
|
||||
*
|
||||
* @param id 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
TemplateInfoVO getDetail(Integer id);
|
||||
|
||||
/**
|
||||
* 添加模板
|
||||
*
|
||||
* @param templateAddDTO 参数
|
||||
* @return 返回结果
|
||||
*/
|
||||
R add(TemplateAddDTO templateAddDTO);
|
||||
|
||||
/**
|
||||
* 更新模板
|
||||
*
|
||||
* @param templateUpdateDTO 参数
|
||||
* @return 返回结果
|
||||
*/
|
||||
R update(TemplateUpdateDTO templateUpdateDTO);
|
||||
|
||||
/**
|
||||
* 删除模板
|
||||
*
|
||||
* @param id 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
R delete(Integer id);
|
||||
|
||||
/**
|
||||
* 批量删除模板
|
||||
*
|
||||
* @param idList 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
R batchDelete(List<Integer> idList);
|
||||
|
||||
/**
|
||||
* 检查模板编码是否已存在
|
||||
*
|
||||
* @param code 模板编码
|
||||
* @param id 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
boolean checkExist(String code, Integer id);
|
||||
|
||||
}
|
||||
+146
@@ -0,0 +1,146 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.xiaomayi.core.utils.R;
|
||||
import com.xiaomayi.core.utils.StringUtils;
|
||||
import com.xiaomayi.generator.utils.CodeGenerator;
|
||||
import com.xiaomayi.generator.vo.generator.DbTableListVO;
|
||||
import com.xiaomayi.generator.dto.generator.GeneratorPageDTO;
|
||||
import com.xiaomayi.generator.mapper.GeneratorMapper;
|
||||
import com.xiaomayi.generator.service.GeneratorService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代码生成 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-07-23
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class GeneratorServiceImpl implements GeneratorService {
|
||||
|
||||
private final GeneratorMapper generatorMapper;
|
||||
|
||||
/**
|
||||
* 查询分页列表
|
||||
*
|
||||
* @param tablePageDTO 查询条件
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public IPage<DbTableListVO> page(GeneratorPageDTO tablePageDTO) {
|
||||
// 分页设置
|
||||
IPage<DbTableListVO> page = new Page<>(tablePageDTO.getPageNo(), tablePageDTO.getPageSize());
|
||||
IPage<DbTableListVO> tableList = generatorMapper.getTableList(page, tablePageDTO);
|
||||
tableList.convert(item -> {
|
||||
// 数据表自增索引值
|
||||
if (StringUtils.isNull(item.getAutoIncrement()) && StringUtils.isNotNull(item.getTableRows())) {
|
||||
item.setAutoIncrement(item.getTableRows() + 1);
|
||||
}
|
||||
return item;
|
||||
});
|
||||
return tableList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 一键生成
|
||||
*
|
||||
* @param tableNames 数据表名称
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public R generator(String[] tableNames) {
|
||||
// 计数器
|
||||
Integer totalNum = 0;
|
||||
for (String table : tableNames) {
|
||||
// 分裂字符串
|
||||
String[] item = table.split("\\|");
|
||||
// 数据表名称
|
||||
String tableName = item[0];
|
||||
// 数据表描述
|
||||
String tableAnnotation = item[1];
|
||||
// 调用代码生成工具
|
||||
CodeGenerator.Generation(tableName, tableAnnotation);
|
||||
// 计数器+1
|
||||
totalNum++;
|
||||
}
|
||||
return R.ok(String.format("本次共计生成【%d】个模块", totalNum));
|
||||
}
|
||||
|
||||
}
|
||||
+281
@@ -0,0 +1,281 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.xiaomayi.core.utils.R;
|
||||
import com.xiaomayi.core.utils.StringUtils;
|
||||
import com.xiaomayi.generator.dto.template.TemplateAddDTO;
|
||||
import com.xiaomayi.generator.dto.template.TemplatePageDTO;
|
||||
import com.xiaomayi.generator.dto.template.TemplateUpdateDTO;
|
||||
import com.xiaomayi.generator.entity.Template;
|
||||
import com.xiaomayi.generator.mapper.TemplateMapper;
|
||||
import com.xiaomayi.generator.service.TemplateService;
|
||||
import com.xiaomayi.generator.utils.FileUtils;
|
||||
import com.xiaomayi.generator.vo.template.TemplateInfoVO;
|
||||
import com.xiaomayi.generator.vo.template.TemplateListVO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 模板 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-18
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class TemplateServiceImpl extends ServiceImpl<TemplateMapper, Template> implements TemplateService {
|
||||
|
||||
/**
|
||||
* 查询分页列表
|
||||
*
|
||||
* @param templatePageDTO 查询条件
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public Page<Template> page(TemplatePageDTO templatePageDTO) {
|
||||
// 分页设置
|
||||
Page<Template> page = new Page<>(templatePageDTO.getPageNo(), templatePageDTO.getPageSize());
|
||||
// 查询条件
|
||||
LambdaQueryWrapper<Template> wrapper = new LambdaQueryWrapper<Template>()
|
||||
// 模板名称
|
||||
.like(StringUtils.isNotEmpty(templatePageDTO.getName()), Template::getName, templatePageDTO.getName())
|
||||
.eq(Template::getDelFlag, 0)
|
||||
.orderByAsc(Template::getId);
|
||||
// 查询分页数据
|
||||
Page<Template> pageData = page(page, wrapper);
|
||||
// 遍历数据源
|
||||
pageData.convert(item -> {
|
||||
// 实例化VO对象
|
||||
TemplateListVO templateListVO = new TemplateListVO();
|
||||
BeanUtils.copyProperties(item, templateListVO);
|
||||
return templateListVO;
|
||||
});
|
||||
// 返回结果
|
||||
return pageData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID查询信息
|
||||
*
|
||||
* @param id 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public Template getInfo(Integer id) {
|
||||
Template template = getById(id);
|
||||
if (StringUtils.isNull(template) || !template.getDelFlag().equals(0)) {
|
||||
return null;
|
||||
}
|
||||
return template;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID查询详情
|
||||
*
|
||||
* @param id 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public TemplateInfoVO getDetail(Integer id) {
|
||||
Template template = getInfo(id);
|
||||
if (StringUtils.isNull(template)) {
|
||||
return null;
|
||||
}
|
||||
// 实例化VO
|
||||
TemplateInfoVO templateInfoVO = new TemplateInfoVO();
|
||||
BeanUtils.copyProperties(template, templateInfoVO);
|
||||
return templateInfoVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加模板
|
||||
*
|
||||
* @param templateAddDTO 参数
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public R add(TemplateAddDTO templateAddDTO) {
|
||||
// 检查模板名称是否已存在
|
||||
if (checkExist(templateAddDTO.getName(), 0)) {
|
||||
return R.failed("模板名称已存在");
|
||||
}
|
||||
// 实例化对象
|
||||
Template template = new Template();
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(templateAddDTO, template);
|
||||
boolean result = save(template);
|
||||
if (!result) {
|
||||
return R.failed();
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新模板
|
||||
*
|
||||
* @param templateUpdateDTO 参数
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public R update(TemplateUpdateDTO templateUpdateDTO) {
|
||||
// 根据ID查询信息
|
||||
Template template = getInfo(templateUpdateDTO.getId());
|
||||
if (StringUtils.isNull(template)) {
|
||||
return R.failed("记录不存在");
|
||||
}
|
||||
// 检查模板名称是否已存在
|
||||
if (checkExist(templateUpdateDTO.getName(), templateUpdateDTO.getId())) {
|
||||
return R.failed("模板名称已存在");
|
||||
}
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(templateUpdateDTO, template);
|
||||
boolean result = updateById(template);
|
||||
if (!result) {
|
||||
return R.failed();
|
||||
}
|
||||
|
||||
// 获取文件模块绝对路径
|
||||
String filePath = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
|
||||
FileUtils.writeFile(filePath, template.getCode(), template.getContent());
|
||||
// 返回结果
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除模板
|
||||
*
|
||||
* @param id 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public R delete(Integer id) {
|
||||
// 根据ID查询信息
|
||||
Template template = getInfo(id);
|
||||
if (StringUtils.isNull(template)) {
|
||||
return R.failed("记录不存在");
|
||||
}
|
||||
// 删除
|
||||
boolean result = removeById(id);
|
||||
if (!result) {
|
||||
return R.failed();
|
||||
}
|
||||
// 返回结果
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量删除模板
|
||||
*
|
||||
* @param idList 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public R batchDelete(List<Integer> idList) {
|
||||
// 删除ID判空
|
||||
if (StringUtils.isEmpty(idList)) {
|
||||
return R.failed("删除记录ID不存在");
|
||||
}
|
||||
// 批量删除
|
||||
boolean result = removeBatchByIds(idList);
|
||||
if (!result) {
|
||||
return R.failed();
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查模板编码是否已存在
|
||||
*
|
||||
* @param code 模板编码
|
||||
* @param id 模板ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public boolean checkExist(String code, Integer id) {
|
||||
Template fileTemplate = getOne(new LambdaQueryWrapper<Template>()
|
||||
.eq(Template::getCode, code)
|
||||
.ne(id > 0, Template::getId, id)
|
||||
.eq(Template::getDelFlag, 0), false);
|
||||
return StringUtils.isNotNull(fileTemplate);
|
||||
}
|
||||
}
|
||||
+763
@@ -0,0 +1,763 @@
|
||||
package com.xiaomayi.generator.utils;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
|
||||
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
|
||||
import com.baomidou.mybatisplus.generator.config.OutputFile;
|
||||
import com.baomidou.mybatisplus.generator.config.TemplateType;
|
||||
import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder;
|
||||
import com.baomidou.mybatisplus.generator.config.builder.CustomFile;
|
||||
import com.baomidou.mybatisplus.generator.config.po.TableField;
|
||||
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
|
||||
import com.baomidou.mybatisplus.generator.config.rules.DateType;
|
||||
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
|
||||
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
|
||||
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
|
||||
import com.baomidou.mybatisplus.generator.fill.Column;
|
||||
import com.xiaomayi.core.config.DbConfig;
|
||||
import com.xiaomayi.core.utils.R;
|
||||
import com.xiaomayi.core.utils.SpringUtils;
|
||||
import com.xiaomayi.core.utils.StringUtils;
|
||||
import com.xiaomayi.generator.config.GeneratorConfig;
|
||||
import com.xiaomayi.system.dto.menu.MenuAddDTO;
|
||||
import com.xiaomayi.system.dto.menu.MenuUpdateDTO;
|
||||
import com.xiaomayi.system.entity.Menu;
|
||||
import com.xiaomayi.system.service.MenuService;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.Types;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代码工具
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2023-05-28
|
||||
*/
|
||||
@Component
|
||||
public class CodeGenerator {
|
||||
|
||||
/**
|
||||
* 生成代码
|
||||
*
|
||||
* @param tableName 数据表名
|
||||
*/
|
||||
public static void Generation(String tableName, String tableAnnotation) {
|
||||
System.out.println("开始生成");
|
||||
|
||||
// 设置数据库链接
|
||||
String dbUrl = String.format("jdbc:mysql://%s:%s/%s?&useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai",
|
||||
StringUtils.isNotEmpty(DbConfig.getDbHost()) ? DbConfig.getDbHost() : "127.0.0.1",
|
||||
StringUtils.isNotEmpty(DbConfig.getDbPort()) ? DbConfig.getDbPort() : "3306",
|
||||
StringUtils.isNotEmpty(DbConfig.getDbName()) ? DbConfig.getDbName() : "xiaomayi.web"
|
||||
);
|
||||
// 设置数据源
|
||||
DataSourceConfig.Builder dataSourceConfig = new DataSourceConfig.Builder(
|
||||
dbUrl,
|
||||
StringUtils.isNotEmpty(DbConfig.getUsername()) ? DbConfig.getUsername() : "root",
|
||||
StringUtils.isNotEmpty(DbConfig.getPassword()) ? DbConfig.getPassword() : "root"
|
||||
);
|
||||
|
||||
// 作者名称
|
||||
String author = StringUtils.isNotEmpty(GeneratorConfig.getAuthor()) ? GeneratorConfig.getAuthor() : "小蚂蚁云团队";
|
||||
// 模块名称
|
||||
String serviceModuleName = StringUtils.isNotEmpty(GeneratorConfig.getServiceModelName()) ? GeneratorConfig.getServiceModelName() : "xiaomayi-services/xiaomayi-system";
|
||||
// 模块文件报名
|
||||
String servicePackageName = StringUtils.isNotEmpty(GeneratorConfig.getServicePackageName()) ? GeneratorConfig.getServicePackageName() : "com.xiaomayi.system";
|
||||
// 是否去除文件前缀
|
||||
boolean removePrefix = StringUtils.isNotNull(GeneratorConfig.getRemovePrefix()) ? GeneratorConfig.getRemovePrefix() : true;
|
||||
// 数据表前缀
|
||||
String[] tablePrefix = StringUtils.isNotEmpty(GeneratorConfig.getTablePrefix()) ? GeneratorConfig.getTablePrefix().split(",") : new String[]{"sys_"};
|
||||
|
||||
// 第一步:生成服务层模块文件
|
||||
generateService(dataSourceConfig, author, serviceModuleName, servicePackageName, tablePrefix, tableName);
|
||||
|
||||
// 模块名称
|
||||
String moduleModuleName = StringUtils.isNotEmpty(GeneratorConfig.getModuleModelName()) ? GeneratorConfig.getModuleModelName() : "xiaomayi-modules/xiaomayi-admin";
|
||||
// 模块文件报名
|
||||
String modulePackageName = StringUtils.isNotEmpty(GeneratorConfig.getModulePackageName()) ? GeneratorConfig.getModulePackageName() : "com.xiaomayi.admin";
|
||||
|
||||
// 第二步:生成应用层模块文件
|
||||
generateModule(dataSourceConfig, author, moduleModuleName, modulePackageName, servicePackageName, tablePrefix, tableName);
|
||||
|
||||
// 第三步:创建模块菜单权限节点
|
||||
generatePermission(tableName, tableAnnotation, tablePrefix, removePrefix);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成服务层模块文件
|
||||
*
|
||||
* @param dataSourceConfig 数据源
|
||||
* @param author 作者名称
|
||||
* @param moduleName 模块名称
|
||||
* @param packageName 模板文件包名
|
||||
* @param tablePrefix 数据表前缀
|
||||
* @param tableName 数据表名
|
||||
*/
|
||||
private static void generateService(
|
||||
DataSourceConfig.Builder dataSourceConfig,
|
||||
String author,
|
||||
String moduleName,
|
||||
String packageName,
|
||||
String[] tablePrefix,
|
||||
String... tableName
|
||||
) {
|
||||
System.out.println("========================== 服务层生成开始 ==========================");
|
||||
// 生成模块文件
|
||||
FastAutoGenerator.create(dataSourceConfig)
|
||||
.globalConfig(builder -> {
|
||||
// 设置作者
|
||||
builder.author(author)
|
||||
// 启用springdoc, 默认值:false
|
||||
.enableSpringdoc()
|
||||
// 禁止打开输出目录 默认值:true
|
||||
.disableOpenDir()
|
||||
// 注释日期
|
||||
.commentDate("yyyy-MM-dd")
|
||||
// 定义生成的实体类中日期类型 DateType.ONLY_DATE 默认值: DateType.TIME_PACK
|
||||
.dateType(DateType.TIME_PACK)
|
||||
// 指定输出目录
|
||||
.outputDir(System.getProperty("user.dir") + String.format("/%s/src/main/java", moduleName));
|
||||
})
|
||||
// 数据库字段的类型转换
|
||||
.dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
|
||||
int typeCode = metaInfo.getJdbcType().TYPE_CODE;
|
||||
if (typeCode == Types.SMALLINT || typeCode == Types.TINYINT) {
|
||||
// 自定义类型转换
|
||||
return DbColumnType.INTEGER;
|
||||
}
|
||||
return typeRegistry.getColumnType(metaInfo);
|
||||
|
||||
}))
|
||||
.packageConfig(builder -> {
|
||||
builder.parent(packageName)
|
||||
.entity("entity")
|
||||
.mapper("mapper")
|
||||
// 关键配置:指定 XML 文件输出到 resources/mapper
|
||||
.pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + String.format("/%s/src/main/resources/mapper", moduleName)));
|
||||
})
|
||||
.strategyConfig(builder -> {
|
||||
//设置要生成的表名
|
||||
builder.addInclude(tableName)
|
||||
// 表前缀过滤
|
||||
.addTablePrefix(tablePrefix)
|
||||
|
||||
// 1. Entity策略配置
|
||||
.entityBuilder()
|
||||
.enableFileOverride()
|
||||
// 启用lombok
|
||||
.enableLombok()
|
||||
.disableSerialVersionUID()
|
||||
// 链式
|
||||
.enableChainModel()
|
||||
// 开启boolean类型字段移除is前缀
|
||||
// .enableRemoveIsPrefix()
|
||||
// // 开启生成实体时生成的字段注解
|
||||
// .enableTableFieldAnnotation()
|
||||
// 乐观锁数据库字段
|
||||
.versionColumnName("version")
|
||||
// 乐观锁实体类名称
|
||||
.versionPropertyName("version")
|
||||
// 逻辑删除数据库中字段名
|
||||
.logicDeleteColumnName("del_flag")
|
||||
// 逻辑删除实体类中的字段名
|
||||
.logicDeletePropertyName("delFlag")
|
||||
// 命名策略,数据表映射实体命名策略:默认下划线转驼峰underline_to_camel
|
||||
.naming(NamingStrategy.underline_to_camel)
|
||||
// 表字段映射实体属性命名规则:默认null,不指定按照naming执行
|
||||
.columnNaming(NamingStrategy.underline_to_camel)
|
||||
// 添加全局主键类型
|
||||
.idType(IdType.AUTO)
|
||||
// 格式化实体名称,%s取消首字母I
|
||||
.formatFileName("%s")
|
||||
// .formatFileName("%sEntity")
|
||||
// .superClass("com.example.db.BaseEntity")
|
||||
// .addSuperEntityColumns("id", "create_time", "update_time")
|
||||
// 表字段填充
|
||||
.addTableFills(new Column("create_time", FieldFill.INSERT))
|
||||
// 表字段填充
|
||||
.addTableFills(new Column("update_time", FieldFill.INSERT_UPDATE))
|
||||
// .enableColumnConstant()
|
||||
// // MPlus中启用ActiveRecord模式,生成的实体类会继承activerecord.Model类,直接进行数据库操作
|
||||
// .enableActiveRecord();
|
||||
// .disable()
|
||||
|
||||
// 2. Mapper策略配置
|
||||
.mapperBuilder()
|
||||
.enableFileOverride()
|
||||
// 开启mapper注解
|
||||
.enableMapperAnnotation()
|
||||
// 生成基本的resultMap,启用xml文件中的BaseResultMap 生成
|
||||
.enableBaseResultMap()
|
||||
// 生成基本的SQL片段,启用xml文件中的BaseColumnList
|
||||
.enableBaseColumnList()
|
||||
// 格式化Mapper文件名称
|
||||
.formatMapperFileName("%sMapper")
|
||||
// // 格式化Xml文件名称
|
||||
.formatXmlFileName("%sMapper")
|
||||
// // 禁用生成mapper
|
||||
// .disable()
|
||||
|
||||
// 3. Service 策略配置
|
||||
.serviceBuilder()
|
||||
.enableFileOverride()
|
||||
// 格式化Service文件名称
|
||||
.formatServiceFileName("%sService")
|
||||
// 格式化Service实现类文件名称
|
||||
.formatServiceImplFileName("%sServiceImpl")
|
||||
// // 禁用生成service
|
||||
// .disable()
|
||||
|
||||
// 4. Controller策略配置
|
||||
.controllerBuilder()
|
||||
// 开启文件重写覆盖
|
||||
.enableFileOverride()
|
||||
// 开启驼峰转连字符
|
||||
.enableHyphenStyle()
|
||||
// 格式化Controller文件名称
|
||||
.formatFileName("%sController")
|
||||
// 开启生成@RestController控制器
|
||||
.enableRestStyle()
|
||||
// 禁用生成controller
|
||||
.disable();
|
||||
})
|
||||
.templateConfig(builder -> {
|
||||
builder
|
||||
// 禁用所有默认模板
|
||||
//.disable(TemplateType.values())
|
||||
// 禁用Controller层的代码生成
|
||||
.disable(TemplateType.CONTROLLER)
|
||||
// 禁用Service接口的代码生成
|
||||
.disable(TemplateType.SERVICE)
|
||||
// 禁用Service实现类的代码生成
|
||||
.disable(TemplateType.SERVICE_IMPL)
|
||||
// 禁用Mapper接口的代码生成
|
||||
.disable(TemplateType.MAPPER)
|
||||
// 禁用XML映射文件的代码生成
|
||||
.disable(TemplateType.XML)
|
||||
// 禁用实体类的默认代码生成
|
||||
.disable(TemplateType.ENTITY)
|
||||
// 指定使用自定义模板来生成实体对象
|
||||
.entity("/templates/entity.java")
|
||||
.service("/templates/service.java")
|
||||
.serviceImpl("/templates/serviceImpl.java")
|
||||
.mapper("/templates/mapper.java")
|
||||
.xml("/templates/mapper.xml");
|
||||
;
|
||||
})
|
||||
// 注入配置(自定义DTO/VO模板注入)
|
||||
.injectionConfig(builder -> {
|
||||
// 自定义DTO、VO模板文件
|
||||
Map<String, String> customFile = new HashMap<>();
|
||||
// 自定义DTO模板文件
|
||||
customFile.put("dto||AddDTO|添加DTO", "templates/dto.java.ftl");
|
||||
customFile.put("dto||UpdateDTO|更新DTO", "templates/dto.java.ftl");
|
||||
customFile.put("dto||PageDTO|分页查询DTO", "templates/dto.java.ftl");
|
||||
customFile.put("dto||ListDTO|列表查询DTO", "templates/dto.java.ftl");
|
||||
// 自定义VO模板文件
|
||||
customFile.put("vo||ListVO|列表VO", "templates/vo.java.ftl");
|
||||
customFile.put("vo||InfoVO|信息VO", "templates/vo.java.ftl");
|
||||
// 自定义前端模板
|
||||
customFile.put("|xiaomayi-ui\\src\\views\\tool|index|vue", "templates/ui/index.vue.ftl");
|
||||
customFile.put("|xiaomayi-ui\\src\\views\\tool|edit|vue", "templates/ui/edit.vue.ftl");
|
||||
customFile.put("|xiaomayi-ui\\src\\views\\tool|columns|ts", "templates/ui/columns.ts.ftl");
|
||||
customFile.put("|xiaomayi-ui\\src\\views\\tool|querySchemas|ts", "templates/ui/querySchemas.ts.ftl");
|
||||
customFile.put("|xiaomayi-ui\\src\\api\\tool|api|ts", "templates/ui/api.ts.ftl");
|
||||
// 自定义模板
|
||||
builder.customFile(customFile);
|
||||
})
|
||||
// 输出文件前预处理
|
||||
.injectionConfig(builder -> builder.beforeOutputFile(
|
||||
(tableInfo, objectMap) -> {
|
||||
String entityName = tableInfo.getEntityName();
|
||||
Map<String, Object> packageMap = (Map) objectMap.get("package");
|
||||
// 定义一个变量,方便在模板中引用
|
||||
objectMap.put("packageName", packageMap.get("Parent"));
|
||||
// 模块描述
|
||||
String tableComment = tableInfo.getComment();
|
||||
if (StringUtils.isNotEmpty(tableComment)) {
|
||||
tableComment = tableComment
|
||||
.replace("表", "")
|
||||
.replace("管理", "");
|
||||
}
|
||||
objectMap.put("comment", tableComment);
|
||||
}
|
||||
))
|
||||
.templateEngine(new FreemarkerTemplateEngine() {
|
||||
@Override
|
||||
public Map<String, Object> getObjectMap(ConfigBuilder config, TableInfo tableInfo) {
|
||||
// 获取原始对象映射
|
||||
Map<String, Object> objectMap = super.getObjectMap(config, tableInfo);
|
||||
|
||||
// 模块描述
|
||||
String tableComment = tableInfo.getComment();
|
||||
if (StringUtils.isNotEmpty(tableComment)) {
|
||||
tableComment = tableComment
|
||||
.replace("表", "")
|
||||
.replace("管理", "");
|
||||
}
|
||||
objectMap.put("comment", tableComment);
|
||||
tableInfo.setComment(tableComment);
|
||||
|
||||
// 遍历数据表字段
|
||||
for (TableField field : tableInfo.getFields()) {
|
||||
// 字段描述
|
||||
String comment = field.getComment();
|
||||
if (StringUtils.isEmpty(comment)) {
|
||||
continue;
|
||||
}
|
||||
// 删除标识直接跳过
|
||||
if ("delFlag".equals(field.getPropertyName())) {
|
||||
continue;
|
||||
}
|
||||
if ((comment.contains(":") || comment.contains(":")) && comment.contains("-")) {
|
||||
// 字段注释分裂处理
|
||||
String[] strings = comment.replace(":", ":").split(":");
|
||||
field.setComment(strings[0]);
|
||||
// 字段注释值分裂处理
|
||||
String[] paramList = strings[1].split(" ");
|
||||
// 字段解析值数组小于2时直接跳过
|
||||
if (paramList.length < 2) {
|
||||
continue;
|
||||
}
|
||||
// 字段注释解析并重组
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
for (String s : paramList) {
|
||||
String[] item = s.split("-");
|
||||
map.put(item[0], item[1]);
|
||||
}
|
||||
field.setCustomMap(map);
|
||||
}
|
||||
}
|
||||
return objectMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 输出自定义文件
|
||||
* @param customFiles 自定义文件模板
|
||||
* @param tableInfo 数据表信息
|
||||
* @param objectMap 数据对象
|
||||
*/
|
||||
@Override
|
||||
protected void outputCustomFile(@NotNull List<CustomFile> customFiles, @NotNull TableInfo tableInfo, @NotNull Map<String, Object> objectMap) {
|
||||
// 实体类名称
|
||||
String entityName = tableInfo.getEntityName();
|
||||
// 获取父类包名路径
|
||||
String filePath = this.getPathInfo(OutputFile.parent);
|
||||
// 遍历自定义文件对象
|
||||
customFiles.forEach(item -> {
|
||||
// 模板文件KEY处理
|
||||
String[] fileItem = item.getFileName().split("\\|");
|
||||
// 目标文件夹
|
||||
String fileDir = fileItem[0];
|
||||
// 文件名前缀
|
||||
String filePrefix = fileItem[1];
|
||||
// 文件名后缀
|
||||
String fileSuffix = fileItem[2];
|
||||
// 描述
|
||||
String fileComment = fileItem[3];
|
||||
|
||||
// 数据表字段列表
|
||||
List<TableField> tableFields = tableInfo.getFields();
|
||||
boolean hasChildren = false;
|
||||
for (TableField tableField : tableFields) {
|
||||
String propertyName = tableField.getPropertyName();
|
||||
if (propertyName.equals("pid") || propertyName.equals("parentId")) {
|
||||
hasChildren = true;
|
||||
}
|
||||
}
|
||||
|
||||
// 文件路径
|
||||
String pathName = "";
|
||||
if ("vue".equals(fileComment) || "ts".equals(fileComment)) {
|
||||
// 文件存储路径
|
||||
String tplPath = System.getProperty("user.dir") + File.separator + filePrefix + File.separator;
|
||||
if ("api".equals(fileSuffix)) {
|
||||
pathName = tplPath + entityName.toLowerCase() + "." + fileComment;
|
||||
} else {
|
||||
pathName = tplPath + entityName.toLowerCase() + File.separator + fileSuffix + "." + fileComment;
|
||||
}
|
||||
} else {
|
||||
// 输出路径
|
||||
pathName = filePath + File.separator + fileDir.toLowerCase() + File.separator;
|
||||
// 设置存放目录
|
||||
pathName = pathName + entityName.toLowerCase() + File.separator;
|
||||
// 设置文件名和文件后缀
|
||||
pathName = pathName + filePrefix + entityName + fileSuffix + ".java";
|
||||
}
|
||||
|
||||
// 自定义模板参数
|
||||
objectMap.put("modelPrefix", filePrefix);
|
||||
objectMap.put("modelSuffix", fileSuffix);
|
||||
objectMap.put("fileComment", fileComment);
|
||||
objectMap.put("hasChildren", hasChildren);
|
||||
// 输出模板文件
|
||||
this.outputFile(new File(pathName), objectMap, item.getTemplatePath(), true);
|
||||
});
|
||||
}
|
||||
})
|
||||
.execute();
|
||||
System.out.println("========================== 服务层生成结束 ==========================");
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成应用层模块文件
|
||||
*
|
||||
* @param dataSourceConfig 数据源
|
||||
* @param author 作者名称
|
||||
* @param moduleName 模块名称
|
||||
* @param packageName 模板文件包名
|
||||
* @param tablePrefix 数据表前缀
|
||||
* @param tableName 数据表名
|
||||
*/
|
||||
private static void generateModule(
|
||||
DataSourceConfig.Builder dataSourceConfig,
|
||||
String author,
|
||||
String moduleName,
|
||||
String packageName,
|
||||
String servicePackageName,
|
||||
String[] tablePrefix,
|
||||
String... tableName
|
||||
) {
|
||||
System.out.println("========================== 应用层生成开始 ==========================");
|
||||
// 生成模块文件
|
||||
FastAutoGenerator.create(dataSourceConfig)
|
||||
.globalConfig(builder -> {
|
||||
builder.author(author)
|
||||
.outputDir(System.getProperty("user.dir") + String.format("/%s/src/main/java", moduleName))
|
||||
.disableOpenDir();
|
||||
})
|
||||
.packageConfig(builder -> {
|
||||
builder.parent(packageName);
|
||||
})
|
||||
.strategyConfig(builder -> {
|
||||
//设置要生成的表名
|
||||
builder.addInclude(tableName)
|
||||
// 表前缀过滤
|
||||
.addTablePrefix(tablePrefix)
|
||||
|
||||
// 1. Entity策略配置
|
||||
.entityBuilder()
|
||||
.enableFileOverride()
|
||||
// 启用lombok
|
||||
.enableLombok()
|
||||
.disableSerialVersionUID()
|
||||
// 链式
|
||||
.enableChainModel()
|
||||
// 开启boolean类型字段移除is前缀
|
||||
// .enableRemoveIsPrefix()
|
||||
// 开启生成实体时生成的字段注解
|
||||
.enableTableFieldAnnotation()
|
||||
// 乐观锁数据库字段
|
||||
.versionColumnName("version")
|
||||
// 乐观锁实体类名称
|
||||
.versionPropertyName("version")
|
||||
// 逻辑删除数据库中字段名
|
||||
.logicDeleteColumnName("del_flag")
|
||||
// 逻辑删除实体类中的字段名
|
||||
.logicDeletePropertyName("delFlag")
|
||||
// 命名策略,数据表映射实体命名策略:默认下划线转驼峰underline_to_camel
|
||||
.naming(NamingStrategy.underline_to_camel)
|
||||
// 表字段映射实体属性命名规则:默认null,不指定按照naming执行
|
||||
.columnNaming(NamingStrategy.underline_to_camel)
|
||||
// 添加全局主键类型
|
||||
.idType(IdType.AUTO)
|
||||
// 格式化实体名称,%s取消首字母I
|
||||
.formatFileName("%s")
|
||||
// .formatFileName("%sEntity")
|
||||
// .superClass("com.example.db.BaseEntity")
|
||||
// .addSuperEntityColumns("id", "create_time", "update_time")
|
||||
// 表字段填充
|
||||
.addTableFills(new Column("create_time", FieldFill.INSERT))
|
||||
// 表字段填充
|
||||
.addTableFills(new Column("update_time", FieldFill.INSERT_UPDATE))
|
||||
// .enableColumnConstant()
|
||||
// // MPlus中启用ActiveRecord模式,生成的实体类会继承activerecord.Model类,直接进行数据库操作
|
||||
// .enableActiveRecord();
|
||||
.disable()
|
||||
|
||||
// 2. Mapper策略配置
|
||||
.mapperBuilder()
|
||||
.enableFileOverride()
|
||||
// 开启mapper注解
|
||||
.enableMapperAnnotation()
|
||||
// 生成基本的resultMap,启用xml文件中的BaseResultMap 生成
|
||||
.enableBaseResultMap()
|
||||
// 生成基本的SQL片段,启用xml文件中的BaseColumnList
|
||||
.enableBaseColumnList()
|
||||
// 格式化Mapper文件名称
|
||||
.formatMapperFileName("%sMapper")
|
||||
// // 格式化Xml文件名称
|
||||
.formatXmlFileName("%sMapper")
|
||||
// 禁用生成mapper
|
||||
.disable()
|
||||
|
||||
// 3. Service 策略配置
|
||||
.serviceBuilder()
|
||||
.enableFileOverride()
|
||||
// 格式化Service文件名称
|
||||
.formatServiceFileName("%sService")
|
||||
// 格式化Service实现类文件名称
|
||||
.formatServiceImplFileName("%sServiceImpl")
|
||||
// 禁用生成service
|
||||
.disable()
|
||||
|
||||
// 4. Controller策略配置
|
||||
.controllerBuilder()
|
||||
// 开启文件重写覆盖
|
||||
.enableFileOverride()
|
||||
// 开启驼峰转连字符
|
||||
.enableHyphenStyle()
|
||||
// 格式化Controller文件名称
|
||||
.formatFileName("%sController")
|
||||
// 开启生成@RestController控制器
|
||||
.enableRestStyle()
|
||||
//禁用生成controller
|
||||
.disable();
|
||||
})
|
||||
// 注入配置(自定义DTO/VO模板注入)
|
||||
.injectionConfig(builder -> {
|
||||
// 自定义DTO、VO模板文件
|
||||
Map<String, String> customFile = new HashMap<>();
|
||||
// 自定义模块控制器模板文件
|
||||
customFile.put("controller||Controller|模块控制器", "templates/modules/controller.java.ftl");
|
||||
// 自定义模板
|
||||
builder.customFile(customFile);
|
||||
})
|
||||
// 输出文件前预处理
|
||||
.injectionConfig(builder -> builder.beforeOutputFile(
|
||||
(tableInfo, objectMap) -> {
|
||||
String entityName = tableInfo.getEntityName();
|
||||
Map<String, Object> packageMap = (Map) objectMap.get("package");
|
||||
// 模块包名处理
|
||||
String[] packages = servicePackageName.split("\\.");
|
||||
String itemName = packages[packages.length - 1];
|
||||
// 定义一个变量,方便在模板中引用
|
||||
objectMap.put("packageName", packageMap.get("Parent").toString()
|
||||
.replace("admin", itemName));
|
||||
// 模块描述
|
||||
String tableComment = tableInfo.getComment();
|
||||
if (StringUtils.isNotEmpty(tableComment)) {
|
||||
tableComment = tableComment
|
||||
.replace("表", "")
|
||||
.replace("管理", "");
|
||||
}
|
||||
objectMap.put("comment", tableComment);
|
||||
}
|
||||
))
|
||||
.templateEngine(new FreemarkerTemplateEngine() {
|
||||
@Override
|
||||
public Map<String, Object> getObjectMap(ConfigBuilder config, TableInfo tableInfo) {
|
||||
// Map对象
|
||||
Map<String, Object> objectMap = super.getObjectMap(config, tableInfo);
|
||||
// 实体类名称
|
||||
String entityName = tableInfo.getEntityName();
|
||||
// 获取父类包名
|
||||
String otherPath = ((Map<String, Object>) objectMap.get("package")).get("Parent").toString();
|
||||
// TODO... 自定义模板参数
|
||||
// 模块描述
|
||||
String tableComment = tableInfo.getComment();
|
||||
if (StringUtils.isNotEmpty(tableComment)) {
|
||||
tableComment = tableComment
|
||||
.replace("表", "")
|
||||
.replace("管理", "");
|
||||
}
|
||||
objectMap.put("comment", tableComment);
|
||||
tableInfo.setComment(tableComment);
|
||||
return objectMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 输出自定义文件
|
||||
*
|
||||
* @param customFiles 自定义文件模板
|
||||
* @param tableInfo 数据表信息
|
||||
* @param objectMap 数据对象
|
||||
*/
|
||||
@Override
|
||||
protected void outputCustomFile(@NotNull List<CustomFile> customFiles, @NotNull TableInfo tableInfo, @NotNull Map<String, Object> objectMap) {
|
||||
// 实体类名称
|
||||
String entityName = tableInfo.getEntityName();
|
||||
// 获取父类包名路径
|
||||
String filePath = this.getPathInfo(OutputFile.parent);
|
||||
// 遍历自定义文件对象
|
||||
customFiles.forEach(item -> {
|
||||
// 模板文件KEY处理
|
||||
String[] fileItem = item.getFileName().split("\\|");
|
||||
// 目标文件夹
|
||||
String fileDir = fileItem[0];
|
||||
// 文件名前缀
|
||||
String filePrefix = fileItem[1];
|
||||
// 文件名后缀
|
||||
String fileSuffix = fileItem[2];
|
||||
// 描述
|
||||
String fileComment = fileItem[3];
|
||||
|
||||
// 输出路径
|
||||
String pathName = filePath + File.separator + fileDir.toLowerCase() + File.separator + filePrefix + entityName + fileSuffix + ".java";
|
||||
|
||||
// 自定义模板参数
|
||||
objectMap.put("modelPrefix", filePrefix);
|
||||
objectMap.put("modelSuffix", fileSuffix);
|
||||
objectMap.put("fileComment", fileComment);
|
||||
// 输出模板文件
|
||||
this.outputFile(new File(pathName), objectMap, item.getTemplatePath(), true);
|
||||
});
|
||||
}
|
||||
})
|
||||
.execute();
|
||||
System.out.println("========================== 应用层生成结束 ==========================");
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建模块菜单和权限节点
|
||||
*
|
||||
* @param tableName 数据表名
|
||||
* @param tableAnnotation 数据表描述
|
||||
* @param tablePrefix 数据表前缀
|
||||
* @param removePrefix 移除数据表前缀
|
||||
*/
|
||||
private static void generatePermission(
|
||||
String tableName,
|
||||
String tableAnnotation,
|
||||
String[] tablePrefix,
|
||||
boolean removePrefix
|
||||
) {
|
||||
System.out.println("========================== 权限菜单创建开始 ==========================");
|
||||
// 是否替换前缀
|
||||
if (removePrefix) {
|
||||
// 遍历前缀并替换
|
||||
for (String prefix : tablePrefix) {
|
||||
tableName = tableName.replace(prefix, "");
|
||||
}
|
||||
}
|
||||
|
||||
// 实体类名
|
||||
String entityName = StringUtils.replaceUnderLineAndUpperCase(tableName);
|
||||
if (StringUtils.isEmpty(entityName)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 数据表描述
|
||||
tableAnnotation = tableAnnotation.replace("表", "")
|
||||
.replace("管理", "");
|
||||
|
||||
// 获取菜单Bean对象
|
||||
MenuService menuService = SpringUtils.getBean(MenuService.class);
|
||||
// 根据菜单路径查询菜单信息
|
||||
Menu entity = menuService.getMenuByPath(String.format("/tool/%s", entityName.toLowerCase()));
|
||||
R result = null;
|
||||
if (StringUtils.isNotNull(entity)) {
|
||||
// 更新
|
||||
entity.setName(tableAnnotation);
|
||||
entity.setPath(String.format("/tool/%s", entityName.toLowerCase()));
|
||||
entity.setComponent(String.format("/tool/%s/index", entityName.toLowerCase()));
|
||||
entity.setPermission(String.format("sys:%s:index", entityName.toLowerCase()));
|
||||
|
||||
// 类型转换
|
||||
MenuUpdateDTO menuUpdateDTO = new MenuUpdateDTO();
|
||||
BeanUtils.copyProperties(entity, menuUpdateDTO);
|
||||
result = menuService.update(menuUpdateDTO);
|
||||
} else {
|
||||
// 创建
|
||||
entity = new Menu();
|
||||
entity.setName(tableAnnotation);
|
||||
entity.setIcon("el-icon-Bicycle");
|
||||
entity.setIcon2("AlertOutlined");
|
||||
entity.setPath(String.format("/tool/%s", entityName.toLowerCase()));
|
||||
entity.setComponent(String.format("/tool/%s/index", entityName.toLowerCase()));
|
||||
entity.setParentId(247);
|
||||
entity.setType(0);
|
||||
entity.setStatus(0);
|
||||
entity.setHide(0);
|
||||
entity.setSort(5);
|
||||
entity.setTarget(0);
|
||||
|
||||
// 类型转换
|
||||
MenuAddDTO menuAddDTO = new MenuAddDTO();
|
||||
BeanUtils.copyProperties(entity, menuAddDTO);
|
||||
result = menuService.add(menuAddDTO);
|
||||
}
|
||||
if (!R.isOK(result)) {
|
||||
return;
|
||||
}
|
||||
// 菜单ID
|
||||
Integer menuId = Integer.valueOf(result.getData().toString());
|
||||
// 删除菜单子级权限节点
|
||||
menuService.deleteByParentId(menuId);
|
||||
// 创建或更新权限节点
|
||||
String[] strings = entity.getPath().split("/");
|
||||
// 模块名称
|
||||
String moduleName = strings[strings.length - 1];
|
||||
// 目标标题
|
||||
String moduleTitle = entity.getName().replace("管理", "");
|
||||
// 遍历权限节点
|
||||
Integer[] permissionList = new Integer[]{1, 5, 10, 15, 20, 25, 30, 35};
|
||||
// 菜单权限列表
|
||||
List<Menu> menuList = new ArrayList<>();
|
||||
for (Integer item : permissionList) {
|
||||
// 创建对象
|
||||
Menu menu = new Menu();
|
||||
menu.setParentId(menuId);
|
||||
menu.setType(1);
|
||||
menu.setStatus(0);
|
||||
menu.setHide(0);
|
||||
menu.setSort(item);
|
||||
menu.setTarget(entity.getTarget());
|
||||
if (item.equals(1)) {
|
||||
// 查询分页
|
||||
menu.setName(String.format("查询%s分页", moduleTitle));
|
||||
menu.setPath(String.format("/%s/index", moduleName));
|
||||
menu.setPermission(String.format("sys:%s:index", moduleName));
|
||||
} else if (item.equals(5)) {
|
||||
// 查询列表
|
||||
menu.setName(String.format("查询%s列表", moduleTitle));
|
||||
menu.setPath(String.format("/%s/list", moduleName));
|
||||
menu.setPermission(String.format("sys:%s:list", moduleName));
|
||||
} else if (item.equals(10)) {
|
||||
// 查询列表
|
||||
menu.setName(String.format("查询%s详情", moduleTitle));
|
||||
menu.setPath(String.format("/%s/detail", moduleName));
|
||||
menu.setPermission(String.format("sys:%s:detail", moduleName));
|
||||
} else if (item.equals(15)) {
|
||||
// 添加
|
||||
menu.setName(String.format("添加%s", moduleTitle));
|
||||
menu.setPath(String.format("/%s/add", moduleName));
|
||||
menu.setPermission(String.format("sys:%s:add", moduleName));
|
||||
} else if (item.equals(20)) {
|
||||
// 修改
|
||||
menu.setName(String.format("更新%s", moduleTitle));
|
||||
menu.setPath(String.format("/%s/update", moduleName));
|
||||
menu.setPermission(String.format("sys:%s:update", moduleName));
|
||||
} else if (item.equals(25)) {
|
||||
// 设置状态
|
||||
menu.setName("设置状态");
|
||||
menu.setPath(String.format("/%s/status", moduleName));
|
||||
menu.setPermission(String.format("sys:%s:status", moduleName));
|
||||
} else if (item.equals(30)) {
|
||||
// 删除
|
||||
menu.setName(String.format("删除%s", moduleTitle));
|
||||
menu.setPath(String.format("/%s/delete", moduleName));
|
||||
menu.setPermission(String.format("sys:%s:delete", moduleName));
|
||||
} else if (item.equals(35)) {
|
||||
// 批量删除
|
||||
menu.setName("批量删除");
|
||||
menu.setPath(String.format("/%s/batchDelete", moduleName));
|
||||
menu.setPermission(String.format("sys:%s:batchDelete", moduleName));
|
||||
}
|
||||
// 加入列表
|
||||
menuList.add(menu);
|
||||
}
|
||||
// 批量插入权限节点数据
|
||||
menuService.batchAddMenu(menuList);
|
||||
|
||||
System.out.println("========================== 权限菜单创建结束 ==========================");
|
||||
}
|
||||
|
||||
}
|
||||
+263
@@ -0,0 +1,263 @@
|
||||
package com.xiaomayi.generator.utils;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
|
||||
import com.baomidou.mybatisplus.generator.config.OutputFile;
|
||||
import com.baomidou.mybatisplus.generator.config.rules.DateType;
|
||||
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
|
||||
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
|
||||
import com.baomidou.mybatisplus.generator.fill.Column;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* MyBatis-Plus 代码生成器工具类
|
||||
* <p>
|
||||
* 功能特性:
|
||||
* 1. 支持控制台交互式输入表名
|
||||
* 2. 支持单表、多表、全表生成
|
||||
* 3. 自动生成 Entity、Mapper、Service、Controller 等层代码
|
||||
* 4. 集成 Lombok、Swagger 等常用框架
|
||||
* 5. 支持自定义包名、模块名、文件覆盖等配置
|
||||
*
|
||||
* @author Generator
|
||||
* @version 1.0
|
||||
* @since 2024
|
||||
*/
|
||||
public class CodeGenerator2 {
|
||||
|
||||
// ==================== 数据库配置 ====================
|
||||
/**
|
||||
* 数据库连接URL - 请根据实际数据库修改
|
||||
*/
|
||||
private static final String JDBC_URL = "jdbc:mysql://localhost:3306/rxthinkcmf.web?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8";
|
||||
|
||||
/**
|
||||
* 数据库用户名 - 请修改为实际用户名
|
||||
*/
|
||||
private static final String JDBC_USERNAME = "root";
|
||||
|
||||
/**
|
||||
* 数据库密码 - 请修改为实际密码
|
||||
*/
|
||||
private static final String JDBC_PASSWORD = "root";
|
||||
|
||||
/**
|
||||
* 数据库驱动类
|
||||
*/
|
||||
private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
|
||||
|
||||
// ==================== 代码生成配置 ====================
|
||||
/**
|
||||
* 项目基础包名 - 生成的代码将放在此包下
|
||||
*/
|
||||
private static final String BASE_PACKAGE = "com.xiaomayi";
|
||||
|
||||
/**
|
||||
* 模块名称 - 会在基础包下创建该模块包,如不需要可设置为空字符串
|
||||
*/
|
||||
private static final String MODULE_NAME = "member";
|
||||
|
||||
/**
|
||||
* 代码作者 - 生成的类注释中的作者信息
|
||||
*/
|
||||
private static final String AUTHOR = "小蚂蚁云";
|
||||
|
||||
/**
|
||||
* 表前缀 - 生成实体类时会自动去除这些前缀
|
||||
*/
|
||||
private static final String[] TABLE_PREFIXES = {"sys_", "ums_", "oms_"};
|
||||
|
||||
/**
|
||||
* 字段前缀(如:is_) - 生成实体字段时会自动去除这些前缀
|
||||
*/
|
||||
private static final String[] FIELD_PREFIXES = {};
|
||||
|
||||
/**
|
||||
* 主方法 - 程序入口
|
||||
*
|
||||
* @param args 命令行参数(未使用)
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
// 创建控制台输入扫描器
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
try {
|
||||
// 提示用户输入表名
|
||||
System.out.println("================================================");
|
||||
System.out.println(" MyBatis-Plus 代码生成器");
|
||||
System.out.println("================================================");
|
||||
System.out.println("请输入表名(支持以下格式):");
|
||||
System.out.println(" - 单表:user");
|
||||
System.out.println(" - 多表:user,role,menu");
|
||||
System.out.println(" - 全表:all");
|
||||
System.out.println("================================================");
|
||||
System.out.print("请输入: ");
|
||||
|
||||
// 读取用户输入并去除首尾空格
|
||||
String tableName = scanner.nextLine().trim();
|
||||
|
||||
// 验证输入是否为空
|
||||
if (tableName.isEmpty()) {
|
||||
System.err.println("错误:表名不能为空!");
|
||||
return;
|
||||
}
|
||||
|
||||
// 执行代码生成
|
||||
generateCode(tableName);
|
||||
|
||||
} catch (Exception e) {
|
||||
// 异常处理
|
||||
System.err.println("代码生成过程中发生错误:" + e.getMessage());
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
// 确保扫描器被关闭
|
||||
scanner.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行代码生成的核心方法
|
||||
*
|
||||
* @param tableName 表名字符串,支持单表、多表逗号分隔、全表(all)
|
||||
*/
|
||||
public static void generateCode(String tableName) {
|
||||
// 获取当前项目根路径
|
||||
String projectPath = System.getProperty("user.dir") + "/xiaomayi-services/xiaomayi-member";
|
||||
System.out.println("当前工程路径:" + projectPath);
|
||||
System.out.println("开始生成代码,目标表:" + tableName);
|
||||
|
||||
// 使用 MyBatis-Plus 的 FastAutoGenerator 进行代码生成
|
||||
FastAutoGenerator.create(JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD)
|
||||
|
||||
// ========== 全局配置 ==========
|
||||
.globalConfig(builder -> {
|
||||
builder.author(AUTHOR) // 设置代码作者
|
||||
// .enableSwagger() // 开启 Swagger 注解支持
|
||||
.disableOpenDir() // 生成完成后不打开输出目录
|
||||
.dateType(DateType.ONLY_DATE) // 使用 java.util.Date
|
||||
.commentDate("yyyy-MM-dd") // 注释日期格式
|
||||
.outputDir(projectPath + "/src/main/java"); // 代码输出目录
|
||||
})
|
||||
|
||||
// ========== 包配置 ==========
|
||||
.packageConfig(builder -> {
|
||||
builder.parent(BASE_PACKAGE) // 父包名
|
||||
.moduleName(MODULE_NAME) // 模块包名
|
||||
.entity("entity") // 实体类包名
|
||||
.service("service") // Service 接口包名
|
||||
.serviceImpl("service.impl") // Service 实现类包名
|
||||
.mapper("mapper") // Mapper 接口包名
|
||||
.controller("controller") // Controller 包名
|
||||
.xml("mapper.xml") // Mapper XML 文件包名
|
||||
.pathInfo(Collections.singletonMap(
|
||||
OutputFile.xml,
|
||||
projectPath + "/src/main/resources/mapper" // XML 文件输出路径
|
||||
));
|
||||
})
|
||||
|
||||
// ========== 生成策略配置 ==========
|
||||
.strategyConfig(builder -> {
|
||||
// 表配置:包含的表和过滤的前缀
|
||||
builder.addInclude(getTables(tableName)) // 设置要生成的表
|
||||
.addTablePrefix(TABLE_PREFIXES) // 设置过滤表前缀
|
||||
.addFieldPrefix(FIELD_PREFIXES); // 设置过滤字段前缀
|
||||
|
||||
// ===== 实体类策略配置 =====
|
||||
builder.entityBuilder()
|
||||
.enableLombok() // 启用 Lombok
|
||||
.enableFileOverride() // 覆盖已存在的文件
|
||||
.enableTableFieldAnnotation() // 启用字段注解
|
||||
.naming(NamingStrategy.underline_to_camel) // 表名转驼峰
|
||||
.columnNaming(NamingStrategy.underline_to_camel) // 列名转驼峰
|
||||
.idType(IdType.ASSIGN_ID) // 主键策略:雪花算法
|
||||
.logicDeletePropertyName("deleted") // 逻辑删除字段名
|
||||
.versionPropertyName("version") // 乐观锁字段名
|
||||
.addTableFills(new Column("create_time", FieldFill.INSERT)) // 创建时间自动填充
|
||||
.addTableFills(new Column("update_time", FieldFill.INSERT_UPDATE)); // 更新时间自动填充
|
||||
// .formatFileName("%sEntity"); // 实体类文件名格式
|
||||
|
||||
// ===== Controller 策略配置 =====
|
||||
builder.controllerBuilder()
|
||||
.enableRestStyle() // 生成 @RestController
|
||||
.enableHyphenStyle() // 请求路径使用连字符格式
|
||||
.enableFileOverride() // 覆盖已存在的文件
|
||||
.formatFileName("%sController"); // 控制器文件名格式
|
||||
|
||||
// ===== Service 策略配置 =====
|
||||
builder.serviceBuilder()
|
||||
.enableFileOverride() // 覆盖已存在的文件
|
||||
.formatServiceFileName("%sService") // Service 接口文件名格式
|
||||
.formatServiceImplFileName("%sServiceImpl"); // Service 实现类文件名格式
|
||||
|
||||
// ===== Mapper 策略配置 =====
|
||||
builder.mapperBuilder()
|
||||
.enableFileOverride() // 覆盖已存在的文件
|
||||
.enableMapperAnnotation() // 启用 @Mapper 注解
|
||||
.enableBaseResultMap() // 生成基础 ResultMap
|
||||
.enableBaseColumnList() // 生成基础 ColumnList
|
||||
.formatMapperFileName("%sMapper") // Mapper 接口文件名格式
|
||||
.formatXmlFileName("%sMapper"); // Mapper XML 文件名格式
|
||||
})
|
||||
|
||||
// ========== 模板引擎配置 ==========
|
||||
.templateEngine(new FreemarkerTemplateEngine()) // 使用 Freemarker 模板引擎
|
||||
|
||||
// ========== 执行生成 ==========
|
||||
.execute();
|
||||
|
||||
System.out.println("================================================");
|
||||
System.out.println("代码生成完成!");
|
||||
System.out.println("生成位置:" + projectPath + "/src/main/java/" + BASE_PACKAGE.replace(".", "/"));
|
||||
System.out.println("================================================");
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理表名字符串,转换为生成器需要的数组格式
|
||||
*
|
||||
* @param tables 表名字符串,支持格式:
|
||||
* - "user" (单表)
|
||||
* - "user,role,menu" (多表逗号分隔)
|
||||
* - "all" (所有表)
|
||||
* @return 表名数组,如果输入 "all" 返回空数组表示生成所有表
|
||||
*/
|
||||
private static String[] getTables(String tables) {
|
||||
// 检查是否生成所有表
|
||||
if ("all".equalsIgnoreCase(tables)) {
|
||||
System.out.println("生成模式:所有表");
|
||||
return new String[]{}; // 空数组表示所有表
|
||||
}
|
||||
|
||||
// 按逗号分割多表输入
|
||||
String[] tableArray = tables.split(",");
|
||||
System.out.println("生成模式:指定表,数量:" + tableArray.length);
|
||||
|
||||
// 打印要生成的表名
|
||||
for (int i = 0; i < tableArray.length; i++) {
|
||||
System.out.println(" " + (i + 1) + ". " + tableArray[i].trim());
|
||||
}
|
||||
|
||||
return tableArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据库配置信息(用于调试或日志)
|
||||
*
|
||||
* @return 数据库配置信息字符串
|
||||
*/
|
||||
public static String getDataSourceInfo() {
|
||||
return String.format("数据库连接: %s, 用户名: %s", JDBC_URL, JDBC_USERNAME);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取代码生成配置信息(用于调试或日志)
|
||||
*
|
||||
* @return 代码生成配置信息字符串
|
||||
*/
|
||||
public static String getGeneratorConfigInfo() {
|
||||
return String.format("基础包名: %s, 模块名: %s, 作者: %s",
|
||||
BASE_PACKAGE, MODULE_NAME, AUTHOR);
|
||||
}
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.utils;
|
||||
|
||||
import cn.hutool.core.net.URLDecoder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.ResourceUtils;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
@Slf4j
|
||||
public class FileUtils {
|
||||
|
||||
/**
|
||||
* 写入文件
|
||||
*
|
||||
* @param fileName 文件名称
|
||||
* @param content 文件内容
|
||||
*/
|
||||
public static void writeFile(String className, String fileName, String content) {
|
||||
try {
|
||||
String filePath = className.replace("/target/classes", "") + "src/main/resources/templates/";
|
||||
filePath = URLDecoder.decode(filePath, Charset.defaultCharset());
|
||||
File dir = new File(filePath);
|
||||
if (!dir.exists()) {
|
||||
dir.mkdir();
|
||||
}
|
||||
// 拼接文件名
|
||||
filePath = filePath + fileName;
|
||||
File file = ResourceUtils.getFile(filePath);
|
||||
FileWriter writer = new FileWriter(file);
|
||||
BufferedWriter bw = new BufferedWriter(writer);
|
||||
bw.write(content);
|
||||
bw.close();
|
||||
} catch (IOException e) {
|
||||
log.error("文件模板写入异常:{}", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.utils;
|
||||
|
||||
|
||||
import freemarker.template.Configuration;
|
||||
import freemarker.template.Template;
|
||||
import freemarker.template.TemplateException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringWriter;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class FreeMarkerUtil {
|
||||
|
||||
private Configuration configuration = new Configuration(Configuration.VERSION_2_3_32);
|
||||
|
||||
public FreeMarkerUtil() throws IOException {
|
||||
configuration.setClassForTemplateLoading(this.getClass(), "/templates");
|
||||
}
|
||||
|
||||
public String processTemplate(String templateName, Map<String, Object> data) throws TemplateException, IOException {
|
||||
Template template = configuration.getTemplate(templateName);
|
||||
StringWriter writer = new StringWriter();
|
||||
template.process(data, writer);
|
||||
return writer.toString();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
FreeMarkerUtil freeMarkerUtil = null;
|
||||
try {
|
||||
freeMarkerUtil = new FreeMarkerUtil();
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
// 假设你想要处理controller.java.ftl文件
|
||||
String content = freeMarkerUtil.processTemplate("controller.java.ftl", data);
|
||||
System.out.println(content);
|
||||
} catch (IOException | TemplateException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.vo.generator;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据库表列表VO
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-07-23
|
||||
*/
|
||||
@Data
|
||||
@Schema(name = "业务信息VO", description = "业务信息VO")
|
||||
public class DbTableListVO {
|
||||
|
||||
@Schema(description = "数据表名称")
|
||||
private String tableName;
|
||||
|
||||
@Schema(description = "数据表描述")
|
||||
private String tableComment;
|
||||
|
||||
@Schema(description = "数据表引擎")
|
||||
private String engine;
|
||||
|
||||
@Schema(description = "数据表行数")
|
||||
private Integer tableRows;
|
||||
|
||||
@Schema(description = "数据表长度")
|
||||
private String dataLength;
|
||||
|
||||
@Schema(description = "数据表自增索引")
|
||||
private Integer autoIncrement;
|
||||
|
||||
@Schema(description = "数据表编码")
|
||||
private String tableCollation;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.vo.template;
|
||||
|
||||
import com.xiaomayi.generator.entity.Template;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 模板
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(name = "模板信息VO", description = "模板信息VO")
|
||||
public class TemplateInfoVO extends Template {
|
||||
|
||||
}
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
// +======================================================================
|
||||
// | 小蚂蚁云·企业数字化开发平台 [ 加速数字化转型,构建智能未来 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 核心价值:赋能开发者 · 服务企业 · 共建生态
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2020-2026 小蚂蚁云团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方平台: https://www.xiaomayicloud.com
|
||||
// +======================================================================
|
||||
// | 【知识产权声明】
|
||||
// | 1. 权属声明:本软件是受《中华人民共和国著作权法》
|
||||
// | 保护的专有财产,完整版权归小蚂蚁云团队所有
|
||||
// | 2. 权利范围:所有知识产权(商标、专利、著作权、
|
||||
// | 商业秘密等)均归小蚂蚁云团队所有,受法律保护
|
||||
// | 3. 授权性质:用户仅可获得有限的、非独占的使用许可
|
||||
// | 4. 禁止行为:未经书面授权,禁止对本软件本身
|
||||
// | 申请任何知识产权
|
||||
// | 5. 权利保留:未在本协议中明示授予的一切权利
|
||||
// | 均由小蚂蚁云团队保留
|
||||
// +======================================================================
|
||||
// | 【授权状态说明】
|
||||
// | 1. 未授权状态:用户未购买有效的商业许可证
|
||||
// | 2. 商业授权:已购买正式商业许可证的用户
|
||||
// +======================================================================
|
||||
// | 【绝对禁止条款】
|
||||
// | 无论授权状态如何,任何用户均严格禁止以下行为:
|
||||
// | 1. 逆向工程:对软件进行反编译、反汇编、技术破解或任何形式的逆向分析
|
||||
// | 2. 版权破坏:移除、修改、遮挡软件中的版权标识、许可控制或技术保护措施
|
||||
// | 3. 非法传播:复制、分发、出租、出借、转售、再许可本软件或其许可权利
|
||||
// | 4. 竞争性使用:利用本软件的代码、架构、设计开发直接竞争的产品或服务
|
||||
// | 5. 侵权使用:将软件用于侵犯第三方知识产权或其他合法权益的用途
|
||||
// +======================================================================
|
||||
// | 【商业授权许可范围】
|
||||
// | 购买有效商业许可证的用户,在遵守上述禁止条款的前提下,获得:
|
||||
// | 1. 使用权利:在许可证约定的项目数量、开发者数量范围内使用本软件
|
||||
// | 2. 技术支持:商业授权用户可以获取本地开发部署的技术支持服务
|
||||
// | 3. 版本更新:在许可证有效期内获取软件更新、安全补丁和功能增强
|
||||
// | 4. 商业部署:将基于本软件开发的应用程序用于商业运营和生产环境
|
||||
// +======================================================================
|
||||
// | 【许可证获取】
|
||||
// | 1. 获取途径:仅通过小蚂蚁云官方渠道购买(官网、授权代理商),购买记录凭证
|
||||
// | 2. 转让限制:许可证与购买主体绑定,未经书面同意不得转让
|
||||
// | 3. 终止情形:许可证到期、违反协议、破产清算等情况下自动终止
|
||||
// +======================================================================
|
||||
// | 【合法使用要求】
|
||||
// | 1. 仅限用于合法合规的软件研发
|
||||
// | 2. 严禁用于任何违法、侵权或恶意行为
|
||||
// | 3. 严禁违反我国法律法规和政策
|
||||
// +======================================================================
|
||||
// | 【免责声明】
|
||||
// | 因使用本框架导致的以下情况,我们概不负责:
|
||||
// | 1. 项目研发中的意外、疏忽、违约等风险
|
||||
// | 2. 侵犯第三方知识产权或其他合法权益
|
||||
// | 3. 任何直接、间接、附带或衍生一切损失
|
||||
// | 4. 用户违规违法行为的一切法律后果
|
||||
// +======================================================================
|
||||
// | 【协议重要提示】
|
||||
// | 1. 本声明是《小蚂蚁云最终用户许可协议》的摘要版本
|
||||
// | 2. 下载、安装或使用本软件即表示您接受全部协议条款
|
||||
// | 3. 我们保留单方面修改本声明的权利,修改后的版本在官网公布即生效
|
||||
// | 4. 用户有义务定期查看最新版本,继续使用视为接受修改
|
||||
// +======================================================================
|
||||
// | 【侵权举报与合规】
|
||||
// | 1. 知识产权侵权举报:请联系官方客服
|
||||
// | 2. 许可证合规咨询:xiaomayicloud@163.com
|
||||
// | 3. 违规使用将终止授权并追究责任
|
||||
// | 4. 无条件配合司法机关调查取证
|
||||
// | 5. 保留一切法律追诉权利
|
||||
// | 6. 对有效举报和合规建议,我们将给予感谢和奖励
|
||||
// +======================================================================
|
||||
|
||||
package com.xiaomayi.generator.vo.template;
|
||||
|
||||
import com.xiaomayi.generator.entity.Template;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 模板
|
||||
* </p>
|
||||
*
|
||||
* @author 小蚂蚁云团队
|
||||
* @since 2024-06-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(name = "模板列表VO", description = "模板列表VO")
|
||||
public class TemplateListVO extends Template {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.xiaomayi.generator.mapper.GeneratorMapper">
|
||||
|
||||
<!-- 1、获取数据库表(MySQL版本) -->
|
||||
<select id="getTableList" resultType="com.xiaomayi.generator.vo.generator.DbTableListVO">
|
||||
SELECT
|
||||
table_name,
|
||||
table_comment,
|
||||
ENGINE,
|
||||
table_rows,
|
||||
data_length,
|
||||
auto_increment,
|
||||
table_collation,
|
||||
create_time,
|
||||
update_time
|
||||
FROM
|
||||
information_schema.tables
|
||||
WHERE
|
||||
table_schema = (
|
||||
SELECT DATABASE
|
||||
())
|
||||
AND table_name NOT LIKE 'gen_%'
|
||||
AND table_name NOT LIKE 'qrtz_%'
|
||||
AND table_name NOT LIKE 'oauth2_%'
|
||||
AND table_name NOT LIKE 'undo_%'
|
||||
<if test="param.tableName != null and param.tableName != ''">
|
||||
AND lower(table_name) like lower(concat('%', #{param.tableName}, '%'))
|
||||
</if>
|
||||
<if test="param.tableComment != null and param.tableComment != ''">
|
||||
AND lower(table_comment) like lower(concat('%', #{param.tableComment}, '%'))
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- <!– 2、获取数据库表(PostgreSQL版本) –>-->
|
||||
<!-- <select id="getTableList" resultType="com.xiaomayi.generator.vo.generator.DbTableListVO">-->
|
||||
<!-- SELECT C-->
|
||||
<!-- .relname AS TABLE_NAME,-- 表名称-->
|
||||
<!-- obj_description ( C.OID, 'pg_class' ) AS table_comment,-- 表描述-->
|
||||
<!-- st.n_live_tup AS table_rows,-- 行数-->
|
||||
<!-- pg_size_pretty ( pg_total_relation_size ( C.OID ) ) AS data_length -- 表总大小-->
|
||||
|
||||
<!-- FROM-->
|
||||
<!-- pg_class-->
|
||||
<!-- C LEFT JOIN pg_namespace n ON n.OID = C.relnamespace-->
|
||||
<!-- LEFT JOIN pg_stat_user_tables st ON st.relid = C.OID-->
|
||||
<!-- WHERE-->
|
||||
<!-- C.relkind = 'r' -- 只选择普通表-->
|
||||
|
||||
<!-- AND n.nspname NOT IN ( 'pg_catalog', 'information_schema' ) -- 排除系统表-->
|
||||
|
||||
<!-- AND C.relname NOT LIKE'gen_%'-->
|
||||
<!-- AND C.relname NOT LIKE'qrtz_%'-->
|
||||
<!-- AND C.relname NOT LIKE'oauth2_%'-->
|
||||
<!-- AND C.relname NOT LIKE'undo_%'-->
|
||||
<!-- <if test="param.tableName != null and param.tableName != ''">-->
|
||||
<!-- AND lower(table_name) like lower(concat('%', #{param.tableName}, '%'))-->
|
||||
<!-- </if>-->
|
||||
<!-- <if test="param.tableComment != null and param.tableComment != ''">-->
|
||||
<!-- AND lower(table_comment) like lower(concat('%', #{param.tableComment}, '%'))-->
|
||||
<!-- </if>-->
|
||||
<!-- </select>-->
|
||||
|
||||
<!-- <!– 3、获取数据库表(SqlServer版本) –>-->
|
||||
<!-- <select id="getTableList" resultType="com.xiaomayi.generator.vo.generator.DbTableListVO">-->
|
||||
<!-- SELECT-->
|
||||
<!-- t.name AS table_name,-->
|
||||
<!-- ep.value AS table_comment,-->
|
||||
<!-- s.name AS ENGINE,-->
|
||||
<!-- p.rows AS table_rows,-->
|
||||
<!-- SUM(a.total_pages) * 8 AS data_length,-->
|
||||
<!-- t.create_date AS create_time,-->
|
||||
<!-- t.modify_date AS update_time-->
|
||||
<!-- FROM-->
|
||||
<!-- sys.tables t-->
|
||||
<!-- INNER JOIN-->
|
||||
<!-- sys.indexes i ON t.object_id = i.object_id-->
|
||||
<!-- INNER JOIN-->
|
||||
<!-- sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id-->
|
||||
<!-- INNER JOIN-->
|
||||
<!-- sys.allocation_units a ON p.partition_id = a.container_id-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- sys.extended_properties ep ON t.object_id = ep.major_id AND ep.minor_id = 0 AND ep.name = 'MS_Description'-->
|
||||
<!-- INNER JOIN-->
|
||||
<!-- sys.schemas s ON t.schema_id = s.schema_id-->
|
||||
<!-- WHERE-->
|
||||
<!-- i.index_id <= 1-->
|
||||
<!-- AND t.name NOT LIKE 'gen_%'-->
|
||||
<!-- AND t.name NOT LIKE 'qrtz_%'-->
|
||||
<!-- AND t.name NOT LIKE 'oauth2_%'-->
|
||||
<!-- AND t.name NOT LIKE 'undo_%'-->
|
||||
<!-- <if test="param.tableName != null and param.tableName != ''">-->
|
||||
<!-- AND lower(t.name) like lower(concat('%', #{param.tableName}, '%'))-->
|
||||
<!-- </if>-->
|
||||
<!-- <if test="param.tableComment != null and param.tableComment != ''">-->
|
||||
<!-- AND lower(t.name) like lower(concat('%', #{param.tableComment}, '%'))-->
|
||||
<!-- </if>-->
|
||||
<!-- GROUP BY-->
|
||||
<!-- t.name, s.name, p.rows, t.create_date, t.modify_date, ep.value-->
|
||||
<!-- ORDER BY-->
|
||||
<!-- t.name;-->
|
||||
<!-- </select>-->
|
||||
|
||||
<!-- 4、获取数据库表(Sqlite版本)
|
||||
特别说明:由于Sqlite特性以及参数不完整,此处仅用于展示,如需使用代码生成器功能请使用MySQL、PostgreSQL、SqlServer等其他数据库
|
||||
-->
|
||||
<!-- <select id="getTableList" resultType="com.xiaomayi.generator.vo.generator.DbTableListVO">-->
|
||||
<!-- SELECT-->
|
||||
<!-- name AS table_name-->
|
||||
<!-- FROM-->
|
||||
<!-- sqlite_master-->
|
||||
<!-- WHERE-->
|
||||
<!-- type = 'table'-->
|
||||
<!-- AND name NOT LIKE 'sqlite_%'-->
|
||||
<!-- AND name NOT LIKE 'gen_%'-->
|
||||
<!-- AND name NOT LIKE 'qrtz_%'-->
|
||||
<!-- AND name NOT LIKE 'oauth2_%'-->
|
||||
<!-- AND name NOT LIKE 'undo_%'-->
|
||||
<!-- <if test="param.tableName != null and param.tableName != ''">-->
|
||||
<!-- AND lower(name) like lower(concat('%', #{param.tableName}, '%'))-->
|
||||
<!-- </if>-->
|
||||
<!-- <if test="param.tableComment != null and param.tableComment != ''">-->
|
||||
<!-- AND lower(name) like lower(concat('%', #{param.tableComment}, '%'))-->
|
||||
<!-- </if>-->
|
||||
<!-- </select>-->
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.xiaomayi.generator.mapper.TemplateMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.xiaomayi.generator.entity.Template">
|
||||
<id column="id" property="id" />
|
||||
<result column="name" property="name" />
|
||||
<result column="code" property="code" />
|
||||
<result column="path" property="path" />
|
||||
<result column="note" property="note" />
|
||||
<result column="content" property="content" />
|
||||
<result column="create_user" property="createUser" />
|
||||
<result column="create_time" property="createTime" />
|
||||
<result column="update_user" property="updateUser" />
|
||||
<result column="update_time" property="updateTime" />
|
||||
<result column="del_flag" property="delFlag" />
|
||||
</resultMap>
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
id, name, code, path, note, content, create_user, create_time, update_user, update_time, del_flag
|
||||
</sql>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user