From 6a5146d7b018d88a95523815f71eec104297ae63 Mon Sep 17 00:00:00 2001 From: eroter <331864945@qq.com> Date: Thu, 9 Sep 2021 16:37:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0mall=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=EF=BC=8C=E6=B5=8B=E8=AF=95Fluent-Mybatis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 1 + .../src/main/resources/application.yml | 2 +- ruoyi-common/pom.xml | 316 +++++++++--------- .../core/domain/entity/test/Product.java | 62 ---- .../core/domain/entity/test/ProductTest.java | 18 - .../test/dao/impl/ProductCategoryDaoImpl.java | 16 + .../impl/ProductCategoryRelationDaoImpl.java | 16 + .../entity/test/dao/impl/ProductDaoImpl.java | 16 + .../test/dao/intf/ProductCategoryDao.java | 14 + .../dao/intf/ProductCategoryRelationDao.java | 14 + .../entity/test/dao/intf/ProductDao.java | 14 + .../domain/entity/test/entity/Product.java | 113 +++++++ .../entity/test/entity/ProductCategory.java | 135 ++++++++ .../test/entity/ProductCategoryRelation.java | 58 ++++ .../java/com/ruoyi/common/GeneratorTest.java | 51 +++ .../controller/ProductTestController.java | 102 +++++- ruoyi-mall/pom.xml | 14 + 17 files changed, 723 insertions(+), 239 deletions(-) delete mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/Product.java delete mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/ProductTest.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductCategoryDaoImpl.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductCategoryRelationDaoImpl.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductDaoImpl.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductCategoryDao.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductCategoryRelationDao.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductDao.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/Product.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/ProductCategory.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/ProductCategoryRelation.java create mode 100644 ruoyi-common/src/test/java/com/ruoyi/common/GeneratorTest.java create mode 100644 ruoyi-mall/pom.xml diff --git a/pom.xml b/pom.xml index cdd1f9e4..3d195505 100644 --- a/pom.xml +++ b/pom.xml @@ -234,6 +234,7 @@ ruoyi-demo ruoyi-extend ruoyi-oss + ruoyi-mall pom diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 8b633f85..472e1ac3 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -103,7 +103,7 @@ token: # 令牌密钥 secret: abcdefghijklmnopqrstuvwxyz # 令牌有效期(默认30分钟) - expireTime: 30 + expireTime: 300 # 重复提交 repeat-submit: diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index d32051ad..49642584 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -2,182 +2,198 @@ - - ruoyi-vue-plus - com.ruoyi - 3.0.0 - - 4.0.0 + + ruoyi-vue-plus + com.ruoyi + 3.0.0 + + 4.0.0 - ruoyi-common + ruoyi-common - - common通用工具 - + + common通用工具 + - + - - - org.springframework - spring-context-support - + + + org.springframework + spring-context-support + - - - org.springframework - spring-web - + + + org.springframework + spring-web + - - - org.springframework.boot - spring-boot-starter-security - + + + org.springframework.boot + spring-boot-starter-security + - - - javax.validation - validation-api - + + + javax.validation + validation-api + - - - org.apache.commons - commons-lang3 - + + + org.apache.commons + commons-lang3 + - - - com.fasterxml.jackson.core - jackson-databind - + + + com.fasterxml.jackson.core + jackson-databind + - - - org.apache.poi - poi-ooxml - + + + org.apache.poi + poi-ooxml + - - com.alibaba - easyexcel - + + com.alibaba + easyexcel + - - - org.yaml - snakeyaml - + + + org.yaml + snakeyaml + - - - io.jsonwebtoken - jjwt - + + + io.jsonwebtoken + jjwt + - - - org.springframework.boot - spring-boot-starter-data-redis - + + + org.springframework.boot + spring-boot-starter-data-redis + - - - org.apache.commons - commons-pool2 - + + + org.apache.commons + commons-pool2 + - - - javax.servlet - javax.servlet-api - + + + javax.servlet + javax.servlet-api + - - com.baomidou - mybatis-plus-boot-starter - - - com.baomidou - mybatis-plus-extension - - - cn.hutool - hutool-all - - - org.projectlombok - lombok - + + com.baomidou + mybatis-plus-boot-starter + + + com.baomidou + mybatis-plus-extension + + + cn.hutool + hutool-all + + + org.projectlombok + lombok + - - org.springframework.cloud - spring-cloud-starter-openfeign - + + org.springframework.cloud + spring-cloud-starter-openfeign + - - io.github.openfeign - feign-okhttp - + + io.github.openfeign + feign-okhttp + - - de.codecentric - spring-boot-admin-starter-client - + + de.codecentric + spring-boot-admin-starter-client + - - com.github.xiaoymin - knife4j-spring-boot-starter - + + com.github.xiaoymin + knife4j-spring-boot-starter + - - org.springframework.boot - spring-boot-starter-actuator - - - - org.springframework.boot - spring-boot-configuration-processor - + + org.springframework.boot + spring-boot-starter-actuator + + + + org.springframework.boot + spring-boot-configuration-processor + - - - org.redisson - redisson-spring-boot-starter - + + + org.redisson + redisson-spring-boot-starter + - - - com.baomidou - dynamic-datasource-spring-boot-starter - - - - p6spy - p6spy - + + + com.baomidou + dynamic-datasource-spring-boot-starter + + + + p6spy + p6spy + - - com.baomidou - lock4j-redisson-spring-boot-starter - + + com.baomidou + lock4j-redisson-spring-boot-starter + - - - - com.github.atool - fluent-mybatis - 1.7.2 - - - - com.github.atool - fluent-mybatis-processor - 1.7.2 - provided - + + + + com.github.atool + fluent-mybatis + 1.7.2 + + + + com.github.atool + fluent-mybatis-processor + 1.7.2 + provided + - + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.security + spring-security-test + test + + + + + mysql + mysql-connector-java + + diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/Product.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/Product.java deleted file mode 100644 index 7ec248d9..00000000 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/Product.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.ruoyi.common.core.domain.entity.test; - -import cn.org.atool.fluent.mybatis.annotation.FluentMybatis; -import cn.org.atool.fluent.mybatis.base.IEntity; -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import java.io.Serializable; -import java.util.Date; -import java.math.BigDecimal; - -/** - * 商品对象 product - * - * @author ruoyi - * @date 2021-09-03 - */ - -@Data -@FluentMybatis -public class Product implements IEntity { - - private static final long serialVersionUID=1L; - - /** - * 商品id - */ - @TableId(value = "id") - private Long id; - - /** - * 创建时间 - */ - private Date createDateTime; - - /** - * 更新时间 - */ - private Date updateDateTime; - - /** - * 商品唯一编号 - */ - private String productCode; - - /** - * 商品名称 - */ - private String productName; - - /** - * 单价 - */ - private BigDecimal unitPrice; - - /** - * 运费 - */ - private BigDecimal freight; - -} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/ProductTest.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/ProductTest.java deleted file mode 100644 index b4234654..00000000 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/ProductTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.ruoyi.common.core.domain.entity.test; - -import com.ruoyi.common.core.domain.entity.mapper.ProductMapper; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * 商品测试 - * @author Geniou - * @create 2021/9/6 18:41 - */ -public class ProductTest { - - @Autowired - private ProductMapper productMapper; - - - -} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductCategoryDaoImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductCategoryDaoImpl.java new file mode 100644 index 00000000..525446d8 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductCategoryDaoImpl.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.core.domain.entity.test.dao.impl; + +import com.ruoyi.common.core.domain.entity.test.dao.base.ProductCategoryBaseDao; +import com.ruoyi.common.core.domain.entity.test.dao.intf.ProductCategoryDao; +import org.springframework.stereotype.Repository; + +/** + * ProductCategoryDaoImpl: 数据操作接口实现 + * + * 这只是一个减少手工创建的模板文件 + * 可以任意添加方法和实现, 更改作者和重定义类名 + *

@author Powered By Fluent Mybatis + */ +@Repository +public class ProductCategoryDaoImpl extends ProductCategoryBaseDao implements ProductCategoryDao { +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductCategoryRelationDaoImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductCategoryRelationDaoImpl.java new file mode 100644 index 00000000..4a68fd75 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductCategoryRelationDaoImpl.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.core.domain.entity.test.dao.impl; + +import com.ruoyi.common.core.domain.entity.test.dao.base.ProductCategoryRelationBaseDao; +import com.ruoyi.common.core.domain.entity.test.dao.intf.ProductCategoryRelationDao; +import org.springframework.stereotype.Repository; + +/** + * ProductCategoryRelationDaoImpl: 数据操作接口实现 + * + * 这只是一个减少手工创建的模板文件 + * 可以任意添加方法和实现, 更改作者和重定义类名 + *

@author Powered By Fluent Mybatis + */ +@Repository +public class ProductCategoryRelationDaoImpl extends ProductCategoryRelationBaseDao implements ProductCategoryRelationDao { +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductDaoImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductDaoImpl.java new file mode 100644 index 00000000..ee42587c --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/impl/ProductDaoImpl.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.core.domain.entity.test.dao.impl; + +import com.ruoyi.common.core.domain.entity.test.dao.base.ProductBaseDao; +import com.ruoyi.common.core.domain.entity.test.dao.intf.ProductDao; +import org.springframework.stereotype.Repository; + +/** + * ProductDaoImpl: 数据操作接口实现 + * + * 这只是一个减少手工创建的模板文件 + * 可以任意添加方法和实现, 更改作者和重定义类名 + *

@author Powered By Fluent Mybatis + */ +@Repository +public class ProductDaoImpl extends ProductBaseDao implements ProductDao { +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductCategoryDao.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductCategoryDao.java new file mode 100644 index 00000000..7c2a5c07 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductCategoryDao.java @@ -0,0 +1,14 @@ +package com.ruoyi.common.core.domain.entity.test.dao.intf; + +import cn.org.atool.fluent.mybatis.base.IBaseDao; +import com.ruoyi.common.core.domain.entity.test.entity.ProductCategory; + +/** + * ProductCategoryDao: 数据操作接口 + * + * 这只是一个减少手工创建的模板文件 + * 可以任意添加方法和实现, 更改作者和重定义类名 + *

@author Powered By Fluent Mybatis + */ +public interface ProductCategoryDao extends IBaseDao { +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductCategoryRelationDao.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductCategoryRelationDao.java new file mode 100644 index 00000000..50633326 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductCategoryRelationDao.java @@ -0,0 +1,14 @@ +package com.ruoyi.common.core.domain.entity.test.dao.intf; + +import cn.org.atool.fluent.mybatis.base.IBaseDao; +import com.ruoyi.common.core.domain.entity.test.entity.ProductCategoryRelation; + +/** + * ProductCategoryRelationDao: 数据操作接口 + * + * 这只是一个减少手工创建的模板文件 + * 可以任意添加方法和实现, 更改作者和重定义类名 + *

@author Powered By Fluent Mybatis + */ +public interface ProductCategoryRelationDao extends IBaseDao { +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductDao.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductDao.java new file mode 100644 index 00000000..dcf1a694 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/dao/intf/ProductDao.java @@ -0,0 +1,14 @@ +package com.ruoyi.common.core.domain.entity.test.dao.intf; + +import cn.org.atool.fluent.mybatis.base.IBaseDao; +import com.ruoyi.common.core.domain.entity.test.entity.Product; + +/** + * ProductDao: 数据操作接口 + * + * 这只是一个减少手工创建的模板文件 + * 可以任意添加方法和实现, 更改作者和重定义类名 + *

@author Powered By Fluent Mybatis + */ +public interface ProductDao extends IBaseDao { +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/Product.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/Product.java new file mode 100644 index 00000000..9c99b2bb --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/Product.java @@ -0,0 +1,113 @@ +package com.ruoyi.common.core.domain.entity.test.entity; + +import cn.org.atool.fluent.mybatis.annotation.FluentMybatis; +import cn.org.atool.fluent.mybatis.annotation.RefMethod; +import cn.org.atool.fluent.mybatis.annotation.TableField; +import cn.org.atool.fluent.mybatis.annotation.TableId; +import cn.org.atool.fluent.mybatis.base.IEntity; +import cn.org.atool.fluent.mybatis.base.RichEntity; +import cn.org.atool.fluent.mybatis.functions.TableSupplier; +import java.io.Serializable; +import java.lang.Class; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * Product: 数据映射实体定义 + * + * @author Powered By Fluent Mybatis + */ +@SuppressWarnings({"unchecked"}) +@Data +@Accessors( + chain = true +) +@EqualsAndHashCode( + callSuper = false +) +@FluentMybatis( + table = "product", + schema = "ruoyi", + suffix = "" +) +public class Product extends RichEntity { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 创建时间 + */ + @TableField("create_date_time") + private Date createDateTime; + + /** + * 运费 + */ + @TableField("freight") + private BigDecimal freight; + + /** + * 商品唯一编号 + */ + @TableField("product_code") + private String productCode; + + /** + * 商品名称 + */ + @TableField("product_name") + private String productName; + + /** + * 单价 + */ + @TableField("unit_price") + private BigDecimal unitPrice; + + /** + * 更新时间 + */ + @TableField("update_date_time") + private Date updateDateTime; + + @Override + public Serializable findPk() { + return this.id; + } + + @Override + public final Class entityClass() { + return Product.class; + } + + @Override + public final Product changeTableBelongTo(TableSupplier supplier) { + return super.changeTableBelongTo(supplier); + } + + @Override + public final Product changeTableBelongTo(String table) { + return super.changeTableBelongTo(table); + } + + /** + * 实现定义在{@link cn.org.atool.fluent.mybatis.base.IRefs}子类Refs上 + */ + @RefMethod + public List findProductCategoryList() { + return super.invoke("findProductCategoryList", true); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/ProductCategory.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/ProductCategory.java new file mode 100644 index 00000000..e9b47d00 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/ProductCategory.java @@ -0,0 +1,135 @@ +package com.ruoyi.common.core.domain.entity.test.entity; + +import cn.org.atool.fluent.mybatis.annotation.FluentMybatis; +import cn.org.atool.fluent.mybatis.annotation.RefMethod; +import cn.org.atool.fluent.mybatis.annotation.TableField; +import cn.org.atool.fluent.mybatis.annotation.TableId; +import cn.org.atool.fluent.mybatis.base.IEntity; +import cn.org.atool.fluent.mybatis.base.RichEntity; +import cn.org.atool.fluent.mybatis.functions.TableSupplier; + +import java.io.Serializable; +import java.lang.Class; +import java.lang.Integer; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; +import java.util.Date; +import java.util.List; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * ProductCategory: 数据映射实体定义 + * + * @author Powered By Fluent Mybatis + */ +@SuppressWarnings({"unchecked"}) +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@FluentMybatis(table = "product_category", schema = "ruoyi", suffix = "") +public class ProductCategory extends RichEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId("id") + private Long id; + + /** + * 分类名称 + */ + @TableField("category_name") + private String categoryName; + + /** + * 分类类型(Title-标题,Value-值) + */ + @TableField("category_type") + private String categoryType; + + /** + * 创建时间 + */ + @TableField("create_date_time") + private Date createDateTime; + + /** + * 层级 + */ + @TableField("level_no") + private Integer levelNo; + + /** + * 父级分类主键 + */ + @TableField("parent_id") + private Long parentId; + + /** + * 排序号 + */ + @TableField("sort_num") + private Integer sortNum; + + /** + * 分类状态(Enable-启用,Disable-禁用,Delete-删除) + */ + @TableField("status_type") + private String statusType; + + /** + * 更新时间 + */ + @TableField("update_date_time") + private Date updateDateTime; + + @Override + public Serializable findPk() { + return this.id; + } + + @Override + public final Class entityClass() { + return ProductCategory.class; + } + + @Override + public final ProductCategory changeTableBelongTo(TableSupplier supplier) { + return super.changeTableBelongTo(supplier); + } + + @Override + public final ProductCategory changeTableBelongTo(String table) { + return super.changeTableBelongTo(table); + } + + /** + * 实现定义在{@link cn.org.atool.fluent.mybatis.base.IRefs}子类Refs上 + */ + @RefMethod + public List findProductList() { + return super.invoke("findProductList", true); + } + + /** + * 实现定义在{@link cn.org.atool.fluent.mybatis.base.IRefs}子类Refs上 + */ + @RefMethod("parentId = id") + public List findProductCategoryList() { + return super.invoke("findProductCategoryList", true); + } + + /** + * 实现定义在{@link cn.org.atool.fluent.mybatis.base.IRefs}子类Refs上 + */ + @RefMethod("id = parentId") + public ProductCategory findProductCategory() { + return super.invoke("findProductCategory", true); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/ProductCategoryRelation.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/ProductCategoryRelation.java new file mode 100644 index 00000000..cf73dac5 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/test/entity/ProductCategoryRelation.java @@ -0,0 +1,58 @@ +package com.ruoyi.common.core.domain.entity.test.entity; + +import cn.org.atool.fluent.mybatis.annotation.FluentMybatis; +import cn.org.atool.fluent.mybatis.annotation.TableField; +import cn.org.atool.fluent.mybatis.base.IEntity; +import cn.org.atool.fluent.mybatis.base.RichEntity; +import cn.org.atool.fluent.mybatis.functions.TableSupplier; + +import java.lang.Class; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * ProductCategoryRelation: 数据映射实体定义 + * + * @author Powered By Fluent Mybatis + */ +@SuppressWarnings({"unchecked"}) +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@FluentMybatis(table = "product_category_relation", schema = "ruoyi", suffix = "") +public class ProductCategoryRelation extends RichEntity { + private static final long serialVersionUID = 1L; + + /** + * 商品分类主键 + */ + @TableField("product_category_id") + private Long productCategoryId; + + /** + * 商品主键 + */ + @TableField("product_id") + private Long productId; + + @Override + public final Class entityClass() { + return ProductCategoryRelation.class; + } + + @Override + public final ProductCategoryRelation changeTableBelongTo(TableSupplier supplier) { + return super.changeTableBelongTo(supplier); + } + + @Override + public final ProductCategoryRelation changeTableBelongTo(String table) { + return super.changeTableBelongTo(table); + } +} diff --git a/ruoyi-common/src/test/java/com/ruoyi/common/GeneratorTest.java b/ruoyi-common/src/test/java/com/ruoyi/common/GeneratorTest.java new file mode 100644 index 00000000..7abd7c7a --- /dev/null +++ b/ruoyi-common/src/test/java/com/ruoyi/common/GeneratorTest.java @@ -0,0 +1,51 @@ +package com.ruoyi.common; + +import cn.org.atool.generator.FileGenerator; +import cn.org.atool.generator.annotation.Relation; +import cn.org.atool.generator.annotation.RelationType; +import cn.org.atool.generator.annotation.Table; +import cn.org.atool.generator.annotation.Tables; +import cn.org.atool.generator.database.model.ConfigKey; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; + +/** + * 代码生成测试 + * @author Geniou + * @create 2021/9/9 12:17 + */ +@Slf4j +public class GeneratorTest { + + static final String url = + "jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true"; + static final String basePackage = "com.ruoyi.common.core.domain.entity.test"; + + @Test + void contextLoads() { + FileGenerator.build(RelationMTM.class); + } + + @Tables( + url = url, username = "root", password = "123456", + basePack = basePackage, + srcDir = "src/main/java/com/ruoyi/common/core/domain/entity/test", + tables = @Table(value = {"product_category", "product", "product_category_relation"}) + ) + static class Noting{} + + @Tables( + url = url, username = "root", password = "123456", + basePack = basePackage, + srcDir = "src\\main\\java\\", + tables = {@Table(value = {"product", "product_category", "product_category_relation"})}, + relations = { + @Relation(source = "product", target = "product_category", type = RelationType.TwoWay_N_N), + @Relation(source = "product_category", target = "product_category", type = RelationType.TwoWay_1_N, + where = "id = parent_id") + }, + entitySuffix = "" + ) + static class RelationMTM{} + +} diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/ProductTestController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/ProductTestController.java index e005fcfc..00ccd68f 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/ProductTestController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/ProductTestController.java @@ -1,13 +1,17 @@ package com.ruoyi.demo.controller; -import com.ruoyi.common.core.domain.entity.mapper.ProductMapper; -import com.ruoyi.common.core.domain.entity.test.Product; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.test.entity.Product; +import com.ruoyi.common.core.domain.entity.test.entity.ProductCategory; +import com.ruoyi.common.core.domain.entity.test.mapper.ProductMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -23,17 +27,19 @@ import java.util.Date; @Api(value = "商品测试控制方法", tags = {"商品测试控制方法"}) @RestController @RequestMapping("/demo/product") -public class ProductTestController { +public class ProductTestController extends BaseController { @Autowired private ProductMapper productMapper; + + /** - * 查询测试树表列表 + * 测试插入 */ - @ApiOperation("测试语句") - @GetMapping("/mapperTest") - public void list() { + @ApiOperation("测试插入商品") + @PostMapping("/insertProduct") + public void insertProduct() { Product product = new Product(); product.setProductCode("M10001"); product.setProductName("测试商品"); @@ -42,7 +48,87 @@ public class ProductTestController { product.setCreateDateTime(new Date()); product.setUpdateDateTime(new Date()); productMapper.insert(product); + } + + /** + * 测试插入 + */ + @ApiOperation("测试插入商品分类") + @PostMapping("/insertProductCategory") + public void insertProductCategory() { + ProductCategory productCategory = new ProductCategory(); + productCategory.setCategoryName("一年级"); + productCategory.setCategoryType("Title"); } + // + // + // /** + // * 测试查询 + // */ + // @ApiOperation("测试查询") + // @GetMapping("/queryTest") + // public AjaxResult query(@Validated Product bo) { + // Product product = productMapper.findById(bo.getId()); + // return new AjaxResult().setData(product); + // } + + // /** + // * 测试查询2(根据实体类字段) + // */ + // @ApiOperation("测试查询2") + // @GetMapping("/query2Test") + // public AjaxResult> query2(@Validated Product bo) { + // ProductQuery productQuery = productMapper.query().where.eqByEntity(bo).end(); + // List products = productMapper.listEntity(productQuery); + // log.info("query2 rows = {}", CollUtil.size(products)); + // return new AjaxResult>().setData(products); + // } + // + // /** + // * 测试删除 + // */ + // @ApiOperation("测试删除") + // @DeleteMapping("/deleteTest") + // public AjaxResult delete(@Validated Product bo) { + // return toAjax(productMapper.deleteById(bo.getId())); + // } + + // /** + // * 测试删除2 + // */ + // @ApiOperation("测试删除2(根据相关参数)") + // @DeleteMapping("/delete2Test") + // public AjaxResult delete2(@Validated Product bo) { + // ProductQuery productQuery = productMapper.query().where.eqByEntity(bo).end(); + // List products = productMapper.listEntity(productQuery); + // int row = productMapper.delete(productQuery); + // return toAjax(row); + // } + // + // static final String url = + // "jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true"; + // static final String basePackage = "com.ruoyi.common.core.domain.entity.test"; + + // /** + // * 测试删除2 + // */ + // @ApiOperation("生成测试") + // @DeleteMapping("/generatorTest") + // public AjaxResult generatorTest() { + // FileGenerator.build(Noting.class); + // return toAjax(true); + // } + // + // @Tables( + // url = url, username = "root", password = "123456", + // basePack = basePackage, + // srcDir = "src/main/java/com/ruoyi/common/core/domain/entity/test", + // tables = @Table(value = {"product_category", "product", "product_category_relation"}) + // ) + // static class Noting{} + + + } diff --git a/ruoyi-mall/pom.xml b/ruoyi-mall/pom.xml new file mode 100644 index 00000000..a7d44008 --- /dev/null +++ b/ruoyi-mall/pom.xml @@ -0,0 +1,14 @@ + + + + ruoyi-vue-plus + com.ruoyi + 3.0.0 + + 4.0.0 + + ruoyi-mall + + \ No newline at end of file