Commit 2abe7fc5 by banice

将response也写入日志当中

parent 354ef632
...@@ -2,7 +2,7 @@ REDIS_HOST=redis.test.senthink.com ...@@ -2,7 +2,7 @@ REDIS_HOST=redis.test.senthink.com
REGISTER_IP=127.0.0.1 REGISTER_IP=127.0.0.1
REGISTER_PORT=1239 REGISTER_PORT=1239
GATEWAY_PORT=8282 GATEWAY_PORT=8283
GATEWAY_IP=127.0.0.1 GATEWAY_IP=127.0.0.1
GATEWAY_COUNT=1 GATEWAY_COUNT=1
GATEWAY_START_PORT=2130 GATEWAY_START_PORT=2130
...@@ -25,6 +25,9 @@ MESSAGE_API_URL=https://cdzback2.test.senthink.com ...@@ -25,6 +25,9 @@ MESSAGE_API_URL=https://cdzback2.test.senthink.com
MESSAGE_START=L9SEWl3X73v3PBYHtFBZlTlJeBMdO9DDNIwRgHX6SrY MESSAGE_START=L9SEWl3X73v3PBYHtFBZlTlJeBMdO9DDNIwRgHX6SrY
MESSAGE_FAIL=0al-a6kkNsdqFyXPEe97m4jjtbfOXjEC3eCjEsMHJdw MESSAGE_FAIL=0al-a6kkNsdqFyXPEe97m4jjtbfOXjEC3eCjEsMHJdw
MESSAGE_POWER_EXCEED=rdzTNQ7t4uRXkP0SkuwW10WH77A_CIgYFiJykXJ0utU MESSAGE_POWER_EXCEED=rdzTNQ7t4uRXkP0SkuwW10WH77A_CIgYFiJykXJ0utU
MESSAGE_FINISH_USER=f0DDXSxvRTbHyzkCnwnYijtgteFTdfdUR7J8REwTYJ8
MESSAGE_PORT_SHED=C0LvfETe-1rCR_IhOydDGPTUwwYkrWZxgfwMsETrhw8
MESSAGE_CHARGER_TIMEOUT=f0DDXSxvRTbHyzkCnwnYijtgteFTdfdUR7J8REwTYJ8
LOW_POWER_LIMIT=30
...@@ -26,5 +26,4 @@ MESSAGE_START=L9SEWl3X73v3PBYHtFBZlTlJeBMdO9DDNIwRgHX6SrY ...@@ -26,5 +26,4 @@ MESSAGE_START=L9SEWl3X73v3PBYHtFBZlTlJeBMdO9DDNIwRgHX6SrY
MESSAGE_FAIL=0al-a6kkNsdqFyXPEe97m4jjtbfOXjEC3eCjEsMHJdw MESSAGE_FAIL=0al-a6kkNsdqFyXPEe97m4jjtbfOXjEC3eCjEsMHJdw
MESSAGE_POWER_EXCEED=rdzTNQ7t4uRXkP0SkuwW10WH77A_CIgYFiJykXJ0utU MESSAGE_POWER_EXCEED=rdzTNQ7t4uRXkP0SkuwW10WH77A_CIgYFiJykXJ0utU
LOW_POWER_LIMIT=30
...@@ -17,95 +17,105 @@ ...@@ -17,95 +17,105 @@
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="Route.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Controller.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/route/Route.php"> <entry file="file://$PROJECT_DIR$/application/controller/Controller.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="380"> <state relative-caret-position="384">
<caret line="55" column="0" lean-forward="false" selection-start-line="55" selection-start-column="0" selection-end-line="55" selection-end-column="0" /> <caret line="168" column="9" lean-forward="true" selection-start-line="168" selection-start-column="9" selection-end-line="168" selection-end-column="9" />
<folding>
<element signature="e#126#152#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="StateController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/application/controller/business/port/StateController.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-474">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Events.php" pinned="false" current-in-tab="true"> <file leaf-file-name="CapacityController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/application/Events.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/power/CapacityController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="419"> <state relative-caret-position="0">
<caret line="101" column="17" lean-forward="false" selection-start-line="101" selection-start-column="17" selection-end-line="101" selection-end-column="17" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Api.php" pinned="false" current-in-tab="false"> <file leaf-file-name="PowerController.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/application/route/Api.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/power/PowerController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-468"> <state relative-caret-position="624">
<caret line="13" column="27" lean-forward="true" selection-start-line="13" selection-start-column="27" selection-end-line="13" selection-end-column="27" /> <caret line="74" column="22" lean-forward="false" selection-start-line="74" selection-start-column="22" selection-end-line="74" selection-end-column="22" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="CertifyController.php" pinned="false" current-in-tab="false"> <file leaf-file-name="OrderSaveRedis.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/application/controller/accept/CertifyController.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/save/OrderSaveRedis.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="299"> <state relative-caret-position="330">
<caret line="38" column="1" lean-forward="false" selection-start-line="38" selection-start-column="1" selection-end-line="38" selection-end-column="1" /> <caret line="27" column="35" lean-forward="false" selection-start-line="27" selection-start-column="35" selection-end-line="27" selection-end-column="35" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Request.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Order.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/request/Request.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/Order.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="-980">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="13" column="6" lean-forward="false" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="6" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Response.php" pinned="false" current-in-tab="false"> <file leaf-file-name="OnlineController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/response/Response.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/port/OnlineController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="188"> <state relative-caret-position="0">
<caret line="65" column="0" lean-forward="false" selection-start-line="65" selection-start-column="0" selection-end-line="65" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="AccessController.php" pinned="false" current-in-tab="false"> <file leaf-file-name="OfflineController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/application/controller/accept/AccessController.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/port/OfflineController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="304"> <state relative-caret-position="0">
<caret line="100" column="0" lean-forward="false" selection-start-line="100" selection-start-column="0" selection-end-line="100" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding />
<element signature="e#978#1032#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Controller.php" pinned="false" current-in-tab="false"> <file leaf-file-name="AccessController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/application/controller/Controller.php"> <entry file="file://$PROJECT_DIR$/application/controller/accept/AccessController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="773"> <state relative-caret-position="-1608">
<caret line="186" column="0" lean-forward="false" selection-start-line="186" selection-start-column="0" selection-end-line="186" selection-end-column="0" /> <caret line="121" column="0" lean-forward="false" selection-start-line="121" selection-start-column="0" selection-end-line="121" selection-end-column="0" />
<folding> <folding>
<element signature="e#126#152#0#PHP" expanded="true" /> <element signature="e#978#1032#0#PHP" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Record.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Response.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/log/record/Record.php"> <entry file="file://$PROJECT_DIR$/src/response/Response.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="410"> <state relative-caret-position="319">
<caret line="60" column="0" lean-forward="true" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" /> <caret line="113" column="20" lean-forward="false" selection-start-line="113" selection-start-column="20" selection-end-line="113" selection-end-column="20" />
<folding /> <folding />
</state> </state>
</provider> </provider>
...@@ -122,8 +132,9 @@ ...@@ -122,8 +132,9 @@
<find>spl_</find> <find>spl_</find>
<find>var_dump</find> <find>var_dump</find>
<find>static::add</find> <find>static::add</find>
<find>var_dum</find>
<find>var_du</find> <find>var_du</find>
<find>var_dum</find>
<find>unset(resp</find>
</findStrings> </findStrings>
<replaceStrings> <replaceStrings>
<replace>$this-&gt;nowDate</replace> <replace>$this-&gt;nowDate</replace>
...@@ -138,35 +149,8 @@ ...@@ -138,35 +149,8 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/src/request/Request.php" />
<option value="$PROJECT_DIR$/application/controller/HeartController.php" />
<option value="$PROJECT_DIR$/application/model/Model.php" />
<option value="$PROJECT_DIR$/src/command/Command.php" />
<option value="$PROJECT_DIR$/src/command/SendCommand.php" />
<option value="$PROJECT_DIR$/src/command/StopChargerCommand.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/WaitingState.php" />
<option value="$PROJECT_DIR$/application/start_gateway.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/OfflineState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/StopCharger.php" />
<option value="$PROJECT_DIR$/lib/rabbitmq/MyRabbitMq.php" />
<option value="$PROJECT_DIR$/.env" />
<option value="$PROJECT_DIR$/lib/rabbitmq/PublishPortShed.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/OfflineNetState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/OfflinePowerState.php" />
<option value="$PROJECT_DIR$/lib/station/gateway/port/Port.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/ShedState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/PowerExceedState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/ExceptionState.php" />
<option value="$PROJECT_DIR$/lib/station/gateway/Gateway.php" />
<option value="$PROJECT_DIR$/lib/station/Station.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/Order.php" />
<option value="$PROJECT_DIR$/application/model/OrderPower.php" />
<option value="$PROJECT_DIR$/.example" />
<option value="$PROJECT_DIR$/gitignore" />
<option value="$PROJECT_DIR$/src/exception/order/Exception.php" />
<option value="$PROJECT_DIR$/src/exception/order/OrderException.php" /> <option value="$PROJECT_DIR$/src/exception/order/OrderException.php" />
<option value="$PROJECT_DIR$/application/model/GatewayLogModel.php" /> <option value="$PROJECT_DIR$/application/model/GatewayLogModel.php" />
<option value="$PROJECT_DIR$/src/log/GatewayLogWriter.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/NoticePortShed.php" /> <option value="$PROJECT_DIR$/lib/cdz/order/NoticePortShed.php" />
<option value="$PROJECT_DIR$/src/Test.php" /> <option value="$PROJECT_DIR$/src/Test.php" />
<option value="$PROJECT_DIR$/application/controller/TestController.php" /> <option value="$PROJECT_DIR$/application/controller/TestController.php" />
...@@ -174,21 +158,48 @@ ...@@ -174,21 +158,48 @@
<option value="$PROJECT_DIR$/start.php" /> <option value="$PROJECT_DIR$/start.php" />
<option value="$PROJECT_DIR$/test/test.php" /> <option value="$PROJECT_DIR$/test/test.php" />
<option value="$PROJECT_DIR$/src/Container.php" /> <option value="$PROJECT_DIR$/src/Container.php" />
<option value="$PROJECT_DIR$/application/controller/business/charger/OverController.php" />
<option value="$PROJECT_DIR$/application/controller/business/charger/StartController.php" /> <option value="$PROJECT_DIR$/application/controller/business/charger/StartController.php" />
<option value="$PROJECT_DIR$/application/controller/business/port/OfflineController.php" /> <option value="$PROJECT_DIR$/application/controller/business/port/OfflineController.php" />
<option value="$PROJECT_DIR$/application/controller/business/port/OnlineController.php" /> <option value="$PROJECT_DIR$/application/controller/business/port/OnlineController.php" />
<option value="$PROJECT_DIR$/application/controller/business/port/StateController.php" /> <option value="$PROJECT_DIR$/application/controller/business/port/StateController.php" />
<option value="$PROJECT_DIR$/application/controller/business/power/CapacityController.php" /> <option value="$PROJECT_DIR$/application/controller/business/power/CapacityController.php" />
<option value="$PROJECT_DIR$/application/controller/business/power/PowerController.php" />
<option value="$PROJECT_DIR$/src/response/Response.php" />
<option value="$PROJECT_DIR$/src/route/Route.php" /> <option value="$PROJECT_DIR$/src/route/Route.php" />
<option value="$PROJECT_DIR$/application/model/ConfigModel.php" />
<option value="$PROJECT_DIR$/application/model/StationModel.php" />
<option value="$PROJECT_DIR$/.example" />
<option value="$PROJECT_DIR$/application/controller/business/power/ShutDownController.php" />
<option value="$PROJECT_DIR$/application/controller/business/power/ShutdownController.php" />
<option value="$PROJECT_DIR$/application/route/Api.php" /> <option value="$PROJECT_DIR$/application/route/Api.php" />
<option value="$PROJECT_DIR$/application/controller/setting/SettingController.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/State.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/OfflineNetState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/ExceptionState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/OfflinePowerState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/PowerExceedState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/PowerFullState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/ShedState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/ShedTimeoutState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/TimeoutState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/WaitingState.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/Order.php" />
<option value="$PROJECT_DIR$/application/controller/business/charger/OverController.php" />
<option value="$PROJECT_DIR$/lib/remote/api/message/Message.php" />
<option value="$PROJECT_DIR$/lib/remote/api/message/FinishByUserMessage.php" />
<option value="$PROJECT_DIR$/lib/remote/api/message/ShedMessage.php" />
<option value="$PROJECT_DIR$/lib/remote/api/message/ChargerTimeoutMessage.php" />
<option value="$PROJECT_DIR$/lib/cdz/order/state/ChargerState.php" />
<option value="$PROJECT_DIR$/.env" />
<option value="$PROJECT_DIR$/application/controller/HeartController.php" />
<option value="$PROJECT_DIR$/application/start_gateway.php" />
<option value="$PROJECT_DIR$/application/Events.php" />
<option value="$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Bintohex.php" />
<option value="$PROJECT_DIR$/application/controller/accept/CertifyController.php" /> <option value="$PROJECT_DIR$/application/controller/accept/CertifyController.php" />
<option value="$PROJECT_DIR$/application/controller/Controller.php" /> <option value="$PROJECT_DIR$/src/response/Response.php" />
<option value="$PROJECT_DIR$/application/controller/accept/AccessController.php" />
<option value="$PROJECT_DIR$/src/log/record/Record.php" /> <option value="$PROJECT_DIR$/src/log/record/Record.php" />
<option value="$PROJECT_DIR$/application/Events.php" /> <option value="$PROJECT_DIR$/src/log/GatewayLogWriter.php" />
<option value="$PROJECT_DIR$/application/controller/accept/AccessController.php" />
<option value="$PROJECT_DIR$/application/controller/Controller.php" />
<option value="$PROJECT_DIR$/application/controller/business/power/PowerController.php" />
</list> </list>
</option> </option>
</component> </component>
...@@ -220,10 +231,8 @@ ...@@ -220,10 +231,8 @@
</include_path> </include_path>
</component> </component>
<component name="ProjectFrameBounds" fullScreen="true"> <component name="ProjectFrameBounds" fullScreen="true">
<option name="x" value="103" /> <option name="width" value="1920" />
<option name="y" value="51" /> <option name="height" value="1080" />
<option name="width" value="1752" />
<option name="height" value="1057" />
</component> </component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true"> <component name="ProjectLevelVcsManager" settingsEditedManually="true">
<ConfirmationsSetting value="2" id="Add" /> <ConfirmationsSetting value="2" id="Add" />
...@@ -259,6 +268,42 @@ ...@@ -259,6 +268,42 @@
</path> </path>
<path> <path>
<item name="cdz_gateway_v2" type="b2602c69:ProjectViewProjectNode" /> <item name="cdz_gateway_v2" type="b2602c69:ProjectViewProjectNode" />
<item name="cdz_gateway_v2" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="application" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="controller" type="2a2b976b:PhpTreeStructureProvider$1" />
</path>
<path>
<item name="cdz_gateway_v2" type="b2602c69:ProjectViewProjectNode" />
<item name="cdz_gateway_v2" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="application" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="controller" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="accept" type="2a2b976b:PhpTreeStructureProvider$1" />
</path>
<path>
<item name="cdz_gateway_v2" type="b2602c69:ProjectViewProjectNode" />
<item name="cdz_gateway_v2" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="application" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="controller" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="business" type="2a2b976b:PhpTreeStructureProvider$1" />
</path>
<path>
<item name="cdz_gateway_v2" type="b2602c69:ProjectViewProjectNode" />
<item name="cdz_gateway_v2" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="application" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="controller" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="business" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="port" type="2a2b976b:PhpTreeStructureProvider$1" />
</path>
<path>
<item name="cdz_gateway_v2" type="b2602c69:ProjectViewProjectNode" />
<item name="cdz_gateway_v2" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="application" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="controller" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="business" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="power" type="2a2b976b:PhpTreeStructureProvider$1" />
</path>
<path>
<item name="cdz_gateway_v2" type="b2602c69:ProjectViewProjectNode" />
<item name="External Libraries" type="bcb0276e:PhpExternalLibrariesNodePatcher$PatchedExternalLibrariesNode" /> <item name="External Libraries" type="bcb0276e:PhpExternalLibrariesNodePatcher$PatchedExternalLibrariesNode" />
</path> </path>
</expand> </expand>
...@@ -312,15 +357,16 @@ ...@@ -312,15 +357,16 @@
<workItem from="1533865958021" duration="13063000" /> <workItem from="1533865958021" duration="13063000" />
<workItem from="1533890909526" duration="33446000" /> <workItem from="1533890909526" duration="33446000" />
<workItem from="1534736026759" duration="2486000" /> <workItem from="1534736026759" duration="2486000" />
<workItem from="1534745314460" duration="52200000" /> <workItem from="1534745314460" duration="73568000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="104057000" /> <option name="totallyTimeSpent" value="125425000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="0" width="1920" height="1080" extended-state="0" /> <frame x="0" y="0" width="1920" height="1080" extended-state="0" />
<editor active="true" />
<layout> <layout>
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
...@@ -328,7 +374,7 @@ ...@@ -328,7 +374,7 @@
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32969216" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32969216" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Thumbnails" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32969216" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> <window_info id="Thumbnails" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32969216" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.23535253" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.23535253" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2513312" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2513312" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
...@@ -356,431 +402,421 @@ ...@@ -356,431 +402,421 @@
<watches-manager /> <watches-manager />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/lib/rabbitmq/MyRabbitMq.php"> <entry file="file://$PROJECT_DIR$/src/Message.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="496"> <state relative-caret-position="0">
<caret line="59" column="44" lean-forward="true" selection-start-line="59" selection-start-column="44" selection-end-line="59" selection-end-column="44" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/rabbitmq/PublishPortShed.php"> <entry file="file://$PROJECT_DIR$/src/request/Request.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="480"> <state relative-caret-position="0">
<caret line="37" column="41" lean-forward="true" selection-start-line="37" selection-start-column="41" selection-end-line="37" selection-end-column="41" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/state/State.php"> <entry file="file://$PROJECT_DIR$/src/route/Route.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="465"> <state relative-caret-position="380">
<caret line="36" column="20" lean-forward="false" selection-start-line="36" selection-start-column="20" selection-end-line="36" selection-end-column="20" /> <caret line="55" column="0" lean-forward="false" selection-start-line="55" selection-start-column="0" selection-end-line="55" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/state/OfflineNetState.php"> <entry file="file://$PROJECT_DIR$/test/test.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="501">
<caret line="68" column="42" lean-forward="true" selection-start-line="68" selection-start-column="42" selection-end-line="68" selection-end-column="42" />
<folding>
<element signature="e#123#156#0#PHP" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/state/OfflinePowerState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="355"> <state relative-caret-position="195">
<caret line="38" column="19" lean-forward="false" selection-start-line="38" selection-start-column="19" selection-end-line="38" selection-end-column="19" /> <caret line="18" column="8" lean-forward="false" selection-start-line="18" selection-start-column="8" selection-end-line="18" selection-end-column="8" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/state/WaitingState.php"> <entry file="file://$PROJECT_DIR$/application/model/ConfigModel.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="411"> <state relative-caret-position="300">
<caret line="63" column="20" lean-forward="false" selection-start-line="63" selection-start-column="20" selection-end-line="63" selection-end-column="20" /> <caret line="25" column="0" lean-forward="true" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
<folding> <folding>
<element signature="e#124#166#0#PHP" expanded="false" /> <marker date="1534903681000" expanded="true" signature="270:299" ph="SELECT id , " />
<marker date="1534903681000" expanded="true" signature="270:300" ph="SELECT id , ${$this-&gt;table}" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/php/lib/php.jar!/stubs/redis/Redis.php"> <entry file="file://$PROJECT_DIR$/application/model/StationModel.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="326"> <state relative-caret-position="135">
<caret line="2762" column="20" lean-forward="false" selection-start-line="2762" selection-start-column="20" selection-end-line="2762" selection-end-column="20" /> <caret line="14" column="0" lean-forward="false" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/state/ShedState.php"> <entry file="file://$PROJECT_DIR$/.example">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210"> <state relative-caret-position="420">
<caret line="19" column="5" lean-forward="false" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" /> <caret line="28" column="0" lean-forward="false" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/state/PowerExceedState.php"> <entry file="file://$PROJECT_DIR$/application/route/Api.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195"> <state relative-caret-position="375">
<caret line="18" column="5" lean-forward="false" selection-start-line="18" selection-start-column="5" selection-end-line="18" selection-end-column="5" /> <caret line="37" column="0" lean-forward="false" selection-start-line="37" selection-start-column="0" selection-end-line="37" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/state/ExceptionState.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/power/ShutdownController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="795"> <state relative-caret-position="270">
<caret line="58" column="5" lean-forward="false" selection-start-line="58" selection-start-column="5" selection-end-line="58" selection-end-column="5" /> <caret line="23" column="32" lean-forward="false" selection-start-line="23" selection-start-column="32" selection-end-line="23" selection-end-column="32" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/station/gateway/Gateway.php"> <entry file="file://$PROJECT_DIR$/lib/StateCode.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state relative-caret-position="615">
<caret line="13" column="58" lean-forward="false" selection-start-line="13" selection-start-column="58" selection-end-line="13" selection-end-column="58" /> <caret line="46" column="26" lean-forward="false" selection-start-line="46" selection-start-column="26" selection-end-line="46" selection-end-column="26" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/station/Station.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/ExceptionState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state relative-caret-position="237">
<caret line="13" column="58" lean-forward="false" selection-start-line="13" selection-start-column="58" selection-end-line="13" selection-end-column="58" /> <caret line="21" column="4" lean-forward="false" selection-start-line="21" selection-start-column="4" selection-end-line="21" selection-end-column="4" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/Order.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/OfflineNetState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="594"> <state relative-caret-position="480">
<caret line="122" column="31" lean-forward="false" selection-start-line="122" selection-start-column="31" selection-end-line="122" selection-end-column="31" /> <caret line="41" column="5" lean-forward="false" selection-start-line="41" selection-start-column="5" selection-end-line="41" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/model/Model.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/OfflinePowerState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="460"> <state relative-caret-position="225">
<caret line="62" column="28" lean-forward="false" selection-start-line="62" selection-start-column="28" selection-end-line="62" selection-end-column="28" /> <caret line="23" column="5" lean-forward="false" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
<folding> <folding />
<marker date="1534755589000" expanded="true" signature="594:633" ph="SELECT ${$co... ${$this-&gt;table}" />
<marker date="1534755589000" expanded="true" signature="921:961" ph="SELECT ${$co... ${$this-&gt;table}" />
<marker date="1534755589000" expanded="true" signature="1253:1293" ph="SELECT ${$co... ${$this-&gt;table}" />
<marker date="1534755589000" expanded="true" signature="1443:1476" ph="SELECT * FRO... ${$this-&gt;table}" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/model/OrderPowerModel.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/PowerExceedState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165"> <state relative-caret-position="225">
<caret line="16" column="0" lean-forward="false" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" /> <caret line="23" column="5" lean-forward="false" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/.example"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/PowerFullState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="450"> <state relative-caret-position="162">
<caret line="30" column="0" lean-forward="false" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" /> <caret line="19" column="5" lean-forward="false" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/.env"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/ShedTimeoutState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270"> <state relative-caret-position="177">
<caret line="18" column="12" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="30" selection-end-column="0" /> <caret line="19" column="0" lean-forward="true" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gitignore"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/TimeoutState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15"> <state relative-caret-position="162">
<caret line="1" column="6" lean-forward="false" selection-start-line="1" selection-start-column="6" selection-end-line="1" selection-end-column="6" /> <caret line="19" column="5" lean-forward="false" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/exception/order/OrderException.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/WaitingState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="645"> <state relative-caret-position="345">
<caret line="48" column="7" lean-forward="true" selection-start-line="48" selection-start-column="7" selection-end-line="48" selection-end-column="7" /> <caret line="40" column="6" lean-forward="false" selection-start-line="40" selection-start-column="6" selection-end-line="40" selection-end-column="6" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/log/GatewayLogWriter.php"> <entry file="file://$PROJECT_DIR$/lib/station/gateway/port/Port.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="345"> <state relative-caret-position="521">
<caret line="28" column="20" lean-forward="false" selection-start-line="28" selection-start-column="20" selection-end-line="28" selection-end-column="20" /> <caret line="116" column="0" lean-forward="true" selection-start-line="116" selection-start-column="0" selection-end-line="116" selection-end-column="0" />
<folding> <folding />
<element signature="e#112#150#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/NoticePortShed.php"> <entry file="file://$PROJECT_DIR$/lib/remote/api/message/PowerExceedMessage.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="420"> <state relative-caret-position="-1316">
<caret line="33" column="1" lean-forward="false" selection-start-line="33" selection-start-column="1" selection-end-line="33" selection-end-column="1" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/StopCharger.php"> <entry file="file://$PROJECT_DIR$/lib/remote/api/message/Message.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="420"> <state relative-caret-position="822">
<caret line="34" column="0" lean-forward="false" selection-start-line="34" selection-start-column="0" selection-end-line="34" selection-end-column="0" /> <caret line="78" column="0" lean-forward="false" selection-start-line="78" selection-start-column="0" selection-end-line="78" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/station/gateway/port/Port.php"> <entry file="file://$PROJECT_DIR$/lib/remote/api/message/FailMessage.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270"> <state relative-caret-position="-273">
<caret line="25" column="55" lean-forward="false" selection-start-line="25" selection-start-column="55" selection-end-line="25" selection-end-column="55" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/model/GatewayLogModel.php"> <entry file="file://$PROJECT_DIR$/lib/remote/api/message/FinishByUserMessage.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180"> <state relative-caret-position="15">
<caret line="17" column="0" lean-forward="false" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" /> <caret line="12" column="15" lean-forward="false" selection-start-line="12" selection-start-column="15" selection-end-line="12" selection-end-column="15" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/Test.php"> <entry file="file://$PROJECT_DIR$/lib/remote/api/message/SendMessage.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90"> <state relative-caret-position="435">
<caret line="11" column="6" lean-forward="false" selection-start-line="11" selection-start-column="6" selection-end-line="11" selection-end-column="6" /> <caret line="35" column="20" lean-forward="false" selection-start-line="35" selection-start-column="20" selection-end-line="35" selection-end-column="20" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/TestController.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/charger/OverController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45"> <state relative-caret-position="385">
<caret line="8" column="32" lean-forward="false" selection-start-line="8" selection-start-column="32" selection-end-line="8" selection-end-column="32" /> <caret line="44" column="13" lean-forward="false" selection-start-line="44" selection-start-column="13" selection-end-line="44" selection-end-column="13" />
<folding>
<element signature="e#143#181#0#PHP" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/cdz/order/state/State.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="109">
<caret line="13" column="15" lean-forward="false" selection-start-line="13" selection-start-column="15" selection-end-line="13" selection-end-column="15" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/composer.json"> <entry file="file://$PROJECT_DIR$/lib/remote/api/message/ShedMessage.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180"> <state relative-caret-position="1726">
<caret line="12" column="23" lean-forward="false" selection-start-line="12" selection-start-column="23" selection-end-line="12" selection-end-column="23" /> <caret line="149" column="0" lean-forward="false" selection-start-line="149" selection-start-column="0" selection-end-line="149" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/start_businessworker.php"> <entry file="file://$PROJECT_DIR$/lib/rabbitmq/PublishPortShed.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state relative-caret-position="630">
<caret line="13" column="19" lean-forward="false" selection-start-line="13" selection-start-column="19" selection-end-line="13" selection-end-column="19" /> <caret line="47" column="20" lean-forward="false" selection-start-line="47" selection-start-column="20" selection-end-line="47" selection-end-column="20" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/start.php"> <entry file="file://$PROJECT_DIR$/lib/remote/api/message/ChargerTimeoutMessage.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="600"> <state relative-caret-position="424">
<caret line="40" column="0" lean-forward="false" selection-start-line="40" selection-start-column="0" selection-end-line="40" selection-end-column="0" /> <caret line="51" column="62" lean-forward="false" selection-start-line="51" selection-start-column="62" selection-end-line="51" selection-end-column="62" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/business/charger/OverController.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/ChargerState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225"> <state relative-caret-position="-59">
<caret line="20" column="5" lean-forward="false" selection-start-line="20" selection-start-column="5" selection-end-line="20" selection-end-column="5" /> <caret line="98" column="25" lean-forward="true" selection-start-line="98" selection-start-column="25" selection-end-line="98" selection-end-column="25" />
<folding> <folding />
<element signature="e#143#181#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/business/charger/StartController.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/state/ShedState.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315"> <state relative-caret-position="240">
<caret line="34" column="5" lean-forward="false" selection-start-line="34" selection-start-column="5" selection-end-line="34" selection-end-column="5" /> <caret line="24" column="5" lean-forward="false" selection-start-line="24" selection-start-column="5" selection-end-line="24" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/business/port/OfflineController.php"> <entry file="file://$PROJECT_DIR$/.env">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="60">
<caret line="28" column="5" lean-forward="false" selection-start-line="28" selection-start-column="5" selection-end-line="28" selection-end-column="5" /> <caret line="4" column="17" lean-forward="false" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
<folding> <folding />
<element signature="e#140#178#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/business/port/OnlineController.php"> <entry file="file://$PROJECT_DIR$/application/controller/setting/SettingController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285"> <state relative-caret-position="360">
<caret line="27" column="5" lean-forward="false" selection-start-line="27" selection-start-column="5" selection-end-line="27" selection-end-column="5" /> <caret line="32" column="4" lean-forward="false" selection-start-line="32" selection-start-column="4" selection-end-line="32" selection-end-column="4" />
<folding> <folding>
<element signature="e#140#178#0#PHP" expanded="true" /> <element signature="e#135#173#0#PHP" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/business/port/StateController.php"> <entry file="file://$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Frame.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="0">
<caret line="35" column="5" lean-forward="false" selection-start-line="35" selection-start-column="5" selection-end-line="35" selection-end-column="5" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/business/power/CapacityController.php"> <entry file="file://$PROJECT_DIR$/application/Events.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="0">
<caret line="25" column="5" lean-forward="false" selection-start-line="25" selection-start-column="5" selection-end-line="25" selection-end-column="5" /> <caret line="74" column="27" lean-forward="false" selection-start-line="74" selection-start-column="27" selection-end-line="74" selection-end-column="27" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/business/power/PowerController.php"> <entry file="file://$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Bintohex.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="405"> <state relative-caret-position="540">
<caret line="39" column="5" lean-forward="false" selection-start-line="39" selection-start-column="5" selection-end-line="39" selection-end-column="5" /> <caret line="41" column="12" lean-forward="false" selection-start-line="41" selection-start-column="12" selection-end-line="41" selection-end-column="12" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/log/Log.php"> <entry file="file://$PROJECT_DIR$/application/controller/HeartController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="770"> <state relative-caret-position="375">
<caret line="72" column="0" lean-forward="false" selection-start-line="72" selection-start-column="0" selection-end-line="72" selection-end-column="0" /> <caret line="30" column="5" lean-forward="false" selection-start-line="30" selection-start-column="5" selection-end-line="30" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/log/Record.php"> <entry file="file://$PROJECT_DIR$/application/start_gateway.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180"> <state relative-caret-position="240">
<caret line="17" column="17" lean-forward="false" selection-start-line="17" selection-start-column="17" selection-end-line="17" selection-end-column="17" /> <caret line="21" column="28" lean-forward="false" selection-start-line="21" selection-start-column="28" selection-end-line="21" selection-end-column="28" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/Application.php"> <entry file="file://$PROJECT_DIR$/application/controller/accept/CertifyController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="687">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="65" column="0" lean-forward="false" selection-start-line="65" selection-start-column="0" selection-end-line="65" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/Container.php"> <entry file="file://$PROJECT_DIR$/src/log/GatewayLogWriter.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165"> <state relative-caret-position="570">
<caret line="16" column="0" lean-forward="false" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" /> <caret line="44" column="27" lean-forward="false" selection-start-line="44" selection-start-column="27" selection-end-line="44" selection-end-column="27" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/Message.php"> <entry file="file://$PROJECT_DIR$/src/log/record/Record.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="657">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="223" column="5" lean-forward="true" selection-start-line="223" selection-start-column="5" selection-end-line="223" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/request/Request.php"> <entry file="file://$PROJECT_DIR$/src/response/Response.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="319">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="113" column="20" lean-forward="false" selection-start-line="113" selection-start-column="20" selection-end-line="113" selection-end-column="20" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/response/Response.php"> <entry file="file://$PROJECT_DIR$/application/controller/accept/AccessController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="188"> <state relative-caret-position="-1608">
<caret line="65" column="0" lean-forward="false" selection-start-line="65" selection-start-column="0" selection-end-line="65" selection-end-column="0" /> <caret line="121" column="0" lean-forward="false" selection-start-line="121" selection-start-column="0" selection-end-line="121" selection-end-column="0" />
<folding /> <folding>
<element signature="e#978#1032#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/route/Route.php"> <entry file="file://$PROJECT_DIR$/application/controller/Controller.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="380"> <state relative-caret-position="384">
<caret line="55" column="0" lean-forward="false" selection-start-line="55" selection-start-column="0" selection-end-line="55" selection-end-column="0" /> <caret line="168" column="9" lean-forward="true" selection-start-line="168" selection-start-column="9" selection-end-line="168" selection-end-column="9" />
<folding /> <folding>
<element signature="e#126#152#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/route/Api.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/port/OnlineController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-468"> <state relative-caret-position="0">
<caret line="13" column="27" lean-forward="true" selection-start-line="13" selection-start-column="27" selection-end-line="13" selection-end-column="27" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/accept/CertifyController.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/port/OfflineController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="299"> <state relative-caret-position="0">
<caret line="38" column="1" lean-forward="false" selection-start-line="38" selection-start-column="1" selection-end-line="38" selection-end-column="1" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/Controller.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/port/StateController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="773"> <state relative-caret-position="-474">
<caret line="186" column="0" lean-forward="false" selection-start-line="186" selection-start-column="0" selection-end-line="186" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding />
<element signature="e#126#152#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/controller/accept/AccessController.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/power/CapacityController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="304"> <state relative-caret-position="0">
<caret line="100" column="0" lean-forward="false" selection-start-line="100" selection-start-column="0" selection-end-line="100" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding />
<element signature="e#978#1032#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/test/test.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/Order.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195"> <state relative-caret-position="-980">
<caret line="18" column="8" lean-forward="false" selection-start-line="18" selection-start-column="8" selection-end-line="18" selection-end-column="8" /> <caret line="13" column="6" lean-forward="false" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="6" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/log/record/Record.php"> <entry file="file://$PROJECT_DIR$/lib/cdz/order/save/OrderSaveRedis.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="410"> <state relative-caret-position="330">
<caret line="60" column="0" lean-forward="true" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" /> <caret line="27" column="35" lean-forward="false" selection-start-line="27" selection-start-column="35" selection-end-line="27" selection-end-column="35" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/application/Events.php"> <entry file="file://$PROJECT_DIR$/application/controller/business/power/PowerController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="419"> <state relative-caret-position="624">
<caret line="101" column="17" lean-forward="false" selection-start-line="101" selection-start-column="17" selection-end-line="101" selection-end-column="17" /> <caret line="74" column="22" lean-forward="false" selection-start-line="74" selection-start-column="22" selection-end-line="74" selection-end-column="22" />
<folding /> <folding />
</state> </state>
</provider> </provider>
......
...@@ -72,6 +72,7 @@ class Events ...@@ -72,6 +72,7 @@ class Events
$crc = substr($message, -2); $crc = substr($message, -2);
var_dump($message);
$crcConfirm = sprintf('%08x', Crc::crc(substr($message, 0, strlen($message) - 2))); $crcConfirm = sprintf('%08x', Crc::crc(substr($message, 0, strlen($message) - 2)));
if ($crc != mb_strtoupper(substr($crcConfirm, 0, 2))) { if ($crc != mb_strtoupper(substr($crcConfirm, 0, 2))) {
...@@ -79,6 +80,7 @@ class Events ...@@ -79,6 +80,7 @@ class Events
return; return;
} }
$command = substr($message, 6, 2); $command = substr($message, 6, 2);
$api = new Api(); $api = new Api();
$api->boot(); $api->boot();
...@@ -110,6 +112,8 @@ class Events ...@@ -110,6 +112,8 @@ class Events
public static function onClose($clientId) public static function onClose($clientId)
{ {
var_dump('close');
Events::pipe(); Events::pipe();
$gatewayId = $_SESSION['gateway_id']; $gatewayId = $_SESSION['gateway_id'];
$gateway = new Gateway(); $gateway = new Gateway();
......
...@@ -171,11 +171,17 @@ class Controller ...@@ -171,11 +171,17 @@ class Controller
} }
public function __destruct() public function __destruct()
{ {
$logWriter = new GatewayLogWriter(); $logWriter = new GatewayLogWriter();
if($this->response->getResponseMessage() !== '')
{
$this->logRecord->setResponse($this->response->getResponseMessage());
}
$logWriter->write($this->logRecord); $logWriter->write($this->logRecord);
} }
/** /**
...@@ -493,4 +499,6 @@ class Controller ...@@ -493,4 +499,6 @@ class Controller
return $this; return $this;
} }
} }
\ No newline at end of file
...@@ -25,9 +25,9 @@ class HeartController extends Controller ...@@ -25,9 +25,9 @@ class HeartController extends Controller
] ]
]; ];
public function __construct(string $clientId, string $message, Route $route) public function __construct(string $clientId, string $message, string $command)
{ {
parent::__construct($clientId, $message, $route); parent::__construct($clientId, $message, $command);
} }
public function break() public function break()
......
...@@ -67,10 +67,12 @@ class AccessController extends Controller ...@@ -67,10 +67,12 @@ class AccessController extends Controller
'id', 'id',
], 'mac_address = ' . "'$mac'"); ], 'mac_address = ' . "'$mac'");
if (count($gatewayModelResult) === 0) { var_dump($gatewayModelResult);
if($gatewayModelResult == false)
{
Gateway::closeClient($this->clientId); Gateway::closeClient($this->clientId);
return;
} }
$stationId = $gatewayModelResult['station_id']; $stationId = $gatewayModelResult['station_id'];
$gatewayId = $gatewayModelResult['id']; $gatewayId = $gatewayModelResult['id'];
...@@ -114,12 +116,10 @@ class AccessController extends Controller ...@@ -114,12 +116,10 @@ class AccessController extends Controller
$gateway = new \Lib\station\gateway\Gateway(); $gateway = new \Lib\station\gateway\Gateway();
$gateway->setState($gatewayId,1); $gateway->setState($gatewayId, 1);
$this->response->send('02', $sessionId); $this->response->send('02', $sessionId);
unset($this->response);
} }
} }
...@@ -152,6 +152,11 @@ class AccessController extends Controller ...@@ -152,6 +152,11 @@ class AccessController extends Controller
} }
if(isset($_SESSION['port_mac_id']) == false)
{
return ;
}
$portsMacId = $_SESSION['port_mac_id']; $portsMacId = $_SESSION['port_mac_id'];
...@@ -186,9 +191,8 @@ class AccessController extends Controller ...@@ -186,9 +191,8 @@ class AccessController extends Controller
$_SESSION['port_logic_id'] = $portsLogicId; $_SESSION['port_logic_id'] = $portsLogicId;
//更新逻辑地址 //更新逻辑地址
foreach ($portsLogicId as $portId => $logicId) foreach ($portsLogicId as $portId => $logicId) {
{ $deviceModel->update(['logic_num' => $logicId], 'id = ' . $portId);
$deviceModel->update(['logic_num' => $logicId],'id = '.$portId);
} }
$order = new Order(); $order = new Order();
...@@ -196,28 +200,27 @@ class AccessController extends Controller ...@@ -196,28 +200,27 @@ class AccessController extends Controller
$offlineReason = hexdec(substr($this->message, $this->plc, 2)); $offlineReason = hexdec(substr($this->message, $this->plc, 2));
$orderCount = '00';
foreach ($portsId as $portId) { foreach ($portsId as $portId) {
$port->setPortId($portId); $port->setPortId($portId);
$orderId = $port->getPortUsingOrderId(); $orderId = $port->getPortUsingOrderId();
if($orderId == false || $orderId == '') if ($orderId == false || $orderId == '') {
{
continue; continue;
} }
$order->setId($orderId); $order->setId($orderId);
if($order->getOrderCache(\Events::getRedis()) ==false) if ($order->getOrderCache(\Events::getRedis()) == false) {
{
continue; continue;
} }
if($offlineReason === 1) if ($offlineReason === 1) {
{
$orderState = new OfflinePowerState($order); $orderState = new OfflinePowerState($order);
}else{ } else {
$orderState = new OfflineNetState($order); $orderState = new OfflineNetState($order);
} }
...@@ -226,33 +229,27 @@ class AccessController extends Controller ...@@ -226,33 +229,27 @@ class AccessController extends Controller
$remainTime = $orderState->getRemainChargerTime(); $remainTime = $orderState->getRemainChargerTime();
if($remainTime > 0) if ($remainTime > 0) {
{ $logicNum = sprintf('%02x', $order->getPortLogicId());
$logicNum = sprintf('%02x',$order->getPortLogicId()); $orderId = sprintf('%012x', $order->getId());
$orderId = sprintf('%012x',$order->getId()); $time = sprintf('%04x', $remainTime);
$time = sprintf('%04x',$remainTime);
array_push($responseOrder,$logicNum.$orderId.$time); array_push($responseOrder, $logicNum . $orderId . $time);
} }
$logicStart = sprintf('%02x',$logicStart);
$count = sprintf('%02x',$count);
$totalCount = sprintf('%02x',$totalCount);
$orderCount = sprintf('%02x',count($responseOrder));
$this->response->send('03',$logicStart.$count.$totalCount.$orderCount.implode('',$responseOrder));;
} }
$logicStart = sprintf('%02x', $logicStart);
$count = sprintf('%02x', $count);
$totalCount = sprintf('%02x', $totalCount);
$orderCount = sprintf('%02x', count($responseOrder));
var_dump($logicStart);
$this->response->send('03', $logicStart . $count . $totalCount . $orderCount . implode('', $responseOrder));;
} }
......
...@@ -62,6 +62,8 @@ class CertifyController extends Controller ...@@ -62,6 +62,8 @@ class CertifyController extends Controller
$clients = Gateway::getclientIdByUid($mac); $clients = Gateway::getclientIdByUid($mac);
foreach ($clients as $client) { foreach ($clients as $client) {
var_dump('hello');
Gateway::closeClient($client); Gateway::closeClient($client);
} }
......
...@@ -10,19 +10,141 @@ namespace Application\controller\business\charger; ...@@ -10,19 +10,141 @@ namespace Application\controller\business\charger;
use Application\controller\Controller; use Application\controller\Controller;
use Application\model\OrderModel;
use Lib\cdz\order\Order;
use Lib\cdz\order\state\ChargerState;
use Lib\cdz\order\state\ShedState;
use Lib\cdz\order\state\WaitingState;
use Lib\StateCode;
use Src\route\Route; use Src\route\Route;
class OverController extends Controller class OverController extends Controller
{ {
protected $parameterMap = [
'05' => [
'type' => 1,
'logic_id' => 1,
'state' => 1,
'order_id' => 6,
'capacity' => 4,
]
];
public function __construct(string $clientId, string $message, string $command) public function __construct(string $clientId, string $message, string $command)
{ {
parent::__construct($clientId, $message, $command); parent::__construct($clientId, $message, $command);
} }
/**
* 订单结束
* 更新数据库中的订单结束状态和结束电量等信息
* 释放口子,删除订单的redis缓存
* 推送必要的微信通知
* 订单记录异常
*/
public function over() public function over()
{ {
$type = $this->request->get('type');
$logicId = $this->request->get('logic_id');
$state = hexdec($this->request->get('state'));
$orderId = hexdec($this->request->get('order_id'));
$capacity = hexdec($this->request->get('capacity'));
$this->logRecord->setOrderId($orderId);
$order = new Order();
if ($order->getOrderCache(\Events::getRedis()) != false) {
$orderStateCode = $order->getStateCode();
$order->setEndCapacity($capacity);
$order->setEndCode($state);
switch ($orderStateCode) {
case StateCode::WAITING:
$orderState = new WaitingState($order);
break;
case StateCode::PORT_CHARGER:
$orderState = new ChargerState($order);
break;
case StateCode::CHARGER_SHED:
$orderState = new ShedState($order);
break;
default:
break;
}
if (isset($orderState)) {
switch ($state) {
case StateCode::FINISH_USER: //用户主动结束
$orderState->toUserFinish();
break;
case StateCode::FINISH_SHED_TIMEOUT: //端口脱落超时
$orderState->toShedTimeoutState();
break;
case StateCode::FINISH_REFUND: //充电失败退款
$orderState->toRefundFinish();
break;
case StateCode::FINISH_EXCEED: //功率超限
$orderState->toPowerExceedState();
break;
case StateCode::FINISH_FULL: //充满自停
$orderState->toPowerFullState();
break;
case StateCode::FINISH_TIME_END: //充电时间结束
$orderState->toTimeoutState();
break;
default:
break;
}
} else {
$this->logRecord->setException(0);
$this->logRecord->setDesc('redis副本订单状态异常,非可结束订单状态');
} }
} else {
$this->logRecord->setException(0);
$this->logRecord->setDesc('未查找到订单redis副本');
}
$this->response->send('05', $logicId . sprintf('%12x', $orderId));
}
} }
...@@ -13,6 +13,7 @@ use Application\controller\Controller; ...@@ -13,6 +13,7 @@ use Application\controller\Controller;
use Application\model\OrderModel; use Application\model\OrderModel;
use Application\model\OrderPowerModel; use Application\model\OrderPowerModel;
use Lib\cdz\order\Order; use Lib\cdz\order\Order;
use Lib\cdz\order\save\OrderSaveRedis;
use Lib\station\gateway\port\Port; use Lib\station\gateway\port\Port;
class PowerController extends Controller class PowerController extends Controller
...@@ -68,7 +69,12 @@ class PowerController extends Controller ...@@ -68,7 +69,12 @@ class PowerController extends Controller
if ($order->getStartCapacity() === -1) { if ($order->getStartCapacity() === -1) {
$orderModel = new OrderModel(); $orderModel = new OrderModel();
$orderModel->update(['start_capacity' => $capacity], 'id = ' . $orderId); $orderModel->update(['start_capacity' => $capacity], 'id = ' . $orderId);
$saveOrderRedis = new OrderSaveRedis($order);
$saveOrderRedis->save(['startCapacity']);
} else {
$orderModel = new OrderModel();
$orderModel->update(['end_capacity' => $capacity], 'id = ' . $orderId);
} }
} }
......
<?php
/**
* Created by PhpStorm.
* User: banice
* Date: 2018/8/22
* Time: 上午10:17
*/
namespace Application\controller\business\power;
use Application\controller\Controller;
class ShutdownController extends Controller
{
protected $parameterMap = [
'04' => []
];
public function __construct(string $clientId, string $message, string $command)
{
parent::__construct($clientId, $message, $command);
}
public function shutdown()
{
}
}
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: banice
* Date: 2018/8/22
* Time: 上午10:05
*/
namespace Application\controller\setting;
use Application\controller\Controller;
use Application\model\ConfigModel;
use Application\model\StationModel;
class SettingController extends Controller
{
protected $parameterMap = [
'0a' => []
];
public function __construct(string $clientId, string $message, string $command)
{
parent::__construct($clientId, $message, $command);
}
/**
* 硬件获取设置参数
*/
public function get()
{
$configModel = new ConfigModel();
$configs = $configModel->getIdConfigValue();
$idConfigsValue = [];
foreach ($configs as $config) {
$idConfigsValue[$config['id']] = $config['config_value'];
}
$invertalTime = $idConfigsValue['5']; //设备上报数据间隔单位 秒
$stationId = $_SESSION['station_id'];
$stationModel = new StationModel();
$stationMaxCep = $stationModel->getColumn('max_cep', 'id = ' . $stationId);
$powerUpperLimit = isset($stationMaxCep) ? $stationMaxCep : $idConfigsValue['1'];
$getPriceConfig = $idConfigsValue['6'];
$powerSaturateInvertalTime = $idConfigsValue['7'];
$extraTime = $idConfigsValue['8'];
$powerLowerLimit = getenv('LOW_POWER_LIMIT');
$detectTime = 5;
$afterFormat = $this->adaptor([
[$invertalTime, 4],
[$getPriceConfig, 2],
[$powerUpperLimit, 4],
[$powerSaturateInvertalTime, 2],
[$extraTime, 2],
[$powerLowerLimit, 2],
[$detectTime, 2],
]);
$this->response->send('0a', implode($afterFormat));
}
/**
* @param array $data
* @return array
*/
private function adaptor(array $data)
{
$afterFormat = [];
foreach ($data as $item) {
array_push($afterFormat, sprintf('%0' . $item[1] . 'x', $item[0]));
}
return $afterFormat;
}
}
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: banice
* Date: 2018/8/22
* Time: 上午10:06
*/
namespace Application\model;
class ConfigModel extends Model
{
protected $table = 'configs';
public function getIdConfigValue()
{
return $this->db->query('SELECT id , config_value FROM '.$this->table);
}
//最大功率限制
public function getPowerUpperLimit()
{
return $this->getColumn('config_value', 'id = 1');
}
//数据上报间隔时间
public function getInvertalTime()
{
return $this->getColumn('config_value', 'id = 5');
}
//获取计价配置时间间隔
public function getPriceConfig()
{
return $this->getColumn('config_value', 'id = 6');
}
//充满自停的功率检测此时
public function getPowerSaturateInvertalTime()
{
return $this->getColumn('config_value', 'id = 7');
}
//充满自停额外的供电时间
public function getExtraTime()
{
return $this->getColumn('config_value', 'id = 8');
}
}
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: banice
* Date: 2018/8/22
* Time: 上午10:11
*/
namespace Application\model;
class StationModel extends Model
{
protected $table = 'stations';
}
\ No newline at end of file
...@@ -33,6 +33,8 @@ class Api ...@@ -33,6 +33,8 @@ class Api
$this->add('08','business\port\OnlineController@online'); $this->add('08','business\port\OnlineController@online');
$this->add('09','business\port\OfflineController@offline'); $this->add('09','business\port\OfflineController@offline');
$this->add('0f','business\power\ShutdownController@shutdown');
$this->add('0a','setting\SettingController@get');
} }
......
...@@ -19,7 +19,7 @@ $gateway->startPort = getenv('GATEWAY_START_PORT'); ...@@ -19,7 +19,7 @@ $gateway->startPort = getenv('GATEWAY_START_PORT');
$gateway->registerAddress = getenv('REGISTER_IP') . ':' . getenv('REGISTER_PORT'); $gateway->registerAddress = getenv('REGISTER_IP') . ':' . getenv('REGISTER_PORT');
// 心跳间隔 // 心跳间隔
$gateway->pingInterval = 45; $gateway->pingInterval = 50;
// 心跳数据 // 心跳数据
$gateway->pingNotResponseLimit = 2; $gateway->pingNotResponseLimit = 2;
......
...@@ -139,6 +139,11 @@ class Order ...@@ -139,6 +139,11 @@ class Order
*/ */
private $isRefund = 0; private $isRefund = 0;
/**
* @var int
*/
private $endCode = 0;
/** /**
* @param $name * @param $name
...@@ -571,5 +576,23 @@ class Order ...@@ -571,5 +576,23 @@ class Order
$this->onlineTime = $onlineTime; $this->onlineTime = $onlineTime;
} }
/**
* @return int
*/
public function getEndCode(): int
{
return $this->endCode;
}
/**
* @param int $endCode
*/
public function setEndCode(int $endCode): void
{
$this->endCode = $endCode;
}
} }
\ No newline at end of file
...@@ -11,15 +11,75 @@ namespace Lib\cdz\order\state; ...@@ -11,15 +11,75 @@ namespace Lib\cdz\order\state;
use Application\model\OrderExceptionModel; use Application\model\OrderExceptionModel;
use Application\model\OrderModel; use Application\model\OrderModel;
use Lib\cdz\order\Order;
use Lib\cdz\order\save\OrderSaveRedis;
use Lib\log\Log; use Lib\log\Log;
use Lib\rabbitmq\PublishPortShed;
use Lib\remote\api\message\ChargerFullMessage; use Lib\remote\api\message\ChargerFullMessage;
use Lib\remote\api\message\ChargerTimeoutMessage;
use Lib\remote\api\message\FinishByUserMessage;
use Lib\remote\api\message\PowerExceedMessage; use Lib\remote\api\message\PowerExceedMessage;
use Lib\remote\api\message\SendMessage; use Lib\remote\api\message\SendMessage;
use Lib\remote\api\message\ShedMessage;
use Lib\StateCode; use Lib\StateCode;
use Lib\station\gateway\port\Port; use Lib\station\gateway\port\Port;
class ChargerState extends State class ChargerState extends State
{ {
public function __construct(Order $order)
{
parent::__construct($order);
}
/**
* 用户主动结束充电
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function toUserFinish()
{
$orderModel = new OrderModel();
$orderModel->update([
'is_stop' => $this->order->getEndCode(),
'end_capacity' => $this->order->getEndCapacity(),
'updated_at' => date('Y-m-d H:i:s'),
'state' => 1,
], 'id = ' . $this->order->getId());
$port = new Port();
$port->setPortId($this->order->getPortId());
$port->freePort();
//用户主动结束充电推送
$finishByUserMessage = new FinishByUserMessage();
$finishByUserMessage->setOrderId($this->order->getId());
$finishByUserMessage->setAddress($this->order->getStationName() . '--' . $this->order->getPortName());
$chargerTime = time() - $this->order->getStartTime();
$chargerTime /= 60;
$chargerTime = (int)$chargerTime;
$finishByUserMessage->setChargerTime($chargerTime);
$finishByUserMessage->setEndTime($this->nowDate);
$finishByUserMessage->setOrderAmount($this->order->getPayAmount());
$sendMessage = new SendMessage();
if ($sendMessage->request($finishByUserMessage) == false) {
Log::error('send finish by user message fail');
}
$orderException = new OrderExceptionModel();
$orderException->insertRow([
'order_id' => $this->order->getId(),
'state' => StateCode::PORT_CHARGER . StateCode::FINISH_USER,
'desc' => '用户主动结束充电',
'created_at' => $this->nowDate,
]);
}
public function toWaitingState() public function toWaitingState()
{ {
Log::error('charger state can not change to waiting state'); Log::error('charger state can not change to waiting state');
...@@ -130,20 +190,151 @@ class ChargerState extends State ...@@ -130,20 +190,151 @@ class ChargerState extends State
$port->freePort(); $port->freePort();
} }
/**
* 口子脱落
* redis订单状态副本更新
* 推送用户信息
* 发布延时任务十分钟后检测端口
*
* @throws \GuzzleHttp\Exception\GuzzleException
* @throws \AMQPConnectionException
* @throws \AMQPExchangeException
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function toShedState() public function toShedState()
{ {
// TODO: Implement toShedState() method. $this->order->setStateCode(StateCode::PORT_SHED);
$this->order->setShedTime($this->nowTimeStamp);
$orderSaveRedis = new OrderSaveRedis($this->order);
$orderSaveRedis->save([
'stateCode',
'shedTime'
]);
$orderModel = new OrderModel();
$orderModel->update([
'updated_at' => $this->nowDate,
'shed_time' => $this->nowDate,
], 'id = ' . $this->order->getId());
$orderExceptionModel = new OrderExceptionModel();
$orderExceptionModel->insertRow([
'order_id' => $this->order->getId(),
'state' => StateCode::PORT_CHARGER . StateCode::PORT_SHED,
'desc' => '口子脱落',
'created_at' => $this->nowDate,
]);
$shedMessage = new ShedMessage();
$shedMessage->setOrderId($this->order->getId());
$shedMessage->setPortName($this->order->getPortName());
$shedMessage->setStationName($this->order->getStationName());
$shedMessage->setTime($this->nowDate);
$sendMessage = new SendMessage();
if ($sendMessage->request($shedMessage) == false) {
Log::error('send port shed message fail');
}
//todo publish 十分钟的延迟任务
try {
$publish = new PublishPortShed();
$publish->publishOrder([
'order_id' => $this->order->getId(),
'shed_time' => $this->nowTimeStamp,
'port_id' => $this->order->getPortId()
]);
} catch (\Exception $exception) {
Log::error($exception->getMessage());
}
} }
public function toShedTimeoutState() public function toShedTimeoutState()
{ {
// TODO: Implement toShedTimeoutState() method. Log::error('charger state can not change to shed timeout');
} }
/**
* 更新订单记录
* 释放口子
* 清楚订单redis副本
* 推送用户消息
* @throws \GuzzleHttp\Exception\GuzzleException
*
*/
public function toTimeoutState() public function toTimeoutState()
{ {
// TODO: Implement toTimeoutState() method. $orderModel = new OrderModel();
$orderModel->update([
'is_stop' => StateCode::FINISH_TIME_END,
'end_capacity' => $this->order->getEndCapacity(),
'updated_at' => $this->nowDate,
], 'id = ' . $this->order->getId());
$port = new Port();
$port->setPortId($this->order->getId());
$port->freePort();
$chargerTimeoutMessage = new ChargerTimeoutMessage();
$chargerTimeoutMessage->setStationName($this->order->getStationName());
$chargerTimeoutMessage->setPortName($this->order->getPortName());
$chargerTimeoutMessage->setOrderId($this->order->getId());
$chargerTimeoutMessage->setEndTime($this->nowDate);
$chargerTime = $this->nowTimeStamp - $this->order->getStartTime();
$chargerTime /= 60;
$chargerTimeoutMessage->setChargerTime((int)$chargerTime);
$sendMessage = new SendMessage();
if ($sendMessage->request($chargerTimeoutMessage) == false) {
Log::error('send charger timeout message fail');
}
} }
} }
...@@ -13,11 +13,18 @@ use Lib\cdz\order\Order; ...@@ -13,11 +13,18 @@ use Lib\cdz\order\Order;
class ExceptionState extends State class ExceptionState extends State
{ {
public function __construct(Order $order) public function __construct(Order $order)
{ {
parent::__construct($order); parent::__construct($order);
} }
public function toUserFinish()
{
// TODO: Implement toUserFinish() method.
}
public function toWaitingState() public function toWaitingState()
{ {
// TODO: Implement toWaitingState() method. // TODO: Implement toWaitingState() method.
......
...@@ -36,6 +36,12 @@ class OfflineNetState extends State ...@@ -36,6 +36,12 @@ class OfflineNetState extends State
} }
public function toUserFinish()
{
// TODO: Implement toUserFinish() method.
}
public function toWaitingState() public function toWaitingState()
{ {
// TODO: Implement toWaitingState() method. // TODO: Implement toWaitingState() method.
......
...@@ -18,6 +18,12 @@ class OfflinePowerState extends State ...@@ -18,6 +18,12 @@ class OfflinePowerState extends State
parent::__construct($order); parent::__construct($order);
} }
public function toUserFinish()
{
// TODO: Implement toUserFinish() method.
}
/** /**
* @var int * @var int
*/ */
......
...@@ -18,6 +18,12 @@ class PowerExceedState extends State ...@@ -18,6 +18,12 @@ class PowerExceedState extends State
parent::__construct($order); parent::__construct($order);
} }
public function toUserFinish()
{
// TODO: Implement toUserFinish() method.
}
public function toWaitingState() public function toWaitingState()
{ {
// TODO: Implement toWaitingState() method. // TODO: Implement toWaitingState() method.
......
...@@ -9,7 +9,60 @@ ...@@ -9,7 +9,60 @@
namespace Lib\cdz\order\state; namespace Lib\cdz\order\state;
class PowerFullState use Lib\cdz\order\Order;
class PowerFullState extends State
{ {
public function __construct(Order $order)
{
parent::__construct($order);
}
public function toWaitingState()
{
// TODO: Implement toWaitingState() method.
}
public function toChargerState()
{
// TODO: Implement toChargerState() method.
}
public function toExceptionState()
{
// TODO: Implement toExceptionState() method.
}
public function toPowerExceedState()
{
// TODO: Implement toPowerExceedState() method.
}
public function toPowerFullState()
{
// TODO: Implement toPowerFullState() method.
}
public function toShedState()
{
// TODO: Implement toShedState() method.
}
public function toShedTimeoutState()
{
// TODO: Implement toShedTimeoutState() method.
}
public function toTimeoutState()
{
// TODO: Implement toTimeoutState() method.
}
public function toUserFinish()
{
// TODO: Implement toUserFinish() method.
}
} }
\ No newline at end of file
...@@ -19,6 +19,12 @@ class ShedState extends State ...@@ -19,6 +19,12 @@ class ShedState extends State
parent::__construct($order); parent::__construct($order);
} }
public function toUserFinish()
{
// TODO: Implement toUserFinish() method.
}
public function toWaitingState() public function toWaitingState()
{ {
// TODO: Implement toWaitingState() method. // TODO: Implement toWaitingState() method.
......
...@@ -9,7 +9,59 @@ ...@@ -9,7 +9,59 @@
namespace Lib\cdz\order\state; namespace Lib\cdz\order\state;
class ShedTimeoutState use Lib\cdz\order\Order;
class ShedTimeoutState extends State
{ {
public function __construct(Order $order)
{
parent::__construct($order);
}
public function toWaitingState()
{
// TODO: Implement toWaitingState() method.
}
public function toChargerState()
{
// TODO: Implement toChargerState() method.
}
public function toExceptionState()
{
// TODO: Implement toExceptionState() method.
}
public function toPowerExceedState()
{
// TODO: Implement toPowerExceedState() method.
}
public function toPowerFullState()
{
// TODO: Implement toPowerFullState() method.
}
public function toShedState()
{
// TODO: Implement toShedState() method.
}
public function toShedTimeoutState()
{
// TODO: Implement toShedTimeoutState() method.
}
public function toTimeoutState()
{
// TODO: Implement toTimeoutState() method.
}
public function toUserFinish()
{
// TODO: Implement toUserFinish() method.
}
} }
\ No newline at end of file
...@@ -48,16 +48,19 @@ abstract class State ...@@ -48,16 +48,19 @@ abstract class State
public abstract function toChargerState(); public abstract function toChargerState();
public abstract function toExceptionState(); public abstract function toExceptionState();//充电异常
public abstract function toPowerExceedState(); public abstract function toPowerExceedState(); //功率超限
public abstract function toPowerFullState(); public abstract function toPowerFullState(); //充满自停
public abstract function toShedState(); public abstract function toShedState(); //口子脱落
public abstract function toShedTimeoutState(); public abstract function toShedTimeoutState(); //口子脱落超时
public abstract function toTimeoutState(); //时间耗尽
public abstract function toUserFinish();
public abstract function toTimeoutState();
} }
\ No newline at end of file
...@@ -9,7 +9,60 @@ ...@@ -9,7 +9,60 @@
namespace Lib\cdz\order\state; namespace Lib\cdz\order\state;
class TimeoutState use Lib\cdz\order\Order;
class TimeoutState extends State
{ {
public function __construct(Order $order)
{
parent::__construct($order);
}
public function toWaitingState()
{
// TODO: Implement toWaitingState() method.
}
public function toChargerState()
{
// TODO: Implement toChargerState() method.
}
public function toExceptionState()
{
// TODO: Implement toExceptionState() method.
}
public function toPowerExceedState()
{
// TODO: Implement toPowerExceedState() method.
}
public function toPowerFullState()
{
// TODO: Implement toPowerFullState() method.
}
public function toShedState()
{
// TODO: Implement toShedState() method.
}
public function toShedTimeoutState()
{
// TODO: Implement toShedTimeoutState() method.
}
public function toTimeoutState()
{
// TODO: Implement toTimeoutState() method.
}
public function toUserFinish()
{
// TODO: Implement toUserFinish() method.
}
} }
\ No newline at end of file
...@@ -26,6 +26,10 @@ use Src\command\StopChargerCommand; ...@@ -26,6 +26,10 @@ use Src\command\StopChargerCommand;
class WaitingState extends State class WaitingState extends State
{ {
/**
* WaitingState constructor.
* @param Order $order
*/
public function __construct(Order $order) public function __construct(Order $order)
{ {
...@@ -33,6 +37,14 @@ class WaitingState extends State ...@@ -33,6 +37,14 @@ class WaitingState extends State
} }
/**
*
*/
public function toUserFinish()
{
// TODO: Implement toUserFinish() method.
}
public function toWaitingState() public function toWaitingState()
{ {
} }
......
<?php
/**
* Created by PhpStorm.
* User: banice
* Date: 2018/8/22
* Time: 下午3:12
*/
namespace Lib\remote\api\message;
class ChargerTimeoutMessage extends Message
{
/**
* @var string
*/
protected $templateId = '';
/**
* @var string
*/
private $first = '亲爱的用户,您的爱车已经完成充电啦';
/**
* @var string
*/
private $endTime = '';
/**
* @var string
*/
private $stationName = '';
/**
* @var string
*/
private $portName = '';
/**
* @var string
*/
private $chargerTime;
/**
* @var int
*/
private $orderAmount;
public function __construct()
{
$this->templateId = getenv('MESSAGE_CHARGER_TIMEOUT');
}
/**
* @var string
*/
private $remark = '感谢你的使用';
public function getPushJson(): string
{
return json_encode([
'first' => [
'value' => $this->first,
'color' => '#333',
],
'keyword1' => [
'value' => $this->endTime,
'color' => '#333',
],
'keyword2' => [
'value' => $this->stationName.'--'.$this->portName,
'color' => '#333',
],
'keyword3' => [
'value' => $this->chargerTime.'分钟',
'color' => '#333',
],
'keyword4' => [
'value' => '¥'.number_format($this->orderAmount/100,2),
'color' => '#333',
],
'remark' => [
'value' => $this->remark,
'color' => '#333',
],
]);
}
/**
* @return string
*/
public function getEndTime(): string
{
return $this->endTime;
}
/**
* @param string $endTime
*/
public function setEndTime(string $endTime): void
{
$this->endTime = $endTime;
}
/**
* @return string
*/
public function getStationName(): string
{
return $this->stationName;
}
/**
* @param string $stationName
*/
public function setStationName(string $stationName): void
{
$this->stationName = $stationName;
}
/**
* @return string
*/
public function getPortName(): string
{
return $this->portName;
}
/**
* @param string $portName
*/
public function setPortName(string $portName): void
{
$this->portName = $portName;
}
/**
* @return string
*/
public function getChargerTime(): string
{
return $this->chargerTime;
}
/**
* @param string $chargerTime
*/
public function setChargerTime(string $chargerTime): void
{
$this->chargerTime = $chargerTime;
}
/**
* @return int
*/
public function getOrderAmount(): int
{
return $this->orderAmount;
}
/**
* @param int $orderAmount
*/
public function setOrderAmount(int $orderAmount): void
{
$this->orderAmount = $orderAmount;
}
/**
* @return string
*/
public function getRemark(): string
{
return $this->remark;
}
/**
* @param string $remark
*/
public function setRemark(string $remark): void
{
$this->remark = $remark;
}
}
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: banice
* Date: 2018/8/22
* Time: 下午1:40
*/
namespace Lib\remote\api\message;
/**
* 用户主动结束充电消息 e
* Class FinishByUserMessage
* @package Lib\remote\api\message
*/
class FinishByUserMessage extends Message
{
protected $templateId = '';
private $first = '亲爱的用户,您的爱车已经完成充电啦';
private $endTime = '';
private $address= '';
private $chargerTime = 0;
private $orderAmount =0;
private $remark = '感谢你的使用';
/**
* FinishByUserMessage constructor.
*/
public function __construct()
{
$this->templateId = getenv('MESSAGE_FINISH_USER');
}
public function getPushJson(): string
{
return json_encode([
'first' => [
'value' => $this->first,
'color' => '#333',
],
'keyword1' => [
'value' => $this->endTime,
'color' => '#333',
],
'keyword2' => [
'value' => $this->address,
'color' => '#333',
],
'keyword3' => [
'value' => $this->chargerTime.'分钟',
'color' => '#333',
],
'keyword4' => [
'value' => '¥'.number_format($this->orderAmount/100,2),
'color' => '#333',
],
'remark' => [
'value' => $this->remark,
'color' => '#333',
],
]);
}
/**
* @return string
*/
public function getFirst(): string
{
return $this->first;
}
/**
* @param string $first
*/
public function setFirst(string $first): void
{
$this->first = $first;
}
/**
* @return string
*/
public function getEndTime(): string
{
return $this->endTime;
}
/**
* @param string $endTime
*/
public function setEndTime(string $endTime): void
{
$this->endTime = $endTime;
}
/**
* @return string
*/
public function getAddress(): string
{
return $this->address;
}
/**
* @param string $address
*/
public function setAddress(string $address): void
{
$this->address = $address;
}
/**
* @return int
*/
public function getChargerTime(): int
{
return $this->chargerTime;
}
/**
* @param int $chargerTime
*/
public function setChargerTime(int $chargerTime): void
{
$this->chargerTime = $chargerTime;
}
/**
* @return int
*/
public function getOrderAmount(): int
{
return $this->orderAmount;
}
/**
* @param int $orderAmount
*/
public function setOrderAmount(int $orderAmount): void
{
$this->orderAmount = $orderAmount;
}
/**
* @return string
*/
public function getRemark(): string
{
return $this->remark;
}
/**
* @param string $remark
*/
public function setRemark(string $remark): void
{
$this->remark = $remark;
}
}
\ No newline at end of file
...@@ -61,5 +61,22 @@ abstract class Message ...@@ -61,5 +61,22 @@ abstract class Message
$this->userId = $userId; $this->userId = $userId;
} }
/**
* @return string
*/
public function getOrderId(): string
{
return $this->orderId;
}
/**
* @param string $orderId
*/
public function setOrderId(string $orderId): void
{
$this->orderId = $orderId;
}
} }
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: banice
* Date: 2018/8/22
* Time: 下午2:44
*/
namespace Lib\remote\api\message;
class ShedMessage extends Message
{
protected $templateId = '';
/**
* @var string
*/
private $first = '尊敬的用户,充电端未检测到插头,请您在%s分钟内接入。';
/**
* @var string
*/
private $portName = '';
/**
* @var string
*/
private $stationName = '';
/**
* @var string
*/
private $time = '';
/**
* @var int
*/
private $waitingTime = 10;
/**
* @var string
*/
private $remark = '超时将关闭此次交易哦,支付金额会在1个工作日内退回您的余额或零钱,请注意查看,若未收到请联系我们的客服为您处理。若为充电口异常,请您及时更换至其它充电口充电';
/**
* ShedMessage constructor.
*/
public function __construct()
{
$this->templateId = getenv('MESSAGE_PORT_SHED');
}
public function getPushJson(): string
{
$this->first = sprintf($this->first,$this->waitingTime);
return json_encode([
'first' => [
'value' => $this->first,
'color' => '#333',
],
'keyword1' => [
'value' => $this->stationName . "--$this->portName",
'color' => '#333',
],
'keyword2' => [
'value' => $this->time,
'color' => '#333',
],
'remark' => [
'value' => $this->remark,
'color' => '#333',
],
]);
}
/**
* @return string
*/
public function getFirst(): string
{
return $this->first;
}
/**
* @param string $first
*/
public function setFirst(string $first): void
{
$this->first = $first;
}
/**
* @return string
*/
public function getPortName(): string
{
return $this->portName;
}
/**
* @param string $portName
*/
public function setPortName(string $portName): void
{
$this->portName = $portName;
}
/**
* @return string
*/
public function getStationName(): string
{
return $this->stationName;
}
/**
* @param string $stationName
*/
public function setStationName(string $stationName): void
{
$this->stationName = $stationName;
}
/**
* @return int
*/
public function getWaitingTime(): int
{
return $this->waitingTime;
}
/**
* @param int $waitingTime
*/
public function setWaitingTime(int $waitingTime): void
{
$this->waitingTime = $waitingTime;
}
/**
* @return string
*/
public function getTime(): string
{
return $this->time;
}
/**
* @param string $time
*/
public function setTime(string $time): void
{
$this->time = $time;
}
/**
* @return string
*/
public function getRemark(): string
{
return $this->remark;
}
/**
* @param string $remark
*/
public function setRemark(string $remark): void
{
$this->remark = $remark;
}
}
\ No newline at end of file
...@@ -29,16 +29,28 @@ class GatewayLogWriter ...@@ -29,16 +29,28 @@ class GatewayLogWriter
public function write(Record $record) public function write(Record $record)
{ {
$this->gatewayLogModel->insertRow([ $update =
[
'command' => $record->getCommand(), 'command' => $record->getCommand(),
'port_id' => $record->getPortId(), 'port_id' => $record->getPortId(),
'order_id' => $record->getOrderId(), 'order_id' => $record->getOrderId(),
'body' => $record->getBody(), 'request' => $record->getBody(),
'gateway_id' => $record->getGatewayId(), 'gateway_id' => $record->getGatewayId(),
'station_id' => $record->getStationId(), 'station_id' => $record->getStationId(),
'created_at' => date('Y-m-d H:i:s', $record->getTime()), 'created_at' => date('Y-m-d H:i:s', $record->getTime()),
]); 'exception' => $record->getException(),
];
if($record->getResponse() != '')
{
$update['response'] = $record->getResponse();
}
if ($record->getDesc() != '') {
$update['desc'] = $record->getDesc();
}
$this->gatewayLogModel->insertRow($update);
} }
......
...@@ -31,6 +31,11 @@ class Record ...@@ -31,6 +31,11 @@ class Record
protected $body = ''; protected $body = '';
/** /**
* @var string
*/
protected $response = '';
/**
* @var int * @var int
*/ */
protected $portId = 0; protected $portId = 0;
...@@ -45,6 +50,17 @@ class Record ...@@ -45,6 +50,17 @@ class Record
protected $time = 0; protected $time = 0;
/**
* @var int
*/
protected $exception = 1;
/**
* @var string
*/
protected $desc = '';
public function __construct() public function __construct()
{ {
$this->time = time(); $this->time = time();
...@@ -167,5 +183,56 @@ class Record ...@@ -167,5 +183,56 @@ class Record
$this->time = $time; $this->time = $time;
} }
/**
* @return int
*/
public function getException(): int
{
return $this->exception;
}
/**
* @param int $exception
*/
public function setException(int $exception): void
{
$this->exception = $exception;
}
/**
* @return string
*/
public function getDesc(): string
{
return $this->desc;
}
/**
* @param string $desc
*/
public function setDesc(string $desc): void
{
$this->desc = $desc;
}
/**
* @return string
*/
public function getResponse(): string
{
return $this->response;
}
/**
* @param string $response
*/
public function setResponse(string $response): void
{
$this->response = $response;
}
} }
\ No newline at end of file
...@@ -104,14 +104,29 @@ class Response ...@@ -104,14 +104,29 @@ class Response
$crc = substr(sprintf('%08x', Crc::crc($exceptCrc)), 0, 2); $crc = substr(sprintf('%08x', Crc::crc($exceptCrc)), 0, 2);
return $this->responseMessage = $exceptCrc . $crc;
var_dump($exceptCrc); }
return $this->responseMessage = $exceptCrc . $crc; /**
* @return string
*/
public function getResponseMessage(): string
{
return $this->responseMessage;
}
/**
* @param string $responseMessage
*/
public function setResponseMessage(string $responseMessage): void
{
$this->responseMessage = $responseMessage;
} }
} }
......
...@@ -25,7 +25,6 @@ class Bintohex ...@@ -25,7 +25,6 @@ class Bintohex
$data = $data[1]; $data = $data[1];
$packageLength = strlen($data); $packageLength = strlen($data);
$packageLength/=2; $packageLength/=2;
...@@ -39,6 +38,8 @@ class Bintohex ...@@ -39,6 +38,8 @@ class Bintohex
//数据非ffaa开头直接断开连接 //数据非ffaa开头直接断开连接
if(substr($data,0,4) !== 'ffaa') if(substr($data,0,4) !== 'ffaa')
{ {
var_dump('111');
$tcpConnection->close(); $tcpConnection->close();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment