use of co.yixiang.modules.system.domain.User in project yshopmall by guchengwuyue.
the class SysUserServiceImpl method queryAll.
@Override
public // @Cacheable
List<User> queryAll(UserQueryCriteria criteria) {
List<User> userList = baseMapper.selectList(QueryHelpPlus.getPredicate(User.class, criteria));
for (User user : userList) {
user.setJob(jobService.getById(user.getJobId()));
user.setDept(deptService.getById(user.getDeptId()));
user.setRoles(roleMapper.findByUsers_Id(user.getId()));
}
return userList;
}
use of co.yixiang.modules.system.domain.User in project yshopmall by guchengwuyue.
the class SysUserServiceImpl method findByName.
/**
* 根据用户名查询
*
* @param userName /
* @return /
*/
@Override
public UserDto findByName(String userName) {
User user = userMapper.findByName(userName);
// 用户所属岗位
user.setJob(jobService.getById(user.getJobId()));
// 用户所属部门
user.setDept(deptService.getById(user.getDeptId()));
return generator.convert(user, UserDto.class);
}
use of co.yixiang.modules.system.domain.User in project yshopmall by guchengwuyue.
the class SysUserServiceImpl method updateAvatar.
/**
* 修改头像
*
* @param multipartFile 文件
*/
@Override
public void updateAvatar(MultipartFile multipartFile) {
User user = this.getOne(new LambdaQueryWrapper<User>().eq(User::getUsername, SecurityUtils.getUsername()));
UserAvatar userAvatar = userAvatarService.getOne(new LambdaQueryWrapper<UserAvatar>().eq(UserAvatar::getId, user.getAvatarId()));
String oldPath = "";
if (userAvatar != null) {
oldPath = userAvatar.getPath();
} else {
userAvatar = new UserAvatar();
}
File file = FileUtil.upload(multipartFile, avatar);
assert file != null;
userAvatar.setRealName(file.getName());
userAvatar.setPath(file.getPath());
userAvatar.setSize(FileUtil.getSize(multipartFile.getSize()));
userAvatarService.saveOrUpdate(userAvatar);
user.setAvatarId(userAvatar.getId());
this.saveOrUpdate(user);
if (StringUtils.isNotBlank(oldPath)) {
FileUtil.del(oldPath);
}
}
use of co.yixiang.modules.system.domain.User in project yshopmall by guchengwuyue.
the class SysUserServiceImpl method update.
/**
* 编辑用户
*
* @param resources /
*/
@Override
// @CacheEvict(allEntries = true)
@Transactional(rollbackFor = Exception.class)
public void update(User resources) {
User user = this.getOne(new LambdaQueryWrapper<User>().eq(User::getId, resources.getId()));
ValidationUtil.isNull(user.getId(), "User", "id", resources.getId());
User user1 = this.getOne(new LambdaQueryWrapper<User>().eq(User::getUsername, resources.getUsername()));
User user2 = this.getOne(new LambdaQueryWrapper<User>().eq(User::getEmail, resources.getEmail()));
if (user1 != null && !user.getId().equals(user1.getId())) {
throw new BadRequestException("当前用户名已存在");
}
if (user2 != null && !user.getId().equals(user2.getId())) {
throw new EntityExistException(User.class, "email", resources.getEmail());
}
user.setUsername(resources.getUsername());
user.setEmail(resources.getEmail());
user.setEnabled(resources.getEnabled());
user.setDeptId(resources.getDept().getId());
user.setJobId(resources.getJob().getId());
user.setPhone(resources.getPhone());
user.setNickName(resources.getNickName());
user.setSex(resources.getSex());
boolean result = this.saveOrUpdate(user);
usersRolesService.lambdaUpdate().eq(UsersRoles::getUserId, resources.getId()).remove();
UsersRoles usersRoles = new UsersRoles();
usersRoles.setUserId(resources.getId());
Set<Role> set = resources.getRoles();
for (Role roleIds : set) {
usersRoles.setRoleId(roleIds.getId());
}
if (result) {
usersRolesService.save(usersRoles);
}
// 如果用户的角色改变了,需要手动清理下缓存
if (!resources.getRoles().equals(user.getRoles())) {
String key = "role::loadPermissionByUser:" + user.getUsername();
redisUtils.del(key);
key = "role::findByUsers_Id:" + user.getId();
redisUtils.del(key);
}
}
use of co.yixiang.modules.system.domain.User in project yshopmall by guchengwuyue.
the class SysUserServiceImpl method create.
/**
* 新增用户
*
* @param resources /
* @return /
*/
@Override
// @CacheEvict(allEntries = true)
@Transactional(rollbackFor = Exception.class)
public boolean create(User resources) {
User userName = this.getOne(new LambdaQueryWrapper<User>().eq(User::getUsername, resources.getUsername()));
if (userName != null) {
throw new EntityExistException(User.class, "username", resources.getUsername());
}
User userEmail = this.getOne(new LambdaQueryWrapper<User>().eq(User::getEmail, resources.getEmail()));
if (userEmail != null) {
throw new EntityExistException(User.class, "email", resources.getEmail());
}
resources.setDeptId(resources.getDept().getId());
resources.setJobId(resources.getJob().getId());
boolean result = this.save(resources);
UsersRoles usersRoles = new UsersRoles();
usersRoles.setUserId(resources.getId());
Set<Role> set = resources.getRoles();
for (Role roleIds : set) {
usersRoles.setRoleId(roleIds.getId());
}
if (result) {
usersRolesService.save(usersRoles);
}
return result;
}
Aggregations