|
@@ -272,4 +272,60 @@ public class BimBusinessImpl implements IBimBusiness {
|
|
|
|
|
|
return bimRespVo.getData();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String getAppToken(boolean needReGet) {
|
|
|
+
|
|
|
+ String redisAppToken = String.valueOf(redisTemplate.opsForValue().get(AuthRedisConstant.REDIS_BIM_APP_TOKEN_NAMESPACE));
|
|
|
+
|
|
|
+ String appToken = "";
|
|
|
+
|
|
|
+ if (StrUtil.isNotBlank(redisAppToken)) {
|
|
|
+ appToken = redisAppToken;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (needReGet) {
|
|
|
+ appToken = httpGetAppToken();
|
|
|
+ }
|
|
|
+ return appToken;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取应用令牌
|
|
|
+ *
|
|
|
+ * @return 应用令牌
|
|
|
+ */
|
|
|
+ private String httpGetAppToken() {
|
|
|
+ String messageId = UUIDUtils.getUUID();
|
|
|
+ String token = getToken();
|
|
|
+
|
|
|
+ String loginId = dcucAuthConfig.getBimLoginId();
|
|
|
+
|
|
|
+ BimGetAppTokenReqVO bimGetAppTokenReqVO = new BimGetAppTokenReqVO();
|
|
|
+ bimGetAppTokenReqVO.setAppId(loginId);
|
|
|
+ bimGetAppTokenReqVO.setMessageId(messageId);
|
|
|
+ bimGetAppTokenReqVO.setToken(token);
|
|
|
+
|
|
|
+ String reqJson = JsonUtils.toJSONString(bimGetAppTokenReqVO);
|
|
|
+
|
|
|
+ log.info("getAppTokenByAppId req :{}", reqJson);
|
|
|
+
|
|
|
+ String url = dcucAuthConfig.getBimUrl() + "/api/rest/customization/ExpApiCustomDragonitService/getAppTokenByAppId";
|
|
|
+
|
|
|
+ log.info("getAppTokenByAppId req url:{}", reqJson);
|
|
|
+ String postResp = HttpRequest.post(url)
|
|
|
+ .body(reqJson)
|
|
|
+ .execute()
|
|
|
+ .body();
|
|
|
+ log.info("getAppTokenByAppId resp :{}", postResp);
|
|
|
+
|
|
|
+ BimGetAppTokenRespVO bimRespVo = JsonUtils.parseObject(postResp, BimGetAppTokenRespVO.class);
|
|
|
+
|
|
|
+ if (!bimRespVo.getSuccess()) {
|
|
|
+ log.error("getAppTokenByAppId error:{}", postResp);
|
|
|
+ }
|
|
|
+
|
|
|
+ BimGetAppTokenItemRespVO data = bimRespVo.getData();
|
|
|
+ return data.getAppToken();
|
|
|
+ }
|
|
|
}
|