This commit is contained in:
YAS\29473
2025-04-24 08:25:45 +08:00
parent 63b0833360
commit 876fac433a
3 changed files with 23 additions and 143 deletions

View File

@@ -47,13 +47,14 @@ public class WeiWangKuaiDianController extends ThirdPartyBaseController {
*/ */
@PostMapping("/v1/query_token") @PostMapping("/v1/query_token")
public CommonResult<?> queryToken(@RequestBody CommonParamsDTO dto) { public CommonResult<?> queryToken(@RequestBody CommonParamsDTO dto) {
logger.info("{}-请求令牌 params:{}", platformName, JSON.toJSONString(dto)); logger.info("宁波平台请求令牌 params:{}", JSON.toJSONString(dto));
try { try {
// Map<String, String> map = zdlService.generateToken(dto);
Map<String, String> map = platformLogic.queryToken(dto); Map<String, String> map = platformLogic.queryToken(dto);
logger.info("{}-请求令牌, params:{}, result:{}", platformName, JSON.toJSONString(dto) , JSON.toJSONString(map)); logger.info("宁波平台请求令牌 result:{}", JSON.toJSONString(map));
return CommonResult.success(Integer.parseInt(map.get("Ret")), map.get("Msg"), map.get("Data"), map.get("Sig")); return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) { } catch (Exception e) {
logger.error("{}-获取token接口, 异常, params:{}", platformName, JSON.toJSONString(dto), e); logger.error("宁波平台 请求令牌接口 异常");
return CommonResult.failed("获取token发生异常"); return CommonResult.failed("获取token发生异常");
} }
} }
@@ -310,7 +311,7 @@ public class WeiWangKuaiDianController extends ThirdPartyBaseController {
* @return * @return
*/ */
@GetMapping("/v1/notification_start_charge_result") @GetMapping("/v1/notification_start_charge_result")
public RestApiResponse<?> notificationStartChargeResult(@RequestParam("orderCode") String orderCode) { public RestApiResponse<?> notification_start_charge_result(@RequestParam("orderCode") String orderCode) {
logger.info("【{}】推送启动充电结果 params:{}", this.getClass().getSimpleName(), orderCode); logger.info("【{}】推送启动充电结果 params:{}", this.getClass().getSimpleName(), orderCode);
RestApiResponse<?> response = null; RestApiResponse<?> response = null;
try { try {
@@ -334,7 +335,7 @@ public class WeiWangKuaiDianController extends ThirdPartyBaseController {
* @return * @return
*/ */
@PostMapping("/v1/query_equip_charge_status") @PostMapping("/v1/query_equip_charge_status")
public CommonResult<?> queryEquipChargeStatus(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { public CommonResult<?> query_equip_charge_status(HttpServletRequest request, @RequestBody CommonParamsDTO dto) {
logger.info("{}-查询充电状态 params:{}", platformName, JSON.toJSONString(dto)); logger.info("{}-查询充电状态 params:{}", platformName, JSON.toJSONString(dto));
try { try {
// 校验令牌 // 校验令牌
@@ -371,8 +372,8 @@ public class WeiWangKuaiDianController extends ThirdPartyBaseController {
* @param orderCode * @param orderCode
* @return * @return
*/ */
@GetMapping("/notificationEquipChargeStatus/{orderCode}") @GetMapping("/v1/notification_equip_charge_status")
public RestApiResponse<?> notificationEquipChargeStatus(@PathVariable("orderCode") String orderCode) { public RestApiResponse<?> notification_equip_charge_status(@PathVariable("orderCode") String orderCode) {
logger.info("推送充电状态 params:{}", orderCode); logger.info("推送充电状态 params:{}", orderCode);
RestApiResponse<?> response = null; RestApiResponse<?> response = null;
try { try {
@@ -433,7 +434,7 @@ public class WeiWangKuaiDianController extends ThirdPartyBaseController {
* @param orderCode * @param orderCode
* @return * @return
*/ */
@GetMapping("/notificationStopChargeResult/{orderCode}") @GetMapping("/v1/notification_stop_charge_result/{orderCode}")
public RestApiResponse<?> notificationStopChargeResult(@PathVariable("orderCode") String orderCode) { public RestApiResponse<?> notificationStopChargeResult(@PathVariable("orderCode") String orderCode) {
logger.info("推送停止充电结果 params:{}", orderCode); logger.info("推送停止充电结果 params:{}", orderCode);
RestApiResponse<?> response = null; RestApiResponse<?> response = null;
@@ -454,7 +455,7 @@ public class WeiWangKuaiDianController extends ThirdPartyBaseController {
/** /**
* 充电订单信息推送 * 充电订单信息推送
*/ */
@PostMapping("/notificationChargeOrderInfo") @PostMapping("/v1/notification_charge_order_info")
public AjaxResult notificationChargeOrderInfo(@RequestBody NotificationDTO dto) { public AjaxResult notificationChargeOrderInfo(@RequestBody NotificationDTO dto) {
AjaxResult result; AjaxResult result;
try { try {
@@ -470,25 +471,6 @@ public class WeiWangKuaiDianController extends ThirdPartyBaseController {
return result; return result;
} }
//TODO 接口待完善
@PostMapping("/v1/check_charge_orders/{orderCode}")
public RestApiResponse<?> checkChargeOrders(@PathVariable String orderCode) {
logger.info("{}-检查充电订单 params:{}", platformName, JSON.toJSONString(orderCode));
RestApiResponse<?> response = null;
try {
String result = platformLogic.checkChargeOrders(orderCode);
response = new RestApiResponse<>(result);
}catch (BusinessException e) {
logger.error("{}-检查充电订单 error", platformName, e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
}catch (Exception e) {
logger.error("{}-检查充电订单 error", platformName, e);
response = new RestApiResponse<>(e);
}
logger.info("{}-检查充电订单 result:{}", platformName, response);
return response;
}
} }

View File

@@ -445,9 +445,6 @@ public interface ThirdPartyPlatformService extends InitializingBean {
throw new UnsupportedOperationException("This method is not yet implemented"); throw new UnsupportedOperationException("This method is not yet implemented");
} }
default String checkChargeOrders(String orderCode) {
throw new UnsupportedOperationException("This method is not yet implemented");
}
// -------------------------------------- 以下是公用方法 --------------------------------------- // // -------------------------------------- 以下是公用方法 --------------------------------------- //
/** /**

View File

@@ -156,7 +156,6 @@ public class weiWangKuaiDianPlatformServiceImpl implements ThirdPartyPlatformSer
} }
// TODO 扩展接口,字段扩展
/** /**
* 查询站点信息 * 查询站点信息
* @param dto 查询站点信息dto * @param dto 查询站点信息dto
@@ -527,7 +526,6 @@ public class weiWangKuaiDianPlatformServiceImpl implements ThirdPartyPlatformSer
} }
//TODO 扩展字段
/** /**
* 请求启动充电 query_start_charge * 请求启动充电 query_start_charge
* @param dto 请求启动充电DTO * @param dto 请求启动充电DTO
@@ -867,83 +865,6 @@ public class weiWangKuaiDianPlatformServiceImpl implements ThirdPartyPlatformSer
} }
/**
* 推送订单对账结果信息
*
* @param orderCode
* @return
*/
@Override
public String checkChargeOrders(String orderCode) {
List<ChargeOrder> list = new ArrayList<>();
// 根据订单号查询订单信息
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
if (orderInfo == null || orderDetail == null) {
return null;
}
// 通过站点id查询相关配置信息
// 通过三方平台类型查询相关配置信息
ThirdPartyStationRelation relation = new ThirdPartyStationRelation();
relation.setThirdPartyType(orderInfo.getThirdPartyType());
ThirdPartyStationRelationVO relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation);
// ThirdPartySettingInfo settingInfo = thirdPartySettingInfoService.getInfoByStationId(Long.parseLong(orderInfo.getStationId()));
if (relationInfo == null) {
return null;
}
String operatorId = relationInfo.getOperatorId();
String operatorSecret = relationInfo.getOperatorSecret();
String signSecret = relationInfo.getSignSecret();
String dataSecret = relationInfo.getDataSecret();
String dataSecretIv = relationInfo.getDataSecretIv();
String urlAddress = relationInfo.getUrlAddress();
String url = urlAddress + BusinessInformationExchangeEnum.CHECK_CHARGE_ORDERS.getValue();
JSONObject json = new JSONObject();
json.put("CheckOrderSeq", orderCode);
json.put("StartTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderInfo.getChargeStartTime()));
json.put("EndTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderInfo.getChargeEndTime()));
json.put("TotalDisputeOrder", 1);
json.put("TotalDisputePower", orderDetail.getTotalUsedElectricity());
json.put("TotalDisputeMoney", orderDetail.getTotalOrderAmount());
ChargeOrder chargeOrder = ChargeOrder.builder()
.startChargeSeq(orderCode)
.totalPower(orderDetail.getTotalUsedElectricity())
.totalMoney(orderDetail.getTotalOrderAmount())
.build();
list.add(chargeOrder);
json.put("DisputeOrders", list);
// 获取令牌
String token = getToken(urlAddress, operatorId, operatorSecret, dataSecretIv, signSecret, dataSecret);
if (StringUtils.isBlank(token)) {
return null;
}
String jsonString = JSON.toJSONString(json);
log.info("请求参数:{}", jsonString);
// 发送请求
String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret, dataSecretIv, operatorId, signSecret);
return result;
}
//<---------------------------扩展接口-------------------------->
//TODO 站点变更通知 notification_station_change
//TODO 二维码查询枪号 query_terminal_code
//TODO 推送充电车牌号 notification_charge_carnum
//TODO 超时占位费推送 notification_overtime_order_info
//TODO 账单拉取 query_charge_order_info
/** /**
* 获取微网快电配置密钥信息 * 获取微网快电配置密钥信息
* *
@@ -970,36 +891,16 @@ public class weiWangKuaiDianPlatformServiceImpl implements ThirdPartyPlatformSer
List<EquipmentInfo> resultList = new ArrayList<>(); List<EquipmentInfo> resultList = new ArrayList<>();
// 通过站点id查询桩基本信息 // 通过站点id查询桩基本信息
List<PileBasicInfo> list = pileBasicInfoService.getPileListByStationId(String.valueOf(pileStationInfo.getId())); List<PileBasicInfo> list = pileBasicInfoService.getPileListByStationId(String.valueOf(pileStationInfo.getId()));
// MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfo(String.valueOf(pileStationInfo.getMerchantId())); // 封装成中电联平台对象
// 封装成联联平台对象
for (PileBasicInfo pileBasicInfo : list) { for (PileBasicInfo pileBasicInfo : list) {
EquipmentInfo equipmentInfo = new EquipmentInfo(); EquipmentInfo equipmentInfo = new EquipmentInfo();
String pileSn = pileBasicInfo.getSn(); String pileSn = pileBasicInfo.getSn();
equipmentInfo.setEquipmentID(pileSn); equipmentInfo.setEquipmentID(pileSn);
equipmentInfo.setManufacturerID(Constants.OPERATORID_LIANLIAN);
equipmentInfo.setConstructionTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, pileBasicInfo.getCreateTime()));
PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileSn); PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileSn);
equipmentInfo.setEquipmentType(Integer.valueOf(modelInfo.getSpeedType())); equipmentInfo.setEquipmentType(Integer.parseInt(modelInfo.getSpeedType()));
equipmentInfo.setPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
// Map<String, String> pileStatus = pileConnectorInfoService.getPileStatus(Lists.newArrayList(pileBasicInfo.getSn()));
Map<String, String> pileStatusMap = pileConnectorInfoService.getPileStatus(Lists.newArrayList(pileSn));
String pileStatus = pileStatusMap.get(pileSn);
if (StringUtils.equals(PileStatusEnum.ON_LINE.getValue(), pileStatus)) {
// 1-在线
pileStatus = LianLianPileStatusEnum.NORMAL.getCode();
} else if (StringUtils.equals(PileStatusEnum.OFF_LINE.getValue(), pileStatus)) {
// 2-离线
pileStatus = LianLianPileStatusEnum.CLOSE_OFFLINE.getCode();
} else if (StringUtils.equals(PileStatusEnum.FAULT.getValue(), pileStatus)) {
// 3-故障
pileStatus = LianLianPileStatusEnum.UNDER_MAINTENANCE.getCode();
}
equipmentInfo.setEquipmentStatus(Integer.valueOf(pileStatus));
equipmentInfo.setEquipmentPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
equipmentInfo.setNewNationalStandard(1);
equipmentInfo.setVinFlag(1);
List<ConnectorInfo> connectorList = getConnectorList(pileBasicInfo); List<ConnectorInfo> connectorList = getConnectorList(pileBasicInfo);
equipmentInfo.setConnectorInfos(connectorList); equipmentInfo.setConnectorInfos(connectorList);
@@ -1035,16 +936,16 @@ public class weiWangKuaiDianPlatformServiceImpl implements ThirdPartyPlatformSer
} }
connectorInfo.setVoltageUpperLimits(Integer.valueOf(modelInfo.getRatedVoltage())); connectorInfo.setVoltageUpperLimits(Integer.valueOf(modelInfo.getRatedVoltage()));
connectorInfo.setVoltageLowerLimits(Integer.valueOf(modelInfo.getRatedVoltage())); connectorInfo.setVoltageLowerLimits(Integer.valueOf(modelInfo.getRatedVoltage()));
connectorInfo.setCurrent(Integer.valueOf(modelInfo.getRatedCurrent())); connectorInfo.setCurrent(Integer.valueOf(modelInfo.getRatedCurrent()));
if (!StringUtils.equals(modelInfo.getConnectorNum(), "1")) { connectorInfo.setNationalStandard(2);
// 如果不是单枪,则枪口功率需要除以枪口数量 // if (!StringUtils.equals(modelInfo.getConnectorNum(), "1")) {
String ratedPowerStr = modelInfo.getRatedPower(); // // 如果不是单枪,则枪口功率需要除以枪口数量
BigDecimal ratedPower = new BigDecimal(ratedPowerStr); // String ratedPowerStr = modelInfo.getRatedPower();
connectorInfo.setPower(ratedPower.divide(new BigDecimal(modelInfo.getConnectorNum()), 1, BigDecimal.ROUND_HALF_UP)); // BigDecimal ratedPower = new BigDecimal(ratedPowerStr);
}else { // connectorInfo.setPower(ratedPower.divide(new BigDecimal(modelInfo.getConnectorNum()), 1, BigDecimal.ROUND_HALF_UP));
connectorInfo.setPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP)); // }else {
} // }
connectorInfo.setPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
resultList.add(connectorInfo); resultList.add(connectorInfo);
} }