SysUserServiceImpl.java 3.0 KB
Newer Older
Q
qinxiaodong@pannk.com 已提交
1 2
package com.pannk.mms.modules.sys.service.impl;

Q
qinxiaodong@pannk.com 已提交
3 4
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
Q
qinxiaodong@pannk.com 已提交
5
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
Q
更新  
qinxiaodong@pannk.com 已提交
6
import com.pannk.mms.common.base.Constant;
Q
qinxiaodong@pannk.com 已提交
7 8
import com.pannk.mms.common.base.PageData;
import com.pannk.mms.common.base.Query;
Q
qinxiaodong@pannk.com 已提交
9 10 11 12 13 14 15 16 17 18 19
import com.pannk.mms.common.base.Result;
import com.pannk.mms.common.utils.RedisUtil;
import com.pannk.mms.common.utils.TokenUtil;
import com.pannk.mms.modules.sys.dao.SysUserMapper;
import com.pannk.mms.modules.sys.entity.SysRoleEntity;
import com.pannk.mms.modules.sys.entity.SysUserEntity;
import com.pannk.mms.modules.sys.service.SysRoleService;
import com.pannk.mms.modules.sys.service.SysUserService;
import com.pannk.mms.modules.sys.vo.LoginForm;
import com.pannk.mms.modules.sys.vo.SysUserInfo;
import lombok.extern.slf4j.Slf4j;
Q
qinxiaodong@pannk.com 已提交
20
import org.springframework.beans.BeanUtils;
Q
qinxiaodong@pannk.com 已提交
21 22 23 24
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
Q
qinxiaodong@pannk.com 已提交
25
import java.util.Map;
Q
qinxiaodong@pannk.com 已提交
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

/**
 * 系统用户服务
 * Created by wolf on 20-11-2.
 */
@Slf4j
@Service("sysUserService")
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity> implements SysUserService {

    @Autowired
    private RedisUtil redisUtil;

    @Autowired
    private SysRoleService sysRoleService;


    @Override
    public SysUserEntity queryByUserName(String userName) {
        return baseMapper.queryByUserName(userName);
    }

    @Override
    public Result login(LoginForm loginForm) {
        SysUserEntity sysUserEntity = queryByUserName(loginForm.getUserName());
        if (sysUserEntity == null || !sysUserEntity.getPassword().equals(loginForm.getPassword())) {
            return Result.error("账号或密码不正确");
        }
        if (sysUserEntity.getStatus() == 1) {
            return Result.error("账号被锁定,请联系管理员处理");
        }
        String token = TokenUtil.generateToken();
Q
qinxiaodong@pannk.com 已提交
57
        redisUtil.set(Constant.USER_CACHE + token, sysUserEntity, Constant.EXPIRE);
Q
qinxiaodong@pannk.com 已提交
58 59 60 61 62 63 64 65 66 67 68
        return Result.success(token);
    }

    @Override
    public SysUserInfo queryUserInfo(Long id) {
        SysUserEntity sysUserEntity = getById(id);
        SysUserInfo sysUserInfo = new SysUserInfo();
        if (sysUserEntity == null) {
            return null;
        }
        List<SysRoleEntity> roles = sysRoleService.queryUserRole(sysUserEntity.getId());
Q
qinxiaodong@pannk.com 已提交
69
        BeanUtils.copyProperties(sysUserEntity, sysUserInfo);
Q
qinxiaodong@pannk.com 已提交
70 71 72
        sysUserInfo.setRoles(roles);
        return sysUserInfo;
    }
Q
qinxiaodong@pannk.com 已提交
73 74 75 76 77 78 79 80 81 82 83 84

    @Override
    public void logout(Long userId, String token) {
        redisUtil.del(Constant.USER_CACHE + token);
        redisUtil.del(Constant.PERMS_CAHCE + userId);
    }

    @Override
    public PageData<SysUserEntity> queryPage(Map<String, Object> params) {
        IPage<SysUserEntity> page = this.page(new Query<SysUserEntity>().getPage(params), new QueryWrapper<>());
        return new PageData<>(page);
    }
Q
qinxiaodong@pannk.com 已提交
85
}