mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
Merge branch 'dev' of http://192.168.2.2:8099/jsowell/jsowell-charger-web into dev
This commit is contained in:
@@ -14,6 +14,7 @@ import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO;
|
||||
import com.jsowell.thirdparty.yongchengboche.service.YCBCService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -58,6 +59,24 @@ public class YCBCController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取token接口
|
||||
* http://localhost:8080/ycbc/v1/query_token
|
||||
*/
|
||||
@PostMapping("/v1/ycbcQuery_token")
|
||||
public String ycbcQueryToken(@RequestBody YCBCGetTokenDTO dto) {
|
||||
logger.info("请求甬城泊车平台令牌 params:{}", JSONObject.toJSONString(dto));
|
||||
String token = "";
|
||||
try {
|
||||
token = ycbcService.YCBCGetToken(dto);
|
||||
logger.info("请求甬城泊车平台令牌 result:{}", token);
|
||||
} catch (Exception e) {
|
||||
logger.error("请求甬城泊车平台令牌接口 异常");
|
||||
return "";
|
||||
}
|
||||
return token;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 甬城泊车平台查询充电站信息
|
||||
@@ -92,7 +111,7 @@ public class YCBCController extends BaseController {
|
||||
QueryStationInfoDTO queryStationInfoDTO = JSONObject.parseObject(dataStr, QueryStationInfoDTO.class);
|
||||
queryStationInfoDTO.setOperatorId(dto.getOperatorID());
|
||||
Map<String, String> map = ycbcService.queryStationsInfo(queryStationInfoDTO);
|
||||
|
||||
logger.info("甬城泊车平台查询充电站信息 result:{}", JSONObject.toJSONString(map));
|
||||
return CommonResult.success(0, "查询充电站信息成功!", map.get("Data"), map.get("Sig"));
|
||||
} catch (Exception e) {
|
||||
logger.info("甬城泊车平台查询充电站信息 error:", e);
|
||||
@@ -135,7 +154,7 @@ public class YCBCController extends BaseController {
|
||||
QueryStationInfoDTO queryStationInfoDTO = JSONObject.parseObject(dataStr, QueryStationInfoDTO.class);
|
||||
queryStationInfoDTO.setOperatorId(dto.getOperatorID());
|
||||
Map<String, String> map = ycbcService.queryStationStatus(queryStationInfoDTO);
|
||||
|
||||
logger.info("甬城泊车平台查询充电站状态信息 result:{}", JSONObject.toJSONString(map));
|
||||
return CommonResult.success(0, "查询充电站状态信息成功!", map.get("Data"), map.get("Sig"));
|
||||
} catch (Exception e) {
|
||||
logger.info("甬城泊车平台查询充电站状态信息 error:", e);
|
||||
@@ -230,7 +249,7 @@ public class YCBCController extends BaseController {
|
||||
QueryEquipmentDTO queryEquipmentDTO = JSONObject.parseObject(dataStr, QueryEquipmentDTO.class);
|
||||
queryEquipmentDTO.setOperatorID(dto.getOperatorID());
|
||||
Map<String, String> map = ycbcService.queryEquipAuth(queryEquipmentDTO);
|
||||
|
||||
logger.info("甬城泊车平台请求设备认证 result:{}", JSONObject.toJSONString(map));
|
||||
return CommonResult.success(0, "请求设备认证成功!", map.get("Data"), map.get("Sig"));
|
||||
} catch (Exception e) {
|
||||
logger.info("甬城泊车平台请求设备认证 error:", e);
|
||||
@@ -272,7 +291,7 @@ public class YCBCController extends BaseController {
|
||||
QueryStartChargeDTO queryStartChargeDTO = JSONObject.parseObject(dataStr, QueryStartChargeDTO.class);
|
||||
queryStartChargeDTO.setOperatorId(dto.getOperatorID());
|
||||
Map<String, String> map = ycbcService.queryStartCharge(queryStartChargeDTO);
|
||||
|
||||
logger.info("甬城泊车平台请求启动充电 result:{}", JSONObject.toJSONString(map));
|
||||
return CommonResult.success(0, "请求启动充电成功!", map.get("Data"), map.get("Sig"));
|
||||
} catch (Exception e) {
|
||||
logger.error("甬城泊车平台请求启动充电 error", e);
|
||||
@@ -313,7 +332,7 @@ public class YCBCController extends BaseController {
|
||||
QueryEquipChargeStatusDTO queryEquipChargeStatusDTO = JSONObject.parseObject(dataStr, QueryEquipChargeStatusDTO.class);
|
||||
queryEquipChargeStatusDTO.setOperatorID(dto.getOperatorID());
|
||||
Map<String, String> map = ycbcService.queryEquipChargeStatus(queryEquipChargeStatusDTO);
|
||||
|
||||
logger.info("甬城泊车平台查询充电状态 result:{}", JSONObject.toJSONString(map));
|
||||
return CommonResult.success(0, "查询充电状态成功!", map.get("Data"), map.get("Sig"));
|
||||
} catch (Exception e) {
|
||||
logger.error("甬城泊车平台查询充电状态 error", e);
|
||||
@@ -378,7 +397,7 @@ public class YCBCController extends BaseController {
|
||||
QueryStartChargeDTO queryStartChargeDTO = JSONObject.parseObject(dataStr, QueryStartChargeDTO.class);
|
||||
queryStartChargeDTO.setOperatorId(dto.getOperatorID());
|
||||
Map<String, String> map = ycbcService.queryStopCharge(queryStartChargeDTO);
|
||||
|
||||
logger.info("甬城泊车平台请求停止充电 result:{}", JSONObject.toJSONString(map));
|
||||
return CommonResult.success(0, "请求停止充电成功!", map.get("Data"), map.get("Sig"));
|
||||
} catch (Exception e) {
|
||||
logger.error("甬城泊车平台请求停止充电 error", e);
|
||||
|
||||
@@ -94,7 +94,7 @@ public class ZDLController extends BaseController {
|
||||
queryStationInfoDTO.setOperatorId(dto.getOperatorID());
|
||||
queryStationInfoDTO.setAddress("宁波");
|
||||
Map<String, String> map = zdlService.queryStationsInfo(queryStationInfoDTO);
|
||||
|
||||
logger.info("中电联平台查询充电站信息 result:{}", JSONObject.toJSONString(map));
|
||||
return CommonResult.success(0, "查询充电站信息成功!", map.get("Data"), map.get("Sig"));
|
||||
} catch (Exception e) {
|
||||
logger.info("中电联平台查询充电站信息 error:", e);
|
||||
@@ -137,7 +137,7 @@ public class ZDLController extends BaseController {
|
||||
QueryStationInfoDTO queryStationInfoDTO = JSONObject.parseObject(dataStr, QueryStationInfoDTO.class);
|
||||
queryStationInfoDTO.setOperatorId(dto.getOperatorID());
|
||||
Map<String, String> map = zdlService.queryStationStats(queryStationInfoDTO);
|
||||
|
||||
logger.info("中电联平台查询统计信息 result:{}", JSONObject.toJSONString(map));
|
||||
return CommonResult.success(0, "查询统计信息成功!", map.get("Data"), map.get("Sig"));
|
||||
} catch (Exception e) {
|
||||
logger.info("中电联平台查询统计信息 error:", e);
|
||||
@@ -184,7 +184,7 @@ public class ZDLController extends BaseController {
|
||||
QueryStationInfoDTO queryStationInfoDTO = JSONObject.parseObject(dataStr, QueryStationInfoDTO.class);
|
||||
queryStationInfoDTO.setOperatorId(dto.getOperatorID());
|
||||
Map<String, String> map = zdlService.queryStationStatus(queryStationInfoDTO);
|
||||
|
||||
logger.info("中电联平台设备接口状态查询 result:{}", JSONObject.toJSONString(map));
|
||||
return CommonResult.success(0, "设备接口状态查询成功!", map.get("Data"), map.get("Sig"));
|
||||
} catch (Exception e) {
|
||||
logger.info("中电联平台设备接口状态查询 error:", e);
|
||||
|
||||
@@ -183,6 +183,11 @@ public class CacheConstants {
|
||||
*/
|
||||
public static final String LTYT_TOKEN_BY_APPID = "ltyt_token_by_appid:";
|
||||
|
||||
/**
|
||||
* 甬城泊车系统Token
|
||||
*/
|
||||
public static final String YCBC_TOKEN_BY_OPERATORID = "yong_cheng_bo_che_token_by_operatorId:";
|
||||
|
||||
/**
|
||||
* 桩硬件故障
|
||||
*/
|
||||
|
||||
@@ -472,6 +472,12 @@
|
||||
<if test="dto.address != null and dto.address != ''">
|
||||
and t1.address like concat('%', #{dto.address}, '%')
|
||||
</if>
|
||||
<if test="dto.stationIds != null and dto.stationIds.size() != 0">
|
||||
and t1.id in
|
||||
<foreach collection="dto.stationIds" item="stationId" open="(" separator="," close=")">
|
||||
#{stationId,jdbcType=VARCHAR}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="queryByStationDeptIds" resultType="java.lang.String">
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -3,8 +3,15 @@ package com.jsowell.thirdparty.yongchengboche.service.impl;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.jsowell.common.constant.CacheConstants;
|
||||
import com.jsowell.common.core.redis.RedisCache;
|
||||
import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.ThirdPartyStationRelation;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.service.IThirdPartyStationRelationService;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
@@ -14,16 +21,16 @@ import com.jsowell.thirdparty.lianlian.vo.LianLianResultVO;
|
||||
import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO;
|
||||
import com.jsowell.thirdparty.yongchengboche.service.YCBCService;
|
||||
import com.jsowell.thirdparty.zhongdianlian.service.ZDLService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 甬城泊车 Service
|
||||
@@ -40,6 +47,12 @@ public class YCBCServiceImpl implements YCBCService {
|
||||
@Autowired
|
||||
private LianLianService lianLianService;
|
||||
|
||||
@Autowired
|
||||
private IThirdPartyStationRelationService relationService;
|
||||
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
|
||||
@@ -57,7 +70,15 @@ public class YCBCServiceImpl implements YCBCService {
|
||||
String urlAddress = dto.getUrlAddress();
|
||||
String signSecret = dto.getSignSecret();
|
||||
|
||||
String token = "";
|
||||
String redisKey = CacheConstants.YCBC_TOKEN_BY_OPERATORID + operatorId;
|
||||
// 先查缓存
|
||||
String token = redisCache.getCacheObject(redisKey);
|
||||
if (StringUtils.isNotBlank(token)) {
|
||||
logger.info("获取甬城泊车平台令牌,缓存中有值为:{}", token);
|
||||
return token;
|
||||
}else {
|
||||
token = "";
|
||||
}
|
||||
try {
|
||||
// 请求地址
|
||||
String requestUrl = urlAddress + "query_token";
|
||||
@@ -96,11 +117,21 @@ public class YCBCServiceImpl implements YCBCService {
|
||||
byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64((String) result.getData()),
|
||||
dataSecret.getBytes(), dataSecretIv.getBytes());
|
||||
String dataStr = new String(plainText, "UTF-8");
|
||||
Map<String, String> resultMap = (Map<String, String>) JSON.parse(dataStr);
|
||||
token = resultMap.get("AccessToken");
|
||||
JSONObject resultJson = (JSONObject) JSON.parse(dataStr);
|
||||
logger.info("获取甬城泊车平台令牌 resultJson:{}", resultJson);
|
||||
int succStat = resultJson.getInteger("SuccStat");
|
||||
if (succStat != 0) {
|
||||
logger.error("获取甬城泊车平台令牌 error:{}", result.getMsg());
|
||||
return token;
|
||||
}
|
||||
token = resultJson.getString("AccessToken");
|
||||
logger.info("甬城泊车 token: {}", token);
|
||||
// 存入缓存
|
||||
long tokenAvailableTime = resultJson.getLong("TokenAvailableTime");
|
||||
redisCache.setCacheObject(redisKey, token, (int) tokenAvailableTime, TimeUnit.SECONDS);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("获取甬城泊车平台令牌 error:", e);
|
||||
return token;
|
||||
}
|
||||
return token;
|
||||
@@ -124,6 +155,16 @@ public class YCBCServiceImpl implements YCBCService {
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> queryStationsInfo(QueryStationInfoDTO dto) {
|
||||
// 查询出要查询的充电站id并set进 dto 的stationIds
|
||||
ThirdPartyStationRelation relation = new ThirdPartyStationRelation();
|
||||
relation.setThirdPartyType(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getCode());
|
||||
List<ThirdPartyStationRelation> ycbcList = relationService.selectThirdPartyStationRelationList(relation);
|
||||
if (CollectionUtils.isNotEmpty(ycbcList)) {
|
||||
List<String> stationList = ycbcList.stream()
|
||||
.map(x -> String.valueOf(x.getStationId()))
|
||||
.collect(Collectors.toList());
|
||||
dto.setStationIds(stationList);
|
||||
}
|
||||
return zdlService.queryStationsInfo(dto);
|
||||
}
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ public class ZDLServiceImpl implements ZDLService {
|
||||
// 截取运营商组织机构代码(去除最后一位后的最后九位)
|
||||
MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(String.valueOf(pileStationInfo.getMerchantId()));
|
||||
String organizationCode = merchantInfo.getOrganizationCode();
|
||||
if (organizationCode.length() == 18) {
|
||||
if (StringUtils.isNotBlank(organizationCode) && organizationCode.length() == 18) {
|
||||
String equipmentOwnerId = StringUtils.substring(organizationCode, organizationCode.length() - 10, organizationCode.length() - 1);
|
||||
info.setEquipmentOwnerId(equipmentOwnerId);
|
||||
}
|
||||
@@ -228,7 +228,7 @@ public class ZDLServiceImpl implements ZDLService {
|
||||
stationInfo.setStationId(String.valueOf(pileStationInfo.getId()));
|
||||
stationInfo.setOperatorId(dto.getOperatorId()); // 组织机构代码
|
||||
String organizationCode = pileStationInfo.getOrganizationCode();
|
||||
if (organizationCode.length() == 18) {
|
||||
if (StringUtils.isNotBlank(organizationCode) && organizationCode.length() == 18) {
|
||||
String equipmentOwnerId = StringUtils.substring(organizationCode, organizationCode.length() - 10, organizationCode.length() - 1);
|
||||
stationInfo.setEquipmentOwnerId(equipmentOwnerId);
|
||||
}else {
|
||||
|
||||
Reference in New Issue
Block a user