Commit 3a476ecb authored by lisong's avatar lisong

屏蔽无用代码,修改现场bug

parent 4a31f245
......@@ -175,12 +175,12 @@
<artifactId>hutool-all</artifactId>
<version>5.7.22</version>
</dependency>
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-component-influxdb</artifactId>
<version>1.8.5-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.yeejoin</groupId>-->
<!-- <artifactId>amos-component-influxdb</artifactId>-->
<!-- <version>1.8.5-SNAPSHOT</version>-->
<!-- <scope>compile</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-component-security</artifactId>
......
......@@ -47,8 +47,8 @@ import com.yeejoin.amos.api.openapi.face.service.TaAccessConfigServiceImpl;
@ComponentScan({ "org.typroject", "com.yeejoin.amos" })
public class AccessapiApplication {
// @Autowired
// private TaAccessConfigServiceImpl taAccessConfigServiceImpl;
@Autowired
private TaAccessConfigServiceImpl taAccessConfigServiceImpl;
private static final Logger logger = LogManager.getLogger(AccessapiApplication.class);
......@@ -69,9 +69,9 @@ public class AccessapiApplication {
+ path + "/doc.html\n" + "----------------------------------------------------------");
}
// @Bean
// public void initAccessConfig() {
// taAccessConfigServiceImpl.refreshConfig();
// taAccessConfigServiceImpl.startTask();
// }
@Bean
public void initAccessConfig() {
taAccessConfigServiceImpl.refreshConfig();
taAccessConfigServiceImpl.startTask();
}
}
package com.yeejoin.amos.api.householdapi.Utils;
import cn.hutool.Hutool;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qiniu.util.Json;
import com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto;
import com.yeejoin.amos.api.householdapi.face.model.HouseholdPvProducerInfoDto;
import com.yeejoin.amos.api.householdapi.face.orm.entity.HouseholdPvProducerInfo;
import com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvApiServiceImpl;
import com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvProducerInfoServiceImpl;
import com.yeejoin.amos.component.influxdb.InfluxDbConnection;
import com.yeejoin.amos.openapi.enums.PVProducerInfoEnum;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.cache.Redis;
import java.util.*;
@Component
public class HouseholdPvUtils {
@Autowired
private HouseholdPvProducerInfoServiceImpl householdPvProducerInfoServiceImpl;
@Autowired
private HouseholdPvApiServiceImpl householdPvApiServiceImpl;
@Autowired
InfluxDbConnection influxDbConnection;
private final static String API_REDIS_PREFIX = "HOUSEHOLD_API_CACHE_" +
"";
/**
* @param code 厂商code
* @return HashMap<String, Object> 发送请求前的准备 准备header信息
* @deprecated 根据厂商编码获取厂商的hearer
*/
public HashMap<String, Object> getHeaderByProducerCode(String code) {
HashMap<String, Object> hashMap = new HashMap<>();
HashMap<String, String> hashMaphead = new HashMap<>();
HouseholdPvProducerInfo householdPvProducerInfo = this.householdPvProducerInfoServiceImpl.queryForHouseholdPvProducerInfoByCode(code);
String url = householdPvProducerInfo.getProdcerUrl() + householdPvProducerInfo.getTokenUrl();
hashMap.put("apiurl", householdPvProducerInfo.getProdcerUrl());
if (PVProducerInfoEnum.GDW.getCode().equals(code)) {
HashMap<String, String> map = new HashMap<>();
map.put("account", householdPvProducerInfo.getProdcerAccount());
map.put("pwd", householdPvProducerInfo.getProdcerPassword());
String body = JSON.toJSONString(map);
String response = HttpUtil.createPost(url).body(body).execute().body();
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.get("data") != null) {
JSONObject jsonObject1 = (JSONObject) jsonObject.get("data");
hashMaphead.put("token", (String) jsonObject1.get("token"));
hashMap.put("header", hashMaphead);
}
} else if (PVProducerInfoEnum.SH.getCode().equals(code)) {
HashMap<String, Object> map = new HashMap<>();
map.put("accountName", householdPvProducerInfo.getProdcerAccount());
map.put("appId", householdPvProducerInfo.getProdcerAppid());
map.put("appSecret", householdPvProducerInfo.getProdcerAppsecret());
map.put("corporationId", householdPvProducerInfo.getCorporationId());
map.put("accountType", 2);
String body = JSON.toJSONString(map);
String response = HttpUtil.createPost(url).body(body).execute().body();
JSONObject jsonObject = JSON.parseObject(response);
hashMaphead.put("Authorization", (String) jsonObject.get("data"));
hashMap.put("header", hashMaphead);
} else if (PVProducerInfoEnum.JLY.getCode().equals(code)) {
hashMaphead.put("Content-type", "application/json;charset=UTF-8");
hashMaphead.put("Authorization", "API " + householdPvProducerInfo.getProdcerAppid());
hashMaphead.put("Content-MD5", null);
hashMaphead.put("Date", GoLangHeaderUtils.getGMTTime());
hashMap.put("header", hashMaphead);
hashMap.put("appsecret", householdPvProducerInfo.getProdcerAppsecret());
}
return hashMap;
}
/**
* @param seq apiId 数据库中维护的的apiId
* @return String 请求返回的response字符串
*/
public String gerResponseByAPiID(Long seq) {
List cacheParams = new ArrayList();
String respone = "";
String params = "";
JSONArray jsonArray = null;
HouseholdPvApiDto householdPvApiDto = this.householdPvApiServiceImpl.queryBySeq(seq);
HashMap<String, Object> producerInfo = this.getHeaderByProducerCode(householdPvApiDto.getProducerId());
String baseurl = (String) producerInfo.get("apiurl");
HashMap<String, String> headMap = (HashMap<String, String>) producerInfo.get("header");
String orginalAuthorization = headMap.get("Authorization") + ":";
String url = baseurl + householdPvApiDto.getApiUrl();
String appsecret = (String) producerInfo.get("appsecret");
if (ObjectUtil.isNotEmpty(householdPvApiDto.getDependecyApiId())) {
String RedisKey = API_REDIS_PREFIX + householdPvApiDto.getDependecyApiId();
cacheParams = Redis.getRedisTemplate().opsForList().range(RedisKey, 0, -1);
if (cacheParams.size() > 0) {
for (int i = 0; i < cacheParams.size(); i++) {
JSONObject jsonObject = JSON.parseObject(householdPvApiDto.getParamInfo());
if (ObjectUtil.isNotEmpty(householdPvApiDto.getDependApiParamKey())) {
jsonObject.put(householdPvApiDto.getDependApiParamKey(), cacheParams.get(i));
}
params = jsonObject.toJSONString();
if (PVProducerInfoEnum.JLY.getCode().equals(householdPvApiDto.getProducerId())) {
JLYHeaderMapHandler(params, householdPvApiDto, headMap, orginalAuthorization, appsecret, (String) cacheParams.get(i));
}
try {
Thread.sleep(500);
respone = sendRequest(householdPvApiDto.getRequestMethod(), url, params, headMap);
jsonArray = handlerResponseByResultResolverule(householdPvApiDto.getResultResolveRule(), respone);
handleResponseAndCacheData(String.valueOf(seq), householdPvApiDto.getCacheField(), jsonArray, householdPvApiDto.getMeasurement());
} catch (Exception e) {
e.printStackTrace();
} finally {
continue;
}
}
}
} else {
if (PVProducerInfoEnum.JLY.getCode().equals(householdPvApiDto.getProducerId())) {
JLYHeaderMapHandler(params, householdPvApiDto, headMap, orginalAuthorization, appsecret, null);
}
respone = sendRequest(householdPvApiDto.getRequestMethod(), url, householdPvApiDto.getParamInfo(), headMap);
jsonArray = handlerResponseByResultResolverule(householdPvApiDto.getResultResolveRule(), respone);
handleResponseAndCacheData(String.valueOf(seq), householdPvApiDto.getCacheField(), jsonArray, householdPvApiDto.getMeasurement());
if (ObjectUtil.isNotEmpty(householdPvApiDto.getIsPage())) {
Integer size = getPagesize(householdPvApiDto.getPagesizeResolveRule(), respone);
for (int i = 1; i < size; i++) {
JSONObject jsonObject = JSON.parseObject(householdPvApiDto.getParamInfo());
if (ObjectUtil.isNotEmpty(householdPvApiDto.getPageField())) {
jsonObject.put(householdPvApiDto.getPageField(), i + 1);
}
params = jsonObject.toJSONString();
if (PVProducerInfoEnum.JLY.getCode().equals(householdPvApiDto.getProducerId())) {
JLYHeaderMapHandler(params, householdPvApiDto, headMap, orginalAuthorization, appsecret, null);
}
respone = sendRequest(householdPvApiDto.getRequestMethod(), url, householdPvApiDto.getParamInfo(), headMap);
jsonArray = handlerResponseByResultResolverule(householdPvApiDto.getResultResolveRule(), respone);
handleResponseAndCacheData(String.valueOf(seq), householdPvApiDto.getCacheField(), jsonArray, householdPvApiDto.getMeasurement());
}
}
}
return respone;
}
/**
* @param resultResovle 请求返回的解析规则 来源与数据库
* @param response 请求返回的字符串
* @return 解析后的数据
*/
public JSONArray handlerResponseByResultResolverule(String resultResovle, String response) {
JSONObject jsonObject = JSONObject.parseObject(response);
JSONArray jsonArray = new JSONArray();
if (ObjectUtil.isNotEmpty(resultResovle)) {
String[] rules = resultResovle.split(",");
if (rules.length > 0) {
for (int i = 0; i < rules.length; i++) {
try {
jsonObject = (JSONObject) jsonObject.get(rules[i]);
if (jsonObject == null) {
jsonArray = (JSONArray) jsonObject.get(rules[i]);
}
} catch (Exception exception) {
jsonArray = (JSONArray) jsonObject.get(rules[i]);
}
}
}
if (jsonArray.size() == 0) {
jsonArray.add(jsonObject);
}
}
return jsonArray;
}
/**
* @param seq apiID
* @param cacheField 要缓存的字段
* @param jsonArray 处理后的数据请求
* @param measurement 要在influxdb中存储的数
* @describe 该方法用于缓存需要缓存的字段 且将需要入库的数据进行入库
*/
public void handleResponseAndCacheData(String seq, String cacheField, JSONArray jsonArray, String measurement) {
String apiID = API_REDIS_PREFIX + seq;
List list = new ArrayList();
List saveList = new ArrayList();
if (jsonArray.size() > 0) {
for (Object o : jsonArray) {
Map<String, Object> maps1 = (Map<String, Object>) o;
Set<String> keys = maps1.keySet();
keys.forEach((key) -> {
maps1.put(key, maps1.get(key).toString());
});
if (cacheField != null) {
list.add(maps1.get(cacheField));
}
Map<String, String> maps2 = new HashMap<>();
maps2.put("key", UUID.randomUUID().toString());
if (measurement != null) {
influxDbConnection.insert(measurement, maps2, maps1);
}
}
}
if (cacheField != null) {
saveList = Redis.getRedisTemplate().opsForList().range(apiID, 0, -1);
if (saveList.size() == 0) {
Redis.getRedisTemplate().opsForList().leftPushAll(apiID, list);
}
saveList = Redis.getRedisTemplate().opsForList().range(apiID, 0, -1);
if (saveList.size() != list.size()) {
Redis.getRedisTemplate().delete(apiID);
Redis.getRedisTemplate().opsForList().leftPushAll(apiID, list);
}
}
}
public String sendRequest(String requestMethod, String url, String params, HashMap<String, String> headMap) {
String respone = "";
if (requestMethod.equals("POST")) {
respone = HttpUtil.createPost(url).headerMap(headMap, false).
body(params).execute().body();
}
if (requestMethod.equals("GET")) {
respone = HttpUtil.createGet(url).headerMap(headMap, true).
body(params).execute().body();
}
return respone;
}
/***
*
* @param params 参数字符窜
* @param householdPvApiDto apidto
* @param headMap header头
* @param orginalAuthorization 原始的orginalAuthorization
* @param appsecret appsecret
* @param cacheParams 缓存的参数值
* @desc 锦浪云请求参数及head头处理
*/
public void JLYHeaderMapHandler(String params, HouseholdPvApiDto householdPvApiDto, HashMap<String, String> headMap, String orginalAuthorization, String appsecret, String cacheParams) {
if (PVProducerInfoEnum.JLY.getCode().equals(householdPvApiDto.getProducerId())) {
String contentMD5 = GoLangHeaderUtils.getDigest(params);
headMap.put("Date", GoLangHeaderUtils.getGMTTime());
String param = "POST" + "\n" + contentMD5 + "\n" + "application/json" + "\n" + headMap.get("Date") + "\n" + householdPvApiDto.getApiUrl();
String sign = "";
try {
sign = GoLangHeaderUtils.HmacSHA1Encrypt(param, appsecret);
} catch (Exception e) {
throw new RuntimeException(e);
}
headMap.put("Content-MD5", contentMD5);
headMap.put("Authorization", orginalAuthorization + sign);
}
}
public Integer getPagesize(String pageSizeResovle, String response) {
Integer pageSize = 0;
String[] rules = pageSizeResovle.split(",");
JSONObject jsonObject = JSONObject.parseObject(response);
if (rules.length > 0) {
for (int i = 0; i < rules.length - 1; i++) {
jsonObject = (JSONObject) jsonObject.get(rules[i]);
}
}
pageSize = (Integer) jsonObject.get(rules[rules.length - 1]);
return pageSize;
}
}
//package com.yeejoin.amos.api.householdapi.Utils;
//
//import cn.hutool.Hutool;
//import cn.hutool.core.util.ObjectUtil;
//import cn.hutool.http.HttpUtil;
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.qiniu.util.Json;
//import com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto;
//import com.yeejoin.amos.api.householdapi.face.model.HouseholdPvProducerInfoDto;
//import com.yeejoin.amos.api.householdapi.face.orm.entity.HouseholdPvProducerInfo;
//import com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvApiServiceImpl;
//import com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvProducerInfoServiceImpl;
//import com.yeejoin.amos.component.influxdb.InfluxDbConnection;
//import com.yeejoin.amos.openapi.enums.PVProducerInfoEnum;
//import io.swagger.annotations.ApiModelProperty;
//import io.swagger.models.auth.In;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.typroject.tyboot.component.cache.Redis;
//
//import java.util.*;
//
//@Component
//public class HouseholdPvUtils {
// @Autowired
// private HouseholdPvProducerInfoServiceImpl householdPvProducerInfoServiceImpl;
// @Autowired
// private HouseholdPvApiServiceImpl householdPvApiServiceImpl;
//
// @Autowired
// InfluxDbConnection influxDbConnection;
//
// private final static String API_REDIS_PREFIX = "HOUSEHOLD_API_CACHE_" +
// "";
//
// /**
// * @param code 厂商code
// * @return HashMap<String, Object> 发送请求前的准备 准备header信息
// * @deprecated 根据厂商编码获取厂商的hearer
// */
// public HashMap<String, Object> getHeaderByProducerCode(String code) {
// HashMap<String, Object> hashMap = new HashMap<>();
// HashMap<String, String> hashMaphead = new HashMap<>();
// HouseholdPvProducerInfo householdPvProducerInfo = this.householdPvProducerInfoServiceImpl.queryForHouseholdPvProducerInfoByCode(code);
// String url = householdPvProducerInfo.getProdcerUrl() + householdPvProducerInfo.getTokenUrl();
// hashMap.put("apiurl", householdPvProducerInfo.getProdcerUrl());
// if (PVProducerInfoEnum.GDW.getCode().equals(code)) {
// HashMap<String, String> map = new HashMap<>();
// map.put("account", householdPvProducerInfo.getProdcerAccount());
// map.put("pwd", householdPvProducerInfo.getProdcerPassword());
// String body = JSON.toJSONString(map);
// String response = HttpUtil.createPost(url).body(body).execute().body();
// JSONObject jsonObject = JSON.parseObject(response);
// if (jsonObject.get("data") != null) {
// JSONObject jsonObject1 = (JSONObject) jsonObject.get("data");
// hashMaphead.put("token", (String) jsonObject1.get("token"));
// hashMap.put("header", hashMaphead);
// }
// } else if (PVProducerInfoEnum.SH.getCode().equals(code)) {
// HashMap<String, Object> map = new HashMap<>();
// map.put("accountName", householdPvProducerInfo.getProdcerAccount());
// map.put("appId", householdPvProducerInfo.getProdcerAppid());
// map.put("appSecret", householdPvProducerInfo.getProdcerAppsecret());
// map.put("corporationId", householdPvProducerInfo.getCorporationId());
// map.put("accountType", 2);
// String body = JSON.toJSONString(map);
// String response = HttpUtil.createPost(url).body(body).execute().body();
// JSONObject jsonObject = JSON.parseObject(response);
// hashMaphead.put("Authorization", (String) jsonObject.get("data"));
// hashMap.put("header", hashMaphead);
// } else if (PVProducerInfoEnum.JLY.getCode().equals(code)) {
// hashMaphead.put("Content-type", "application/json;charset=UTF-8");
// hashMaphead.put("Authorization", "API " + householdPvProducerInfo.getProdcerAppid());
// hashMaphead.put("Content-MD5", null);
// hashMaphead.put("Date", GoLangHeaderUtils.getGMTTime());
// hashMap.put("header", hashMaphead);
// hashMap.put("appsecret", householdPvProducerInfo.getProdcerAppsecret());
// }
// return hashMap;
// }
//
// /**
// * @param seq apiId 数据库中维护的的apiId
// * @return String 请求返回的response字符串
// */
// public String gerResponseByAPiID(Long seq) {
// List cacheParams = new ArrayList();
// String respone = "";
// String params = "";
// JSONArray jsonArray = null;
// HouseholdPvApiDto householdPvApiDto = this.householdPvApiServiceImpl.queryBySeq(seq);
// HashMap<String, Object> producerInfo = this.getHeaderByProducerCode(householdPvApiDto.getProducerId());
// String baseurl = (String) producerInfo.get("apiurl");
// HashMap<String, String> headMap = (HashMap<String, String>) producerInfo.get("header");
// String orginalAuthorization = headMap.get("Authorization") + ":";
// String url = baseurl + householdPvApiDto.getApiUrl();
// String appsecret = (String) producerInfo.get("appsecret");
// if (ObjectUtil.isNotEmpty(householdPvApiDto.getDependecyApiId())) {
// String RedisKey = API_REDIS_PREFIX + householdPvApiDto.getDependecyApiId();
// cacheParams = Redis.getRedisTemplate().opsForList().range(RedisKey, 0, -1);
// if (cacheParams.size() > 0) {
// for (int i = 0; i < cacheParams.size(); i++) {
// JSONObject jsonObject = JSON.parseObject(householdPvApiDto.getParamInfo());
// if (ObjectUtil.isNotEmpty(householdPvApiDto.getDependApiParamKey())) {
// jsonObject.put(householdPvApiDto.getDependApiParamKey(), cacheParams.get(i));
// }
// params = jsonObject.toJSONString();
// if (PVProducerInfoEnum.JLY.getCode().equals(householdPvApiDto.getProducerId())) {
// JLYHeaderMapHandler(params, householdPvApiDto, headMap, orginalAuthorization, appsecret, (String) cacheParams.get(i));
// }
// try {
// Thread.sleep(500);
// respone = sendRequest(householdPvApiDto.getRequestMethod(), url, params, headMap);
// jsonArray = handlerResponseByResultResolverule(householdPvApiDto.getResultResolveRule(), respone);
// handleResponseAndCacheData(String.valueOf(seq), householdPvApiDto.getCacheField(), jsonArray, householdPvApiDto.getMeasurement());
// } catch (Exception e) {
// e.printStackTrace();
// } finally {
// continue;
// }
// }
// }
// } else {
// if (PVProducerInfoEnum.JLY.getCode().equals(householdPvApiDto.getProducerId())) {
// JLYHeaderMapHandler(params, householdPvApiDto, headMap, orginalAuthorization, appsecret, null);
// }
// respone = sendRequest(householdPvApiDto.getRequestMethod(), url, householdPvApiDto.getParamInfo(), headMap);
// jsonArray = handlerResponseByResultResolverule(householdPvApiDto.getResultResolveRule(), respone);
// handleResponseAndCacheData(String.valueOf(seq), householdPvApiDto.getCacheField(), jsonArray, householdPvApiDto.getMeasurement());
// if (ObjectUtil.isNotEmpty(householdPvApiDto.getIsPage())) {
// Integer size = getPagesize(householdPvApiDto.getPagesizeResolveRule(), respone);
// for (int i = 1; i < size; i++) {
// JSONObject jsonObject = JSON.parseObject(householdPvApiDto.getParamInfo());
// if (ObjectUtil.isNotEmpty(householdPvApiDto.getPageField())) {
// jsonObject.put(householdPvApiDto.getPageField(), i + 1);
// }
// params = jsonObject.toJSONString();
// if (PVProducerInfoEnum.JLY.getCode().equals(householdPvApiDto.getProducerId())) {
// JLYHeaderMapHandler(params, householdPvApiDto, headMap, orginalAuthorization, appsecret, null);
// }
// respone = sendRequest(householdPvApiDto.getRequestMethod(), url, householdPvApiDto.getParamInfo(), headMap);
// jsonArray = handlerResponseByResultResolverule(householdPvApiDto.getResultResolveRule(), respone);
// handleResponseAndCacheData(String.valueOf(seq), householdPvApiDto.getCacheField(), jsonArray, householdPvApiDto.getMeasurement());
// }
// }
//
// }
// return respone;
// }
//
// /**
// * @param resultResovle 请求返回的解析规则 来源与数据库
// * @param response 请求返回的字符串
// * @return 解析后的数据
// */
// public JSONArray handlerResponseByResultResolverule(String resultResovle, String response) {
// JSONObject jsonObject = JSONObject.parseObject(response);
// JSONArray jsonArray = new JSONArray();
// if (ObjectUtil.isNotEmpty(resultResovle)) {
// String[] rules = resultResovle.split(",");
// if (rules.length > 0) {
// for (int i = 0; i < rules.length; i++) {
// try {
// jsonObject = (JSONObject) jsonObject.get(rules[i]);
// if (jsonObject == null) {
// jsonArray = (JSONArray) jsonObject.get(rules[i]);
// }
// } catch (Exception exception) {
// jsonArray = (JSONArray) jsonObject.get(rules[i]);
// }
// }
// }
// if (jsonArray.size() == 0) {
// jsonArray.add(jsonObject);
// }
// }
// return jsonArray;
// }
//
// /**
// * @param seq apiID
// * @param cacheField 要缓存的字段
// * @param jsonArray 处理后的数据请求
// * @param measurement 要在influxdb中存储的数
// * @describe 该方法用于缓存需要缓存的字段 且将需要入库的数据进行入库
// */
// public void handleResponseAndCacheData(String seq, String cacheField, JSONArray jsonArray, String measurement) {
// String apiID = API_REDIS_PREFIX + seq;
// List list = new ArrayList();
// List saveList = new ArrayList();
// if (jsonArray.size() > 0) {
// for (Object o : jsonArray) {
// Map<String, Object> maps1 = (Map<String, Object>) o;
// Set<String> keys = maps1.keySet();
// keys.forEach((key) -> {
// maps1.put(key, maps1.get(key).toString());
// });
// if (cacheField != null) {
// list.add(maps1.get(cacheField));
// }
// Map<String, String> maps2 = new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
// if (measurement != null) {
// influxDbConnection.insert(measurement, maps2, maps1);
// }
//
// }
// }
// if (cacheField != null) {
// saveList = Redis.getRedisTemplate().opsForList().range(apiID, 0, -1);
// if (saveList.size() == 0) {
// Redis.getRedisTemplate().opsForList().leftPushAll(apiID, list);
// }
// saveList = Redis.getRedisTemplate().opsForList().range(apiID, 0, -1);
// if (saveList.size() != list.size()) {
// Redis.getRedisTemplate().delete(apiID);
// Redis.getRedisTemplate().opsForList().leftPushAll(apiID, list);
// }
// }
// }
//
// public String sendRequest(String requestMethod, String url, String params, HashMap<String, String> headMap) {
// String respone = "";
// if (requestMethod.equals("POST")) {
// respone = HttpUtil.createPost(url).headerMap(headMap, false).
// body(params).execute().body();
// }
// if (requestMethod.equals("GET")) {
// respone = HttpUtil.createGet(url).headerMap(headMap, true).
// body(params).execute().body();
// }
// return respone;
// }
//
// /***
// *
// * @param params 参数字符窜
// * @param householdPvApiDto apidto
// * @param headMap header头
// * @param orginalAuthorization 原始的orginalAuthorization
// * @param appsecret appsecret
// * @param cacheParams 缓存的参数值
// * @desc 锦浪云请求参数及head头处理
// */
// public void JLYHeaderMapHandler(String params, HouseholdPvApiDto householdPvApiDto, HashMap<String, String> headMap, String orginalAuthorization, String appsecret, String cacheParams) {
// if (PVProducerInfoEnum.JLY.getCode().equals(householdPvApiDto.getProducerId())) {
// String contentMD5 = GoLangHeaderUtils.getDigest(params);
// headMap.put("Date", GoLangHeaderUtils.getGMTTime());
// String param = "POST" + "\n" + contentMD5 + "\n" + "application/json" + "\n" + headMap.get("Date") + "\n" + householdPvApiDto.getApiUrl();
// String sign = "";
// try {
// sign = GoLangHeaderUtils.HmacSHA1Encrypt(param, appsecret);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// headMap.put("Content-MD5", contentMD5);
// headMap.put("Authorization", orginalAuthorization + sign);
// }
// }
//
// public Integer getPagesize(String pageSizeResovle, String response) {
// Integer pageSize = 0;
// String[] rules = pageSizeResovle.split(",");
// JSONObject jsonObject = JSONObject.parseObject(response);
// if (rules.length > 0) {
// for (int i = 0; i < rules.length - 1; i++) {
// jsonObject = (JSONObject) jsonObject.get(rules[i]);
// }
// }
// pageSize = (Integer) jsonObject.get(rules[rules.length - 1]);
// return pageSize;
// }
//}
package com.yeejoin.amos.api.householdapi.controller;
import cn.hutool.http.HttpUtil;
import com.yeejoin.amos.api.householdapi.Utils.HouseholdPvUtils;
import com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto;
import com.yeejoin.amos.api.householdapi.face.model.HouseholdPvProducerInfoDto;
import com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvApiServiceImpl;
import com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvProducerInfoServiceImpl;
import com.yeejoin.amos.openapi.enums.PVProducerInfoEnum;
import fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
* 户用光伏-厂商API haders
*
* @author system_generator
* @date 2023-06-07
*/
@RestController
@Api(tags = "测试")
@RequestMapping(value = "/household-pv-api-test1")
public class HouseholdTestController {
@Autowired
private HouseholdPvUtils householdPvUtils;
/**
* 新增户用光伏-厂商API haders
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/gdwdemo")
@ApiOperation(httpMethod = "get", value = "固德威示例", notes = "固德威示例")
public String save(Long seq) throws IOException {
return householdPvUtils.gerResponseByAPiID(seq);
}
}
//package com.yeejoin.amos.api.householdapi.controller;
//
//import cn.hutool.http.HttpUtil;
//import com.yeejoin.amos.api.householdapi.Utils.HouseholdPvUtils;
//import com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto;
//import com.yeejoin.amos.api.householdapi.face.model.HouseholdPvProducerInfoDto;
//import com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvApiServiceImpl;
//import com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvProducerInfoServiceImpl;
//import com.yeejoin.amos.openapi.enums.PVProducerInfoEnum;
//import fastjson.JSON;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//import org.typroject.tyboot.core.foundation.enumeration.UserType;
//import org.typroject.tyboot.core.restful.doc.TycloudOperation;
//
//import java.io.IOException;
//import java.util.HashMap;
//import java.util.Map;
//
//
///**
// * 户用光伏-厂商API haders
// *
// * @author system_generator
// * @date 2023-06-07
// */
//@RestController
//@Api(tags = "测试")
//@RequestMapping(value = "/household-pv-api-test1")
//public class HouseholdTestController {
// @Autowired
// private HouseholdPvUtils householdPvUtils;
//
//
// /**
// * 新增户用光伏-厂商API haders
// *
// * @return
// */
// @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
// @PostMapping(value = "/gdwdemo")
// @ApiOperation(httpMethod = "get", value = "固德威示例", notes = "固德威示例")
// public String save(Long seq) throws IOException {
// return householdPvUtils.gerResponseByAPiID(seq);
// }
//}
......@@ -10,6 +10,8 @@ import com.csoft.sdk.domain.CsoftDataApiXixianGetzhutiinfoParam;
import com.csoft.sdk.domain.request.CsoftDataApiXixianGetzhutiinfoRequest ;
import com.csoft.sdk.domain.response.CsoftDataApiXixianGetzhutiinfoResponse;
import com.yeejoin.amos.api.openapi.face.orm.dao.DataDictionaryMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
......@@ -34,7 +36,7 @@ import com.yeejoin.amos.api.openapi.face.orm.entity.TaLicenseBaseInfo;
*/
@Service
public class TaBusinessServiceImpl extends BaseService<TaAccessConfigModel, TaAccessConfig, TaAccessConfigMapper> {
private final Logger log = LoggerFactory.getLogger(TaBusinessServiceImpl.class);
@Autowired
private DataDictionaryMapper dataDictionaryMapper;
......@@ -50,8 +52,16 @@ public class TaBusinessServiceImpl extends BaseService<TaAccessConfigModel, TaAc
CsoftDataApiXixianGetzhutiinfoParam csoftDataApiXixianParam = new CsoftDataApiXixianGetzhutiinfoParam();
csoftDataApiXixianParam.setUniscid(code);
CsoftDataApiXixianGetzhutiinfoRequest request = new CsoftDataApiXixianGetzhutiinfoRequest(csoftDataApiXixianParam);
CsoftDataApiXixianGetzhutiinfoResponse response = client.execute(request);
Map<String, Object> result = new HashMap<>();
CsoftDataApiXixianGetzhutiinfoResponse response = null;
try {
log.info("请求查询工商信息前");
response = client.execute(request);
log.info("请求查询工商信息完成,{}", response);
} catch (Exception e) {
log.error("返回信息,{}", e.getMessage());
return null;
}
// 4.返回校验
if (response.isSuccess()) {
System.out.println("成功:" + response.getData());
......
package com.yeejoin.amos.dockingData;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import com.yeejoin.amos.api.householdapi.Utils.HouseholdPvUtils;
import com.yeejoin.amos.component.influxdb.InfluxDbConnection;
import org.jetbrains.annotations.TestOnly;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.actuate.influx.InfluxDbHealthIndicator;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.UUID;
import java.util.zip.Inflater;
/**
* @description:
* @author: tw
* @createDate: 2023/6/16
*/
@Component
public class DockingData {
@Autowired
InfluxDbConnection influxDbConnection;
@Autowired
HouseholdPvUtils householdPvUtils;
//初始化执行
@PostConstruct
public void init(){
this.getDate();
}
//每二十分钟执行一次
@Scheduled(cron = "0 0/20 * * * ?")
public void fixedRate() {
this.getDate();
}
//请求获取数据
public void getDate(){
//首航
String data1=householdPvUtils.gerResponseByAPiID(1000000002L);
JSONObject json= JSON.parseObject(data1);
if((Boolean)json.get("success")){
JSONArray obj= json.get("stationList") !=null?(JSONArray)json.get("stationList"):null;
if (obj!=null) {
for (Object o : obj) {
Map<String,Object> maps1 = (Map<String,Object>)o;
Map<String,String> maps2=new HashMap<>();
maps2.put("key", UUID.randomUUID().toString());
influxDbConnection.insert("SH_DZ",maps2,maps1);
}
}
}
String data2=householdPvUtils.gerResponseByAPiID(1000000003L);
JSONObject json2= JSON.parseObject(data2);
if((Boolean)json2.get("success")) {
JSONArray obj2 = json.get("deviceList") != null ? (JSONArray) json2.get("deviceList") : null;
if (obj2!=null) {
for (Object o : obj2) {
Map<String, Object> maps1 = (Map<String, Object>) o;
Map<String, String> maps2 = new HashMap<>();
maps2.put("key", UUID.randomUUID().toString());
influxDbConnection.insert("SH_ZB", maps2, maps1);
}
}
}
//固德威
String data3 = householdPvUtils.gerResponseByAPiID(1000000006L);
JSONObject json3= JSON.parseObject(data3);
if(Integer.valueOf(json3.get("code").toString())==0) {
JSONObject obj3 = json3.get("data") != null ? (JSONObject)json3.get("data") : null;
if (obj3!=null&&obj3.get("list")!=null) {
JSONArray ob = obj3.get("list") != null ? (JSONArray) obj3.get("list") : null;
for (Object o : ob) {
Map<String, Object> maps1 = (Map<String, Object>) o;
Map<String, String> maps2 = new HashMap<>();
maps2.put("key", UUID.randomUUID().toString());
influxDbConnection.insert("GD_DZ", maps2, maps1);
}
}
}
String data4 = householdPvUtils.gerResponseByAPiID(1000000007L);
JSONObject json4= JSON.parseObject(data4);
if(Integer.valueOf(json4.get("code").toString())==0) {
JSONObject obj4 = json4.get("data") != null ? (JSONObject)json4.get("data") : null;
if (obj4!=null&&obj4.get("list")!=null) {
JSONArray ob = obj4.get("list") != null ? (JSONArray) obj4.get("list") : null;
for (Object o : ob) {
Map<String, Object> maps1 = (Map<String, Object>) o;
Map<String, String> maps2 = new HashMap<>();
maps2.put("key", UUID.randomUUID().toString());
influxDbConnection.insert("GD_ZT", maps2, maps1);
}
}
}
String data5 = householdPvUtils.gerResponseByAPiID(1000000008L);
JSONObject json5= JSON.parseObject(data5);
if(Integer.valueOf(json5.get("code").toString())==0) {
JSONObject obj5 = json5.get("data") != null ? (JSONObject)json5.get("data") : null;
if (obj5!=null&&obj5.get("list")!=null) {
JSONArray ob = obj5.get("list") != null ? (JSONArray) obj5.get("list") : null;
for (Object o : ob) {
Map<String, Object> maps1 = (Map<String, Object>) o;
Map<String, String> maps2 = new HashMap<>();
maps2.put("key", UUID.randomUUID().toString());
influxDbConnection.insert("GD_GJ", maps2, maps1);
}
}
}
String data6 = householdPvUtils.gerResponseByAPiID(1686897906789L);
JSONObject json6= JSON.parseObject(data6);
if(Integer.valueOf(json6.get("code").toString())==0) {
JSONObject obj6 = json6.get("data") != null ? (JSONObject)json6.get("data") : null;
if (obj6!=null&&obj6.get("page")!=null) {
JSONArray ob = ((JSONObject)obj6.get("page")).get("records")!= null ? (JSONArray) ((JSONObject)obj6.get("page")).get("records") : null;
for (Object o : ob) {
Map<String, Object> maps1 = (Map<String, Object>) o;
Map<String, String> maps2 = new HashMap<>();
maps2.put("key", UUID.randomUUID().toString());
influxDbConnection.insert("JL_CZ", maps2, maps1);
}
}
}
String data7 = householdPvUtils.gerResponseByAPiID(1686900771946L);
JSONObject json7= JSON.parseObject(data7);
if(Integer.valueOf(json7.get("code").toString())==0) {
JSONObject obj7 = json7.get("data") != null ? (JSONObject)json7.get("data") : null;
if (obj7!=null&&obj7.get("page")!=null) {
JSONArray ob = ((JSONObject)obj7.get("page")).get("records")!= null ? (JSONArray) ((JSONObject)obj7.get("page")).get("records") : null;
for (Object o : ob) {
Map<String, Object> maps1 = (Map<String, Object>) o;
Map<String, String> maps2 = new HashMap<>();
maps2.put("key", UUID.randomUUID().toString());
maps1.put("etotal1",maps1.get("etotal1").toString());
maps1.put("etoday1",maps1.get("etoday1").toString());
influxDbConnection.insert("JL_NBQ", maps2, maps1);
}
}
}
String data8 = householdPvUtils.gerResponseByAPiID(1686900972965L);
JSONObject json8= JSON.parseObject(data8);
if(Integer.valueOf(json8.get("code").toString())==0) {
JSONObject obj8 = json8.get("data") != null ? (JSONObject)json8.get("data") : null;
if (obj8!=null&&obj8.get("records")!=null) {
JSONArray ob = obj8.get("records")!= null ? (JSONArray)obj8.get("records") : null;
for (Object o : ob) {
Map<String, Object> maps1 = (Map<String, Object>) o;
Map<String, String> maps2 = new HashMap<>();
maps2.put("key", UUID.randomUUID().toString());
influxDbConnection.insert("JL_GJ", maps2, maps1);
}
}
}
}
}
//package com.yeejoin.amos.dockingData;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
//import com.yeejoin.amos.api.householdapi.Utils.HouseholdPvUtils;
//import com.yeejoin.amos.component.influxdb.InfluxDbConnection;
//import org.jetbrains.annotations.TestOnly;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.actuate.influx.InfluxDbHealthIndicator;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.PostConstruct;
//import java.util.HashMap;
//import java.util.LinkedHashMap;
//import java.util.Map;
//import java.util.UUID;
//import java.util.zip.Inflater;
//
///**
// * @description:
// * @author: tw
// * @createDate: 2023/6/16
// */
//@Component
//public class DockingData {
//
//
// @Autowired
// InfluxDbConnection influxDbConnection;
// @Autowired
// HouseholdPvUtils householdPvUtils;
// //初始化执行
// @PostConstruct
// public void init(){
// this.getDate();
// }
//
//
// //每二十分钟执行一次
// @Scheduled(cron = "0 0/20 * * * ?")
// public void fixedRate() {
// this.getDate();
// }
//
// //请求获取数据
// public void getDate(){
//
//
// //首航
// String data1=householdPvUtils.gerResponseByAPiID(1000000002L);
// JSONObject json= JSON.parseObject(data1);
//
// if((Boolean)json.get("success")){
// JSONArray obj= json.get("stationList") !=null?(JSONArray)json.get("stationList"):null;
// if (obj!=null) {
// for (Object o : obj) {
// Map<String,Object> maps1 = (Map<String,Object>)o;
// Map<String,String> maps2=new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
// influxDbConnection.insert("SH_DZ",maps2,maps1);
// }
// }
// }
//
// String data2=householdPvUtils.gerResponseByAPiID(1000000003L);
// JSONObject json2= JSON.parseObject(data2);
// if((Boolean)json2.get("success")) {
// JSONArray obj2 = json.get("deviceList") != null ? (JSONArray) json2.get("deviceList") : null;
// if (obj2!=null) {
// for (Object o : obj2) {
// Map<String, Object> maps1 = (Map<String, Object>) o;
// Map<String, String> maps2 = new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
// influxDbConnection.insert("SH_ZB", maps2, maps1);
// }
// }
// }
//
// //固德威
// String data3 = householdPvUtils.gerResponseByAPiID(1000000006L);
//
// JSONObject json3= JSON.parseObject(data3);
// if(Integer.valueOf(json3.get("code").toString())==0) {
// JSONObject obj3 = json3.get("data") != null ? (JSONObject)json3.get("data") : null;
// if (obj3!=null&&obj3.get("list")!=null) {
//
// JSONArray ob = obj3.get("list") != null ? (JSONArray) obj3.get("list") : null;
//
// for (Object o : ob) {
// Map<String, Object> maps1 = (Map<String, Object>) o;
// Map<String, String> maps2 = new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
// influxDbConnection.insert("GD_DZ", maps2, maps1);
// }
// }
// }
//
// String data4 = householdPvUtils.gerResponseByAPiID(1000000007L);
//
// JSONObject json4= JSON.parseObject(data4);
// if(Integer.valueOf(json4.get("code").toString())==0) {
// JSONObject obj4 = json4.get("data") != null ? (JSONObject)json4.get("data") : null;
// if (obj4!=null&&obj4.get("list")!=null) {
//
// JSONArray ob = obj4.get("list") != null ? (JSONArray) obj4.get("list") : null;
//
// for (Object o : ob) {
// Map<String, Object> maps1 = (Map<String, Object>) o;
// Map<String, String> maps2 = new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
// influxDbConnection.insert("GD_ZT", maps2, maps1);
// }
// }
// }
//
// String data5 = householdPvUtils.gerResponseByAPiID(1000000008L);
//
// JSONObject json5= JSON.parseObject(data5);
// if(Integer.valueOf(json5.get("code").toString())==0) {
// JSONObject obj5 = json5.get("data") != null ? (JSONObject)json5.get("data") : null;
// if (obj5!=null&&obj5.get("list")!=null) {
//
// JSONArray ob = obj5.get("list") != null ? (JSONArray) obj5.get("list") : null;
//
// for (Object o : ob) {
// Map<String, Object> maps1 = (Map<String, Object>) o;
// Map<String, String> maps2 = new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
// influxDbConnection.insert("GD_GJ", maps2, maps1);
// }
// }
// }
//
//
// String data6 = householdPvUtils.gerResponseByAPiID(1686897906789L);
//
// JSONObject json6= JSON.parseObject(data6);
// if(Integer.valueOf(json6.get("code").toString())==0) {
// JSONObject obj6 = json6.get("data") != null ? (JSONObject)json6.get("data") : null;
// if (obj6!=null&&obj6.get("page")!=null) {
//
// JSONArray ob = ((JSONObject)obj6.get("page")).get("records")!= null ? (JSONArray) ((JSONObject)obj6.get("page")).get("records") : null;
//
// for (Object o : ob) {
// Map<String, Object> maps1 = (Map<String, Object>) o;
// Map<String, String> maps2 = new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
// influxDbConnection.insert("JL_CZ", maps2, maps1);
// }
// }
// }
// String data7 = householdPvUtils.gerResponseByAPiID(1686900771946L);
// JSONObject json7= JSON.parseObject(data7);
// if(Integer.valueOf(json7.get("code").toString())==0) {
// JSONObject obj7 = json7.get("data") != null ? (JSONObject)json7.get("data") : null;
// if (obj7!=null&&obj7.get("page")!=null) {
//
// JSONArray ob = ((JSONObject)obj7.get("page")).get("records")!= null ? (JSONArray) ((JSONObject)obj7.get("page")).get("records") : null;
//
// for (Object o : ob) {
// Map<String, Object> maps1 = (Map<String, Object>) o;
// Map<String, String> maps2 = new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
//
// maps1.put("etotal1",maps1.get("etotal1").toString());
// maps1.put("etoday1",maps1.get("etoday1").toString());
// influxDbConnection.insert("JL_NBQ", maps2, maps1);
// }
// }
// }
// String data8 = householdPvUtils.gerResponseByAPiID(1686900972965L);
// JSONObject json8= JSON.parseObject(data8);
// if(Integer.valueOf(json8.get("code").toString())==0) {
// JSONObject obj8 = json8.get("data") != null ? (JSONObject)json8.get("data") : null;
// if (obj8!=null&&obj8.get("records")!=null) {
//
// JSONArray ob = obj8.get("records")!= null ? (JSONArray)obj8.get("records") : null;
//
// for (Object o : ob) {
// Map<String, Object> maps1 = (Map<String, Object>) o;
// Map<String, String> maps2 = new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
// influxDbConnection.insert("JL_GJ", maps2, maps1);
// }
// }
// }
// }
//
//
//
//}
......@@ -371,6 +371,9 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
// 2.组织返回数据
//2.1 工商信息查询
Map<String, Object> resultMap = accessFeignService.getData(unitCode).getResult();
if (resultMap == null){
throw new BadRequest("工商信息接口查询失败,请稍后再试!");
}
if(!ValidationUtil.isEmpty(resultMap)){
// 2.2 工商信息组装
String area = String.valueOf(resultMap.get("area"));
......
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