12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package com.fdkankan.manage.service.impl;
- import cn.dev33.satoken.stp.SaLoginConfig;
- import cn.dev33.satoken.stp.StpUtil;
- import com.fdkankan.common.constant.ErrorCode;
- import com.fdkankan.common.exception.BusinessException;
- import com.fdkankan.common.util.Base64Converter;
- import com.fdkankan.common.util.SecurityUtil;
- import com.fdkankan.manage.service.ISysUserService;
- import com.fdkankan.manage.vo.response.ManageLoginResponse;
- import com.fdkankan.redis.constant.RedisKey;
- import com.fdkankan.redis.util.RedisUtil;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- @Service
- public class ManageService {
- @Autowired
- ISysUserService sysUserService;
- @Autowired
- RedisUtil redisUtil;
- public ManageLoginResponse login(String userName, String password) {
- if(StringUtils.isBlank(userName) || StringUtils.isBlank(password)){
- throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
- }
- //对前端传的密码解密
- String passwordMd5 = SecurityUtil.MD52(Base64Converter.decode(Base64Converter.subText(password)));
- ManageLoginResponse result = sysUserService.getUserByUserNameAndPassword(userName, passwordMd5);
- StpUtil.login(result.getId(), SaLoginConfig
- .setExtra("userId",result.getId())
- .setExtra("isAdmin",1)
- .setExtra("userName",result.getUserName())
- .setExtra("nickName",result.getNickName()));
- result.setToken(StpUtil.getTokenValue());
- redisUtil.set(String.format(RedisKey.TOKEN_V3 ,result.getToken()), "1", 216000);
- return result;
- }
- public void logout() {
- redisUtil.del(String.format(RedisKey.TOKEN_V3 ,StpUtil.getTokenValue()));
- StpUtil.logout();
- }
- }
|