提交 cc3fe4bc 作者: han

Merge branch 'develop'

流水线 #8278 已通过 于阶段
in 2 分 22 秒
package com.mmc.iuav.user.model.dto; package com.mmc.iuav.user.model.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.mmc.iuav.user.model.vo.CompanyInfoVO; import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
......
package com.mmc.iuav.user.auth; package com.mmc.iuav.user.auth;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.google.gson.Gson;
import com.mmc.iuav.auth.JwtConstant; import com.mmc.iuav.auth.JwtConstant;
import com.mmc.iuav.auth.JwtUtil; import com.mmc.iuav.auth.JwtUtil;
import com.mmc.iuav.user.dao.RoleDao; import com.mmc.iuav.user.dao.RoleDao;
...@@ -12,6 +13,7 @@ import com.mmc.iuav.user.service.CompanyService; ...@@ -12,6 +13,7 @@ import com.mmc.iuav.user.service.CompanyService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.HashMap; import java.util.HashMap;
...@@ -41,8 +43,9 @@ public class AuthHandler { ...@@ -41,8 +43,9 @@ public class AuthHandler {
String token = JwtUtil.createJwt(map); String token = JwtUtil.createJwt(map);
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).openId(userAccountVO.getOpenId()).userAccountId(userAccountVO.getId()).uid(userAccountVO.getId() + "") LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).openId(userAccountVO.getOpenId()).userAccountId(userAccountVO.getId()).uid(userAccountVO.getId() + "")
.userName(userAccountVO.getUserName()).nickName(userAccountVO.getNickName()).phoneNum(userAccountVO.getPhoneNum()).portType(UserTypeEnums.APP.getType()).build(); .userName(userAccountVO.getUserName()).nickName(userAccountVO.getNickName()).phoneNum(userAccountVO.getPhoneNum()).portType(UserTypeEnums.APP.getType()).build();
stringRedisTemplate.setValueSerializer(RedisSerializer.json());
stringRedisTemplate.opsForValue().set( stringRedisTemplate.opsForValue().set(
token, JSONObject.toJSONString(loginSuccessDTO), token, new Gson().toJson(loginSuccessDTO),
JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS); JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS);
AppUserSucVO appUserSucVO = AppUserSucVO.builder().token(token).uid(userAccountVO.getUid()).phoneNum(userAccountVO.getPhoneNum()) AppUserSucVO appUserSucVO = AppUserSucVO.builder().token(token).uid(userAccountVO.getUid()).phoneNum(userAccountVO.getPhoneNum())
...@@ -56,8 +59,9 @@ public class AuthHandler { ...@@ -56,8 +59,9 @@ public class AuthHandler {
String token = JwtUtil.createJwt(map); String token = JwtUtil.createJwt(map);
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(userAccountVO.getId()) LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(userAccountVO.getId())
.phoneNum(userAccountVO.getPhoneNum()).portType(UserTypeEnums.APP.getType()).build(); .phoneNum(userAccountVO.getPhoneNum()).portType(UserTypeEnums.APP.getType()).build();
stringRedisTemplate.setValueSerializer(RedisSerializer.json());
stringRedisTemplate.opsForValue().set( stringRedisTemplate.opsForValue().set(
token, JSONObject.toJSONString(loginSuccessDTO), token, new Gson().toJson(loginSuccessDTO),
JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS); JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS);
WebUserSucVO webUserSucVO = WebUserSucVO.builder().token(token).phoneNum(userAccountVO.getPhoneNum()) WebUserSucVO webUserSucVO = WebUserSucVO.builder().token(token).phoneNum(userAccountVO.getPhoneNum())
.nickName(userAccountVO.getNickName()).userAccountId(userAccountVO.getId()).build(); .nickName(userAccountVO.getNickName()).userAccountId(userAccountVO.getId()).build();
...@@ -78,8 +82,9 @@ public class AuthHandler { ...@@ -78,8 +82,9 @@ public class AuthHandler {
.userName(user.getUserName()).nickName(user.getUserName()).phoneNum(user.getPhoneNum()).portType(UserTypeEnums.PC.getType()) .userName(user.getUserName()).nickName(user.getUserName()).phoneNum(user.getPhoneNum()).portType(UserTypeEnums.PC.getType())
.companyInfoVO(companyInfoVO == null ? null : companyInfoVO) .companyInfoVO(companyInfoVO == null ? null : companyInfoVO)
.roleInfo(roleInfoDO.buildRoleInfoDTO()).build(); .roleInfo(roleInfoDO.buildRoleInfoDTO()).build();
stringRedisTemplate.setValueSerializer(RedisSerializer.json());
stringRedisTemplate.opsForValue().set( stringRedisTemplate.opsForValue().set(
token, JSONObject.toJSONString(loginSuccessDTO), token, new Gson().toJson(loginSuccessDTO),
JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS); JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS);
// 标记 // 标记
stringRedisTemplate.opsForValue().set( stringRedisTemplate.opsForValue().set(
......
...@@ -7,6 +7,8 @@ import lombok.extern.slf4j.Slf4j; ...@@ -7,6 +7,8 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
...@@ -41,6 +43,7 @@ public class TokenCheckHandleInterceptor implements HandlerInterceptor { ...@@ -41,6 +43,7 @@ public class TokenCheckHandleInterceptor implements HandlerInterceptor {
exceptionProcess(response); exceptionProcess(response);
return false; return false;
} }
stringRedisTemplate.setValueSerializer(RedisSerializer.json());
String tokenJson = stringRedisTemplate.opsForValue().get(token); String tokenJson = stringRedisTemplate.opsForValue().get(token);
if (StringUtils.isBlank(tokenJson)) { if (StringUtils.isBlank(tokenJson)) {
exceptionProcess(response); exceptionProcess(response);
......
...@@ -12,6 +12,7 @@ import io.jsonwebtoken.Claims; ...@@ -12,6 +12,7 @@ import io.jsonwebtoken.Claims;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -54,6 +55,7 @@ public abstract class BaseController { ...@@ -54,6 +55,7 @@ public abstract class BaseController {
if (StringUtils.isBlank(token)){ if (StringUtils.isBlank(token)){
throw new BizException(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR); throw new BizException(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR);
} }
stringRedisTemplate.setValueSerializer(RedisSerializer.json());
String json = stringRedisTemplate.opsForValue().get(token); String json = stringRedisTemplate.opsForValue().get(token);
if (StringUtils.isBlank(json)){ if (StringUtils.isBlank(json)){
throw new BizException(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR); throw new BizException(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR);
......
...@@ -130,7 +130,9 @@ public class MessageServiceImpl implements MessageService { ...@@ -130,7 +130,9 @@ public class MessageServiceImpl implements MessageService {
if(messageDao.insertUserMessage(userMessageDO) != 0){ if(messageDao.insertUserMessage(userMessageDO) != 0){
UserAccountDO userAccount = userServiceDao.getUserAccountById(userMessageDO.getReceiverUserId()); UserAccountDO userAccount = userServiceDao.getUserAccountById(userMessageDO.getReceiverUserId());
UserDO userDO = userAccount.buildUserDO(); UserDO userDO = userAccount.buildUserDO();
if(scheduledTaskUtil.check(userDO.getUserAccountId()) == 1){
scheduledTaskUtil.create(userDO); scheduledTaskUtil.create(userDO);
}
if(messageDao.isUserMessageLog(userMessageDO.getReceiverUserId(), userMessageDO.getSenderUserId()) == null){ if(messageDao.isUserMessageLog(userMessageDO.getReceiverUserId(), userMessageDO.getSenderUserId()) == null){
UserMessageLogDO userMessageLogDO = new UserMessageLogDO(); UserMessageLogDO userMessageLogDO = new UserMessageLogDO();
userMessageLogDO.setSenderUserId(userMessageDO.getSenderUserId()); userMessageLogDO.setSenderUserId(userMessageDO.getSenderUserId());
......
...@@ -16,6 +16,7 @@ import org.springframework.stereotype.Component; ...@@ -16,6 +16,7 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.Instant; import java.time.Instant;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -48,6 +49,30 @@ public class ScheduledTaskUtil { ...@@ -48,6 +49,30 @@ public class ScheduledTaskUtil {
scheduledTasks.put(userDO.getUserAccountId(), scheduledFuture); scheduledTasks.put(userDO.getUserAccountId(), scheduledFuture);
} }
// public void destroy(Integer userAccountId){
// redisTemplate.setValueSerializer(RedisSerializer.json());
// Set<String> keys = redisTemplate.keys("task" + userAccountId + "*");
// if(keys == null || keys.isEmpty()){
// return;
// }
// for (String key : keys) {
// redisTemplate.setValueSerializer(RedisSerializer.json());
// String s = redisTemplate.opsForValue().get(key);
// MyTask task = new Gson().fromJson(s, MyTask.class);
// ScheduledFuture<?> scheduledFuture = scheduledTasks.get(userAccountId);
// if (task != null && scheduledFuture != null) {
// scheduledFuture.cancel(false);
// redisTemplate.delete(key);
// scheduledTasks.remove(userAccountId);
// }
// }
// System.out.println("定时任务已取消");
//// String s = redisTemplate.opsForValue().get("task" + userAccountId);
//// if(s == null || s == ""){
//// return;
//// }
//
// }
public void destroy(Integer userAccountId){ public void destroy(Integer userAccountId){
redisTemplate.setValueSerializer(RedisSerializer.json()); redisTemplate.setValueSerializer(RedisSerializer.json());
String s = redisTemplate.opsForValue().get("task" + userAccountId); String s = redisTemplate.opsForValue().get("task" + userAccountId);
...@@ -63,4 +88,12 @@ public class ScheduledTaskUtil { ...@@ -63,4 +88,12 @@ public class ScheduledTaskUtil {
System.out.println("定时任务已取消"); System.out.println("定时任务已取消");
} }
} }
public int check(Integer userAccountId){
redisTemplate.setValueSerializer(RedisSerializer.json());
String s = redisTemplate.opsForValue().get("task" + userAccountId);
if(s == null || s == ""){
return 1;
}
return 0;
}
} }
...@@ -18,4 +18,4 @@ patches: ...@@ -18,4 +18,4 @@ patches:
images: images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG - name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag: dc89a6cdd82582e2e1308b924144dd3c8b2253bc newTag: a7f5f1113aff6dd1891c5220ebb5dcb10f014899
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论