修复平台给用户发送消息时间不同步的Bug,现已使双方任意一方发送消息,都会使得Redis中的key的有效时间重置
This commit is contained in:
parent
52330aa54f
commit
253667aece
@ -24,6 +24,13 @@ public class XhpcMessageBoardController {
|
|||||||
@Resource
|
@Resource
|
||||||
XhpcMessageBoardService xhpcMessageBoardService;
|
XhpcMessageBoardService xhpcMessageBoardService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台给用户发送消息
|
||||||
|
*
|
||||||
|
* @author WH
|
||||||
|
* @date 2022/1/13 18:43
|
||||||
|
* @since version-1.0
|
||||||
|
*/
|
||||||
@PostMapping("/platform/message")
|
@PostMapping("/platform/message")
|
||||||
public AjaxResult platformSendMessageToUser(@RequestBody PlatformSendMessageToUserRequest platformRequest) {
|
public AjaxResult platformSendMessageToUser(@RequestBody PlatformSendMessageToUserRequest platformRequest) {
|
||||||
|
|
||||||
|
|||||||
@ -133,13 +133,13 @@ public class XhpcMessageBoardServiceImpl implements XhpcMessageBoardService {
|
|||||||
String platformRedisKey = "PlatformMessageValidTime:" + "0:" + sysUser.getTenantId() + ":" + platformRequest.getSenderType() + ":" + platformRequest.getSenderAccount();
|
String platformRedisKey = "PlatformMessageValidTime:" + "0:" + sysUser.getTenantId() + ":" + platformRequest.getSenderType() + ":" + platformRequest.getSenderAccount();
|
||||||
Object cacheObject = redisService.getCacheObject(platformRedisKey);
|
Object cacheObject = redisService.getCacheObject(platformRedisKey);
|
||||||
String currentTime;
|
String currentTime;
|
||||||
|
String userRedisKey = "userMessageValidTime:" + platformRequest.getSenderType() + ":" + platformRequest.getSenderAccount() + ":" + "0:" + sysUser.getTenantId();
|
||||||
if (cacheObject == null) {
|
if (cacheObject == null) {
|
||||||
//设置当前时间
|
//设置当前时间
|
||||||
currentTime = DateUtil.getYyyyMmDdHhMmSs();
|
currentTime = DateUtil.getYyyyMmDdHhMmSs();
|
||||||
redisService.setCacheObject(platformRedisKey, currentTime);
|
redisService.setCacheObject(platformRedisKey, currentTime);
|
||||||
redisService.expire(platformRedisKey, 60 * 5);
|
redisService.expire(platformRedisKey, 60 * 5);
|
||||||
//设置用户RedisKey的有效时间,保证双方时间数据同步
|
//设置用户RedisKey的有效时间,保证双方时间数据同步
|
||||||
String userRedisKey = "userMessageValidTime:" + platformRequest.getSenderType() + ":" + platformRequest.getSenderAccount() + ":" + "0:" + sysUser.getTenantId();
|
|
||||||
redisService.setCacheObject(userRedisKey, currentTime);
|
redisService.setCacheObject(userRedisKey, currentTime);
|
||||||
redisService.expire(userRedisKey, 60 * 5);
|
redisService.expire(userRedisKey, 60 * 5);
|
||||||
platformRequest.setSendMessageTime(currentTime);
|
platformRequest.setSendMessageTime(currentTime);
|
||||||
@ -150,10 +150,12 @@ public class XhpcMessageBoardServiceImpl implements XhpcMessageBoardService {
|
|||||||
}
|
}
|
||||||
//reset redis key valid time
|
//reset redis key valid time
|
||||||
redisService.expire(platformRedisKey, 60 * 5);
|
redisService.expire(platformRedisKey, 60 * 5);
|
||||||
|
redisService.expire(userRedisKey, 60 * 5);
|
||||||
platformRequest.setSendMessageTime((String) cacheObject);
|
platformRequest.setSendMessageTime((String) cacheObject);
|
||||||
platformRequest.setTenantId(sysUser.getTenantId());
|
platformRequest.setTenantId(sysUser.getTenantId());
|
||||||
platformRequest.setTenantType(0);
|
platformRequest.setTenantType(0);
|
||||||
messageBoardMapper.insertPlatformMessage(platformRequest);
|
messageBoardMapper.insertPlatformMessage(platformRequest);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -237,7 +239,7 @@ public class XhpcMessageBoardServiceImpl implements XhpcMessageBoardService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String returnPlatformAvatar(String tenantId, Integer tenantType) {
|
public String returnPlatformAvatar(String tenantId, Integer tenantType) {
|
||||||
|
//todo 查询数据库
|
||||||
return "https://xhpc-bucket1.oss-cn-hangzhou.aliyuncs.com/avatar/logo.png";
|
return "https://xhpc-bucket1.oss-cn-hangzhou.aliyuncs.com/avatar/logo.png";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user