瀏覽代碼

1. 修正 下發給電樁指令 如果內部API 回覆 Code=2102 改成 CHARGEBOXID_ISNT_EXIST_OR_OFFLINE
2. Charge Status Remove=> offline

Jessica Tseng 3 年之前
父節點
當前提交
83c2a50a81

+ 74 - 20
EVCB_OCPP.WEBAPI/Controllers/Version1/CPOController.cs

@@ -443,9 +443,18 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
                 else
                 {
 
-                    result.StatusCode = _innerResult.ErrorCode;
-                    result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
-                    statusCode = HttpStatusCode.BadRequest;
+                    if (_innerResult.ErrorCode == (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE)
+                    {
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_CHARGEBOXID_DOESNT_EXIST;
+                        result.StatusCode = (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE;
+                        statusCode = HttpStatusCode.OK;
+                    }
+                    else
+                    {
+                        result.StatusCode = _innerResult.ErrorCode;
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
+                        statusCode = HttpStatusCode.BadRequest;
+                    }
                 }
             }
             catch (Exception ex)
@@ -460,10 +469,10 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
         }
 
 
-        [Route("commands/chargingporfiles")]
+        [Route("commands/chargingprofiles")]
         [ResponseType(typeof(CPOOuterResponse))]
         [HttpGet]
-        async public Task<HttpResponseMessage> GetActiveChargingPorfile(string ChargeBoxId, int ConnectorId, int Duration)
+        async public Task<HttpResponseMessage> GetActiveChargingProfile(string ChargeBoxId, int ConnectorId, int Duration)
         {
             var result = new CPOOuterResponse();
             HttpStatusCode statusCode = HttpStatusCode.InternalServerError;
@@ -510,10 +519,19 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
                 }
                 else
                 {
+                    if (_innerResult.ErrorCode == (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE)
+                    {
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_CHARGEBOXID_DOESNT_EXIST;
+                        result.StatusCode = (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE;
+                        statusCode = HttpStatusCode.OK;
+                    }
+                    else
+                    {
+                        result.StatusCode = _innerResult.ErrorCode;
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
+                        statusCode = HttpStatusCode.BadRequest;
+                    }
 
-                    result.StatusCode = _innerResult.ErrorCode;
-                    result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
-                    statusCode = HttpStatusCode.BadRequest;
                 }
             }
             catch (Exception ex)
@@ -579,9 +597,18 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
                 else
                 {
 
-                    result.StatusCode = _innerResult.ErrorCode;
-                    result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
-                    statusCode = HttpStatusCode.BadRequest;
+                    if (_innerResult.ErrorCode == (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE)
+                    {
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_CHARGEBOXID_DOESNT_EXIST;
+                        result.StatusCode = (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE;
+                        statusCode = HttpStatusCode.OK;
+                    }
+                    else
+                    {
+                        result.StatusCode = _innerResult.ErrorCode;
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
+                        statusCode = HttpStatusCode.BadRequest;
+                    }
                 }
                 ChargePointService chargePointService = new ChargePointService();
 
@@ -654,9 +681,18 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
                 else
                 {
 
-                    result.StatusCode = _innerResult.ErrorCode;
-                    result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
-                    statusCode = HttpStatusCode.BadRequest;
+                    if (_innerResult.ErrorCode == (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE)
+                    {
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_CHARGEBOXID_DOESNT_EXIST;
+                        result.StatusCode = (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE;
+                        statusCode = HttpStatusCode.OK;
+                    }
+                    else
+                    {
+                        result.StatusCode = _innerResult.ErrorCode;
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
+                        statusCode = HttpStatusCode.BadRequest;
+                    }
                 }
             }
             catch (Exception ex)
@@ -724,9 +760,18 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
                 else
                 {
 
-                    result.StatusCode = _innerResult.ErrorCode;
-                    result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
-                    statusCode = HttpStatusCode.BadRequest;
+                    if (_innerResult.ErrorCode == (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE)
+                    {
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_CHARGEBOXID_DOESNT_EXIST;
+                        result.StatusCode = (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE;
+                        statusCode = HttpStatusCode.OK;
+                    }
+                    else
+                    {
+                        result.StatusCode = _innerResult.ErrorCode;
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
+                        statusCode = HttpStatusCode.BadRequest;
+                    }
                 }
             }
             catch (Exception ex)
@@ -795,9 +840,18 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
                 else
                 {
 
-                    result.StatusCode = _innerResult.ErrorCode;
-                    result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
-                    statusCode = HttpStatusCode.BadRequest;
+                    if (_innerResult.ErrorCode == (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE)
+                    {
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_CHARGEBOXID_DOESNT_EXIST;
+                        result.StatusCode = (int)CPO_StatusCode.CHARGEBOXID_ISNT_EXIST_OR_OFFLINE;
+                        statusCode = HttpStatusCode.OK;
+                    }
+                    else
+                    {
+                        result.StatusCode = _innerResult.ErrorCode;
+                        result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
+                        statusCode = HttpStatusCode.BadRequest;
+                    }
                 }
 
                 statusCode = HttpStatusCode.OK;

+ 6 - 0
EVCB_OCPP.WEBAPI/GitVersion.yml

@@ -0,0 +1,6 @@
+assembly-versioning-scheme: MajorMinorPatch
+assembly-informational-format: '{ShortSha}'
+next-version: 0.1.0
+branches: {}
+ignore:
+  sha: []

+ 1 - 1
EVCB_OCPP.WEBAPI/Models/WebAPI/Dto/Status.cs

@@ -16,7 +16,7 @@ namespace EVCB_OCPP.WEBAPI.Models.WebAPI.Dto
         Reserved,
         Unavailable,
         Faulted,
-        Remove,
+        Offline,
         Unknown
 
     }

+ 2 - 2
EVCB_OCPP.WEBAPI/Services/ChargePointService.cs

@@ -118,7 +118,7 @@ namespace EVCB_OCPP.WEBAPI.Services
                 cp.ChargeBoxId = _machine.ChargeBoxId;
                 cp.NumberofConnectors = _machine.GunAmt;
                 cp.RatedPower = _machine.RatedPower;
-                cp.Status = _machine.Online ? Status.Available : Status.Remove;
+                cp.Status = _machine.Online ? Status.Available : Status.Offline;
                 cp.LastUpdated = _machine.CreatedOn > _machine.OfflineOn ? _machine.CreatedOn : _machine.OfflineOn;
                 cp.Coordinates = new GeoLocation() { Latitude = _machine.Latitude, Longitude = _machine.Longitude };
                 cp.Connectors = new List<Connector>();
@@ -129,7 +129,7 @@ namespace EVCB_OCPP.WEBAPI.Services
                     cp.Connectors.Add(new Connector()
                     {
                         ConnectorId = _RefConnector == null ? i : _RefConnector.ConnectorId,
-                        Status = cp.Status == Status.Remove ? Status.Remove : _RefConnector == null ? Status.Unknown : ConvertConnectorStatus(_RefConnector.Status),
+                        Status = cp.Status == Status.Offline ? Status.Offline : _RefConnector == null ? Status.Unknown : ConvertConnectorStatus(_RefConnector.Status),
                         ConnectorType = ConvertConnectorType(int.Parse(_machine.ConnectorType.Split(',')[i - 1])),
                         FaultMessage = ((ChargePointErrorCode)_RefConnector.ChargePointErrorCodeId).ToString() + (string.IsNullOrEmpty(_RefConnector.VendorErrorCode) ? "" : "-" + _RefConnector.VendorErrorCode)