Search in sources :

Example 1 with User

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;
}
Also used : User(co.yixiang.modules.system.domain.User)

Example 2 with User

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);
}
Also used : User(co.yixiang.modules.system.domain.User)

Example 3 with User

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);
    }
}
Also used : UserAvatar(co.yixiang.modules.system.domain.UserAvatar) User(co.yixiang.modules.system.domain.User) File(java.io.File) MultipartFile(org.springframework.web.multipart.MultipartFile) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper)

Example 4 with User

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);
    }
}
Also used : Role(co.yixiang.modules.system.domain.Role) User(co.yixiang.modules.system.domain.User) EntityExistException(co.yixiang.exception.EntityExistException) UsersRoles(co.yixiang.modules.system.domain.UsersRoles) BadRequestException(co.yixiang.exception.BadRequestException) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) Transactional(org.springframework.transaction.annotation.Transactional)

Example 5 with User

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;
}
Also used : Role(co.yixiang.modules.system.domain.Role) User(co.yixiang.modules.system.domain.User) EntityExistException(co.yixiang.exception.EntityExistException) UsersRoles(co.yixiang.modules.system.domain.UsersRoles) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

User (co.yixiang.modules.system.domain.User)5 LambdaQueryWrapper (com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper)3 EntityExistException (co.yixiang.exception.EntityExistException)2 Role (co.yixiang.modules.system.domain.Role)2 UsersRoles (co.yixiang.modules.system.domain.UsersRoles)2 Transactional (org.springframework.transaction.annotation.Transactional)2 BadRequestException (co.yixiang.exception.BadRequestException)1 UserAvatar (co.yixiang.modules.system.domain.UserAvatar)1 File (java.io.File)1 MultipartFile (org.springframework.web.multipart.MultipartFile)1