UserService.java 1.7 KB
Newer Older
门心叼龙's avatar
门心叼龙 已提交
1 2 3 4 5 6 7 8 9 10
package com.fly.user.service;

import com.fly.common.dto.RespDTO;
import com.fly.common.exception.CommonException;
import com.fly.common.exception.ErrorCode;
import com.fly.user.dao.UserDao;
import com.fly.user.dto.LoginDTO;
import com.fly.user.entity.JWT;
import com.fly.user.entity.User;
import com.fly.user.client.AuthServiceClient;
门心叼龙's avatar
门心叼龙 已提交
11
import com.fly.user.util.BPwdEncoderUtils;
门心叼龙's avatar
门心叼龙 已提交
12 13 14 15 16 17 18 19 20 21 22 23 24 25
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Description: <UserService><br>
 * Author:    门心叼龙<br>
 * Date:      2019/2/19<br>
 * Version:    V1.0.0<br>
 * Update:     <br>
 */
@Service
public class UserService {

    @Autowired
门心叼龙's avatar
门心叼龙 已提交
26
    public
门心叼龙's avatar
门心叼龙 已提交
27 28 29 30 31 32 33 34 35 36 37
    UserDao userDao;
    @Autowired
    AuthServiceClient authServiceClient;

    public User createUser(User user){
      return  userDao.save(user);
    }

    public User getUserInfo(String username){
        return userDao.findByUsername(username);
    }
门心叼龙's avatar
门心叼龙 已提交
38 39

    public RespDTO login(String username, String password){
门心叼龙's avatar
门心叼龙 已提交
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
       User user= userDao.findByUsername(username);
       if(null==user){
           throw new CommonException(ErrorCode.USER_NOT_FOUND);
       }
       if(!BPwdEncoderUtils.matches(password,user.getPassword())){
           throw new CommonException(ErrorCode.USER_PASSWORD_ERROR);
       }

        JWT jwt = authServiceClient.getToken("Basic dWFhLXNlcnZpY2U6MTIzNDU2", "password", username, password);
        // 获得用户菜单
        if(null==jwt){
            throw new CommonException(ErrorCode.GET_TOKEN_FAIL);
        }
        LoginDTO loginDTO=new LoginDTO();
        loginDTO.setUser(user);
        loginDTO.setToken(jwt.getAccess_token());
        return RespDTO.onSuc(loginDTO);
    }
}