fix: 优化redis数据存储

This commit is contained in:
曹鹏飞 2025-06-23 15:42:27 +08:00
parent f1588a6f7a
commit 0c0178c78a
2 changed files with 8 additions and 8 deletions

View File

@ -8,7 +8,7 @@ import com.nflg.mobilebroken.common.pojo.request.WXQrcodeRequest;
import com.nflg.mobilebroken.common.pojo.request.WXQrcodeScene;
import com.nflg.mobilebroken.common.pojo.vo.WXQrcodeVO;
import com.nflg.mobilebroken.common.util.QRCodeUtil;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
@ -20,14 +20,14 @@ import java.util.Objects;
public class WXQRCodeService {
@Resource
private RedisTemplate<String, String> redisTemplate;
private StringRedisTemplate stringRedisTemplate;
public byte[] generateQRCode(Integer userId) throws Exception {
return QRCodeUtil.generateQRCode(getFollowUrl(userId), 200, 200);
}
public String getFollowUrl(Integer userId) {
Object obj = redisTemplate.opsForHash().get("wx:url:follow:admin", userId);
Object obj = stringRedisTemplate.opsForHash().get("wx:url:follow:admin", String.valueOf(userId));
if (Objects.isNull(obj)) {
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response1 = restTemplate.getForEntity(Constant.WX_TOKEN_URL, String.class);
@ -39,7 +39,7 @@ public class WXQRCodeService {
WXQrcodeRequest req = new WXQrcodeRequest().setAction_info(new WXQrcodeActionInfo().setScene(new WXQrcodeScene().setScene_str(scene_str)));
WXQrcodeVO qvo = restTemplate.postForObject(url, req, WXQrcodeVO.class);
obj = qvo.getUrl();
redisTemplate.opsForHash().put("wx:url:follow:admin", userId, obj);
stringRedisTemplate.opsForHash().put("wx:url:follow:admin", String.valueOf(userId), obj);
}
return obj.toString();
}

View File

@ -8,7 +8,7 @@ import com.nflg.mobilebroken.common.pojo.request.WXQrcodeRequest;
import com.nflg.mobilebroken.common.pojo.request.WXQrcodeScene;
import com.nflg.mobilebroken.common.pojo.vo.WXQrcodeVO;
import com.nflg.mobilebroken.common.util.QRCodeUtil;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
@ -20,14 +20,14 @@ import java.util.Objects;
public class WXQRCodeService {
@Resource
private RedisTemplate<String, String> redisTemplate;
private StringRedisTemplate stringRedisTemplate;
public byte[] generateQRCode(Integer userId) throws Exception {
return QRCodeUtil.generateQRCode(getFollowUrl(userId), 200, 200);
}
public String getFollowUrl(Integer userId) {
Object obj = redisTemplate.opsForHash().get("wx:url:follow:app", userId);
Object obj = stringRedisTemplate.opsForHash().get("wx:url:follow:app", String.valueOf(userId));
if (Objects.isNull(obj)) {
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response1 = restTemplate.getForEntity(Constant.WX_TOKEN_URL, String.class);
@ -39,7 +39,7 @@ public class WXQRCodeService {
WXQrcodeRequest req = new WXQrcodeRequest().setAction_info(new WXQrcodeActionInfo().setScene(new WXQrcodeScene().setScene_str(scene_str)));
WXQrcodeVO qvo = restTemplate.postForObject(url, req, WXQrcodeVO.class);
obj = qvo.getUrl();
redisTemplate.opsForHash().put("wx:url:follow:app", userId, obj);
stringRedisTemplate.opsForHash().put("wx:url:follow:app", String.valueOf(userId), obj);
}
return obj.toString();
}