IfishSystemEnglish/src/main/java/com/ifish/helper/RedisKeyHelper.java

372 lines
10 KiB
Java

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.ifish.helper;
import com.ifish.bean.Tbl_Device;
import com.ifish.bean.Tbl_Device_Statistics;
import com.ifish.bean.Tbl_Device_User;
import com.ifish.bean.Tbl_Live_Room;
import com.ifish.bean.Tbl_User;
import com.ifish.util.RedisKey;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
*
* @author Administrator
*/
@Component
public class RedisKeyHelper implements RedisKeyHelperI {
@Autowired
private RedisHelperI redisHelperI;
/**
* 根据phoneNumber获取Tbl_User用户信息的Redis缓存key键值
*
* @param userId
* @return
*/
@Override
public String getTbl_UserRedisKeyByPhoneNumber(String phoneNumber) {
return RedisKey.USER_PHONE + phoneNumber;
}
/**
* 根据token获取tbl_user用户信息的redis缓存key键值
*
* @param token
* @return
*/
@Override
public String getTbl_UserRedisKeyByToken(String token) {
return RedisKey.USER_TOKEN + token;
}
/**
* 根据Email获取Tbl_User用户信息的Redis缓存key键值
*
* @param userId
* @return
*/
@Override
public String getTbl_UserRedisKeyByEmail(String email) {
return RedisKey.USER_EMAIL + email;
}
/**
* 根据userId获取Tbl_User用户信息的Redis缓存key键值
*
* @param userId
* @return
*/
@Override
public String getTbl_UserRedisKeyByUserId(Integer userId) {
return RedisKey.USER_ID_KEY + userId;
}
/**
* 根据userName获取Tbl_Security_User管理用户的redis缓存key键值
*
* @param userName
* @return
*/
@Override
public String getTbl_Security_UserRedisKeyByUserName(String userName) {
return RedisKey.SECURITY_USER + userName;
}
/**
* 根据mac地址获取Tbl_Device的redis缓存key键值
*
* @param macAddress
* @return
*/
@Override
public String getTbl_DeviceRedisKeyByMacAddress(String macAddress) {
return RedisKey.DEVICE_KEY_MACADDRESS + macAddress;
}
/**
* 根据摄像头Id获取Tbl_Device的redis缓存key键值
*
* @param macAddress
* @return
*/
@Override
public String getTbl_CameraRedisKeyByCameraId(String CameraId) {
return RedisKey.DEVICE_KEY_CAMERAID + CameraId;
}
/**
* 根据Id获取Tbl_Device的redis缓存key键值
*
* @param macAddress
* @return
*/
@Override
public String getTbl_DeviceRedisKeyByDeviceId(Integer deviceId) {
return RedisKey.DEVICE_KEY_DEVICEID + deviceId;
}
/**
* 根据设备ID和用户ID获取Tbl_Device_User的redis缓存key键值
*
* @param userId
* @param deviceId
* @return
*/
@Override
public String getTbl_Device_UserRedisKeyByDeviceIdAndUserId(Integer userId, Integer deviceId) {
return RedisKey.DEVICE_USER_DEVICEID_AND_USERID + "u_" + userId + "_d_" + deviceId;
}
/**
* 根据设备ID获取Tbl_Device_User(列表)的redis缓存key键值
*
* @param userId
* @param deviceId
* @return
*/
@Override
public String getListTbl_Device_UserKeyByDeviceId(Integer deviceId) {
return RedisKey.DEVICE_USER_LIST_DEVICEID + deviceId;
}
/**
* 根据用户ID获取Tbl_Device_User(列表)的redis缓存key键值
*
* @param userId
* @param deviceId
* @return
*/
@Override
public String getListTbl_Device_UserKeyByUserId(Integer userId) {
return RedisKey.DEVICE_USER_LIST_USERID + userId;
}
/**
* 根据mac地址获取Tbl_Device_Statistics的redis缓存key键值
*
* @param macAddress
* @return
*/
@Override
public String getTbl_Device_StatisticsRedisKeyByMacAddress(String macAddress) {
return RedisKey.DEVICE_STATISTICS_MACADDRESS + macAddress;
}
/**
* 根据Id获取Tbl_Device_Statistics的redis缓存key键值
*
* @param macAddress
* @return
*/
@Override
public String getTbl_Device_StatisticsRedisKeyByDeviceId(Integer deviceId) {
return RedisKey.DEVICE_STATISTICS_DEVICEID + deviceId;
}
/**
* 根据typeCode获取Tbl_HardWare_Type的redis缓存key键值
*
* @param typeCode
* @return
*/
@Override
public String getTbl_HardWare_TypeRedisKeyByTypeCode(String typeCode) {
return RedisKey.HARD_WARE_TYPE + typeCode;
}
/**
* 根据brandCode获取Tbl_Vender_list的redis缓存key键值
*
* @param brandCode
* @return
*/
@Override
public String getTbl_Vender_ListRedisKeyByCode(String brandCode) {
return RedisKey.VENDER_CODE + brandCode;
}
/**
* 根据直播间Id获取Tbl_Live_Room的redis缓存key键值
*
* @param roomId
* @return
*/
@Override
public String getTbl_Live_RoomRedisKeyByRoomId(Integer roomId) {
return RedisKey.LIVEROOM_ROOMID + roomId;
}
/**
* 根据用户Id获取Tbl_Live_Room的redis缓存key键值
*
* @param roomId
* @return
*/
@Override
public String getTbl_Live_RoomRedisKeyByUserId(Integer User) {
return RedisKey.LIVEROOM_USERID + User;
}
/**
* 根据分页和排序条件获取直播间列表缓存key键值
*
* @param first
* @param pageSize
* @param orders
* @return
*/
@Override
public String getListTbl_Live_Room_RedisKey(Integer first, Integer pageSize, String orders) {
return RedisKey.LIVEROMM_LIST + "f_" + first + "_p_" + pageSize + "_o_" + orders;
}
/**
* 获取所有开启直播间总数量的redis缓存key键值
*
* @return
*/
@Override
public String getTbl_Live_Room_CountRedisKey() {
return RedisKey.LIVEROOM_COUNT;
}
/**
* 获取直播间评论列表的redis缓存key键值
*
* @param roomId
* @return
*/
@Override
public String getTbl_Live_Message(Integer firstResult, Integer pageSize, Integer roomId) {
return RedisKey.LIVEMESSAGE_ROOMID + roomId + "_f_" + firstResult + "_p_" + pageSize;
}
/**
* 根据pushId获取Tbl_push_list的redis缓存key键值
*
* @param pushId
* @return
*/
@Override
public String getTbl_Push_List_RedisByPushId(Integer pushId) {
return RedisKey.PUSHLIST_PUSHID + pushId;
}
/**
* 根据MD5值获取redis缓存key键值
*
* @param md5
* @return
*/
@Override
public String getEmailRedisKey(String md5) {
return RedisKey.EMAIL_REGIESTER + md5;
}
/**
* 删除redis中某个设备详情Tbl_Device的缓存
*
* @param device
* @return
*/
@Override
public void deleteRedisByTbl_Device(Tbl_Device device) {
if (device.getDeviceId() != null && device.getDeviceId() > 0) {
redisHelperI.deleteRedis(getTbl_DeviceRedisKeyByDeviceId(device.getDeviceId()));
}
if (StringUtils.isNotBlank(device.getMacAddress())) {
redisHelperI.deleteRedis(getTbl_DeviceRedisKeyByMacAddress(device.getMacAddress()));
}
if (StringUtils.isNotBlank(device.getCameraId())) {
redisHelperI.deleteRedis(getTbl_CameraRedisKeyByCameraId(device.getCameraId()));
}
}
/**
* 删除redis中某个设备统计信息Tbl_Device_Statistics的缓存
*
* @param device
* @return
*/
@Override
public void deleteRedisByTbl_Device_Statistics(Tbl_Device_Statistics device) {
if (device.getDeviceId() != null && device.getDeviceId() > 0) {
redisHelperI.deleteRedis(getTbl_DeviceRedisKeyByDeviceId(device.getDeviceId()));
}
if (StringUtils.isNotBlank(device.getMacAddress())) {
redisHelperI.deleteRedis(getTbl_DeviceRedisKeyByMacAddress(device.getMacAddress()));
}
}
/**
* 删除redis中某个设备和用户关系Tbl_Device_User的缓存
*
* @param tbl_Device_User
*/
@Override
public void deleteRedisByTbl_Device_User(Tbl_Device_User tbl_Device_User) {
if (tbl_Device_User.getDeviceId() != null && tbl_Device_User.getUserId() != null && tbl_Device_User.getDeviceId() > 0 && tbl_Device_User.getUserId() > 0) {
redisHelperI.deleteRedis(getTbl_Device_UserRedisKeyByDeviceIdAndUserId(tbl_Device_User.getUserId(), tbl_Device_User.getDeviceId()));
}
if (tbl_Device_User.getDeviceId() != null && tbl_Device_User.getDeviceId() > 0) {
redisHelperI.deleteRedis(getListTbl_Device_UserKeyByDeviceId(tbl_Device_User.getDeviceId()));
}
}
/**
* 删除redis中某个用户Tbl_User的缓存
*
* @param tbl_User
*/
@Override
public void deleteRedisByTbl_User(Tbl_User tbl_User) {
if (tbl_User.getUserId() != null && tbl_User.getUserId() > 0) {
redisHelperI.deleteRedis(getTbl_UserRedisKeyByUserId(tbl_User.getUserId()));
}
if (StringUtils.isNotBlank(tbl_User.getUserEmail())) {
redisHelperI.deleteRedis(getTbl_UserRedisKeyByEmail(tbl_User.getUserEmail()));
}
if (StringUtils.isNotBlank(tbl_User.getPhoneNumber())) {
redisHelperI.deleteRedis(getTbl_UserRedisKeyByPhoneNumber(tbl_User.getPhoneNumber()));
}
if (StringUtils.isNotBlank(tbl_User.getToken())) {
redisHelperI.deleteRedis(getTbl_UserRedisKeyByToken(tbl_User.getToken()));
}
}
/**
* 删除redis中某个直播间Tbl_Live_Room的缓存
*
* @param live_Room
*/
@Override
public void deleteRedisByTbl_Live_Room(Tbl_Live_Room live_Room) {
if (live_Room.getRoomId() != null && live_Room.getRoomId() > 0) {
redisHelperI.deleteRedis(getTbl_Live_RoomRedisKeyByRoomId(live_Room.getRoomId()));
}
if (live_Room.getUserId() != null && live_Room.getUserId() > 0) {
redisHelperI.deleteRedis(getTbl_Live_RoomRedisKeyByUserId(live_Room.getUserId()));
}
redisHelperI.deleteRedis(getTbl_Live_Room_CountRedisKey());
redisHelperI.delRedisByTagKey(RedisKey.LIVEROMM_LIST);
}
/**
* 删除redis中有直播间总数缓存
*/
@Override
public void deleteRedisByLiveRoomListCount() {
redisHelperI.deleteRedis(getTbl_Live_Room_CountRedisKey());
}
}