This commit is contained in:
Vinjor 2025-03-17 14:51:46 +08:00
parent 5e3fd2dfb8
commit 5a26033ea9
13 changed files with 200 additions and 37 deletions

12
pom.xml
View File

@ -83,12 +83,6 @@
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- 覆盖tomcat的依赖配置-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
@ -128,7 +122,11 @@
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- 获取系统信息 -->
<dependency>
<groupId>com.github.oshi</groupId>

View File

@ -1,5 +1,6 @@
package com.ruoyi;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@ -10,6 +11,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
* @author ruoyi
*/
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@MapperScan("com.ruoyi.base.mapper")
public class RuoYiApplication
{
public static void main(String[] args)

View File

@ -4,16 +4,12 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@ -40,11 +36,12 @@ public class BaseConfigController extends BaseController
* 查询基础配置-账户配置小程序配置的内容列表
*/
@GetMapping("/list")
public AjaxResult list(BaseConfig baseConfig)
public AjaxResult list(BaseConfig baseConfig,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize)
{
List<BaseConfig> list = baseConfigService.list();
return success(list);
Page<BaseConfig> page = new Page<>(pageNo, pageSize);
return success(baseConfigService.queryListPage(baseConfig,page));
}
/**
@ -98,6 +95,6 @@ public class BaseConfigController extends BaseController
public AjaxResult remove(@PathVariable String[] ids)
{
List<String> list = new ArrayList<>(Arrays.asList(ids));
return toAjax(baseConfigService.removeBatchByIds(list));
return toAjax(baseConfigService.removeByIds(list));
}
}

View File

@ -1,9 +1,13 @@
package com.ruoyi.base.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.base.domain.BaseConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 基础配置-账户配置小程序配置的内容Mapper接口
@ -14,5 +18,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface BaseConfigMapper extends BaseMapper<BaseConfig>
{
IPage<BaseConfig> queryListPage(@Param("entity") BaseConfig entity, Page<BaseConfig> page);
}

View File

@ -1,6 +1,9 @@
package com.ruoyi.base.service;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.base.domain.BaseConfig;
@ -12,5 +15,5 @@ import com.ruoyi.base.domain.BaseConfig;
*/
public interface IBaseConfigService extends IService<BaseConfig>
{
IPage<BaseConfig> queryListPage(BaseConfig pageReqVO, Page<BaseConfig> page);
}

View File

@ -1,6 +1,9 @@
package com.ruoyi.base.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -21,5 +24,8 @@ public class BaseConfigServiceImpl extends ServiceImpl<BaseConfigMapper,BaseConf
@Autowired
private BaseConfigMapper baseConfigMapper;
@Override
public IPage<BaseConfig> queryListPage(BaseConfig pageReqVO, Page<BaseConfig> page) {
return baseConfigMapper.queryListPage(pageReqVO, page);
}
}

View File

@ -98,13 +98,13 @@ token:
expireTime: 30
# MyBatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.ruoyi.**.domain
# 配置mapper的扫描找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 加载全局的配置文件
configLocation: classpath:mybatis/mybatis-config.xml
#mybatis:
# # 搜索指定包别名
# typeAliasesPackage: com.ruoyi.**.domain
# # 配置mapper的扫描找到所有的mapper.xml映射文件
# mapperLocations: classpath*:mapper/**/*Mapper.xml
# # 加载全局的配置文件
# configLocation: classpath:mybatis/mybatis-config.xml
# MyBatis Plus 的配置项
mybatis-plus:
configuration:
@ -120,9 +120,11 @@ mybatis-plus:
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
banner: false # 关闭控制台的 Banner 打印
mapper-locations:
- classpath*:mapper/**/*Mapper.xml
- classpath*:mapper/*/*.xml # 扫描子模块下的 mapper.xml文件
- classpath:mapper/*/*.xml # 扫描当前模块下的 mapper.xml 文件
- classpath*:mapper/*.xml
type-aliases-package: com.ruoyi.**.domain
# PageHelper分页插件
pagehelper:
helperDialect: mysql

View File

@ -18,6 +18,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectBaseConfigVo">
select id, code, json_str, creator, create_time, updater, update_time, del_flag from dl_base_config
</sql>
<select id="queryListPage" resultType="com.ruoyi.base.domain.BaseConfig">
select * from dl_base_config
</select>
</mapper>

View File

@ -39,8 +39,26 @@
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<artifactId>mybatis-spring</artifactId>
<groupId>org.mybatis</groupId>
</exclusion>
<exclusion>
<artifactId>mybatis</artifactId>
<groupId>org.mybatis</groupId>
</exclusion>
<exclusion>
<artifactId>jsqlparser</artifactId>
<groupId>com.github.jsqlparser</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!-- 自定义验证注解 -->
<dependency>
<groupId>org.springframework.boot</groupId>
@ -118,11 +136,6 @@
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
@ -131,6 +144,28 @@
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.3.0</version>
</dependency>
</dependencies>
</project>

View File

@ -1,10 +1,13 @@
package com.ruoyi.common.core.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import java.io.Serializable;
import java.util.Date;
@ -23,17 +26,21 @@ public class DlBaseEntity implements Serializable
/** 创建者 */
@TableField(fill = FieldFill.INSERT, jdbcType = JdbcType.VARCHAR)
private String creator;
/** 创建时间 */
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
@TableField(fill = FieldFill.INSERT_UPDATE, jdbcType = JdbcType.VARCHAR)
private String updater;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
/** 是否删除(0未删除|1已删除) */

View File

@ -29,7 +29,7 @@ import com.ruoyi.common.utils.StringUtils;
*
* @author ruoyi
*/
@Configuration
//@Configuration
public class MyBatisConfig
{
@Autowired

View File

@ -0,0 +1,36 @@
package com.ruoyi.framework.config;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
import com.baomidou.mybatisplus.extension.incrementer.H2KeyGenerator;
import com.baomidou.mybatisplus.extension.incrementer.KingbaseKeyGenerator;
import com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator;
import com.baomidou.mybatisplus.extension.incrementer.PostgreKeyGenerator;
import com.ruoyi.framework.handler.DefaultDBFieldHandler;
import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.ConfigurableEnvironment;
/**
* MyBaits 配置类
*
* @author 芋道源码
*/
@Configuration() // 目的先于 MyBatis Plus 自动配置避免 @MapperScan 可能扫描不到 Mapper 打印 warn 日志
@MapperScan(basePackages ={"com.ruoyi"}, annotationClass = Mapper.class,
lazyInitialization = "${mybatis.lazy-initialization:false}") // Mapper 懒加载目前仅用于单元测试
public class MybatisAutoConfiguration {
@Bean
public MetaObjectHandler defaultMetaObjectHandler(){
return new DefaultDBFieldHandler(); // 自动填充参数类
}
}

View File

@ -0,0 +1,70 @@
package com.ruoyi.framework.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.ruoyi.common.core.domain.DlBaseEntity;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import org.apache.ibatis.reflection.MetaObject;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.Objects;
/**
* 通用参数填充实现类
*
* 如果没有显式的对通用参数进行赋值这里会对通用参数进行填充赋值
*
* @author hexiaowu
*/
public class DefaultDBFieldHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof DlBaseEntity) {
DlBaseEntity baseDO = (DlBaseEntity) metaObject.getOriginalObject();
Date current =new Date();
// 创建时间为空则以当前时间为插入时间
if (Objects.isNull(baseDO.getCreateTime())) {
baseDO.setCreateTime(current);
}
// 更新时间为空则以当前时间为更新时间
if (Objects.isNull(baseDO.getUpdateTime())) {
baseDO.setUpdateTime(current);
}
// 获取当前的用户
Long userId = SecurityUtils.getUserId();
// 当前登录用户不为空创建人为空则当前登录用户为创建人
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getCreator())) {
baseDO.setCreator(userId.toString());
}
// 当前登录用户不为空更新人为空则当前登录用户为更新人
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getUpdater())) {
baseDO.setUpdater(userId.toString());
}
}
}
@Override
public void updateFill(MetaObject metaObject) {
// 更新时间为空则以当前时间为更新时间
// Object modifyTime = getFieldValByName("updateTime", metaObject);
// if (Objects.isNull(modifyTime)) {
// setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
// }
//
// // 当前登录用户不为空更新人为空则当前登录用户为更新人
// Object modifier = getFieldValByName("updater", metaObject);
// Long userId = WebFrameworkUtils.getLoginUserId();
// if (Objects.nonNull(userId) && Objects.isNull(modifier)) {
// setFieldValByName("updater", userId.toString(), metaObject);
// }
//更新数据时强制更新数据的更新时间和更新人
setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
Long userId = SecurityUtils.getUserId();
if (Objects.nonNull(userId)) {
setFieldValByName("updater", userId.toString(), metaObject);
}
}
}