fix(): DDD升级,mybatis-plus升级

boot3.0
DongZeLiang 2024-12-25 22:18:37 +08:00
parent ccf22d62ec
commit 52c0664cd4
25 changed files with 281 additions and 56 deletions

View File

@ -51,23 +51,10 @@
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.6</version>
<exclusions>
<exclusion>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
</exclusion>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.16</version>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser</artifactId>
</dependency>
<!-- Hibernate Validator -->

View File

@ -0,0 +1,21 @@
package com.muyu.common.core.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig {
/**
*
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加
return interceptor;
}
}

View File

@ -3,6 +3,7 @@ package com.muyu.common.core.web.model;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
@ -62,8 +63,10 @@ public class QueryModel<T> {
*/
public <I> Page<I> buildPage(){
Page<I> page = Page.of(this.getPageNum(), this.getPageSize());
if(StringUtils.isNotBlank(this.getOrderByColumn())){
page.setOrders(List.of(this.isAsc()
? OrderItem.asc(this.getOrderByColumn()) : OrderItem.desc(this.getOrderByColumn())));
}
return page;
}
}

View File

@ -1,2 +1,3 @@
com.muyu.common.core.utils.SpringUtils
com.muyu.common.core.feign.FeginConfig
com.muyu.common.core.config.MybatisPlusConfig

View File

@ -21,8 +21,7 @@ import java.util.Date;
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysLogininfor extends BaseEntity {
public class SysLogininfor {
private static final long serialVersionUID = 1L;
/**

View File

@ -40,7 +40,7 @@ public class GenController extends BaseController {
*
*/
@RequiresPermissions("tool:gen:list")
@GetMapping("/list")
@PostMapping("/list")
public Result<DataPageResp<GenTable>> genList (GenTable genTable) {
List<GenTable> list = genTableService.selectGenTableList(genTable);
return Result.success(new DataPageResp<>(0,list));

View File

@ -42,7 +42,7 @@ public class ${ClassName}Controller extends BaseController
* 查询${functionName}列表
*/
@RequiresPermissions("${permissionPrefix}:list")
@GetMapping("/list")
@PostMapping("/list")
#if($table.crud || $table.sub)
public Result<DataPageResp> list(${ClassName} ${className})
{

View File

@ -40,9 +40,9 @@ public class SysConfigController extends BaseController {
*
*/
@RequiresPermissions("system:config:list")
@GetMapping("/list")
@PostMapping("/list")
@Operation(summary = "查询集合", description = "更新水果信息")
public Result<DataPageResp<SysConfig>> list (SysConfigListReq sysConfigListReq) {
public Result<DataPageResp<SysConfig>> list (@RequestBody SysConfigListReq sysConfigListReq) {
PageQueryModel<SysConfig> pageQueryModel = configService.pageQuery(SysConfigPageQueryModel.reqBuild(sysConfigListReq));
return resultList(pageQueryModel);
}

View File

@ -35,8 +35,8 @@ public class SysDeptController extends BaseController {
*
*/
@RequiresPermissions("system:dept:list")
@GetMapping("/list")
public Result list (SysDept dept) {
@PostMapping("/list")
public Result list (@RequestBody SysDept dept) {
List<SysDept> depts = deptService.selectDeptList(dept);
return success(depts);
}

View File

@ -35,8 +35,8 @@ public class SysDictDataController extends BaseController {
private SysDictTypeService dictTypeService;
@RequiresPermissions("system:dict:list")
@GetMapping("/list")
public Result<DataPageResp<SysDictData>> list (SysDictData dictData) {
@PostMapping("/list")
public Result<DataPageResp<SysDictData>> list (@RequestBody SysDictData dictData) {
List<SysDictData> list = dictDataService.selectDictDataList(dictData);
return Result.success(new DataPageResp<>(0,list));
}

View File

@ -29,8 +29,8 @@ public class SysDictTypeController extends BaseController {
private SysDictTypeService dictTypeService;
@RequiresPermissions("system:dict:list")
@GetMapping("/list")
public Result<DataPageResp<SysDictType>> list (SysDictType dictType) {
@PostMapping("/list")
public Result<DataPageResp<SysDictType>> list (@RequestBody SysDictType dictType) {
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
return Result.success(new DataPageResp<>(0,list));
}

View File

@ -5,12 +5,16 @@ import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.redis.service.RedisService;
import com.muyu.common.security.annotation.InnerAuth;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.system.domain.model.SysLogininforExportModel;
import com.muyu.system.domain.model.SysLogininforListModel;
import com.muyu.system.domain.rep.SysLogininforListReq;
import com.muyu.system.service.SysLogininforService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -33,19 +37,21 @@ public class SysLogininforController extends BaseController {
private RedisService redisService;
@RequiresPermissions("system:logininfor:list")
@GetMapping("/list")
public Result<DataPageResp<SysLogininfor>> list (SysLogininfor logininfor) {
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
return Result.success(new DataPageResp<>(0,list));
@PostMapping("/list")
public Result<DataPageResp<SysLogininfor>> list (@RequestBody SysLogininforListReq sysLogininforListReq) {
PageQueryModel<SysLogininfor> pageQueryModel = logininforService.pageQuery(SysLogininforListModel.reqBuild(sysLogininforListReq));
return Result.success(
DataPageResp.of(pageQueryModel)
);
}
@Log(title = "登录日志", businessType = BusinessType.EXPORT)
@RequiresPermissions("system:logininfor:export")
@PostMapping("/export")
public void export (HttpServletResponse response, SysLogininfor logininfor) {
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
public void export (HttpServletResponse response, SysLogininforListReq sysLogininforListReq) {
List<SysLogininfor> sysLogininforList = logininforService.exportQuery(SysLogininforExportModel.reqBuild(sysLogininforListReq));
ExcelUtil<SysLogininfor> util = new ExcelUtil<SysLogininfor>(SysLogininfor.class);
util.exportExcel(response, list, "登录日志");
util.exportExcel(response, sysLogininforList, "登录日志");
}
@RequiresPermissions("system:logininfor:remove")

View File

@ -32,8 +32,8 @@ public class SysMenuController extends BaseController {
*
*/
@RequiresPermissions("system:menu:list")
@GetMapping("/list")
public Result list (SysMenu menu) {
@PostMapping("/list")
public Result list (@RequestBody SysMenu menu) {
Long userId = SecurityUtils.getUserId();
List<SysMenu> menus = menuService.selectMenuList(menu, userId);
return success(menus);

View File

@ -30,8 +30,8 @@ public class SysNoticeController extends BaseController {
*
*/
@RequiresPermissions("system:notice:list")
@GetMapping("/list")
public Result<DataPageResp<SysNotice>> list (SysNotice notice) {
@PostMapping("/list")
public Result<DataPageResp<SysNotice>> list (@RequestBody SysNotice notice) {
List<SysNotice> list = noticeService.selectNoticeList(notice);
return Result.success(new DataPageResp<>(0,list));
}

View File

@ -28,8 +28,8 @@ public class SysOperlogController extends BaseController {
private SysOperLogService operLogService;
@RequiresPermissions("system:operlog:list")
@GetMapping("/list")
public Result<DataPageResp<SysOperLog>> list (SysOperLog operLog) {
@PostMapping("/list")
public Result<DataPageResp<SysOperLog>> list (@RequestBody SysOperLog operLog) {
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
return Result.success(new DataPageResp<>(0,list));
}

View File

@ -32,8 +32,8 @@ public class SysPostController extends BaseController {
*
*/
@RequiresPermissions("system:post:list")
@GetMapping("/list")
public Result<DataPageResp<SysPost>> list (SysPost post) {
@PostMapping("/list")
public Result<DataPageResp<SysPost>> list (@RequestBody SysPost post) {
List<SysPost> list = postService.selectPostList(post);
return Result.success(new DataPageResp<>(0,list));
}

View File

@ -41,8 +41,8 @@ public class SysRoleController extends BaseController {
private SysDeptService deptService;
@RequiresPermissions("system:role:list")
@GetMapping("/list")
public Result<DataPageResp<SysRole>> list (SysRole role) {
@PostMapping("/list")
public Result<DataPageResp<SysRole>> list (@RequestBody SysRole role) {
List<SysRole> list = roleService.selectRoleList(role);
return Result.success(new DataPageResp<>(0,list));
}

View File

@ -60,8 +60,8 @@ public class SysUserController extends BaseController {
*
*/
@RequiresPermissions("system:user:list")
@GetMapping("/list")
public Result<DataPageResp<SysUser>> list (SysUser user) {
@PostMapping("/list")
public Result<DataPageResp<SysUser>> list (@RequestBody SysUser user) {
List<SysUser> list = userService.selectUserList(user);
return Result.success(new DataPageResp<>(0,list));
}
@ -134,7 +134,7 @@ public class SysUserController extends BaseController {
*
* @return
*/
@GetMapping("getInfo")
@GetMapping("/getInfo")
public Result getInfo () {
SysUser user = userService.selectUserById(SecurityUtils.getUserId());
// 角色集合

View File

@ -35,8 +35,8 @@ public class SysUserOnlineController extends BaseController {
private RedisService redisService;
@RequiresPermissions("monitor:online:list")
@GetMapping("/list")
public Result<DataPageResp<SysUserOnline>> list (String ipaddr, String userName) {
@PostMapping("/list")
public Result<DataPageResp<SysUserOnline>> list (@RequestBody String ipaddr, String userName) {
Collection<String> keys = redisService.keys(CacheConstants.LOGIN_TOKEN_KEY + "*");
List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>();
for (String key : keys) {

View File

@ -0,0 +1,53 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysLogininforListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SysLogininforExportModel {
/**
* IP
*/
private String ipaddr;
/**
*
*/
private String userName;
/**
*
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysLogininforExportModel reqBuild(SysLogininforListReq req){
return SysLogininforExportModel.builder()
.ipaddr(req.getIpaddr())
.userName(req.getUserName())
.beginTime(req.getBeginTime())
.endTime(req.getEndTime())
.build();
}
}

View File

@ -0,0 +1,56 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.core.web.page.PageReq;
import com.muyu.system.domain.rep.SysLogininforListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SysLogininforListModel extends QueryModel<SysLogininforListModel> {
/**
* IP
*/
private String ipaddr;
/**
*
*/
private String userName;
/**
*
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysLogininforListModel reqBuild(SysLogininforListReq req){
return SysLogininforListModel.builder()
.ipaddr(req.getIpaddr())
.userName(req.getUserName())
.beginTime(req.getBeginTime())
.endTime(req.getEndTime())
.build()
.domainBuild(req);
}
}

View File

@ -0,0 +1,45 @@
package com.muyu.system.domain.rep;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SysLogininforListReq extends PageReq {
/**
* IP
*/
private String ipaddr;
/**
*
*/
private String userName;
/**
*
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
}

View File

@ -1,7 +1,10 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.system.domain.model.SysLogininforExportModel;
import com.muyu.system.domain.model.SysLogininforListModel;
import java.util.List;
@ -21,11 +24,11 @@ public interface SysLogininforService extends IService<SysLogininfor> {
/**
*
*
* @param logininfor 访
* @param sysLogininforListModel 访
*
* @return
*/
public List<SysLogininfor> selectLogininforList (SysLogininfor logininfor);
public PageQueryModel<SysLogininfor> pageQuery(SysLogininforListModel sysLogininforListModel);
/**
*
@ -40,4 +43,11 @@ public interface SysLogininforService extends IService<SysLogininfor> {
*
*/
public void cleanLogininfor ();
/**
*
* @param sysLogininforExportModel
* @return
*/
List<SysLogininfor> exportQuery(SysLogininforExportModel sysLogininforExportModel);
}

View File

@ -1,7 +1,15 @@
package com.muyu.system.service.impl;
import cn.hutool.core.util.ObjectUtil;
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.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.system.domain.SysConfig;
import com.muyu.system.domain.model.SysLogininforExportModel;
import com.muyu.system.domain.model.SysLogininforListModel;
import com.muyu.system.mapper.SysLogininforMapper;
import com.muyu.system.service.SysLogininforService;
import org.springframework.beans.factory.annotation.Autowired;
@ -33,13 +41,19 @@ public class SysLogininforServiceImpl extends ServiceImpl<SysLogininforMapper, S
/**
*
*
* @param logininfor 访
* @param pageQueryModel 访
*
* @return
*/
@Override
public List<SysLogininfor> selectLogininforList (SysLogininfor logininfor) {
return logininforMapper.selectLogininforList(logininfor);
public PageQueryModel<SysLogininfor> pageQuery(SysLogininforListModel pageQueryModel) {
LambdaQueryWrapper<SysLogininfor> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(pageQueryModel.getIpaddr()), SysLogininfor::getIpaddr, pageQueryModel.getIpaddr());
queryWrapper.eq(StringUtils.isNotEmpty(pageQueryModel.getStatus()), SysLogininfor::getStatus, pageQueryModel.getStatus());
queryWrapper.like(StringUtils.isNotEmpty(pageQueryModel.getUserName()), SysLogininfor::getUserName, pageQueryModel.getUserName());
queryWrapper.between(!ObjectUtil.hasNull(pageQueryModel.getBeginTime(),pageQueryModel.getEndTime()), SysLogininfor::getAccessTime, pageQueryModel.getBeginTime(), pageQueryModel.getEndTime());
Page<SysLogininfor> page = this.page(pageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
/**
@ -61,4 +75,19 @@ public class SysLogininforServiceImpl extends ServiceImpl<SysLogininforMapper, S
public void cleanLogininfor () {
logininforMapper.cleanLogininfor();
}
/**
*
* @param exportModel
* @return
*/
@Override
public List<SysLogininfor> exportQuery(SysLogininforExportModel exportModel) {
LambdaQueryWrapper<SysLogininfor> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(exportModel.getIpaddr()), SysLogininfor::getIpaddr, exportModel.getIpaddr());
queryWrapper.eq(StringUtils.isNotEmpty(exportModel.getStatus()), SysLogininfor::getStatus, exportModel.getStatus());
queryWrapper.like(StringUtils.isNotEmpty(exportModel.getUserName()), SysLogininfor::getUserName, exportModel.getUserName());
queryWrapper.between(!ObjectUtil.hasNull(exportModel.getBeginTime(),exportModel.getEndTime()), SysLogininfor::getAccessTime, exportModel.getBeginTime(), exportModel.getEndTime());
return this.list(queryWrapper);
}
}

15
pom.xml
View File

@ -41,6 +41,7 @@
<hutool.version>5.8.27</hutool.version>
<knife4j-openapi3.version>4.1.0</knife4j-openapi3.version>
<xxl-job-core.version>2.4.1</xxl-job-core.version>
<mybatis-plus.version>3.5.9</mybatis-plus.version>
</properties>
<!-- 依赖声明 -->
@ -140,6 +141,20 @@
<version>${commons.io.version}</version>
</dependency>
<!-- mybatis - plus 依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser</artifactId>
<!-- 确保版本和 MyBatis Plus 主包一致 -->
<version>${mybatis-plus.version}</version>
</dependency>
<!-- excel工具 -->
<dependency>
<groupId>org.apache.poi</groupId>