Compare commits

..

No commits in common. "38fcdcb8597f322eb5752ead7152b093bcaba211" and "e685dbff5b3f550d78de05d8d279dd391f9b9bae" have entirely different histories.

8 changed files with 87 additions and 113 deletions

View File

@ -7,7 +7,6 @@ import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnu
import com.electromagnetic.industry.software.common.exception.BizException;
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
import com.electromagnetic.industry.software.manage.pojo.models.EdFileRelation;
import com.electromagnetic.industry.software.manage.pojo.req.CheckNameUniqueRequest;
import com.electromagnetic.industry.software.manage.pojo.req.UpdateRelationDTO;
@ -33,7 +32,12 @@ public class EdFileRelationController {
@RequestMapping(value = "/create", method = RequestMethod.POST)
@UserOperation(value="创建了文件关系", modelName = UserOperationModuleEnum.DATABASE)
public ElectromagneticResult<?> createRelation(@RequestBody EdFileRelation relation) {
return ElectromagneticResultUtil.success(edFileRelationService.createRelation(relation));
try {
Boolean res = edFileRelationService.createRelation(relation);
return ElectromagneticResultUtil.success(res);
} catch (BizException e) {
return ElectromagneticResultUtil.fail("500", e.getMessage());
}
}
/**
@ -47,11 +51,7 @@ public class EdFileRelationController {
public ElectromagneticResult<?> updateRelation(@RequestBody UpdateRelationDTO updateRelation) {
LambdaUpdateWrapper<EdFileRelation> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(EdFileRelation::getId, updateRelation.getRelationId()).set(EdFileRelation::getRelationship, updateRelation.getRelationship());
boolean isUpdated = edFileRelationService.update(wrapper);
if (isUpdated) {
UserThreadLocal.setSuccessInfo("", updateRelation.getRelationId(), "更新了文件关系");
}
return ElectromagneticResultUtil.success(isUpdated);
return ElectromagneticResultUtil.success(edFileRelationService.update(wrapper));
}
/**

View File

@ -4,11 +4,13 @@ import com.electromagnetic.industry.software.common.annotations.RequiredRole;
import com.electromagnetic.industry.software.common.annotations.UserOperation;
import com.electromagnetic.industry.software.common.enums.AdminTypeEnum;
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
import com.electromagnetic.industry.software.common.exception.BizException;
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
import com.electromagnetic.industry.software.manage.pojo.req.RoleDTO;
import com.electromagnetic.industry.software.manage.pojo.req.RolePageDTO;
import com.electromagnetic.industry.software.manage.service.RoleService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -24,14 +26,24 @@ public class RoleController {
@UserOperation(value="新建了角色", modelName = UserOperationModuleEnum.PERMISSION)
@RequestMapping(value = "/createRole", method = RequestMethod.POST)
public ElectromagneticResult<?> createRole(@RequestBody RoleDTO roleDTO) {
return ElectromagneticResultUtil.success(roleService.createRole(roleDTO));
try {
Boolean res = roleService.createRole(roleDTO);
return ElectromagneticResultUtil.success(res);
} catch (BizException e) {
return ElectromagneticResultUtil.fail("400", e.getMessage());
}
}
@RequiredRole(AdminTypeEnum.SECURITY)
@UserOperation(value="更新了角色", modelName = UserOperationModuleEnum.PERMISSION)
@RequestMapping(value = "/updateRole", method = RequestMethod.POST)
public ElectromagneticResult<?> updateRole(@RequestBody RoleDTO roleDTO) {
return ElectromagneticResultUtil.success(roleService.updateRole(roleDTO));
try {
Boolean res = roleService.updateRole(roleDTO);
return ElectromagneticResultUtil.success(res);
} catch (BizException e) {
return ElectromagneticResultUtil.fail("400", e.getMessage());
}
}
@RequiredRole(AdminTypeEnum.SECURITY)

View File

@ -1,6 +1,5 @@
package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.text.StrFormatter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -8,7 +7,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.electromagnetic.industry.software.common.enums.EffectFlagEnum;
import com.electromagnetic.industry.software.common.enums.EleDataSaveStatusEnum;
import com.electromagnetic.industry.software.common.exception.BizException;
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
import com.electromagnetic.industry.software.manage.mapper.EdFileFavoriteMapper;
import com.electromagnetic.industry.software.manage.pojo.models.EdFileFavorite;
import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO;
@ -28,7 +26,6 @@ public class EdFileFavoriteServiceImpl extends ServiceImpl<EdFileFavoriteMapper,
@Override
public boolean addFavorite(String userId, String fileId) {
// 查询是否已存在
LambdaQueryWrapper<EdFileFavorite> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(EdFileFavorite::getUserId, userId)
@ -41,11 +38,7 @@ public class EdFileFavoriteServiceImpl extends ServiceImpl<EdFileFavoriteMapper,
EdFileFavorite favorite = new EdFileFavorite();
favorite.setUserId(userId);
favorite.setFileId(fileId);
boolean isSaved = this.save(favorite);
if (isSaved) {
UserThreadLocal.setSuccessInfo("", fileId, StrFormatter.format("收藏了文件"));
}
return isSaved;
return this.save(favorite);
}
@Override
@ -53,11 +46,7 @@ public class EdFileFavoriteServiceImpl extends ServiceImpl<EdFileFavoriteMapper,
LambdaQueryWrapper<EdFileFavorite> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(EdFileFavorite::getUserId, userId)
.eq(EdFileFavorite::getFileId, fileId);
boolean isRemoved = this.remove(queryWrapper);
if (isRemoved) {
UserThreadLocal.setSuccessInfo("", fileId, StrFormatter.format("取消了收藏"));
}
return isRemoved;
return this.remove(queryWrapper);
}
@Override
@ -77,9 +66,10 @@ public class EdFileFavoriteServiceImpl extends ServiceImpl<EdFileFavoriteMapper,
// 创建分页对象
Page<FileInfoVO> page = new Page<>(fileInfoQueryDTO.getPageNum(), fileInfoQueryDTO.getPageSize());
IPage<FileInfoVO> fileInfoVOIPage = fileInfoService.queryFileList(page, fileIds, fileInfoQueryDTO, EleDataSaveStatusEnum.SUCCESS.code, EffectFlagEnum.EFFECT.code);
fileInfoService.resetFileSize(fileInfoVOIPage.getRecords());
UserThreadLocal.setSuccessInfo("", "", "查询了收藏列表");
return fileInfoVOIPage;
}
}

View File

@ -2,7 +2,6 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.StrFormatter;
import cn.hutool.crypto.SecureUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -45,6 +44,10 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
EdFileInfoServiceImpl edFileInfoService;
@Resource
private CommonService commonService;
@Resource
private FileSystemService fileSystemService;
@Autowired
private EdFileInfoServiceImpl edFileInfoServiceImpl;
/**
* 创建文件关系
@ -68,11 +71,7 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
edFileRelation.setId(IdWorker.getSnowFlakeIdString());
edFileRelation.setCreatedBy(UserThreadLocal.getUserId());
boolean isSaved = this.save(edFileRelation);
if (isSaved) {
UserThreadLocal.setSuccessInfo("", edFileRelation.getId(), StrFormatter.format("关联了文件"));
}
return isSaved;
return this.save(edFileRelation);
}
/**
@ -83,12 +82,7 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
*/
@Override
public Boolean cancelRelation(String id) {
boolean isRemoved = this.removeById(id);
if (isRemoved) {
UserThreadLocal.setSuccessInfo("", id, StrFormatter.format("取消了文件关联"));
}
return isRemoved;
return this.removeById(id);
}
/**
@ -137,7 +131,6 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
nodes.add(fileSimpleInfoVO);
}
fileRelationViewVO.setNodes(nodes);
UserThreadLocal.setSuccessInfo("", startId, StrFormatter.format("查询了文件{}的关联关系",startId));
return fileRelationViewVO;
}
@ -270,7 +263,6 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
log.error(info, e);
throw new BizException(info);
}
UserThreadLocal.setSuccessInfo("", "", "上传了文件并建立了文件关系");
return ElectromagneticResultUtil.success(true);
}
}

View File

@ -1,7 +1,5 @@
package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.StrFormatter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@ -10,7 +8,6 @@ import com.electromagnetic.industry.software.common.enums.PublishEnum;
import com.electromagnetic.industry.software.common.enums.TagTypeEnum;
import com.electromagnetic.industry.software.common.exception.BizException;
import com.electromagnetic.industry.software.common.util.IdWorker;
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
import com.electromagnetic.industry.software.manage.mapper.EdTagLibraryMapper;
import com.electromagnetic.industry.software.manage.pojo.models.EdTagLibrary;
import com.electromagnetic.industry.software.manage.pojo.resp.TagListVO;
@ -49,11 +46,7 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
tagGroup.setOrderBy(maxOrder+1); // 排在最后
tagGroup.setIsPublished(PublishEnum.UNPUBLISHED.getCode());
tagGroup.setCreatedBy(createdBy);
boolean isSuccess = this.save(tagGroup);
if (isSuccess) {
UserThreadLocal.setSuccessInfo("", tagGroup.getTagId(), StrFormatter.format("新建了标签组{}", tagName));
}
return isSuccess;
return this.save(tagGroup);
}
/**
@ -80,11 +73,7 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
tag.setOrderBy(maxOrder+1); // 默认排序
tag.setIsPublished(PublishEnum.UNPUBLISHED.getCode()); // 默认未发布
tag.setCreatedBy(createdBy);
boolean isSuccess =this.save(tag);
if (isSuccess) {
UserThreadLocal.setSuccessInfo("", tag.getTagId(), StrFormatter.format("新建了标签{}", tagName));
}
return isSuccess;
return this.save(tag);
}
/**
@ -96,7 +85,6 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
@Transactional
public Boolean updateTagOrder(String tagId, String newParentId, Integer newOrderBy, String updatedBy) {
if (StringUtils.isEmpty(newParentId) || newOrderBy == null) {
throw new IllegalArgumentException("缺少参数");
}
@ -105,7 +93,9 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
EdTagLibrary tag = this.getOne(new LambdaQueryWrapper<EdTagLibrary>()
.eq(EdTagLibrary::getTagId, tagId));
Assert.notNull(tag,"标签不存在");
if (tag == null) {
throw new IllegalArgumentException("标签不存在");
}
String oldParentId = tag.getParentId();
Integer oldOrderBy = tag.getOrderBy();
@ -126,15 +116,11 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
}
// 更新当前标签的新排序值
boolean isUpdated = this.update(new LambdaUpdateWrapper<EdTagLibrary>()
return this.update(new LambdaUpdateWrapper<EdTagLibrary>()
.eq(EdTagLibrary::getTagId, tagId)
.set(EdTagLibrary::getParentId, newParentId)
.set(EdTagLibrary::getOrderBy, newOrderBy)
.set(EdTagLibrary::getUpdatedBy, updatedBy));
if (isUpdated) {
UserThreadLocal.setSuccessInfo("", tagId, StrFormatter.format("更新了标签{}的排序", tag.getTagName()));
}
return isUpdated;
}
/**
@ -145,7 +131,10 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
@Transactional
public Boolean batchPublishTagGroups(List<String> tagGroupIds) {
Assert.notEmpty(tagGroupIds, "参数 tagGroupIds 不能为空");
if (tagGroupIds == null || tagGroupIds.isEmpty()) {
throw new IllegalArgumentException("参数 tagGroupIds 不能为空");
}
boolean groupUpdated = this.update(new LambdaUpdateWrapper<EdTagLibrary>()
.in(EdTagLibrary::getTagId, tagGroupIds)
.eq(EdTagLibrary::getType, TagTypeEnum.GROUP.getCode()) // 只更新标签组
@ -164,7 +153,6 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
throw new RuntimeException("发布标签失败");
}
UserThreadLocal.setSuccessInfo("", "", "发布了标签");
return true;
}
@ -177,17 +165,18 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
@Transactional
public Boolean deleteTagOrGroup(String tagId) {
EdTagLibrary tag = this.getById(tagId);
Assert.notNull(tag, "标签不存在");
if (tag == null) {
throw new BizException("此标签已被删除");
}
// 如果是标签组级联删除其下的所有标签
if (tag.getType() == 0) {
this.remove(new LambdaQueryWrapper<EdTagLibrary>().eq(EdTagLibrary::getParentId, tagId));
}
// 删除本身
boolean isDeleted = this.removeById(tagId);
if (isDeleted) {
UserThreadLocal.setSuccessInfo("", tagId, StrFormatter.format("删除了标签{}", tag.getTagName()));
}
return isDeleted;
return this.removeById(tagId);
}
/**
@ -218,7 +207,6 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
vo.setChildList(tagsGrouped.getOrDefault(group.getTagId(), new ArrayList<>()));
result.add(vo);
}
UserThreadLocal.setSuccessInfo("", "", "获取了标签数据");
return result;
}
@ -235,11 +223,7 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
updateWrapper.eq(EdTagLibrary::getTagId, tagId)
.set(EdTagLibrary::getTagName, tagName)
.set(EdTagLibrary::getUpdatedBy, updatedBy);
boolean isUpdated = this.update(updateWrapper);
if (isUpdated) {
UserThreadLocal.setSuccessInfo("", tagId, StrFormatter.format("更新了标签{}信息", tagName));
}
return isUpdated;
return this.update(updateWrapper);
}
/**

View File

@ -1,6 +1,5 @@
package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.text.StrFormatter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.electromagnetic.industry.software.common.enums.*;
import com.electromagnetic.industry.software.common.util.UserThreadLocal;

View File

@ -1,7 +1,5 @@
package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.StrFormatter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@ -11,6 +9,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.electromagnetic.industry.software.common.enums.*;
import com.electromagnetic.industry.software.common.exception.BizException;
import com.electromagnetic.industry.software.common.util.EleLog;
import com.electromagnetic.industry.software.common.util.IdWorker;
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
@ -41,16 +40,15 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
@Resource
private RolePermissionService rolePermissionService;
@Resource
private UserRoleService userRoleService;
@Resource
private PermissionService permissionService;
private EleLog log = new EleLog(RoleServiceImpl.class);
@Resource
private RoleMapper roleMapper;
@Resource
private EdFileInfoMapper edFileInfoMapper;
@ -64,7 +62,11 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
@Override
public Boolean createRole(RoleDTO roleDTO) {
Assert.isTrue(checkRoleNameUnique(roleDTO),StrFormatter.format("角色名称 {} 已存在" , roleDTO.getRoleName()));
if (!checkRoleNameUnique(roleDTO)) {
String info = "当前角色名称已存在:" + roleDTO.getRoleName();
log.error(info);
throw new BizException(info);
}
// 创建角色
Role role = new Role();
@ -82,7 +84,6 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
List<RolePermissionDTO> data = roleDTO.getData();
List<RolePermission> list = flattenTree(data, roleId);
rolePermissionService.saveBatch(list);
UserThreadLocal.setSuccessInfo("", roleId, "创建了角色");
return true;
}
@ -97,7 +98,11 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
@Override
public Boolean updateRole(RoleDTO roleDTO) {
Assert.isTrue(checkRoleNameUnique(roleDTO),StrFormatter.format("角色名称 {} 已存在" , roleDTO.getRoleName()));
if (!checkRoleNameUnique(roleDTO)) {
String info = "当前角色名称已存在:" + roleDTO.getRoleName();
log.error(info);
throw new BizException(info);
}
// 更新角色信息
LambdaUpdateWrapper<Role> updateWrapper = new LambdaUpdateWrapper<>();
@ -118,7 +123,6 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
List<RolePermission> list = flattenTree(data, roleDTO.getRoleId());
rolePermissionService.saveBatch(list);
UserThreadLocal.setSuccessInfo("", roleDTO.getRoleId(), "更新了角色");
return true;
}
@ -145,7 +149,6 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
// 删除角色
LambdaQueryWrapper<Role> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(Role::getRoleId, roleId);
UserThreadLocal.setSuccessInfo("", roleId, "删除了角色");
return this.remove(queryWrapper2);
}
@ -190,7 +193,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
}
roleDTO.setData(buildTree(nodes));
UserThreadLocal.setSuccessInfo("",roleId,"查询了角色详情");
return roleDTO;
}
@ -206,7 +209,6 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
LambdaQueryWrapper<Role> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Role::getRoleName, roleName);
Role role = this.getOne(queryWrapper);
UserThreadLocal.setSuccessInfo("", role.getRoleId(), "查询了角色详情");
return getRole(role.getRoleId());
}
@ -237,7 +239,6 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
roleDTO.setAllowedActions(chineseString);
}
}
UserThreadLocal.setSuccessInfo("","", "查询了角色列表");
return result;
}
@ -289,7 +290,9 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
rolePermissionDTO.setPermission(permissionService.transToMap(permissionCodes,false));
nodes.add(rolePermissionDTO);
}
roleDTO.setData(buildTree(nodes));
return roleDTO;
}

View File

@ -2,8 +2,6 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.SystemClock;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.StrFormatter;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -72,7 +70,6 @@ public class UserServiceImpl implements UserService {
UserLoginResponse userLoginResponse = new UserLoginResponse();
userLoginResponse.setToken(tokenStr);
userLoginResponse.setUserId(user.getUserId());
UserThreadLocal.setSuccessInfo("", user.getUserId(), StrFormatter.format("用户{}登陆", user.getUserName()));
return ElectromagneticResultUtil.success(userLoginResponse);
}
return ElectromagneticResultUtil.fail("500", "用户不存在/密码错误");
@ -137,7 +134,6 @@ public class UserServiceImpl implements UserService {
user.setCreator(UserThreadLocal.getUserId());
user.setCreatorName(UserThreadLocal.getUsername());
UserThreadLocal.setSuccessInfo("", user.getUserId(), StrFormatter.format("新增了用户{}", user.getUserName()));
return ElectromagneticResultUtil.success(userMapper.insert(user) > 0);
}
@ -152,7 +148,6 @@ public class UserServiceImpl implements UserService {
User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest);
user.setModifier(UserThreadLocal.getUserId());
user.setModifierName(UserThreadLocal.getUsername());
UserThreadLocal.setSuccessInfo("", userModiRequest.getUserId(), StrFormatter.format("更新了用户{}", user.getUserName()));
return ElectromagneticResultUtil.success(userMapper.modify(user) > 0);
}
@ -167,7 +162,6 @@ public class UserServiceImpl implements UserService {
PublishParam model = UserMappers.INSTANCE.getUserPublishRequestToModel(userPublishRequest);
model.setModifier(UserThreadLocal.getUserId());
model.setModifierName(UserThreadLocal.getUsername());
UserThreadLocal.setSuccessInfo("","",StrFormatter.format("批量发布了用户"));
return ElectromagneticResultUtil.success(userMapper.publish(model) > 0);
}
@ -212,7 +206,6 @@ public class UserServiceImpl implements UserService {
public ElectromagneticResult<?> getSingleUser(GetSingleUserRequest getSingleUserRequest) {
User user = userMapper.getSingleUser(getSingleUserRequest.getUserId());
SingleUserResponse singleUserResponse = UserMappers.INSTANCE.getSingleUserToResponse(user);
UserThreadLocal.setSuccessInfo("", getSingleUserRequest.getUserId(), StrFormatter.format("查询了用户{}详情信息", singleUserResponse.getUserName()));
return ElectromagneticResultUtil.success(singleUserResponse);
}
@ -245,13 +238,11 @@ public class UserServiceImpl implements UserService {
UserSearchResponse userSearchResponse = new UserSearchResponse();
userSearchResponse.setUserList(list);
userSearchResponse.setTotalCount(totalCount);
UserThreadLocal.setSuccessInfo("", "", StrFormatter.format("查询了用户列表"));
return ElectromagneticResultUtil.success(userSearchResponse);
}
@Override
public ElectromagneticResult<?> deleteUser(UserDeleteRequest userDeleteRequest) {
// 将请求对象转换为模型对象
UserDeleteKeyWords userDeleteKeyWords = UserMappers.INSTANCE.getUserDeleteRequestToModel(userDeleteRequest);
userDeleteKeyWords.setModifier(UserThreadLocal.getUserId());
@ -259,17 +250,23 @@ public class UserServiceImpl implements UserService {
// 检查用户是否已经被逻辑删除
User existingUser = userMapper.getSingleUser(userDeleteKeyWords.getUserId());
Assert.notNull(existingUser, StrFormatter.format("用户ID {} 无效", userDeleteRequest.getUserId()));
Assert.isTrue(EffectFlagEnum.EFFECT.code.equals(existingUser.getEffectFlag()), StrFormatter.format("用户{}已经被逻辑删除", existingUser.getUserName()));
UserThreadLocal.setSuccessInfo("", "", StrFormatter.format("删除了用户{}", existingUser.getUserName()));
return ElectromagneticResultUtil.success(userMapper.deleteUser(userDeleteKeyWords));
if (existingUser != null && existingUser.getEffectFlag() == 0) {
// 如果用户已经被逻辑删除在这个假设中0 表示已删除则不进行任何操作或返回错误
return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum.FINE_DELETE_USER_ERROR);
}
if (existingUser != null && existingUser.getEffectFlag() == 1) {// 在这个假设中1 表示未删除
return ElectromagneticResultUtil.success(userMapper.deleteUser(userDeleteKeyWords));
} else {
// 如果用户不存在理论上不应该发生除非数据库状态不一致则返回错误
return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum.FINE_DELETE_USER_ERROR);
}
}
@Override
public ElectromagneticResult<?> logout(String token) {
token = token.substring(7);
UserThreadLocal.setSuccessInfo("", "", StrFormatter.format("用户{}登出", UserThreadLocal.getUsername()));
return ElectromagneticResultUtil.success(tokenMapper.deleteToken(token));
}
@ -285,7 +282,6 @@ public class UserServiceImpl implements UserService {
activeRole(dto);
bindRole(dto);
}
UserThreadLocal.setSuccessInfo("", "", StrFormatter.format("绑定了人员和角色"));
return Boolean.TRUE;
}
@ -299,12 +295,14 @@ public class UserServiceImpl implements UserService {
@Override
public ElectromagneticResult<?> changePassword(String userId, String newPassword) {
User user = userMapper.getSingleUser(userId);
Assert.notNull(user, StrFormatter.format("用户ID {} 无效", userId));
if (user == null) {
return ElectromagneticResultUtil.fail("53106", "USER_NOT_FOUND");
}
String decodeNewPwd = AESUtils.decrypt(newPassword, UserConstants.SECRET_KEY);
user.setUserPwd(SignUtils.MD5(decodeNewPwd + user.getSalt()));
user.setModifier(UserThreadLocal.getUserId());
user.setModifierName(UserThreadLocal.getUsername());
UserThreadLocal.setSuccessInfo("", UserThreadLocal.getUserId(), StrFormatter.format("修改了用户密码"));
return ElectromagneticResultUtil.success(userMapper.modify(user) > 0);
}
@ -317,13 +315,8 @@ public class UserServiceImpl implements UserService {
@Transactional
public Boolean resetPassword(String userId) {
User user = userMapper.getSingleUser(userId);
Assert.notNull(user, StrFormatter.format("用户ID {} 无效", userId));
user.setUserPwd(SignUtils.MD5(UserConstants.DEFAULT_PASSWORD + user.getSalt()));
boolean isModified = userMapper.modify(user) > 0;
if (isModified) {
UserThreadLocal.setSuccessInfo("", userId, StrFormatter.format("重置了用户{}的密码", user.getUserName()));
}
return isModified;
return userMapper.modify(user) > 0;
}
private void activeRole(UserBindRoleDTO dto) {
@ -360,18 +353,19 @@ public class UserServiceImpl implements UserService {
// UserServiceImpl.java 类中实现以下方法
@Override
public ElectromagneticResult<?> validateOldPassword(String userId, String oldInputPassword) {
// To lzh: UserId可以从UserThreadLocal中获取
// To lzh代码可以尽量简洁避免过多的嵌套和逻辑判断注释也不用写太多简单的逻辑简单处理
User user = userMapper.getSingleUser(userId);
Assert.notNull(user, StrFormatter.format("用户不存在ID为 {}", userId));
if (user == null) {
return ElectromagneticResultUtil.fail("53106", "USER_NOT_FOUND");
}
String decodeOldPwd = AESUtils.decrypt(oldInputPassword, UserConstants.SECRET_KEY);
// if (!user.getUserPwd().equals(SignUtils.MD5(decodeOldPwd + user.getSalt()))) {
// return ElectromagneticResultUtil.fail("53107", "OLD_PASSWORD_INCORRECT");
// }
Assert.isTrue(matchPassword(user,decodeOldPwd), StrFormatter.format("旧密码错误ID为 {}", userId));
if (!matchPassword(user,decodeOldPwd)) {
return ElectromagneticResultUtil.fail("53107", "OLD_PASSWORD_INCORRECT");
}
return ElectromagneticResultUtil.success(true);
}
}