From 364b790d2138d2c2a09fb77d9078a08364163c1f Mon Sep 17 00:00:00 2001 From: wangwei Date: Mon, 10 Mar 2025 14:41:23 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E5=9C=B0=E5=9D=80=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?knife4j=20=E5=A2=9E=E5=8A=A0mybatis-plus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 16 ++++- ruoyi-admin/pom.xml | 6 ++ .../web/controller/dhc/DhcAreaController.java | 8 +++ .../src/main/resources/application-druid.yml | 2 +- .../src/main/resources/application.yml | 15 ++++- ruoyi-common/pom.xml | 9 +++ .../ruoyi/common/core/domain/BaseEntity.java | 5 ++ .../common/core/domain/entity/DhcArea.java | 14 +++++ .../ruoyi/framework/config/MyBatisConfig.java | 4 +- .../framework/config/MybatisPlusConfig.java | 62 +++++++++++++++++++ .../ruoyi/dhc/mapper/DhcCountryMapper.java | 5 +- .../service/impl/DhcCountryServiceImpl.java | 6 +- 12 files changed, 143 insertions(+), 9 deletions(-) create mode 100644 ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java diff --git a/pom.xml b/pom.xml index 62767c7..5a85a01 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ 3.8.8 UTF-8 UTF-8 - 1.8 + 21 3.1.1 5.3.33 5.7.12 @@ -31,6 +31,8 @@ 4.1.2 2.3 0.9.1 + 3.0.3 + 3.5.2 @@ -105,6 +107,18 @@ + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + + commons-io diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 88dc045..4fd6369 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -37,6 +37,12 @@ 1.6.2 + + + com.github.xiaoymin + knife4j-spring-boot-starter + + mysql diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/dhc/DhcAreaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/dhc/DhcAreaController.java index cfa7bf3..b724511 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/dhc/DhcAreaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/dhc/DhcAreaController.java @@ -8,6 +8,9 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.dhc.service.IDhcAreaService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -24,6 +27,7 @@ import java.util.Map; * @author ruoyi * @date 2024-07-29 */ +@Api(tags = "区域管理") @RestController @RequestMapping("/dhc/area") public class DhcAreaController extends BaseController @@ -34,6 +38,7 @@ public class DhcAreaController extends BaseController /** * 查询区域列表 */ + @ApiOperation("查询区域列表") @PreAuthorize("@ss.hasPermi('dhc:area:list')") @GetMapping("/list") public TableDataInfo list(DhcArea dhcArea) @@ -46,6 +51,7 @@ public class DhcAreaController extends BaseController /** * 导出区域列表 */ + @ApiOperation("导出区域列表") @PreAuthorize("@ss.hasPermi('dhc:area:export')") @Log(title = "区域", businessType = BusinessType.EXPORT) @PostMapping("/export") @@ -59,6 +65,8 @@ public class DhcAreaController extends BaseController /** * 获取区域详细信息 */ + @ApiOperation("获取区域详细信息") + @ApiImplicitParam(name = "areaId", value = "区域id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) @PreAuthorize("@ss.hasPermi('dhc:area:query')") @GetMapping(value = "/{areaId}") public AjaxResult getInfo(@PathVariable("areaId") Long areaId) diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index b7eb40b..78c6b26 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://121.89.204.142:13306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://121.89.204.142:13306/dhc-gss?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: root # 从库数据源 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 1855645..b36438a 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -95,10 +95,19 @@ token: # 令牌密钥 secret: abcdefghijklmnopqrstuvwxyz # 令牌有效期(默认30分钟) - expireTime: 30 + expireTime: 1440 -# MyBatis配置 -mybatis: +## MyBatis配置 +#mybatis: +# # 搜索指定包别名 +# typeAliasesPackage: com.ruoyi.**.domain +# # 配置mapper的扫描,找到所有的mapper.xml映射文件 +# mapperLocations: classpath*:mapper/**/*Mapper.xml +# # 加载全局的配置文件 +# configLocation: classpath:mybatis/mybatis-config.xml + +# MyBatis Plus配置 +mybatis-plus: # 搜索指定包别名 typeAliasesPackage: com.ruoyi.**.domain # 配置mapper的扫描,找到所有的mapper.xml映射文件 diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index d625896..4f0f8c6 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -119,6 +119,15 @@ javax.servlet-api + + com.github.xiaoymin + knife4j-spring-boot-starter + + + + com.baomidou + mybatis-plus-boot-starter + \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java index 15bf66b..8acfc36 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java @@ -4,6 +4,8 @@ import java.io.Serializable; import java.util.Date; import java.util.HashMap; import java.util.Map; + +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; @@ -19,6 +21,7 @@ public class BaseEntity implements Serializable /** 搜索值 */ @JsonIgnore + @TableField(exist = false) private String searchValue; /** 创建者 */ @@ -36,10 +39,12 @@ public class BaseEntity implements Serializable private Date updateTime; /** 备注 */ + @TableField(exist = false) private String remark; /** 请求参数 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) + @TableField(exist = false) private Map params; public String getSearchValue() diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/DhcArea.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/DhcArea.java index 7cedf24..59e76fe 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/DhcArea.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/DhcArea.java @@ -2,6 +2,8 @@ package com.ruoyi.common.core.domain.entity; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -14,6 +16,7 @@ import java.util.List; * @author ruoyi * @date 2024-07-29 */ +@ApiModel(value = "DhcArea", description = "区域对象") public class DhcArea extends BaseEntity { private static final long serialVersionUID = 1L; @@ -22,45 +25,56 @@ public class DhcArea extends BaseEntity private Long areaId; /** 父区域id */ + @ApiModelProperty("父区域id") @Excel(name = "父区域id") private Long parentId; /** 区域编码 */ @Excel(name = "区域编码") + @ApiModelProperty("区域编码") private String areaCode; /** 区域名称 */ @Excel(name = "区域名称") + @ApiModelProperty("区域名称") private String areaName; /** 产品线 */ @Excel(name = "产品线") + @ApiModelProperty("产品线") private String productLineCode; /** 区域类型 */ @Excel(name = "区域类型") + @ApiModelProperty("区域类型") private String areaType; /** 区域层级 */ @Excel(name = "区域层级") + @ApiModelProperty("区域层级") private String areaLevel; /** 显示顺序 */ @Excel(name = "显示顺序") + @ApiModelProperty("显示顺序") private Long orderNum; /** 区域说明 */ @Excel(name = "区域说明") + @ApiModelProperty("区域说明") private String areaDesc; /** 区域状态(0正常 1停用) */ @Excel(name = "区域状态", readConverterExp = "0=正常,1=停用") + @ApiModelProperty("区域状态 0=正常,1=停用") private String status; /** 删除标志(0代表存在 1代表删除) */ + @ApiModelProperty("删除标志(0代表存在 1代表删除)") private String delFlag; /** 父区域名称 */ + @ApiModelProperty("父区域名称") private String parentName; private boolean isEdit = false; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java index 057c941..78d30f4 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java @@ -26,10 +26,10 @@ import com.ruoyi.common.utils.StringUtils; /** * Mybatis支持*匹配扫描包 - * + * * @author ruoyi */ -@Configuration +//@Configuration public class MyBatisConfig { @Autowired diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java new file mode 100644 index 0000000..f712180 --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java @@ -0,0 +1,62 @@ +package com.ruoyi.framework.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * Mybatis Plus 配置 + * + * @author ruoyi + */ +@EnableTransactionManagement(proxyTargetClass = true) +@Configuration +public class MybatisPlusConfig +{ + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() + { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + // 分页插件 + interceptor.addInnerInterceptor(paginationInnerInterceptor()); + // 乐观锁插件 + interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor()); + // 阻断插件 + interceptor.addInnerInterceptor(blockAttackInnerInterceptor()); + return interceptor; + } + + /** + * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html + */ + public PaginationInnerInterceptor paginationInnerInterceptor() + { + PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); + // 设置数据库类型为mysql + paginationInnerInterceptor.setDbType(DbType.MYSQL); + // 设置最大单页限制数量,默认 500 条,-1 不受限制 + paginationInnerInterceptor.setMaxLimit(-1L); + return paginationInnerInterceptor; + } + + /** + * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html + */ + public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() + { + return new OptimisticLockerInnerInterceptor(); + } + + /** + * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html + */ + public BlockAttackInnerInterceptor blockAttackInnerInterceptor() + { + return new BlockAttackInnerInterceptor(); + } +} \ No newline at end of file diff --git a/ruoyi-plan/src/main/java/com/ruoyi/dhc/mapper/DhcCountryMapper.java b/ruoyi-plan/src/main/java/com/ruoyi/dhc/mapper/DhcCountryMapper.java index 5527081..d7b57b8 100644 --- a/ruoyi-plan/src/main/java/com/ruoyi/dhc/mapper/DhcCountryMapper.java +++ b/ruoyi-plan/src/main/java/com/ruoyi/dhc/mapper/DhcCountryMapper.java @@ -1,6 +1,9 @@ package com.ruoyi.dhc.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.domain.entity.DhcArea; import com.ruoyi.dhc.domain.DhcCountry; /** @@ -9,7 +12,7 @@ import com.ruoyi.dhc.domain.DhcCountry; * @author ruoyi * @date 2024-07-29 */ -public interface DhcCountryMapper +public interface DhcCountryMapper extends BaseMapper { /** * 查询国家 diff --git a/ruoyi-plan/src/main/java/com/ruoyi/dhc/service/impl/DhcCountryServiceImpl.java b/ruoyi-plan/src/main/java/com/ruoyi/dhc/service/impl/DhcCountryServiceImpl.java index 118c3e4..8dd6599 100644 --- a/ruoyi-plan/src/main/java/com/ruoyi/dhc/service/impl/DhcCountryServiceImpl.java +++ b/ruoyi-plan/src/main/java/com/ruoyi/dhc/service/impl/DhcCountryServiceImpl.java @@ -1,6 +1,8 @@ package com.ruoyi.dhc.service.impl; import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -42,7 +44,9 @@ public class DhcCountryServiceImpl implements IDhcCountryService public List selectDhcCountryList(DhcCountry dhcCountry) { dhcCountry.setDelFlag("0"); - return dhcCountryMapper.selectDhcCountryList(dhcCountry); +// return dhcCountryMapper.selectDhcCountryList(dhcCountry); + LambdaQueryWrapper eq = new LambdaQueryWrapper(); + return dhcCountryMapper.selectList(eq); } /**