diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/lianlian/LianLianController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/lianlian/LianLianController.java index 807bd37b6..3cfe267da 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/lianlian/LianLianController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/lianlian/LianLianController.java @@ -43,26 +43,26 @@ public class LianLianController extends BaseController { * @param dto * @return */ - @PostMapping("/pushStationInfo") - public RestApiResponse pushStationInfo(@RequestBody PushStationInfoDTO dto) { - logger.info("推送联联平台充电站信息 params:{}", JSON.toJSONString(dto)); - RestApiResponse response = null; - try { - if (StringUtils.isBlank(String.valueOf(dto.getStationId()))) { - throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR); - } - lianLianService.pushStationInfo(dto); - response = new RestApiResponse<>(); - }catch (BusinessException e) { - logger.error("推送联联平台充电站信息 error",e); - response = new RestApiResponse<>(e.getCode(), e.getMessage()); - }catch (Exception e) { - logger.error("推送联联平台充电站信息 error", e); - response = new RestApiResponse<>(e); - } - logger.info("推送联联平台充电站信息 result:{}", response); - return response; - } + // @PostMapping("/pushStationInfo") + // public RestApiResponse pushStationInfo(@RequestBody PushStationInfoDTO dto) { + // logger.info("推送联联平台充电站信息 params:{}", JSON.toJSONString(dto)); + // RestApiResponse response = null; + // try { + // if (StringUtils.isBlank(String.valueOf(dto.getStationId()))) { + // throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR); + // } + // lianLianService.pushStationInfo(dto); + // response = new RestApiResponse<>(); + // }catch (BusinessException e) { + // logger.error("推送联联平台充电站信息 error",e); + // response = new RestApiResponse<>(e.getCode(), e.getMessage()); + // }catch (Exception e) { + // logger.error("推送联联平台充电站信息 error", e); + // response = new RestApiResponse<>(e); + // } + // logger.info("推送联联平台充电站信息 result:{}", response); + // return response; + // } /** diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/common/CommonService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/common/CommonService.java index 887f6b368..93ee27b0d 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/common/CommonService.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/common/CommonService.java @@ -37,7 +37,6 @@ import com.jsowell.thirdparty.lianlian.service.LianLianService; import com.jsowell.thirdparty.lianlian.util.HttpRequestUtil; import com.jsowell.thirdparty.lutongyunting.service.LTYTService; import com.jsowell.thirdparty.nanrui.service.NRService; -import com.jsowell.thirdparty.platform.hainan.service.HaiNanPlatformLogic; import com.jsowell.thirdparty.ruanjie.service.RJService; import com.jsowell.thirdparty.xindiantu.service.XDTService; import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO; @@ -369,7 +368,7 @@ public class CommonService { // } if (StringUtils.equals(ThirdPlatformTypeEnum.HAI_NAN_1.getCode(), thirdPartyType)) { // 海南平台 - haiNanChargeService.pushChargeOrderInfo(orderBasicInfo.getOrderCode()); + haiNanChargeService.notificationChargeOrderInfo(orderBasicInfo.getOrderCode()); } if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getCode(), thirdPartyType)) { diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/LianLianService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/LianLianService.java index ec2562c96..055323280 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/LianLianService.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/LianLianService.java @@ -1,12 +1,9 @@ package com.jsowell.thirdparty.lianlian.service; import com.jsowell.pile.dto.*; -import com.jsowell.pile.vo.lianlian.PushStationFeeVO; import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO; import java.io.UnsupportedEncodingException; -import java.text.ParseException; -import java.util.List; import java.util.Map; public interface LianLianService { @@ -21,7 +18,7 @@ public interface LianLianService { * 根据充电站id,推送充电站信息 * @param dto */ - String pushStationInfo(PushStationInfoDTO dto); + // String pushStationInfo(PushStationInfoDTO dto); String pushStationInfoV2(PushStationInfoDTO dto); diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java index b2c0f38f7..b65f0fe6e 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java @@ -131,129 +131,129 @@ public class LianLianServiceImpl implements LianLianService { * * @param dto */ - @Override - public String pushStationInfo(PushStationInfoDTO dto) { - // String OperatorID = "987654321"; - // String SigSecret = "1234567890abcdef"; // 签名秘钥 - // String DataSecret = "1234567890abcdef"; // 消息密钥 - // String DataSecretIV = "1234567890abcdef"; // 消息密钥初始化向量 - // String token = "c548f9276c1c4ea8b88b1f7b1eb7cf07"; //QueryToken类查询接口获取到的token - - // 通过id查询站点相关信息 - PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(dto.getStationId()); - // 通过站点id查询相关配置信息 - ThirdPartyStationRelation relation = new ThirdPartyStationRelation(); - relation.setStationId(dto.getStationId()); - ThirdPartyStationRelationVO relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation); - // ThirdPartySettingInfo settingInfo = thirdPartySettingInfoService.getInfoByStationId(dto.getStationId()); - if (relationInfo == null) { - // 新增 - relation.setThirdPartyType(dto.getThirdPartyType()); - thirdPartyStationRelationService.insertThirdPartyStationRelation(relation); - - relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation); - } - String operatorId = relationInfo.getOperatorId(); - String operatorSecret = relationInfo.getOperatorSecret(); - String signSecret = relationInfo.getSignSecret(); - String dataSecret = relationInfo.getDataSecret(); - String dataSecretIv = relationInfo.getDataSecretIv(); - String urlAddress = relationInfo.getUrlAddress(); - - // 组装联联平台所需要的数据格式 - StationInfo info = StationInfo.builder() - .stationID("LC" +dto.getStationId()) - .operatorID(operatorId) - // .equipmentOwnerID(Constants.OPERATORID_LIANLIAN) - .stationName(pileStationInfo.getStationName()) - .isAloneApply(Integer.valueOf(pileStationInfo.getAloneApply())) - .isPublicParkingLot(Integer.valueOf(pileStationInfo.getPublicParking())) - .countryCode(pileStationInfo.getCountryCode()) - // .areaCode(pileStationInfo.getAreaCode()) - .address(pileStationInfo.getAddress()) - .serviceTel(pileStationInfo.getStationTel()) - .stationType(Integer.valueOf(pileStationInfo.getStationType())) - .stationStatus(Integer.valueOf(pileStationInfo.getStationStatus())) - .parkNums(Integer.valueOf(pileStationInfo.getParkNums())) - .stationLng(new BigDecimal(pileStationInfo.getStationLng())) - .stationLat(new BigDecimal(pileStationInfo.getStationLat())) - .construction(Integer.valueOf(pileStationInfo.getConstruction())) - .openAllDay(Integer.valueOf(pileStationInfo.getOpenAllDay())) - .minElectricityPrice(new BigDecimal(Constants.ZERO)) - .electricityFee(Constants.ZERO) - .serviceFee(Constants.ZERO) - .parkFree(Integer.valueOf(pileStationInfo.getParkFree())) - // .ParkFee("2") - .supportOrder(Integer.valueOf(pileStationInfo.getSupportOrder())) - .parkFeeType(0) - .toiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag())) - .storeFlag(Integer.valueOf(pileStationInfo.getStoreFlag())) - .restaurantFlag(Integer.valueOf(pileStationInfo.getRestaurantFlag())) - .loungeFlag(Integer.valueOf(pileStationInfo.getLoungeFlag())) - .canopyFlag(Integer.valueOf(pileStationInfo.getCanopyFlag())) - .printerFlag(Integer.valueOf(pileStationInfo.getPrinterFlag())) - .barrierFlag(Integer.valueOf(pileStationInfo.getBarrierFlag())) - .parkingLockFlag(Integer.valueOf(pileStationInfo.getParkingLockFlag())) - - .build(); - String areaCode = pileStationInfo.getAreaCode(); // 330000,330200,330213 - // 根据逗号分组 - String[] split = StringUtils.split(areaCode, ","); - // 只取最后一部分 330213 - String subAreaCode = split[split.length - 1]; - info.setAreaCode(subAreaCode); - // 截取运营商组织机构代码(去除最后一位后的最后九位) - MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(String.valueOf(pileStationInfo.getMerchantId())); - String organizationCode = merchantInfo.getOrganizationCode(); - if (StringUtils.isNotBlank(organizationCode) && organizationCode.length() == 18) { - String equipmentOwnerId = StringUtils.substring(organizationCode, organizationCode.length() - 10, organizationCode.length() - 1); - info.setEquipmentOwnerID(equipmentOwnerId); - } - if (StringUtils.equals("36", String.valueOf(pileStationInfo.getMerchantId()))) { - // 远大 - info.setEquipmentOwnerID(Constants.OPERATORID_YUAN_DA); - } - if (StringUtils.equals("35", String.valueOf(pileStationInfo.getMerchantId()))) { - // 如果是希晓运营商,则把equipmentOwnerID换成希晓 - info.setEquipmentOwnerID(Constants.OPERATORID_XI_XIAO); - } - String payment = StationPaymentEnum.getPaymentByCode(pileStationInfo.getPayment()); - info.setPayment(payment); - if (StringUtils.isNotBlank(pileStationInfo.getParkingNumber())) { - info.setIsPublicParkingLot(1); - info.setParkingLotNumber(pileStationInfo.getParkingNumber()); - } - // 户号 - if (StringUtils.isNotBlank(pileStationInfo.getAccountNumber())) { - info.setAccountNumber(pileStationInfo.getAccountNumber()); - } - // 容量 - if (StringUtils.isNotBlank(String.valueOf(pileStationInfo.getCapacity()))) { - info.setCapacity(pileStationInfo.getCapacity().setScale(4, BigDecimal.ROUND_HALF_UP)); - } - List pileList = getPileList(pileStationInfo); - if (CollectionUtils.isNotEmpty(pileList)) { - info.setEquipmentInfos(pileList); // 充电设备信息列表 - } - - // 调用联联平台接口 - String url = urlAddress + "notification_stationInfo"; - - String jsonStr = JSON.toJSONString(info); - JSONObject data = new JSONObject(); - data.put("StationInfo", jsonStr); - - String jsonString = JSON.toJSONString(data); - System.out.println("jsonString : " + jsonString); - - // 获取令牌 - String token = getToken(urlAddress, operatorId, operatorSecret, dataSecretIv, signSecret, dataSecret); - String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret - , dataSecretIv, operatorId, signSecret); - - // System.out.println(result); - return result; - } + // @Override + // public String pushStationInfo(PushStationInfoDTO dto) { + // // String OperatorID = "987654321"; + // // String SigSecret = "1234567890abcdef"; // 签名秘钥 + // // String DataSecret = "1234567890abcdef"; // 消息密钥 + // // String DataSecretIV = "1234567890abcdef"; // 消息密钥初始化向量 + // // String token = "c548f9276c1c4ea8b88b1f7b1eb7cf07"; //QueryToken类查询接口获取到的token + // + // // 通过id查询站点相关信息 + // PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(dto.getStationId()); + // // 通过站点id查询相关配置信息 + // ThirdPartyStationRelation relation = new ThirdPartyStationRelation(); + // relation.setStationId(dto.getStationId()); + // ThirdPartyStationRelationVO relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation); + // // ThirdPartySettingInfo settingInfo = thirdPartySettingInfoService.getInfoByStationId(dto.getStationId()); + // if (relationInfo == null) { + // // 新增 + // relation.setThirdPartyType(dto.getThirdPartyType()); + // thirdPartyStationRelationService.insertThirdPartyStationRelation(relation); + // + // relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation); + // } + // String operatorId = relationInfo.getOperatorId(); + // String operatorSecret = relationInfo.getOperatorSecret(); + // String signSecret = relationInfo.getSignSecret(); + // String dataSecret = relationInfo.getDataSecret(); + // String dataSecretIv = relationInfo.getDataSecretIv(); + // String urlAddress = relationInfo.getUrlAddress(); + // + // // 组装联联平台所需要的数据格式 + // StationInfo info = StationInfo.builder() + // .stationID("LC" +dto.getStationId()) + // .operatorID(operatorId) + // // .equipmentOwnerID(Constants.OPERATORID_LIANLIAN) + // .stationName(pileStationInfo.getStationName()) + // .isAloneApply(Integer.valueOf(pileStationInfo.getAloneApply())) + // .isPublicParkingLot(Integer.valueOf(pileStationInfo.getPublicParking())) + // .countryCode(pileStationInfo.getCountryCode()) + // // .areaCode(pileStationInfo.getAreaCode()) + // .address(pileStationInfo.getAddress()) + // .serviceTel(pileStationInfo.getStationTel()) + // .stationType(Integer.valueOf(pileStationInfo.getStationType())) + // .stationStatus(Integer.valueOf(pileStationInfo.getStationStatus())) + // .parkNums(Integer.valueOf(pileStationInfo.getParkNums())) + // .stationLng(new BigDecimal(pileStationInfo.getStationLng())) + // .stationLat(new BigDecimal(pileStationInfo.getStationLat())) + // .construction(Integer.valueOf(pileStationInfo.getConstruction())) + // .openAllDay(Integer.valueOf(pileStationInfo.getOpenAllDay())) + // .minElectricityPrice(new BigDecimal(Constants.ZERO)) + // .electricityFee(Constants.ZERO) + // .serviceFee(Constants.ZERO) + // .parkFree(Integer.valueOf(pileStationInfo.getParkFree())) + // // .ParkFee("2") + // .supportOrder(Integer.valueOf(pileStationInfo.getSupportOrder())) + // .parkFeeType(0) + // .toiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag())) + // .storeFlag(Integer.valueOf(pileStationInfo.getStoreFlag())) + // .restaurantFlag(Integer.valueOf(pileStationInfo.getRestaurantFlag())) + // .loungeFlag(Integer.valueOf(pileStationInfo.getLoungeFlag())) + // .canopyFlag(Integer.valueOf(pileStationInfo.getCanopyFlag())) + // .printerFlag(Integer.valueOf(pileStationInfo.getPrinterFlag())) + // .barrierFlag(Integer.valueOf(pileStationInfo.getBarrierFlag())) + // .parkingLockFlag(Integer.valueOf(pileStationInfo.getParkingLockFlag())) + // + // .build(); + // String areaCode = pileStationInfo.getAreaCode(); // 330000,330200,330213 + // // 根据逗号分组 + // String[] split = StringUtils.split(areaCode, ","); + // // 只取最后一部分 330213 + // String subAreaCode = split[split.length - 1]; + // info.setAreaCode(subAreaCode); + // // 截取运营商组织机构代码(去除最后一位后的最后九位) + // MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(String.valueOf(pileStationInfo.getMerchantId())); + // String organizationCode = merchantInfo.getOrganizationCode(); + // if (StringUtils.isNotBlank(organizationCode) && organizationCode.length() == 18) { + // String equipmentOwnerId = StringUtils.substring(organizationCode, organizationCode.length() - 10, organizationCode.length() - 1); + // info.setEquipmentOwnerID(equipmentOwnerId); + // } + // if (StringUtils.equals("36", String.valueOf(pileStationInfo.getMerchantId()))) { + // // 远大 + // info.setEquipmentOwnerID(Constants.OPERATORID_YUAN_DA); + // } + // if (StringUtils.equals("35", String.valueOf(pileStationInfo.getMerchantId()))) { + // // 如果是希晓运营商,则把equipmentOwnerID换成希晓 + // info.setEquipmentOwnerID(Constants.OPERATORID_XI_XIAO); + // } + // String payment = StationPaymentEnum.getPaymentByCode(pileStationInfo.getPayment()); + // info.setPayment(payment); + // if (StringUtils.isNotBlank(pileStationInfo.getParkingNumber())) { + // info.setIsPublicParkingLot(1); + // info.setParkingLotNumber(pileStationInfo.getParkingNumber()); + // } + // // 户号 + // if (StringUtils.isNotBlank(pileStationInfo.getAccountNumber())) { + // info.setAccountNumber(pileStationInfo.getAccountNumber()); + // } + // // 容量 + // if (StringUtils.isNotBlank(String.valueOf(pileStationInfo.getCapacity()))) { + // info.setCapacity(pileStationInfo.getCapacity().setScale(4, BigDecimal.ROUND_HALF_UP)); + // } + // List pileList = getPileList(pileStationInfo); + // if (CollectionUtils.isNotEmpty(pileList)) { + // info.setEquipmentInfos(pileList); // 充电设备信息列表 + // } + // + // // 调用联联平台接口 + // String url = urlAddress + "notification_stationInfo"; + // + // String jsonStr = JSON.toJSONString(info); + // JSONObject data = new JSONObject(); + // data.put("StationInfo", jsonStr); + // + // String jsonString = JSON.toJSONString(data); + // System.out.println("jsonString : " + jsonString); + // + // // 获取令牌 + // String token = getToken(urlAddress, operatorId, operatorSecret, dataSecretIv, signSecret, dataSecret); + // String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret + // , dataSecretIv, operatorId, signSecret); + // + // // System.out.println(result); + // return result; + // } public String pushStationInfoV2(PushStationInfoDTO dto) { // String OperatorID = "987654321"; @@ -350,6 +350,7 @@ public class LianLianServiceImpl implements LianLianService { if (StringUtils.isNotBlank(pileStationInfo.getAccountNumber())) { info.setAccountNumber(pileStationInfo.getAccountNumber()); } + // 容量 if (StringUtils.isNotBlank(String.valueOf(pileStationInfo.getCapacity()))) { info.setCapacity(pileStationInfo.getCapacity().setScale(4, BigDecimal.ROUND_HALF_UP)); diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/AbsInterfaceWithPlatformLogic.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/AbsInterfaceWithPlatformLogic.java index 135c8a446..f200a09b3 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/AbsInterfaceWithPlatformLogic.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/AbsInterfaceWithPlatformLogic.java @@ -12,6 +12,7 @@ import com.jsowell.pile.domain.PileConnectorInfo; import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.domain.ThirdPartyPlatformConfig; import com.jsowell.pile.dto.*; +import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO; import com.jsowell.pile.service.*; import com.jsowell.pile.vo.web.PileModelInfoVO; import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO; @@ -74,36 +75,25 @@ public abstract class AbsInterfaceWithPlatformLogic implements InitializingBean @Autowired protected ZDLService zdlService; + // =================================================================================== // + // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 由我方平台实现此接口,对方平台调用的查询接口 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ // + // =================================================================================== // + /** - * 查询运营商信息 + * 查询运营商信息 supervise_query_operator_info * @param dto 查询运营商信息DTO */ public abstract Map queryOperatorInfo(QueryOperatorInfoDTO dto); /** - * 6.2 查询充电站信息 - * + * 6.2 查询充电站信息 query_stations_info + * 此接口用于查询对接平台的充电站的信息 * @param dto 查询站点信息dto */ public abstract Map queryStationsInfo(QueryStationInfoDTO dto); /** - * 6.3 设备状态变化推送 - * - * @param pileConnectorCode 充电枪口编号 - * @param status 枪口状态 - */ - public abstract String notificationStationStatus(String pileConnectorCode, String status); - - /** - * 6.4 充电订单推送 - * - * @param orderCode 订单编号 - */ - public abstract String pushChargeOrderInfo(String orderCode); - - /** - * 6.5 设备接口状态查询 + * 6.5 设备接口状态查询 query_station_status * * @param dto 查询站点信息dto */ @@ -116,81 +106,171 @@ public abstract class AbsInterfaceWithPlatformLogic implements InitializingBean */ public abstract Map queryStationStats(QueryStationInfoDTO dto); - ///////////////////////////////// - /// 业务信息交换 10 个接口 Start /// - ///////////////////////////////// /** - * 请求设备认证 + * 查询充电电量信息 query_order_info + */ + public abstract Map queryOrderInfo(String orderCode); + + /** + * 请求设备认证 query_equip_auth * 业务信息交换 - * * @param dto 联联平台请求设备认证 */ public abstract Map queryEquipAuth(QueryEquipmentDTO dto); /** - * 查询业务策略信息结果 - * - * @param dto 请求启动充电DTO - */ - public abstract Map queryEquipBusinessPolicy(QueryStartChargeDTO dto); - - /** - * 请求启动充电 + * 请求启动充电 query_start_charge * * @param dto 请求启动充电DTO */ public abstract Map queryStartCharge(QueryStartChargeDTO dto); /** - * 推送启动充电结果 - * - * @param orderCode 订单编号 - */ - public abstract String notificationStartChargeResult(String orderCode); - - /** - * 查询充电状态 + * 查询充电状态 query_equip_charge_status * * @param dto 查询充电状态DTO */ public abstract Map queryEquipChargeStatus(QueryEquipChargeStatusDTO dto); /** - * 推送充电状态 - * - * @param orderCode 订单编号 - */ - public abstract String notificationEquipChargeStatus(String orderCode); - - /** - * 请求停止充电 + * 请求停止充电 query_stop_charge * * @param dto 请求启动充电DTO */ public abstract Map queryStopCharge(QueryStartChargeDTO dto); /** - * 推送停止充电结果 - * - * @param orderCode 订单编号 + * 充电站内充电桩空闲状态查询 query_free_pile_number */ - public abstract String notificationStopChargeResult(String orderCode); + public abstract Map queryFreePileNumber(NXJTQueryStationInfoDTO dto); /** - * 推送充电订单信息 - * + * 某车牌号消费记录查询 query_orders_info_by_Plate_number + */ + public abstract Map queryOrdersInfoByPlateNumber(NXJTQueryStationInfoDTO dto); + + /** + * 某段时间内消费记录查询 query_orders_info + */ + public abstract Map queryOrdersInfo(NXJTQueryStationInfoDTO dto); + + /** + * 查询业务策略信息结果 + * 请求计费策略 request_equip_business_policy + * @param dto 请求启动充电DTO + */ + public abstract Map queryEquipBusinessPolicy(QueryStartChargeDTO dto); + + /** + * 请求计费策略 request_equip_business_policy + * 华为平台 + * 合并到上面 查询业务策略信息结果 + */ + // public abstract Map requestEquipBusinessPolicy(QueryStationInfoDTO dto); + + /** + * VIN码充电 insert_start_charge + * 华为平台 + */ + public abstract Map insertStartCharge(QueryStationInfoDTO dto); + + /** + * 下发计费策略响应 notification_deliver_equip_business_policy_result + * 华为平台 + */ + public abstract Map notificationDeliverEquipBusinessPolicyResult(QueryStationInfoDTO dto); + + + // =================================================================================== // + // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 由对方平台实现此接口,我方平台调用的通知接口 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ // + // =================================================================================== // + + /** + * 充电站信息变化推送 notification_stationInfo + * 新站需要推送。当站点信息发生变化时,推送新的信息通知到市级平台 + * @param stationId 充电站id + */ + public abstract String notificationStationInfo(String stationId); + + /** + * 设备状态变化推送 notification_stationStatus + * 推送充电设备接口状态信息 supervise_notification_station_status + * @param pileConnectorCode 充电枪口编号 + * @param status 枪口状态 + */ + public abstract String notificationStationStatus(String pileConnectorCode, String status); + + /** + * 设备充电中状态变化推送 notification_connector_charge_status + * @param pileConnectorCode 充电枪口编号 + * @param status 枪口状态 + */ + public abstract String notificationConnectorChargeStatus(String pileConnectorCode, String status); + + /** + * 订单信息推送 notification_orderInfo + */ + public abstract String notificationOrderInfo(String orderCode); + + /** + * 站点费率变化推送 notification_stationFee + */ + public abstract String notificationStationFee(String stationId); + + /** + * 充电订单推送 notification_charge_order_info + * TODO 海南一张网文档中的接口,检查一下是否和订单信息推送notification_orderInfo一致 + * TODO 甬城泊车平台文档中的接口,检查一下是否和订单信息推送notification_orderInfo一致 + * TODO 华为平台文档中的接口,检查一下是否和订单信息推送notification_orderInfo一致 + * TODO 内蒙古平台文档中的接口,检查一下是否和订单信息推送notification_orderInfo一致 * @param orderCode 订单编号 */ public abstract String notificationChargeOrderInfo(String orderCode); + /** + * 告警信息推送 notification_alarmInfo + */ + public abstract String notificationAlarmInfo(); + + /** + * 推送启动充电结果 notification_start_charge_result + * @param orderCode 订单编号 + */ + public abstract String notificationStartChargeResult(String orderCode); + + /** + * 推送充电状态 notification_equip_charge_status + * 推送充电状态信息 supervise_notification_equip_charge_status + * @param orderCode 订单编号 + */ + public abstract String notificationEquipChargeStatus(String orderCode); + + /** + * 推送停止充电结果 notification_stop_charge_result + * @param orderCode 订单编号 + */ + public abstract String notificationStopChargeResult(String orderCode); + + /** + * 华为平台 + * 平台充电设备编码同步 notification_operation_system_info + */ + public abstract String notificationOperationSystemInfo(String orderCode); + + /** + * 推送充换电站用能统计信息 supervise_notification_operation_stats_info + */ + public abstract String notificationOperationStatsInfo(String stationId); + + /** + * 推送充电站历史充电订单信息 supervise_notification_charge_order_info_history + */ + public abstract String notificationChargeOrderInfoHistory(String stationId); + /** * 推送充电订单对账信息 */ - public abstract Map checkChargeOrders(); - - /////////////////////////////// - /// 业务信息交换 10 个接口 end /// - /////////////////////////////// + // public abstract Map checkChargeOrders(); // -------------------------------------- 以下是公用方法 --------------------------------------- // /** diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/hainan/service/HaiNanPlatformLogic.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/hainan/service/HaiNanPlatformLogic.java index 115cdc789..4d03f65d5 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/hainan/service/HaiNanPlatformLogic.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/hainan/service/HaiNanPlatformLogic.java @@ -20,6 +20,7 @@ import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.*; import com.jsowell.pile.domain.ykcCommond.StartChargingCommand; import com.jsowell.pile.dto.*; +import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO; import com.jsowell.pile.vo.base.ConnectorInfoVO; import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO; import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO; @@ -72,6 +73,16 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic { return zdlService.pushStationInfoV2(dto); } + /** + * 查询运营商信息 + * + * @param dto 查询运营商信息DTO + */ + @Override + public Map queryOperatorInfo(QueryOperatorInfoDTO dto) { + return null; + } + /** * 6.2 查询充电站信息 */ @@ -266,13 +277,44 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic { return result; } + /** + * 设备充电中状态变化推送 notification_connector_charge_status + * + * @param pileConnectorCode 充电枪口编号 + * @param status 枪口状态 + */ + @Override + public String notificationConnectorChargeStatus(String pileConnectorCode, String status) { + return null; + } + + /** + * 订单信息推送 notification_orderInfo + * + * @param orderCode + */ + @Override + public String notificationOrderInfo(String orderCode) { + return null; + } + + /** + * 站点费率变化推送 notification_stationFee + * + * @param stationId + */ + @Override + public String notificationStationFee(String stationId) { + return null; + } + /** * 6.4 充电订单推送 * * @param orderCode */ @Override - public String pushChargeOrderInfo(String orderCode) { + public String notificationChargeOrderInfo(String orderCode) { // 获取数据 OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode); OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode); @@ -314,6 +356,14 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic { return result; } + /** + * 告警信息推送 notification_alarmInfo + */ + @Override + public String notificationAlarmInfo() { + return null; + } + /** * 6.5 设备接口状态查询 * @@ -504,6 +554,27 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic { return resultMap; } + /** + * 查询充电电量信息 query_order_info + * + * @param orderCode + */ + @Override + public Map queryOrderInfo(String orderCode) { + return null; + } + + /** + * 充电站信息变化推送 notification_stationInfo + * 新站需要推送。当站点信息发生变化时,推送新的信息通知到市级平台 + * + * @param stationId 充电站id + */ + @Override + public String notificationStationInfo(String stationId) { + return null; + } + /** * 请求设备认证 * @@ -622,6 +693,30 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic { return resultMap; } + /** + * VIN码充电 insert_start_charge + * 华为平台 + * + * @param dto + */ + @Override + public Map insertStartCharge(QueryStationInfoDTO dto) { + //方法未实现,抛出异常 + throw new UnsupportedOperationException("This method is not yet implemented"); + } + + /** + * 下发计费策略响应 notification_deliver_equip_business_policy_result + * 华为平台 + * + * @param dto + */ + @Override + public Map notificationDeliverEquipBusinessPolicyResult(QueryStationInfoDTO dto) { + //方法未实现,抛出异常 + throw new UnsupportedOperationException("This method is not yet implemented"); + } + /** * 推送启动充电结果 * @@ -933,6 +1028,39 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic { return resultMap; } + /** + * 充电站内充电桩空闲状态查询 query_free_pile_number + * + * @param dto + */ + @Override + public Map queryFreePileNumber(NXJTQueryStationInfoDTO dto) { + //方法未实现,抛出异常 + throw new UnsupportedOperationException("This method is not yet implemented"); + } + + /** + * 某车牌号消费记录查询 query_orders_info_by_Plate_number + * + * @param dto + */ + @Override + public Map queryOrdersInfoByPlateNumber(NXJTQueryStationInfoDTO dto) { + //方法未实现,抛出异常 + throw new UnsupportedOperationException("This method is not yet implemented"); + } + + /** + * 某段时间内消费记录查询 query_orders_info + * + * @param dto + */ + @Override + public Map queryOrdersInfo(NXJTQueryStationInfoDTO dto) { + //方法未实现,抛出异常 + throw new UnsupportedOperationException("This method is not yet implemented"); + } + /** * 推送停止充电结果 * @@ -980,58 +1108,37 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic { } /** - * 推送充电订单信息 + * 华为平台 + * 平台充电设备编码同步 notification_operation_system_info * * @param orderCode */ @Override - public String notificationChargeOrderInfo(String orderCode) { - OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode); - OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode); - - // 通过站点id查询相关配置信息 - ThirdPartyStationRelation relation = new ThirdPartyStationRelation(); - relation.setStationId(Long.parseLong(orderBasicInfo.getStationId())); - ThirdPartyStationRelationVO relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation); - // ThirdPartySettingInfo settingInfo = thirdPartySettingInfoService.getInfoByStationId(Long.parseLong(orderBasicInfo.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 thirdPartyType = relationInfo.getThirdPartyType(); - - String url = urlAddress + BusinessInformationExchangeEnum.NOTIFICATION_CHARGE_ORDER_INFO.getValue(); - - JSONObject json = new JSONObject(); - json.put("StartChargeSeq", orderCode); - json.put("ConnectorID", orderBasicInfo.getPileConnectorCode()); - json.put("StartTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderBasicInfo.getChargeStartTime())); - json.put("EndTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderBasicInfo.getChargeEndTime())); - json.put("TotalPower", orderDetail.getTotalUsedElectricity().setScale(2, BigDecimal.ROUND_HALF_UP)); - json.put("TotalElecMoney", orderDetail.getTotalElectricityAmount().setScale(2, BigDecimal.ROUND_HALF_UP)); - json.put("TotalSeviceMoney", orderDetail.getTotalServiceAmount().setScale(2, BigDecimal.ROUND_HALF_UP)); - json.put("TotalMoney", orderDetail.getTotalOrderAmount().setScale(2, BigDecimal.ROUND_HALF_UP)); - json.put("StopReason", 2); // 2:BMS 停止充电 - - String jsonString = JSON.toJSONString(json); - - // 获取令牌 - String token = getToken(urlAddress, operatorId, operatorSecret, dataSecretIv, signSecret, dataSecret); - String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret, dataSecretIv, operatorId, signSecret); - return result; + public String notificationOperationSystemInfo(String orderCode) { + //方法未实现,抛出异常 + throw new UnsupportedOperationException("This method is not yet implemented"); } /** - * 推送充电订单对账信息 + * 推送充换电站用能统计信息 supervise_notification_operation_stats_info + * + * @param stationId */ @Override - public Map checkChargeOrders() { - return null; + public String notificationOperationStatsInfo(String stationId) { + //方法未实现,抛出异常 + throw new UnsupportedOperationException("This method is not yet implemented"); + } + + /** + * 推送充电站历史充电订单信息 supervise_notification_charge_order_info_history + * + * @param stationId + */ + @Override + public String notificationChargeOrderInfoHistory(String stationId) { + //方法未实现,抛出异常 + throw new UnsupportedOperationException("This method is not yet implemented"); } } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/neimenggu/service/NeiMengGuPlatformLogic.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/neimenggu/service/NeiMengGuPlatformLogic.java index 13e5e5e31..4997d0521 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/neimenggu/service/NeiMengGuPlatformLogic.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/neimenggu/service/NeiMengGuPlatformLogic.java @@ -1,10 +1,7 @@ package com.jsowell.thirdparty.platform.neimenggu.service; import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum; -import com.jsowell.pile.dto.QueryEquipChargeStatusDTO; -import com.jsowell.pile.dto.QueryEquipmentDTO; -import com.jsowell.pile.dto.QueryStartChargeDTO; -import com.jsowell.pile.dto.QueryStationInfoDTO; +import com.jsowell.pile.dto.*; import com.jsowell.thirdparty.platform.AbsInterfaceWithPlatformLogic; import com.jsowell.thirdparty.platform.InterfaceWithPlatformLogicFactory; @@ -20,6 +17,16 @@ public class NeiMengGuPlatformLogic extends AbsInterfaceWithPlatformLogic { InterfaceWithPlatformLogicFactory.register(ThirdPlatformTypeEnum.NEI_MENG_GU_PLATFORM.getCode(), this); } + /** + * 查询运营商信息 + * + * @param dto 查询运营商信息DTO + */ + @Override + public Map queryOperatorInfo(QueryOperatorInfoDTO dto) { + return null; + } + /** * 6.2 查询充电站信息 * @@ -47,7 +54,7 @@ public class NeiMengGuPlatformLogic extends AbsInterfaceWithPlatformLogic { * @param orderCode */ @Override - public String pushChargeOrderInfo(String orderCode) { + public String notificationChargeOrderInfo(String orderCode) { return null; } @@ -152,16 +159,6 @@ public class NeiMengGuPlatformLogic extends AbsInterfaceWithPlatformLogic { return null; } - /** - * 推送充电订单信息 - * - * @param orderCode - */ - @Override - public String notificationChargeOrderInfo(String orderCode) { - return null; - } - /** * 推送充电订单对账信息 */