Commit c664cd5f authored by 曾水平's avatar 曾水平

优化

parent 298483f0
package cn.com.duiba.jdactivity.controller;
import cn.com.duiba.jdactivity.common.vo.Result;
import cn.com.duiba.jdactivity.common.vo.ResultBuilder;
import cn.com.duiba.jdactivity.developer.jd.JdAppEnum;
import cn.com.duiba.jdactivity.developer.jd.domain.AccessTokenResponse;
import cn.com.duiba.jdactivity.developer.jd.domain.JosParameters;
......@@ -8,6 +9,7 @@ import cn.com.duiba.jdactivity.developer.jd.utils.AccessTokenUtils;
import cn.com.duiba.jdactivity.developer.jd.utils.ApiUtil;
import cn.com.duiba.jdactivity.developer.jd.utils.LoginUtils;
import cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto;
import com.alibaba.fastjson.JSONObject;
import com.jd.open.api.sdk.domain.seller.ShopSafService.response.query.ShopJosResult;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
......@@ -49,7 +51,7 @@ public class AppController {
// 获取appKey
String appKey = JdAppEnum.DUIBA.getAppKey();
if (StringUtils.isBlank(state)) {
if (StringUtils.isNotBlank(state)) {
JosParameters josParameters = LoginUtils.getStateParam(state);
appKey = josParameters.getApp_key();
}
......@@ -64,7 +66,6 @@ public class AppController {
Result<ShopJosResult> shopJosResultResult = apiUtil.venderShopQuery(jdAppEnum, accessTokenByCode.getAccess_token());
if (shopJosResultResult.getSuccess()) {
ShopJosResult data = shopJosResultResult.getData();
Long id = accessTokenUtils.saveAccessToken(jdAppEnum, accessTokenByCode, data);
}
......@@ -76,10 +77,14 @@ public class AppController {
@RequestMapping("/getShopInfoVO")
public String getShopInfoVO(Long venderId, Long shopId) {
public Result<JSONObject> getShopInfoVO(Long venderId, Long shopId) {
TbShopAccessTokenDto accessToken = accessTokenUtils.getAccessToken(venderId, shopId);
return null;
JdAppEnum jdAppEnum = JdAppEnum.getAppByAppKey(accessToken.getAppKey());
Result<ShopJosResult> shopJosResultResult = apiUtil.venderShopQuery(jdAppEnum, accessToken.getAccessToken());
JSONObject jsonObject = new JSONObject();
jsonObject.put("accessToken", accessToken);
jsonObject.put("shop", shopJosResultResult.getData());
return ResultBuilder.success(jsonObject);
}
......
......@@ -15,7 +15,9 @@ import java.util.Base64;
*/
public class LoginUtils {
public static JosParameters getStateParam(String state) {
StateParam stateParam = null;
if (StringUtils.isBlank(state)) {
return null;
}
// state 中如果有 “+” 号,因浏览器交互的原因,会出现 “+” 号替换成空格的现象,导致授权报错,如果出现此种情况,请把的 state 中的空格再替换成 “+” 号
state = state.replace(" ", "+");
......@@ -24,14 +26,16 @@ public class LoginUtils {
if (StringUtils.isNoneBlank(stateBody)
&& !StringUtils.equalsIgnoreCase("null", stateBody)
&& JSONValidator.from(stateBody).validate()) {
stateParam = JSONObject.parseObject(stateBody, StateParam.class);
StateParam stateParam = JSONObject.parseObject(stateBody, StateParam.class);
return stateParam.getJosParameters();
}
return null;
return stateParam.getJosParameters();
}
public static void main(String[] args) {
System.out.println(JSON.toJSONString(getStateParam("eyJqb3NfcGFyYW1ldGVycyI6eyJlbmRfZGF0ZSI6MTYyMTkzOTkzMDAwMCwidmVyc2lvbl9ubyI6MiwiaXRlbV9jb2RlIjoiRldfR09PRFMtNTQ5MjExLTIiLCJhcHBfa2V5IjoiMWJhZGExYWFlZDEzNGM2OTk2ZjMxZTgxZDM3MmFjNDgiLCJ1c2VyX25hbWUiOiJkdWliYTIwMjFqZCIsImFydGljbGVfbnVtIjoxfX0=")));
System.out.println(JSON.toJSONString(getStateParam(
"eyJqb3NfcGFyYW1ldGVycyI6eyJlbmRfZGF0ZSI6MTYyMTkzOTkzMDAwMCwidmVyc2lvbl9ubyI6MiwiaXRlbV9jb2RlIjoiRldfR09PRFMtNTQ5MjExLTIiLCJhcHBfa2V5IjoiMWJhZGExYWFlZDEzNGM2OTk2ZjMxZTgxZDM3MmFjNDgiLCJ1c2VyX25hbWUiOiJkdWliYTIwMjFqZCIsImFydGljbGVfbnVtIjoxfX0=")));
}
}
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