Commit 72213187 by 田超

Merge branch 'perf/getBookPhoneAuth' into 'master'

perf: [none] 接口优化 /book/v1.0/bookAdviser/getBookPhoneAuth

See merge request rays/pcloud-book!1509
parents d8e85ecb 56cdecb7
......@@ -470,4 +470,8 @@ public class BookConstant {
*/
public static final String RESOURCE_PAGE_BY_BOOK_GROUP_ID = CacheConstant.BOOK + "resourcePageByBookGroupId";
/**
* 手机号授权
*/
public static final String BOOK_PHONE_AUTH_CACHE_KEY = CacheConstant.BOOK + "getBookPhoneAuth:";
}
......@@ -6,6 +6,8 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.google.common.collect.Lists;
......@@ -3302,10 +3304,18 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
if (null != bookId) {
bookPhoneAuth = bookAdviserDao.getBookPhoneAuth(bookId, adviserId, channelId);
} else if (null != sceneId) {
//根据sceneId获取二维码信息
Map<Long, QrcodeSceneDto> qrcodeSceneDtoMap = qrcodeSceneConsr.listBaseInfoByIds(Lists.newArrayList(sceneId));
if (MapUtils.isEmpty(qrcodeSceneDtoMap) || null == qrcodeSceneDtoMap.get(sceneId)) {
return bookPhoneAuth;
String cacheKey = StrUtil.join(":", BookConstant.BOOK_PHONE_AUTH_CACHE_KEY, sceneId);
String strQrcodeSceneDtoMap = JedisClusterUtils.get(cacheKey);
Map<Long, QrcodeSceneDto> qrcodeSceneDtoMap = null;
if (StrUtil.isNotBlank(strQrcodeSceneDtoMap)){
qrcodeSceneDtoMap = JSON.parseObject(strQrcodeSceneDtoMap, new TypeReference<Map<Long, QrcodeSceneDto>>(){});
} else {
//根据sceneId获取二维码信息
qrcodeSceneDtoMap = qrcodeSceneConsr.listBaseInfoByIds(Lists.newArrayList(sceneId));
if (MapUtils.isEmpty(qrcodeSceneDtoMap) || null == qrcodeSceneDtoMap.get(sceneId)) {
return bookPhoneAuth;
}
JedisClusterUtils.set(cacheKey, JSONUtil.toJsonStr(qrcodeSceneDtoMap), 6 * 3600);
}
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneDtoMap.get(sceneId);
if (null == qrcodeSceneDto || null == qrcodeSceneDto.getAdviserBookId()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment