Commit 091d65dd 091d65dd2881c2922121295119e9b8644c569f02 by xianghan

1.去除大屏信息缓存

2.在绑定和解绑成功后大屏信息(任务)缓存
1 parent 6e65ab83
......@@ -187,7 +187,6 @@ public class UserTvServiceImpl implements UserTvService {
}
@Override
@Cacheable(cacheNames = RedisKeyConstants.cacheUserTvByPlatformAccount, key = "#platformAccount", unless = "#result.id == null")
@Transactional(readOnly = true)
public UserTvDTO findByPlatformAccount(String platformAccount) {
UserTv userTv = this.userTvRepository.findByPlatformAccount(platformAccount).orElseGet(UserTv::new);
......
......@@ -727,6 +727,9 @@ public class UserOperationServiceImpl implements UserOperationService {
log.info("大屏账号置空主会员的结果,userTvDTO ==>> {}", userTvDTO);
((UserOperationServiceImpl)AopContext.currentProxy()).asyncUnbind(new MemberAndUserTvDTO(memberDTO, userTvDTO));
this.updateUserTvSimplePriorityMemberCodeRedis(platformAccount, "");
return true;
}
......@@ -1005,6 +1008,8 @@ public class UserOperationServiceImpl implements UserOperationService {
((UserOperationServiceImpl)AopContext.currentProxy())
.asyncMinaBind(new MemberAndUserTvDTO(memberDTO, userTvDTO));
this.updateUserTvSimplePriorityMemberCodeRedis(platformAccount, memberDTO.getCode());
return true;
}
......@@ -1071,14 +1076,20 @@ public class UserOperationServiceImpl implements UserOperationService {
// 同步至iptv
((UserOperationServiceImpl)AopContext.currentProxy()).asyncMinaBind(new MemberAndUserTvDTO(memberDTO, userTvDTO));
this.updateUserTvSimplePriorityMemberCodeRedis(platformAccount, memberDTO.getCode());
return userTvDTO;
}
private void updateUserTvSimplePriorityMemberCodeRedis(String platformAccount, String priorityMemberCode){
// 修改缓存中MemberSimple的大屏主账号信息,因为执行任务之前会去检查主会员d
UserTvSimpleDTO userTvSimpleDTO = this.userTvService.findSimpleByPlatformAccount(platformAccount);
if (Objects.nonNull(userTvDTO)) {
userTvSimpleDTO.setPriorityMemberCode(memberDTO.getCode());
JSONObject hashMap = JSONObject.parseObject(JSON.toJSONString(userTvDTO), JSONObject.class);
if (Objects.nonNull(userTvSimpleDTO)) {
userTvSimpleDTO.setPriorityMemberCode(priorityMemberCode);
JSONObject hashMap = JSONObject.parseObject(JSON.toJSONString(userTvSimpleDTO), JSONObject.class);
this.redisUtils.set(RedisKeyConstants.cacheVisUserByPlatformAccount + "::" + platformAccount, hashMap);
}
return userTvDTO;
}
/**
......@@ -1386,6 +1397,8 @@ public class UserOperationServiceImpl implements UserOperationService {
log.info("同步绑定信息至大屏侧, 参数 ==>> {}", new MemberAndUserTvDTO(memberDTO, userTvDTO));
((UserOperationServiceImpl)AopContext.currentProxy()).asyncUnbind(new MemberAndUserTvDTO(memberDTO, userTvDTO));
this.updateUserTvSimplePriorityMemberCodeRedis(userTvDTO.getPlatformAccount(), "");
return true;
}
......