From f250ff3ca1a6fcea53d706b6f8ed0ff6595b0a69 Mon Sep 17 00:00:00 2001 From: Lemon Date: Tue, 31 Oct 2023 14:31:42 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lianlian/LianLianController.java | 4 +- .../jsowell/pile/dto/QueryEquipmentDTO.java | 6 +- .../jsowell/pile/dto/QueryStartChargeDTO.java | 12 +- .../service/impl/LianLianServiceImpl.java | 6 +- .../yongchengboche/dto/YCBCGetTokenDTO.java | 12 ++ .../yongchengboche/dto/YCCommonParamsDTO.java | 18 ++ .../yongchengboche/service/YCBCService.java | 105 ++++++++++++ .../service/impl/YCBCServiceImpl.java | 154 ++++++++++++++++++ 8 files changed, 304 insertions(+), 13 deletions(-) create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCBCGetTokenDTO.java create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCCommonParamsDTO.java create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/YCBCService.java create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/impl/YCBCServiceImpl.java diff --git a/jsowell-admin/src/main/java/com/jsowell/thirdparty/lianlian/LianLianController.java b/jsowell-admin/src/main/java/com/jsowell/thirdparty/lianlian/LianLianController.java index 5f9969489..242a387db 100644 --- a/jsowell-admin/src/main/java/com/jsowell/thirdparty/lianlian/LianLianController.java +++ b/jsowell-admin/src/main/java/com/jsowell/thirdparty/lianlian/LianLianController.java @@ -343,7 +343,7 @@ public class LianLianController extends BaseController { String dataStr = new String(plainText, StandardCharsets.UTF_8); // 转换成相应对象 QueryStartChargeDTO queryStartChargeDTO = JSONObject.parseObject(dataStr, QueryStartChargeDTO.class); - queryStartChargeDTO.setOperatorID(dto.getOperatorID()); + queryStartChargeDTO.setOperatorId(dto.getOperatorID()); Map map = lianLianService.query_start_charge(queryStartChargeDTO); return CommonResult.success(0, "请求启动充电成功!", map.get("Data"), map.get("Sig")); @@ -467,7 +467,7 @@ public class LianLianController extends BaseController { String dataStr = new String(plainText, StandardCharsets.UTF_8); // 转换成相应对象 QueryStartChargeDTO queryStartChargeDTO = JSONObject.parseObject(dataStr, QueryStartChargeDTO.class); - queryStartChargeDTO.setOperatorID(dto.getOperatorID()); + queryStartChargeDTO.setOperatorId(dto.getOperatorID()); Map map = lianLianService.query_stop_charge(queryStartChargeDTO); return CommonResult.success(0, "请求停止充电成功!", map.get("Data"), map.get("Sig")); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java index b2fc0f30d..79b0ae060 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryEquipmentDTO.java @@ -17,14 +17,14 @@ public class QueryEquipmentDTO { * 27 字符 */ @JsonProperty(value = "EquipAuthSeq") - private String EquipAuthSeq; + private String equipAuthSeq; /** * 充电设备接口编码 */ @JsonProperty(value = "ConnectorID") - private String ConnectorID; + private String connectorID; @JsonProperty(value = "OperatorID") - private String OperatorID; + private String operatorID; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStartChargeDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStartChargeDTO.java index 42ae9015f..553c1b534 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStartChargeDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStartChargeDTO.java @@ -15,32 +15,32 @@ public class QueryStartChargeDTO { * 充电订单号 */ @JsonProperty(value = "StartChargeSeq") - private String StartChargeSeq; + private String startChargeSeq; /** * 充电设备接口编码 */ @JsonProperty(value = "ConnectorID") - private String ConnectorID; + private String connectorID; /** * 二维码 */ @JsonProperty(value = "QRCode") - private String QRCode; + private String qrCode; /** * 用户手机号 */ @JsonProperty(value = "PhoneNum") - private String PhoneNum; + private String phoneNum; /** * 车牌号 */ @JsonProperty(value = "PlateNum") - private String PlateNum; + private String plateNum; @JsonProperty(value = "OperatorID") - private String OperatorID; + private String operatorId; } 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 e20dc5334..9b81187bd 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 @@ -605,7 +605,7 @@ public class LianLianServiceImpl implements LianLianService { // 平台已存在订单 return null; } - ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorID()); + ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorId()); if (configInfo == null) { return null; } @@ -737,7 +737,7 @@ public class LianLianServiceImpl implements LianLianService { if (orderInfo == null) { return null; } - ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorID()); + ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorId()); if (configInfo == null) { return null; } @@ -752,6 +752,8 @@ public class LianLianServiceImpl implements LianLianService { vo.setStartChargeSeq(orderCode); vo.setStartChargeSeqStat(3); // 3-停止中 } + vo.setSuccStat(0); + vo.setFailReason(0); // 加密 Map resultMap = Maps.newLinkedHashMap(); // 加密数据 diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCBCGetTokenDTO.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCBCGetTokenDTO.java new file mode 100644 index 000000000..3785867e9 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCBCGetTokenDTO.java @@ -0,0 +1,12 @@ +package com.jsowell.thirdparty.yongchengboche.dto; + +import com.jsowell.thirdparty.zhongdianlian.dto.ZDLGetTokenDTO; + +/** + * TODO + * + * @author Lemon + * @Date 2023/10/30 15:49:51 + */ +public class YCBCGetTokenDTO extends ZDLGetTokenDTO { +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCCommonParamsDTO.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCCommonParamsDTO.java new file mode 100644 index 000000000..ac8ab4d3f --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/dto/YCCommonParamsDTO.java @@ -0,0 +1,18 @@ +package com.jsowell.thirdparty.yongchengboche.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO; +import lombok.Data; + +/** + * 甬城泊车通用请求参数DTO + * + * @author Lemon + * @Date 2023/10/30 15:53:35 + */ +@Data +public class YCCommonParamsDTO extends CommonParamsDTO { + + @JsonProperty(value = "AccessName") + private String accessName; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/YCBCService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/YCBCService.java new file mode 100644 index 000000000..d40343bfe --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/YCBCService.java @@ -0,0 +1,105 @@ +package com.jsowell.thirdparty.yongchengboche.service; + +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.thirdparty.yongchengboche.dto.YCBCGetTokenDTO; + +import java.io.UnsupportedEncodingException; +import java.util.Map; + +/** + * 甬城泊车 Service + * + * @author Lemon + * @Date 2023/10/30 15:44:09 + */ +public interface YCBCService { + /** + * 获取令牌 + * @param dto + * @return + */ + public String YCBCGetToken(YCBCGetTokenDTO dto); + + /** + * 查询站点信息 + * @param dto + * @return + */ + public Map queryStationsInfo(QueryStationInfoDTO dto); + + /** + * 设备接口状态查询 + * 此接口用于批量查询设备实时状态 + * + * @param dto + * @return + */ + Map queryStationStatus(QueryStationInfoDTO dto); + + + /** + * 设备状态变化推送 + * @param pileConnectorCode + * @param status + * @return + */ + String notificationStationStatus(String pileConnectorCode, String status); + + + /** + * 请求设备认证 + * @param dto + * @return + */ + Map queryEquipAuth(QueryEquipmentDTO dto); + + /** + * 请求开始充电 + * @param dto + * @return + */ + Map queryStartCharge(QueryStartChargeDTO dto); + + /** + * 推送启动充电结果 + * @return + */ + String pushStartChargeResult(String orderCode); + + /** + * 查询充电状态 + * @param dto + */ + Map queryEquipChargeStatus(QueryEquipChargeStatusDTO dto); + + /** + * 推送充电状态 + * @param orderCode + * @return + */ + String pushChargeStatus(String orderCode) throws UnsupportedEncodingException; + + /** + * 请求停止充电 + * @param dto + * @return + */ + Map queryStopCharge(QueryStartChargeDTO dto); + + /** + * 推送停止充电结果(仅在 0x19的帧类型中调用) + * @param orderCode + * @return + */ + String pushStopChargeResult(String orderCode); + + /** + * 推送充电订单信息 + * @param orderCode + * @return + */ + String pushChargeOrderInfo(String orderCode); +} \ No newline at end of file diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/impl/YCBCServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/impl/YCBCServiceImpl.java new file mode 100644 index 000000000..b2f737094 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/yongchengboche/service/impl/YCBCServiceImpl.java @@ -0,0 +1,154 @@ +package com.jsowell.thirdparty.yongchengboche.service.impl; + +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.thirdparty.lianlian.service.LianLianService; +import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO; +import com.jsowell.thirdparty.yongchengboche.service.YCBCService; +import com.jsowell.thirdparty.zhongdianlian.service.ZDLService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.UnsupportedEncodingException; +import java.util.Map; + +/** + * 甬城泊车 Service + * + * @author Lemon + * @Date 2023/10/30 15:44:58 + */ +@Service +public class YCBCServiceImpl implements YCBCService { + + @Autowired + private ZDLService zdlService; + + @Autowired + private LianLianService lianLianService; + + + /** + * 获取令牌 + * @param dto + * @return + */ + @Override + public String YCBCGetToken(YCBCGetTokenDTO dto) { + return zdlService.ZDLGetToken(dto); + } + + /** + * 获取充电站信息 + * @param dto + * @return + */ + @Override + public Map queryStationsInfo(QueryStationInfoDTO dto) { + return zdlService.queryStationsInfo(dto); + } + + + /** + * 设备接口状态查询 + * @param dto + * @return + */ + @Override + public Map queryStationStatus(QueryStationInfoDTO dto) { + return zdlService.queryStationStatus(dto); + } + + /** + * 设备状态变化推送 + * @param pileConnectorCode + * @param status + * @return + */ + @Override + public String notificationStationStatus(String pileConnectorCode, String status) { + return zdlService.notificationStationStatus(pileConnectorCode, status); + } + + /** + * 请求设备认证 + * @param dto + * @return + */ + @Override + public Map queryEquipAuth(QueryEquipmentDTO dto) { + return lianLianService.query_equip_auth(dto); + } + + /** + * 请求开始充电 + * @param dto + * @return + */ + @Override + public Map queryStartCharge(QueryStartChargeDTO dto) { + return lianLianService.query_start_charge(dto); + } + + /** + * 推送启动充电结果 + * @return + */ + @Override + public String pushStartChargeResult(String orderCode) { + return lianLianService.pushStartChargeResult(orderCode); + } + + /** + * 查询充电状态 + * @param dto + */ + @Override + public Map queryEquipChargeStatus(QueryEquipChargeStatusDTO dto) { + return lianLianService.query_equip_charge_status(dto); + } + + /** + * 推送充电状态 + * @param orderCode + * @return + */ + @Override + public String pushChargeStatus(String orderCode) throws UnsupportedEncodingException { + return lianLianService.pushChargeStatus(orderCode); + } + + /** + * 请求停止充电 + * @param dto + * @return + */ + @Override + public Map queryStopCharge(QueryStartChargeDTO dto) { + return lianLianService.query_stop_charge(dto); + } + + /** + * 推送停止充电结果(仅在 0x19的帧类型中调用) + * @param orderCode + * @return + */ + @Override + public String pushStopChargeResult(String orderCode) { + return lianLianService.pushStopChargeResult(orderCode); + } + + /** + * 推送充电订单信息 + * @param orderCode + * @return + */ + @Override + public String pushChargeOrderInfo(String orderCode) { + return lianLianService.pushChargeOrderInfo(orderCode); + } + + +}