【fix sonar】SysUserController文件

This commit is contained in:
梁琦涛
2023-03-10 16:11:38 +08:00
parent 9e47cf5990
commit 587128109b
@@ -44,6 +44,7 @@ import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -171,6 +172,18 @@ public class SysUserController {
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey)); String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
setUser(rsaPrivateKey, user);
// 保存用户走一个service 保证事务
sysUserService.saveUser(user, selectedRoles, selectedDeparts);
return Result.OK(OPTION_SUCCESS);
} catch (Exception e) {
SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败");
}
}
private void setUser(String rsaPrivateKey, SysUser user) {
try { try {
if (StrUtil.isNotEmpty(user.getEmail())){ if (StrUtil.isNotEmpty(user.getEmail())){
String email = CommonUtils.decryptBtRsaPriKey(user.getEmail(), rsaPrivateKey); String email = CommonUtils.decryptBtRsaPriKey(user.getEmail(), rsaPrivateKey);
@@ -194,14 +207,6 @@ public class SysUserController {
} catch (Exception e) { } catch (Exception e) {
throw new JeroBootException("邮箱和手机号解密失败!", e); throw new JeroBootException("邮箱和手机号解密失败!", e);
} }
// 保存用户走一个service 保证事务
sysUserService.saveUser(user, selectedRoles, selectedDeparts);
return Result.OK(OPTION_SUCCESS);
} catch (Exception e) {
SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败");
}
} }
@RequiresPermissions("user:edit") @RequiresPermissions("user:edit")
@@ -218,6 +223,19 @@ public class SysUserController {
if(sysUser==null) { if(sysUser==null) {
return Result.error(INEXISTENCE); return Result.error(INEXISTENCE);
}else { }else {
SysUser user = getSysUser(jsonObject, rsaPrivateKey, sysUser);
// 修改用户走一个service 保证事务
sysUserService.editUser(user, roles, departs);
return Result.OK(OPTION_SUCCESS);
}
} catch (Exception e) {
SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败");
}
}
@NotNull
private SysUser getSysUser(@RequestBody JSONObject jsonObject, String rsaPrivateKey, SysUser sysUser) {
SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
String email = null; String email = null;
String phone = null; String phone = null;
@@ -238,17 +256,10 @@ public class SysUserController {
user.setPhone(phone); user.setPhone(phone);
user.setUpdateTime(new Date()); user.setUpdateTime(new Date());
user.setPassword(sysUser.getPassword()); user.setPassword(sysUser.getPassword());
// 修改用户走一个service 保证事务 return user;
sysUserService.editUser(user, roles, departs);
return Result.OK(OPTION_SUCCESS);
}
} catch (Exception e) {
SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败");
}
} }
// @RequestMapping(value = "/delete", method = RequestMethod.DELETE) // @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
@DeleteMapping("/delete") @DeleteMapping("/delete")
public Result<T> delete(@RequestParam(name="id",required=true) String id) { public Result<T> delete(@RequestParam(name="id",required=true) String id) {
baseCommonService.addLog("删除用户,id " +id ,CommonConstant.LOG_TYPE_2, 3); baseCommonService.addLog("删除用户,id " +id ,CommonConstant.LOG_TYPE_2, 3);
@@ -540,31 +551,11 @@ public class SysUserController {
String message = e.getMessage().toLowerCase(); String message = e.getMessage().toLowerCase();
int lineNumber = i + 1; int lineNumber = i + 1;
// 通过索引名判断出错信息 // 通过索引名判断出错信息
if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_USERNAME) setErrorMessage(errorMessage, e, message, lineNumber);
|| message.contains(CommonConstant.SQL_INDEX_INDEX_USER_NAME)) {
errorMessage.add("" + lineNumber + " 行:用户名已经存在,忽略导入。");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_WORK_NO)) {
errorMessage.add("" + lineNumber + " 行:工号已经存在,忽略导入。");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_PHONE)) {
errorMessage.add("" + lineNumber + " 行:手机号已经存在,忽略导入。");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_EMAIL)) {
errorMessage.add("" + lineNumber + " 行:电子邮件已经存在,忽略导入。");
} else {
errorMessage.add("" + lineNumber + " 行:未知错误,忽略导入");
SysUserController.log.error(e.getMessage(), e);
}
} }
// 批量将部门和用户信息建立关联关系 TODO 错误需修改 // 批量将部门和用户信息建立关联关系 TODO 错误需修改
String departIds = sysUserExcel.getDepartIds(); String departIds = sysUserExcel.getDepartIds();
if (StringUtils.isNotBlank(departIds)) { saveUser(sysUserExcel, departIds);
String userId = sysUserExcel.getId();
String[] departIdArray = departIds.split(",");
List<SysUserDepart> userDepartList = new ArrayList<>(departIdArray.length);
for (String departId : departIdArray) {
userDepartList.add(new SysUserDepart(userId, departId));
}
sysUserDepartService.saveBatch(userDepartList);
}
} }
} catch (Exception e) { } catch (Exception e) {
@@ -581,6 +572,34 @@ public class SysUserController {
return ImportExcelUtil.imporReturnRes(errorLines,successLines,errorMessage); return ImportExcelUtil.imporReturnRes(errorLines,successLines,errorMessage);
} }
private void saveUser(SysUser sysUserExcel, String departIds) {
if (StringUtils.isNotBlank(departIds)) {
String userId = sysUserExcel.getId();
String[] departIdArray = departIds.split(",");
List<SysUserDepart> userDepartList = new ArrayList<>(departIdArray.length);
for (String departId : departIdArray) {
userDepartList.add(new SysUserDepart(userId, departId));
}
sysUserDepartService.saveBatch(userDepartList);
}
}
private void setErrorMessage(List<String> errorMessage, Exception e, String message, int lineNumber) {
if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_USERNAME)
|| message.contains(CommonConstant.SQL_INDEX_INDEX_USER_NAME)) {
errorMessage.add("" + lineNumber + " 行:用户名已经存在,忽略导入。");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_WORK_NO)) {
errorMessage.add("" + lineNumber + " 行:工号已经存在,忽略导入。");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_PHONE)) {
errorMessage.add("" + lineNumber + " 行:手机号已经存在,忽略导入。");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_EMAIL)) {
errorMessage.add("" + lineNumber + " 行:电子邮件已经存在,忽略导入。");
} else {
errorMessage.add("" + lineNumber + " 行:未知错误,忽略导入");
SysUserController.log.error(e.getMessage(), e);
}
}
/** /**
* @功能:根据id 批量查询 * @功能:根据id 批量查询
* @param userIds * @param userIds
@@ -1194,6 +1213,17 @@ public class SysUserController {
return Result.error("手机号已存在!"); return Result.error("手机号已存在!");
} }
} }
setUser(sysUser, realname, avatar, sex, phone, email, birthday);
sysUserService.updateById(sysUser);
}
} catch (Exception e) {
SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败!");
}
return result;
}
private void setUser(SysUser sysUser, String realname, String avatar, String sex, String phone, String email, Date birthday) {
if(StringUtils.isNotBlank(realname)){ if(StringUtils.isNotBlank(realname)){
sysUser.setRealname(realname); sysUser.setRealname(realname);
} }
@@ -1213,14 +1243,8 @@ public class SysUserController {
sysUser.setBirthday(birthday); sysUser.setBirthday(birthday);
} }
sysUser.setUpdateTime(new Date()); sysUser.setUpdateTime(new Date());
sysUserService.updateById(sysUser);
}
} catch (Exception e) {
SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败!");
}
return result;
} }
/** /**
* 移动端保存设备信息 * 移动端保存设备信息
* @param clientId * @param clientId