Skip to content

Commit 358a823

Browse files
committed
refactor: mybatis plus 使用 setEntity 和 update(entity) 代替 eq/set
lambdaUpdate eq 方法不能使 typeHandler 生效,set 方法需要手动添加 mapping 参数来指定,遂使用 setEntity 指定 eq 实体,update 方法传入 set 实体来实现,经测试 myBatis plus@3.5.2 可生效
1 parent 512cd23 commit 358a823

3 files changed

Lines changed: 26 additions & 28 deletions

File tree

application/src/main/java/top/cadecode/uniboot/controller/system/SysMenuController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ public PageResult<SysMenuRolesVo> pageRolesVo(@RequestBody @Valid SysMenuRolesRe
5353
@ApiOperation("更新用户启用状态")
5454
@PostMapping("update_enable")
5555
public boolean updateEnable(@RequestBody @Valid SysMenuUpdateEnableRequest request) {
56-
return sysMenuService.lambdaUpdate()
57-
.eq(SysMenu::getId, request.getId())
58-
.set(SysMenu::getEnableFlag, request.getEnableFlag())
59-
.update(new SysMenu());
56+
return sysMenuService.updateById(SysMenu.builder()
57+
.id(request.getId())
58+
.enableFlag(request.getEnableFlag())
59+
.build());
6060
}
6161

6262
@ApiOperation("更新用户")

application/src/main/java/top/cadecode/uniboot/controller/system/SysUserController.java

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,9 @@ public SysUserInfoDto getInfo() {
6969
@PostMapping("modify_info")
7070
public boolean modifyInfo(@RequestBody @Valid SysUserModifyInfoRequest request) {
7171
SysUserDetailsDto userDetails = TokenAuthHolder.getUserDetails(null);
72-
return sysUserService.lambdaUpdate()
73-
.eq(SysUser::getId, userDetails.getId())
74-
.set(SysUser::getNickName, request.getNickName())
75-
.set(SysUser::getPhone, request.getPhone())
76-
.set(SysUser::getMail, request.getMail())
77-
.set(SysUser::getSex, request.getSex())
78-
.update(new SysUser());
72+
SysUser po = SysUserConvert.INSTANCE.requestToPo(request);
73+
po.setId(userDetails.getId());
74+
return sysUserService.updateById(po);
7975
}
8076

8177
@ApiOperation("修改用户密码(用户中心)")
@@ -91,10 +87,13 @@ public boolean modifyPass(@RequestBody @Valid SysUserModifyPassRequest request)
9187
throw UniException.of("原密码错误");
9288
}
9389
return sysUserService.lambdaUpdate()
94-
.eq(SysUser::getId, userDetails.getId())
95-
.eq(SysUser::getPassword, sysUser.getPassword())
96-
.set(SysUser::getPassword, passwordEncoder.encode(request.getNewPass()))
97-
.update(new SysUser());
90+
.setEntity(SysUser.builder()
91+
.id(userDetails.getId())
92+
.password(sysUser.getPassword())
93+
.build())
94+
.update(SysUser.builder()
95+
.password(passwordEncoder.encode(request.getNewPass()))
96+
.build());
9897
}
9998

10099
@ApiOperation("查询用户列表(带角色)")
@@ -107,10 +106,10 @@ public PageResult<SysUserRolesVo> pageRolesVo(@RequestBody @Valid SysUserRolesRe
107106
@ApiOperation("更新用户启用状态")
108107
@PostMapping("update_enable")
109108
public boolean updateEnable(@RequestBody @Valid SysUserUpdateEnableRequest request) {
110-
return sysUserService.lambdaUpdate()
111-
.eq(SysUser::getId, request.getId())
112-
.set(SysUser::getEnableFlag, request.getEnableFlag())
113-
.update(new SysUser());
109+
return sysUserService.updateById(SysUser.builder()
110+
.id(request.getId())
111+
.enableFlag(request.getEnableFlag())
112+
.build());
114113
}
115114

116115
@ApiOperation("更新用户")
@@ -120,15 +119,9 @@ public boolean update(@RequestBody @Valid SysUserUpdateRequest request) {
120119
if (ObjectUtil.isNotEmpty(request.getPassword())) {
121120
encodePass = passwordEncoder.encode(request.getPassword());
122121
}
123-
return sysUserService.lambdaUpdate()
124-
.eq(SysUser::getId, request.getId())
125-
.set(SysUser::getUsername, request.getUsername())
126-
.set(SysUser::getNickName, request.getNickName())
127-
.set(ObjectUtil.isNotEmpty(encodePass), SysUser::getPassword, encodePass)
128-
.set(SysUser::getPhone, request.getPhone())
129-
.set(SysUser::getMail, request.getMail())
130-
.set(SysUser::getSex, request.getSex())
131-
.update(new SysUser());
122+
SysUser po = SysUserConvert.INSTANCE.requestToPo(request);
123+
po.setPassword(encodePass);
124+
return sysUserService.updateById(po);
132125
}
133126

134127
@ApiOperation("添加用户")

system/src/main/java/top/cadecode/uniboot/system/convert/SysUserConvert.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import top.cadecode.uniboot.system.bean.po.SysUser;
77
import top.cadecode.uniboot.system.bean.vo.SysUserVo.SysUserRolesVo;
88
import top.cadecode.uniboot.system.request.SysUserRequest.SysUserAddRequest;
9+
import top.cadecode.uniboot.system.request.SysUserRequest.SysUserModifyInfoRequest;
10+
import top.cadecode.uniboot.system.request.SysUserRequest.SysUserUpdateRequest;
911

1012
/**
1113
* 系统用户 BEAN 转换
@@ -26,4 +28,7 @@ public interface SysUserConvert {
2628

2729
SysUser requestToPo(SysUserAddRequest request);
2830

31+
SysUser requestToPo(SysUserModifyInfoRequest request);
32+
33+
SysUser requestToPo(SysUserUpdateRequest request);
2934
}

0 commit comments

Comments
 (0)