fix: 优化redis数据存储
This commit is contained in:
parent
f1588a6f7a
commit
0c0178c78a
|
|
@ -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.request.WXQrcodeScene;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.WXQrcodeVO;
|
import com.nflg.mobilebroken.common.pojo.vo.WXQrcodeVO;
|
||||||
import com.nflg.mobilebroken.common.util.QRCodeUtil;
|
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.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
@ -20,14 +20,14 @@ import java.util.Objects;
|
||||||
public class WXQRCodeService {
|
public class WXQRCodeService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private RedisTemplate<String, String> redisTemplate;
|
private StringRedisTemplate stringRedisTemplate;
|
||||||
|
|
||||||
public byte[] generateQRCode(Integer userId) throws Exception {
|
public byte[] generateQRCode(Integer userId) throws Exception {
|
||||||
return QRCodeUtil.generateQRCode(getFollowUrl(userId), 200, 200);
|
return QRCodeUtil.generateQRCode(getFollowUrl(userId), 200, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getFollowUrl(Integer userId) {
|
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)) {
|
if (Objects.isNull(obj)) {
|
||||||
RestTemplate restTemplate = new RestTemplate();
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
ResponseEntity<String> response1 = restTemplate.getForEntity(Constant.WX_TOKEN_URL, String.class);
|
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)));
|
WXQrcodeRequest req = new WXQrcodeRequest().setAction_info(new WXQrcodeActionInfo().setScene(new WXQrcodeScene().setScene_str(scene_str)));
|
||||||
WXQrcodeVO qvo = restTemplate.postForObject(url, req, WXQrcodeVO.class);
|
WXQrcodeVO qvo = restTemplate.postForObject(url, req, WXQrcodeVO.class);
|
||||||
obj = qvo.getUrl();
|
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();
|
return obj.toString();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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.request.WXQrcodeScene;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.WXQrcodeVO;
|
import com.nflg.mobilebroken.common.pojo.vo.WXQrcodeVO;
|
||||||
import com.nflg.mobilebroken.common.util.QRCodeUtil;
|
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.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
@ -20,14 +20,14 @@ import java.util.Objects;
|
||||||
public class WXQRCodeService {
|
public class WXQRCodeService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private RedisTemplate<String, String> redisTemplate;
|
private StringRedisTemplate stringRedisTemplate;
|
||||||
|
|
||||||
public byte[] generateQRCode(Integer userId) throws Exception {
|
public byte[] generateQRCode(Integer userId) throws Exception {
|
||||||
return QRCodeUtil.generateQRCode(getFollowUrl(userId), 200, 200);
|
return QRCodeUtil.generateQRCode(getFollowUrl(userId), 200, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getFollowUrl(Integer userId) {
|
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)) {
|
if (Objects.isNull(obj)) {
|
||||||
RestTemplate restTemplate = new RestTemplate();
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
ResponseEntity<String> response1 = restTemplate.getForEntity(Constant.WX_TOKEN_URL, String.class);
|
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)));
|
WXQrcodeRequest req = new WXQrcodeRequest().setAction_info(new WXQrcodeActionInfo().setScene(new WXQrcodeScene().setScene_str(scene_str)));
|
||||||
WXQrcodeVO qvo = restTemplate.postForObject(url, req, WXQrcodeVO.class);
|
WXQrcodeVO qvo = restTemplate.postForObject(url, req, WXQrcodeVO.class);
|
||||||
obj = qvo.getUrl();
|
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();
|
return obj.toString();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue