ManageService.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.fdkankan.manage.service.impl;
  2. import cn.dev33.satoken.stp.SaLoginConfig;
  3. import cn.dev33.satoken.stp.StpUtil;
  4. import com.fdkankan.common.constant.ErrorCode;
  5. import com.fdkankan.common.exception.BusinessException;
  6. import com.fdkankan.common.util.Base64Converter;
  7. import com.fdkankan.common.util.SecurityUtil;
  8. import com.fdkankan.manage.service.ISysUserService;
  9. import com.fdkankan.manage.vo.response.ManageLoginResponse;
  10. import com.fdkankan.redis.constant.RedisKey;
  11. import com.fdkankan.redis.util.RedisUtil;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. @Service
  16. public class ManageService {
  17. @Autowired
  18. ISysUserService sysUserService;
  19. @Autowired
  20. RedisUtil redisUtil;
  21. public ManageLoginResponse login(String userName, String password) {
  22. if(StringUtils.isBlank(userName) || StringUtils.isBlank(password)){
  23. throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
  24. }
  25. //对前端传的密码解密
  26. String passwordMd5 = SecurityUtil.MD52(Base64Converter.decode(Base64Converter.subText(password)));
  27. ManageLoginResponse result = sysUserService.getUserByUserNameAndPassword(userName, passwordMd5);
  28. StpUtil.login(result.getId(), SaLoginConfig
  29. .setExtra("userId",result.getId())
  30. .setExtra("isAdmin",1)
  31. .setExtra("userName",result.getUserName())
  32. .setExtra("nickName",result.getNickName()));
  33. result.setToken(StpUtil.getTokenValue());
  34. redisUtil.set(String.format(RedisKey.TOKEN_V3 ,result.getToken()), "1", 216000);
  35. return result;
  36. }
  37. public void logout() {
  38. redisUtil.del(String.format(RedisKey.TOKEN_V3 ,StpUtil.getTokenValue()));
  39. StpUtil.logout();
  40. }
  41. }