|
@@ -1,15 +1,26 @@
|
|
|
package com.simuwang.manage.service.impl.system;
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.hutool.crypto.asymmetric.KeyType;
|
|
|
+import cn.hutool.crypto.asymmetric.RSA;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.simuwang.base.common.support.*;
|
|
|
+import com.simuwang.base.common.support.BaseService;
|
|
|
+import com.simuwang.base.common.support.MybatisPage;
|
|
|
+import com.simuwang.base.common.support.command.BaseAddCmd;
|
|
|
+import com.simuwang.base.common.support.command.BaseEditCmd;
|
|
|
+import com.simuwang.base.common.support.command.BaseIdCmd;
|
|
|
+import com.simuwang.base.common.support.command.BaseIdStatusCmd;
|
|
|
+import com.simuwang.base.common.support.query.PageQuery;
|
|
|
+import com.simuwang.base.config.DaqProperties;
|
|
|
import com.simuwang.base.mapper.SysUserMapper;
|
|
|
import com.simuwang.base.pojo.dos.sys.SysRoleUserDO;
|
|
|
import com.simuwang.base.pojo.dos.sys.SysUserDO;
|
|
|
-import com.simuwang.base.pojo.dto.query.RoleUserPageQuery;
|
|
|
-import com.simuwang.base.pojo.dto.query.UserPageQuery;
|
|
|
+import com.simuwang.base.pojo.dto.sys.RoleUserPageQuery;
|
|
|
+import com.simuwang.base.pojo.dto.sys.UserAddCmd;
|
|
|
+import com.simuwang.base.pojo.dto.sys.UserEditCmd;
|
|
|
+import com.simuwang.base.pojo.dto.sys.UserPageQuery;
|
|
|
import com.simuwang.base.pojo.vo.sys.SysRoleUserVO;
|
|
|
import com.simuwang.base.pojo.vo.sys.SysUserVO;
|
|
|
import com.simuwang.manage.service.system.SysUserService;
|
|
@@ -21,9 +32,11 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class SysUserServiceImpl implements SysUserService {
|
|
|
private final SysUserMapper mapper;
|
|
|
+ private final DaqProperties properties;
|
|
|
|
|
|
- public SysUserServiceImpl(SysUserMapper mapper) {
|
|
|
+ public SysUserServiceImpl(SysUserMapper mapper, DaqProperties properties) {
|
|
|
this.mapper = mapper;
|
|
|
+ this.properties = properties;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -37,11 +50,16 @@ public class SysUserServiceImpl implements SysUserService {
|
|
|
UserPageQuery params = (UserPageQuery) query;
|
|
|
String keyword = params.getKeyword();
|
|
|
if (StrUtil.isNotBlank(keyword)) {
|
|
|
- wrapper.like("user_name", keyword)
|
|
|
- .or()
|
|
|
- .like("email", keyword)
|
|
|
- .or()
|
|
|
- .like("phonenumber", keyword);
|
|
|
+ wrapper.like("user_name", keyword);
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(params.getEmail())) {
|
|
|
+ wrapper.like("email", params.getEmail());
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(params.getPhonenumber())) {
|
|
|
+ wrapper.like("phonenumber", params.getPhonenumber());
|
|
|
+ }
|
|
|
+ if (params.getStatus() != null) {
|
|
|
+ wrapper.eq("status", params.getStatus());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -61,7 +79,32 @@ public class SysUserServiceImpl implements SysUserService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public <BSC extends BaseIdStatusCmd> void updateStatus(BSC command) {
|
|
|
+ public <C extends BaseAddCmd<SysUserDO>> void insert(C command) {
|
|
|
+ UserAddCmd cmd = (UserAddCmd) command;
|
|
|
+ SysUserDO entity = cmd.toEntity();
|
|
|
+ String originalPwd = cmd.getPassword();
|
|
|
+ if (StrUtil.isBlank(originalPwd)) {
|
|
|
+ originalPwd = this.properties.getDefaultPwd();
|
|
|
+ }
|
|
|
+ String publicKey = this.properties.getSecurityRsa().getPublicKey();
|
|
|
+ String password = new RSA(null, publicKey).encryptBase64(originalPwd, KeyType.PublicKey);
|
|
|
+ entity.setPassword(password);
|
|
|
+ this.mapper.insert(entity);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public <C extends BaseEditCmd<SysUserDO>> void update(C command) {
|
|
|
+ UserEditCmd cmd = (UserEditCmd) command;
|
|
|
+ SysUserDO entity = cmd.toEntity();
|
|
|
+ String originalPwd = cmd.getPassword();
|
|
|
+ String publicKey = this.properties.getSecurityRsa().getPublicKey();
|
|
|
+ String password = new RSA(null, publicKey).encryptBase64(originalPwd, KeyType.PublicKey);
|
|
|
+ entity.setPassword(password);
|
|
|
+ this.mapper.updateById(entity);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public <C extends BaseIdStatusCmd> void updateStatus(C command) {
|
|
|
SysUserDO user = new SysUserDO();
|
|
|
user.setUserId(command.getId());
|
|
|
user.setStatus(command.getStatus());
|
|
@@ -69,7 +112,7 @@ public class SysUserServiceImpl implements SysUserService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public <BIC extends BaseIdCmd> void delete(BIC command) {
|
|
|
+ public <C extends BaseIdCmd> void delete(C command) {
|
|
|
Integer id = command.getId();
|
|
|
this.mapper.deleteById(id);
|
|
|
}
|