用户管理列表,手机号和邮箱加密查询(精准查询)
This commit is contained in:
+7
-1
@@ -125,7 +125,13 @@ public class SysUserController {
|
|||||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
|
||||||
Results<IPage<SysUser>> result = new Results<>();
|
Results<IPage<SysUser>> result = new Results<>();
|
||||||
|
|
||||||
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
|
// 处理手机号和邮箱,进行对应加密
|
||||||
|
Map<String, String[]> parameterMap = req.getParameterMap();
|
||||||
|
this.sysUserService.encryptReqMapData(parameterMap);
|
||||||
|
user.setEmail(this.sysUserService.proceedEmailEncrypt(user.getEmail()));
|
||||||
|
user.setPhone(this.sysUserService.proceedPhoneEncrypt(user.getPhone()));
|
||||||
|
|
||||||
|
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, parameterMap);
|
||||||
|
|
||||||
Page<SysUser> page = new Page<>(pageNo, pageSize);
|
Page<SysUser> page = new Page<>(pageNo, pageSize);
|
||||||
List<String> subDepIds = null;
|
List<String> subDepIds = null;
|
||||||
|
|||||||
+34
@@ -292,4 +292,38 @@ public interface ISysUserService extends IService<SysUser> {
|
|||||||
* @Remarks: 对手机号、邮箱进行加密处理
|
* @Remarks: 对手机号、邮箱进行加密处理
|
||||||
**/
|
**/
|
||||||
void proceedUserInfoEncrypt(SysUser user);
|
void proceedUserInfoEncrypt(SysUser user);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单独对邮箱解密
|
||||||
|
* @param email
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String proceedEmailDecrypt(String email);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单独对手机号解密
|
||||||
|
* @param phone
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String proceedPhoneDecrypt(String phone);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单独对邮箱加密
|
||||||
|
* @param email
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String proceedEmailEncrypt(String email);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单独对手机号加密
|
||||||
|
* @param phone
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String proceedPhoneEncrypt(String phone);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 解密http请求的参数,只处理其中的phone和email
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void encryptReqMapData(Map<String, String[]> parameterMap);
|
||||||
}
|
}
|
||||||
|
|||||||
+79
@@ -540,6 +540,85 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String proceedEmailDecrypt(String email) {
|
||||||
|
if (StrUtil.isNotEmpty(email)){
|
||||||
|
// 对邮箱地址进行解密
|
||||||
|
try {
|
||||||
|
email = PasswordUtil.decrypt(email);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("邮箱解密字符串原文有误,解密错误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return email;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String proceedPhoneDecrypt(String phone) {
|
||||||
|
if (StrUtil.isNotEmpty(phone)){
|
||||||
|
// 对手机号地址进行解密
|
||||||
|
try {
|
||||||
|
phone = PasswordUtil.decrypt(phone);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("手机号解密字符串原文有误,解密错误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return phone;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String proceedEmailEncrypt(String email) {
|
||||||
|
if (StrUtil.isNotEmpty(email)){
|
||||||
|
// 对邮箱地址进行加密
|
||||||
|
try {
|
||||||
|
email = PasswordUtil.encrypt(email);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("邮箱加密字符串原文有误,加密错误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return email;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String proceedPhoneEncrypt(String phone) {
|
||||||
|
if (StrUtil.isNotEmpty(phone)){
|
||||||
|
// 对手机号地址进行加密
|
||||||
|
try {
|
||||||
|
phone = PasswordUtil.encrypt(phone);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("手机号加密字符串原文有误,加密错误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return phone;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void encryptReqMapData(Map<String, String[]> parameterMap) {
|
||||||
|
final String EMAIL_KEY = "email";
|
||||||
|
final String PHONE_KEY = "phone";
|
||||||
|
|
||||||
|
String[] emailArr = parameterMap.get(EMAIL_KEY);
|
||||||
|
String[] phoneArr = parameterMap.get(PHONE_KEY);
|
||||||
|
|
||||||
|
if (emailArr != null && emailArr.length > 0){
|
||||||
|
String email = emailArr[0];
|
||||||
|
email = this.proceedEmailEncrypt(email);
|
||||||
|
emailArr[0] = email;
|
||||||
|
parameterMap.put(EMAIL_KEY, emailArr);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (phoneArr != null && phoneArr.length > 0){
|
||||||
|
String phone = phoneArr[0];
|
||||||
|
phone = this.proceedPhoneEncrypt(phone);
|
||||||
|
phoneArr[0] = phone;
|
||||||
|
parameterMap.put(PHONE_KEY, phoneArr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
|
@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
|
||||||
|
|||||||
Reference in New Issue
Block a user