InnerServiceImpl.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.fdkankan.ucenter.service.impl;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.fdkankan.common.constant.ErrorCode;
  5. import com.fdkankan.common.exception.BusinessException;
  6. import com.fdkankan.common.util.JwtUtil;
  7. import com.fdkankan.redis.constant.RedisKey;
  8. import com.fdkankan.redis.util.RedisUtil;
  9. import com.fdkankan.ucenter.common.Result;
  10. import com.fdkankan.ucenter.entity.ScenePlus;
  11. import com.fdkankan.ucenter.entity.ScenePro;
  12. import com.fdkankan.ucenter.entity.User;
  13. import com.fdkankan.ucenter.service.IInnerService;
  14. import com.fdkankan.ucenter.service.IScenePlusService;
  15. import com.fdkankan.ucenter.service.ISceneProService;
  16. import com.fdkankan.ucenter.service.IUserService;
  17. import com.fdkankan.web.util.WebUtil;
  18. import java.util.Objects;
  19. import lombok.extern.slf4j.Slf4j;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.beans.factory.annotation.Value;
  22. import org.springframework.stereotype.Service;
  23. /**
  24. * <p>
  25. * TODO
  26. * </p>
  27. *
  28. * @author dengsixing
  29. * @since 2022/9/27
  30. **/
  31. @Slf4j
  32. @Service
  33. public class InnerServiceImpl implements IInnerService {
  34. @Value("${inner.customToken}")
  35. private String customToken;
  36. @Autowired
  37. private ISceneProService sceneProService;
  38. @Autowired
  39. private IScenePlusService scenePlusService;
  40. @Autowired
  41. private IUserService userService;
  42. @Autowired
  43. private RedisUtil redisUtil;
  44. @Override
  45. public Result createTokenByNum(String num, String customToken) {
  46. log.info(this.customToken);
  47. log.info(customToken);
  48. if(!this.customToken.equals(customToken)){
  49. return Result.failure("无权访问");
  50. }
  51. Long userId = null;
  52. ScenePro scenePro = sceneProService.getByNum(num);
  53. if(Objects.nonNull(scenePro)){
  54. userId = scenePro.getUserId();
  55. }else{
  56. ScenePlus scenePlus = scenePlusService.getByNum(num);
  57. if(Objects.isNull(scenePlus)){
  58. return Result.failure("场景为空");
  59. }
  60. userId = scenePlus.getUserId();
  61. }
  62. User user = userService.getById(userId);
  63. String token = JwtUtil.createJWT(-1, user.getUserName(), "user");
  64. String redisKey = String.format(RedisKey.TOKEN_V3,token);
  65. redisUtil.set(redisKey, JSON.toJSONString(user), RedisKey.EXPIRE_TIME_2_HOUR);
  66. JSONObject object = new JSONObject();
  67. object.put("token", token);
  68. return Result.success(object);
  69. }
  70. }