0元购逻辑,直接送

This commit is contained in:
2025-01-05 14:20:24 +08:00
parent 7befe07e70
commit 3907b5eb7a
19 changed files with 231 additions and 26 deletions

View File

@ -38,4 +38,8 @@ public class OrderRepository {
public boolean checkUserBuyVideo(Long userId, Long videoId) {
return checkUserBuyItem(userId, 0, videoId);
}
public void clearUserBuyItemCache(Long userId, int goodsType, Long goodsId) {
redisTemplate.delete(String.format(ORDER_ITEM_CACHE_KEY, userId, goodsType, goodsId));
}
}

View File

@ -1,4 +1,47 @@
package com.ycwl.basic.repository;
import com.alibaba.fastjson.JSONObject;
import com.ycwl.basic.mapper.ScenicMapper;
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
@Component
public class ScenicRepository {
@Autowired
private ScenicMapper scenicMapper;
@Autowired
private RedisTemplate<String, String> redisTemplate;
public static final String SCENIC_CACHE_KEY = "scenic:%s";
public static final String SCENIC_CONFIG_CACHE_KEY = "scenic:%s:config";
public ScenicEntity getScenic(Long id) {
if (redisTemplate.hasKey(String.format(SCENIC_CACHE_KEY, id))) {
return JSONObject.parseObject(redisTemplate.opsForValue().get(String.format(SCENIC_CACHE_KEY, id)), ScenicEntity.class);
}
ScenicEntity scenic = scenicMapper.get(id);
if (scenic != null) {
redisTemplate.opsForValue().set(String.format(SCENIC_CACHE_KEY, id), JSONObject.toJSONString(scenic));
}
return scenic;
}
public ScenicConfigEntity getScenicConfig(Long scenicId) {
if (redisTemplate.hasKey(String.format(SCENIC_CONFIG_CACHE_KEY, scenicId))) {
return JSONObject.parseObject(redisTemplate.opsForValue().get(String.format(SCENIC_CONFIG_CACHE_KEY, scenicId)), ScenicConfigEntity.class);
}
ScenicConfigEntity scenicConfig = scenicMapper.getConfig(scenicId);
if (scenicConfig != null) {
redisTemplate.opsForValue().set(String.format(SCENIC_CONFIG_CACHE_KEY, scenicId), JSONObject.toJSONString(scenicConfig));
}
return scenicConfig;
}
public void clearCache(Long scenicId) {
redisTemplate.delete(String.format(SCENIC_CACHE_KEY, scenicId));
redisTemplate.delete(String.format(SCENIC_CONFIG_CACHE_KEY, scenicId));
}
}