用户管理列表,手机号和邮箱加密查询(精准查询)
This commit is contained in:
+7
-1
@@ -125,7 +125,13 @@ public class SysUserController {
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
|
||||
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);
|
||||
List<String> subDepIds = null;
|
||||
|
||||
+34
@@ -292,4 +292,38 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
* @Remarks: 对手机号、邮箱进行加密处理
|
||||
**/
|
||||
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
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
|
||||
|
||||
Reference in New Issue
Block a user