From 72b0510f9ead0aed46899eb0adeffc98947d45b0 Mon Sep 17 00:00:00 2001 From: dongzeliang <2746733890@qq.com> Date: Wed, 19 Mar 2025 15:07:51 +0800 Subject: [PATCH] =?UTF-8?q?feat()=EF=BC=9B=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=99=A8=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/common/core/web/domain/BaseEntity.java | 5 +++++ .../common/system/domain/SysLogininfor.java | 4 +++- .../muyu/common/system/domain/SysOperLog.java | 5 +++++ .../com/muyu/common/system/domain/SysRole.java | 5 +++-- .../com/muyu/common/system/domain/SysUser.java | 11 +++++++++++ .../java/com/muyu/gen/config/GenConfig.java | 17 ++++++++++++++++- .../com/muyu/gen/controller/GenController.java | 6 +++--- .../main/java/com/muyu/gen/domain/GenTable.java | 9 +++++++++ .../com/muyu/gen/domain/GenTableColumn.java | 5 +++++ .../gen/service/impl/GenTableServiceImpl.java | 8 ++++++-- .../system/controller/SysUserController.java | 8 ++++---- .../system/service/impl/SysUserServiceImpl.java | 8 ++++---- 12 files changed, 74 insertions(+), 17 deletions(-) diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java index bf4c386..f2dc44b 100644 --- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java +++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java @@ -1,5 +1,6 @@ package com.muyu.common.core.web.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -36,12 +37,14 @@ public class BaseEntity implements Serializable { /** * 创建者 */ + @TableField(fill = FieldFill.INSERT) private String createBy; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) private Date createTime; /** @@ -53,11 +56,13 @@ public class BaseEntity implements Serializable { * 更新时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.UPDATE) private Date updateTime; /** * 备注 */ + @TableField(fill = FieldFill.UPDATE) private String remark; /** diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysLogininfor.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysLogininfor.java index 2c7e333..d3c4787 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysLogininfor.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysLogininfor.java @@ -2,6 +2,7 @@ package com.muyu.common.system.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel.ColumnType; @@ -21,6 +22,7 @@ import java.util.Date; @SuperBuilder @NoArgsConstructor @AllArgsConstructor +@TableName(value = "sys_logininfor", autoResultMap = true) public class SysLogininfor { private static final long serialVersionUID = 1L; @@ -28,7 +30,7 @@ public class SysLogininfor { * ID */ @Excel(name = "序号", cellType = ColumnType.NUMERIC) - @TableId(type = IdType.AUTO) + @TableId(value = "info_id", type = IdType.AUTO) private Long infoId; /** diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysOperLog.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysOperLog.java index 30bc6f2..9af7847 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysOperLog.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysOperLog.java @@ -1,5 +1,8 @@ package com.muyu.common.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel.ColumnType; @@ -19,12 +22,14 @@ import java.util.Date; @Builder @NoArgsConstructor @AllArgsConstructor +@TableName(value = "sys_oper_log", autoResultMap = true) public class SysOperLog { private static final long serialVersionUID = 1L; /** * 日志主键 */ + @TableId(value = "oper_id", type = IdType.AUTO) @Excel(name = "操作序号", cellType = ColumnType.NUMERIC) private Long operId; diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java index 95e6241..83cea2f 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java @@ -1,7 +1,6 @@ package com.muyu.common.system.domain; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.*; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel.ColumnType; import com.muyu.common.core.web.domain.BaseEntity; @@ -26,12 +25,14 @@ import java.util.Set; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@TableName(value = "sys_role", autoResultMap = true) public class SysRole extends BaseEntity { private static final long serialVersionUID = 1L; /** * 角色ID */ + @TableId(value = "role_id", type = IdType.AUTO) @Excel(name = "角色序号", cellType = ColumnType.NUMERIC) private Long roleId; diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java index 999b22c..833ae47 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java @@ -1,5 +1,9 @@ package com.muyu.common.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel.ColumnType; import com.muyu.common.core.annotation.Excel.Type; @@ -28,12 +32,14 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@TableName(value = "sys_user", autoResultMap = true) public class SysUser extends BaseEntity { private static final long serialVersionUID = 1L; /** * 用户ID */ + @TableId(value = "user_id", type = IdType.AUTO) @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号") private Long userId; @@ -113,26 +119,31 @@ public class SysUser extends BaseEntity { @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT), @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT) }) + @TableField(exist = false) private SysDept dept; /** * 角色对象 */ + @TableField(exist = false) private List roles; /** * 角色组 */ + @TableField(exist = false) private Long[] roleIds; /** * 岗位组 */ + @TableField(exist = false) private Long[] postIds; /** * 角色ID */ + @TableField(exist = false) private Long roleId; public SysUser (Long userId) { diff --git a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/config/GenConfig.java b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/config/GenConfig.java index 1e686bd..8bc88a4 100644 --- a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/config/GenConfig.java +++ b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/config/GenConfig.java @@ -10,7 +10,6 @@ import org.springframework.stereotype.Component; * * @author muyu */ -@Data @Component @ConfigurationProperties(prefix = "gen") public class GenConfig { @@ -40,4 +39,20 @@ public class GenConfig { public static boolean getAutoRemovePre () { return autoRemovePre; } + + public void setAuthor(String author) { + GenConfig.author = author; + } + + public void setPackageName(String packageName) { + GenConfig.packageName = packageName; + } + + public void setAutoRemovePre(boolean autoRemovePre) { + GenConfig.autoRemovePre = autoRemovePre; + } + + public void setTablePrefix(String tablePrefix) { + GenConfig.tablePrefix = tablePrefix; + } } diff --git a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/controller/GenController.java b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/controller/GenController.java index f66dedd..c9a6ce5 100644 --- a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/controller/GenController.java +++ b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/controller/GenController.java @@ -66,7 +66,7 @@ public class GenController extends BaseController { * 查询数据库列表 */ @RequiresPermissions("tool:gen:list") - @GetMapping("/db/list") + @PostMapping("/db/list") public Result> dataList (GenTable genTable) { List list = genTableService.selectDbTableList(genTable); return Result.success(new DataPageResp<>(0,list)); @@ -92,7 +92,7 @@ public class GenController extends BaseController { @RequiresPermissions("tool:gen:import") @Log(title = "代码生成", businessType = BusinessType.IMPORT) @PostMapping("/importTable") - public Result importTableSave (String tables) { + public Result importTableSave (@RequestParam("tables") String tables) { String[] tableNames = Convert.toStrArray(tables); // 查询表信息 List tableList = genTableService.selectDbTableListByNames(tableNames); @@ -172,7 +172,7 @@ public class GenController extends BaseController { @RequiresPermissions("tool:gen:code") @Log(title = "代码生成", businessType = BusinessType.GENCODE) @GetMapping("/batchGenCode") - public void batchGenCode (HttpServletResponse response, String tables) throws IOException { + public void batchGenCode (HttpServletResponse response, @RequestParam("tables") String tables) throws IOException { String[] tableNames = Convert.toStrArray(tables); byte[] data = genTableService.downloadCode(tableNames); genCode(response, data); diff --git a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/domain/GenTable.java b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/domain/GenTable.java index 00507c2..1d700e7 100644 --- a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/domain/GenTable.java +++ b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/domain/GenTable.java @@ -1,5 +1,9 @@ package com.muyu.gen.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.constant.GenConstants; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.web.domain.BaseEntity; @@ -27,12 +31,14 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@TableName(value = "gen_table", autoResultMap = true) public class GenTable extends BaseEntity { private static final long serialVersionUID = 1L; /** * 编号 */ + @TableId(value = "table_id", type = IdType.AUTO) private Long tableId; /** @@ -111,17 +117,20 @@ public class GenTable extends BaseEntity { /** * 主键信息 */ + @TableField(exist = false) private GenTableColumn pkColumn; /** * 子表信息 */ + @TableField(exist = false) private GenTable subTable; /** * 表列信息 */ @Valid + @TableField(exist = false) private List columns; /** diff --git a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/domain/GenTableColumn.java b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/domain/GenTableColumn.java index 58a19be..28d7c7c 100644 --- a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/domain/GenTableColumn.java +++ b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/domain/GenTableColumn.java @@ -1,5 +1,8 @@ package com.muyu.gen.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.web.domain.BaseEntity; import jakarta.validation.constraints.NotBlank; @@ -21,12 +24,14 @@ import static com.muyu.common.core.constant.SplitConstants.*; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@TableName(value = "gen_table_column", autoResultMap = true) public class GenTableColumn extends BaseEntity { private static final long serialVersionUID = 1L; /** * 编号 */ + @TableId(value = "table_id", type = IdType.AUTO) private Long columnId; /** diff --git a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/impl/GenTableServiceImpl.java b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/impl/GenTableServiceImpl.java index a57a2e4..b9d8d45 100644 --- a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/impl/GenTableServiceImpl.java +++ b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/impl/GenTableServiceImpl.java @@ -2,6 +2,7 @@ package com.muyu.gen.service.impl; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.muyu.common.core.constant.Constants; import com.muyu.common.core.constant.GenConstants; import com.muyu.common.core.exception.ServiceException; @@ -164,8 +165,10 @@ public class GenTableServiceImpl implements IGenTableService { @Override @Transactional(rollbackFor = Exception.class) public void deleteGenTableByIds (List tableIds) { - genTableMapper.deleteGenTableByIds(tableIds); - genTableColumnMapper.deleteGenTableColumnByIds(tableIds); + this.genTableMapper.deleteByIds(tableIds); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(GenTableColumn::getTableId, tableIds); + this.genTableColumnMapper.delete(queryWrapper); } /** @@ -192,6 +195,7 @@ public class GenTableServiceImpl implements IGenTableService { } } } catch (Exception e) { + log.error("代码生成器倒入表报错:「{}」", e.getMessage(),e); throw new ServiceException("导入失败:" + e.getMessage()); } } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java index e14bdbb..95a8d1e 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -182,9 +182,9 @@ public class SysUserController extends BaseController { public Result add (@Validated @RequestBody SysUser user) { if (userService.checkUserNameUnique(user)) { return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); - } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { + } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && userService.checkPhoneUnique(user)) { return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); - } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { + } else if (StringUtils.isNotEmpty(user.getEmail()) && userService.checkEmailUnique(user)) { return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); } user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); @@ -203,9 +203,9 @@ public class SysUserController extends BaseController { userService.checkUserDataScope(user.getUserId()); if (userService.checkUserNameUnique(user)) { return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在"); - } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { + } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && userService.checkPhoneUnique(user)) { return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); - } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { + } else if (StringUtils.isNotEmpty(user.getEmail()) && userService.checkEmailUnique(user)) { return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); } userService.updateUser(user); diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index 4079226..fb65464 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -172,7 +172,7 @@ public class SysUserServiceImpl extends ServiceImpl impl LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(SysUser::getUserName, user.getUserName()); lambdaQueryWrapper.eq(SysUser::getDelFlag, SysDelFlagEnum.EXIST.getCode()); - lambdaQueryWrapper.eq(user.getUserId() != null,SysUser::getUserId, user.getUserId()); + lambdaQueryWrapper.ne(user.getUserId() != null,SysUser::getUserId, user.getUserId()); if (this.count(lambdaQueryWrapper) > 0) { return UserConstants.UNIQUE; } @@ -191,7 +191,7 @@ public class SysUserServiceImpl extends ServiceImpl impl LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(SysUser::getPhonenumber, user.getPhonenumber()); lambdaQueryWrapper.eq(SysUser::getDelFlag, SysDelFlagEnum.EXIST.getCode()); - lambdaQueryWrapper.eq(user.getUserId() != null,SysUser::getUserId, user.getUserId()); + lambdaQueryWrapper.ne(user.getUserId() != null,SysUser::getUserId, user.getUserId()); if (this.count(lambdaQueryWrapper) > 0) { return UserConstants.UNIQUE; } @@ -210,7 +210,7 @@ public class SysUserServiceImpl extends ServiceImpl impl LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(SysUser::getEmail, user.getEmail()); lambdaQueryWrapper.eq(SysUser::getDelFlag, SysDelFlagEnum.EXIST.getCode()); - lambdaQueryWrapper.eq(user.getUserId() != null,SysUser::getUserId, user.getUserId()); + lambdaQueryWrapper.ne(user.getUserId() != null,SysUser::getUserId, user.getUserId()); if (this.count(lambdaQueryWrapper) > 0) { return UserConstants.UNIQUE; } @@ -352,7 +352,7 @@ public class SysUserServiceImpl extends ServiceImpl impl public void updateUserAvatar (String userName, String avatar) { LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); lambdaUpdateWrapper.eq(SysUser::getUserName, userName); - lambdaUpdateWrapper.eq(SysUser::getAvatar, avatar); + lambdaUpdateWrapper.set(SysUser::getAvatar, avatar); this.update(lambdaUpdateWrapper); }