Commit 741f7b68 by BANice

由于掉电离线,服务端只能根据心跳检测连线有延迟,所有当设备重新上线时自动断开之前的tcp触发close时间防止错误

parent 914e138d
...@@ -5,26 +5,20 @@ ...@@ -5,26 +5,20 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="00edf348-0453-4317-8d2b-bf5eb8ea4b7a" name="Default" comment=""> <list default="true" id="00edf348-0453-4317-8d2b-bf5eb8ea4b7a" name="Default" comment="">
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/Order.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/order/SaveOrder.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/state/Charger.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/state/Created.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/state/Finish.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/state/Offline.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/state/Online.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/state/PortShed.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/state/State.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/cdz_order/state/WaitingCharger.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/test.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/Controller/AccessController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller/AccessController.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Application/Controller/AccessController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller/AccessController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/Controller/CertifyController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller/CertifyController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/Controller/PortController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller/PortController.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Application/Controller/PortController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller/PortController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/Controller/PowerController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller/PowerController.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Application/Controller/PowerController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller/PowerController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/Events.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Events.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Application/Events.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Events.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/Response.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/Response.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Lib/api/message/ChargerFinishMessage.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/api/message/ChargerFinishMessage.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/cdz_order/Order.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/cdz_order/Order.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/cdz_order/state/Charger.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/cdz_order/state/Charger.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/cdz_order/state/Offline.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/cdz_order/state/Offline.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/cdz_order/state/State.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/cdz_order/state/State.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/cdz_order/state/WaitingCharger.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/cdz_order/state/WaitingCharger.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/order_exception/Exception.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/order_exception/Exception.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/port/Port.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/port/Port.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Lib/port/Port.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/port/Port.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bug_doc/通讯协议v2(应用协议).md" beforeDir="false" afterPath="$PROJECT_DIR$/bug_doc/通讯协议v2(应用协议).md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bug_doc/通讯协议v2(应用协议).pdf" beforeDir="false" afterPath="$PROJECT_DIR$/bug_doc/通讯协议v2(应用协议).pdf" afterDir="false" />
</list> </list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" /> <option name="TRACKING_ENABLED" value="true" />
...@@ -41,86 +35,80 @@ ...@@ -41,86 +35,80 @@
</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="Order.php" pinned="false" current-in-tab="false"> <file leaf-file-name="PowerController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/Order.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/PowerController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1395"> <state relative-caret-position="-1537">
<caret line="98" column="20" selection-start-line="98" selection-start-column="20" selection-end-line="98" selection-end-column="20" /> <caret line="151" column="17" selection-start-line="151" selection-start-column="17" selection-end-line="151" selection-end-column="17" />
<folding> <folding>
<element signature="e#117#147#0#PHP" expanded="true" /> <element signature="e#126#153#0#PHP" expanded="true" />
</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="Events.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Application/Events.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="162"> <state relative-caret-position="193">
<caret line="156" selection-start-line="156" selection-end-line="156" /> <caret line="154" selection-start-line="154" selection-end-line="154" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="standard_9.php" pinned="false" current-in-tab="false">
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/php/lib/php.jar!/stubs/standard/standard_9.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="299">
<caret line="85" column="9" selection-start-line="85" selection-start-column="9" selection-end-line="85" selection-end-column="9" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="AccessController.php" pinned="false" current-in-tab="false"> <file leaf-file-name="PortController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Application/Controller/AccessController.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/PortController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="377"> <state relative-caret-position="2385">
<caret line="243" column="42" selection-start-line="243" selection-start-column="42" selection-end-line="243" selection-end-column="42" /> <caret line="164" selection-start-line="164" selection-end-line="164" />
<folding>
<element signature="e#131#158#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Offline.php" pinned="false" current-in-tab="false"> <file leaf-file-name="CertifyController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Offline.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/CertifyController.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="647">
<caret line="18" column="23" selection-start-line="18" selection-start-column="23" selection-end-line="18" selection-end-column="23" /> <caret line="52" column="9" selection-start-line="52" selection-start-column="9" selection-end-line="52" selection-end-column="9" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Port.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Gateway.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Lib/port/Port.php"> <entry file="file://$PROJECT_DIR$/vendor/workerman/gateway-worker/src/Lib/Gateway.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="643"> <state relative-caret-position="369">
<caret line="361" column="29" selection-start-line="361" selection-start-column="29" selection-end-line="361" selection-end-column="29" /> <caret line="169" column="27" selection-start-line="169" selection-start-column="27" selection-end-line="169" selection-end-column="27" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="test.php" pinned="false" current-in-tab="false"> <file leaf-file-name="AccessController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/test.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/AccessController.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="395">
<caret line="17" lean-forward="true" selection-start-line="17" selection-end-line="17" /> <caret line="242" column="40" selection-start-line="242" selection-start-column="40" selection-end-line="242" selection-end-column="40" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="RedisKey.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Offline.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/Lib/redis/RedisKey.php"> <entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Offline.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="579">
<caret line="36" column="51" selection-start-line="36" selection-start-column="51" selection-end-line="36" selection-end-column="51" /> <caret line="47" column="12" selection-start-line="47" selection-start-column="12" selection-end-line="47" selection-end-column="12" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Redis.php" pinned="false" current-in-tab="false"> <file leaf-file-name="HeartController.php" pinned="false" current-in-tab="false">
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/php/lib/php.jar!/stubs/redis/Redis.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="297"> <state relative-caret-position="345">
<caret line="3000" column="20" selection-start-line="3000" selection-start-column="20" selection-end-line="3000" selection-end-column="20" /> <caret line="29" column="21" selection-start-line="29" selection-start-column="21" selection-end-line="29" selection-end-column="21" />
</state> </state>
</provider> </provider>
</entry> </entry>
...@@ -128,8 +116,8 @@ ...@@ -128,8 +116,8 @@
<file leaf-file-name="State.php" pinned="false" current-in-tab="false"> <file leaf-file-name="State.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/State.php"> <entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/State.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="164"> <state relative-caret-position="1828">
<caret line="101" column="20" selection-start-line="101" selection-start-column="20" selection-end-line="101" selection-end-column="20" /> <caret line="281" column="20" selection-start-line="281" selection-start-column="20" selection-end-line="281" selection-end-column="20" />
<folding> <folding>
<element signature="e#123#148#0#PHP" expanded="true" /> <element signature="e#123#148#0#PHP" expanded="true" />
</folding> </folding>
...@@ -137,6 +125,15 @@ ...@@ -137,6 +125,15 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="CapacityController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Application/Controller/CapacityController.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="390">
<caret line="31" lean-forward="true" selection-start-line="31" selection-end-line="31" />
</state>
</provider>
</entry>
</file>
</leaf> </leaf>
</component> </component>
<component name="FindInProjectRecents"> <component name="FindInProjectRecents">
...@@ -154,6 +151,7 @@ ...@@ -154,6 +151,7 @@
<find>ff0000</find> <find>ff0000</find>
<find>端口离线命令</find> <find>端口离线命令</find>
<find>after</find> <find>after</find>
<find>var_dump</find>
</findStrings> </findStrings>
<replaceStrings> <replaceStrings>
<replace>Env</replace> <replace>Env</replace>
...@@ -174,7 +172,6 @@ ...@@ -174,7 +172,6 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/Application/Model/OrderExceptionModel.php" />
<option value="$PROJECT_DIR$/Application/Model.php" /> <option value="$PROJECT_DIR$/Application/Model.php" />
<option value="$PROJECT_DIR$/Lib/Log.php" /> <option value="$PROJECT_DIR$/Lib/Log.php" />
<option value="$PROJECT_DIR$/Application/Controller.php" /> <option value="$PROJECT_DIR$/Application/Controller.php" />
...@@ -202,29 +199,30 @@ ...@@ -202,29 +199,30 @@
<option value="$PROJECT_DIR$/Lib/api/message/ChargerFailMessage.php" /> <option value="$PROJECT_DIR$/Lib/api/message/ChargerFailMessage.php" />
<option value="$PROJECT_DIR$/Lib/api/message/ChargerExceptionMessage.php" /> <option value="$PROJECT_DIR$/Lib/api/message/ChargerExceptionMessage.php" />
<option value="$PROJECT_DIR$/Lib/order_exception/OrderTrace.php" /> <option value="$PROJECT_DIR$/Lib/order_exception/OrderTrace.php" />
<option value="$PROJECT_DIR$/Lib/order_exception/Exception.php" />
<option value="$PROJECT_DIR$/Lib/send/Send.php" /> <option value="$PROJECT_DIR$/Lib/send/Send.php" />
<option value="$PROJECT_DIR$/Lib/tool/StringTool.php" /> <option value="$PROJECT_DIR$/Lib/tool/StringTool.php" />
<option value="$PROJECT_DIR$/Lib/api/message/ChargerFinishMessage.php" />
<option value="$PROJECT_DIR$/Application/Controller/HeartController.php" /> <option value="$PROJECT_DIR$/Application/Controller/HeartController.php" />
<option value="$PROJECT_DIR$/Lib/redis/RedisKey.php" /> <option value="$PROJECT_DIR$/Lib/redis/RedisKey.php" />
<option value="$PROJECT_DIR$/Lib/order_exception/OrderState.php" /> <option value="$PROJECT_DIR$/Lib/order_exception/OrderState.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/PortShed.php" /> <option value="$PROJECT_DIR$/Lib/cdz_order/state/PortShed.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/Online.php" /> <option value="$PROJECT_DIR$/Lib/cdz_order/state/Online.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/WaitingCharger.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/order/SaveOrder.php" /> <option value="$PROJECT_DIR$/Lib/cdz_order/order/SaveOrder.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/Created.php" /> <option value="$PROJECT_DIR$/Lib/cdz_order/state/Created.php" />
<option value="$PROJECT_DIR$/Lib/Response.php" /> <option value="$PROJECT_DIR$/Lib/Response.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/Offline.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/Charger.php" />
<option value="$PROJECT_DIR$/Application/Controller/PowerController.php" />
<option value="$PROJECT_DIR$/Application/Controller/PortController.php" />
<option value="$PROJECT_DIR$/Application/Controller/AccessController.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/Order.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/State.php" />
<option value="$PROJECT_DIR$/test/test.php" /> <option value="$PROJECT_DIR$/test/test.php" />
<option value="$PROJECT_DIR$/Application/Controller/AccessController.php" />
<option value="$PROJECT_DIR$/Lib/port/Port.php" /> <option value="$PROJECT_DIR$/Lib/port/Port.php" />
<option value="$PROJECT_DIR$/Lib/order_exception/Exception.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/State.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/WaitingCharger.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/Order.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/Charger.php" />
<option value="$PROJECT_DIR$/Application/Controller/PortController.php" />
<option value="$PROJECT_DIR$/Lib/api/message/ChargerFinishMessage.php" />
<option value="$PROJECT_DIR$/Application/Controller/PowerController.php" />
<option value="$PROJECT_DIR$/Application/Events.php" /> <option value="$PROJECT_DIR$/Application/Events.php" />
<option value="$PROJECT_DIR$/Application/Controller/CertifyController.php" />
<option value="$PROJECT_DIR$/Lib/cdz_order/state/Offline.php" />
</list> </list>
</option> </option>
</component> </component>
...@@ -280,7 +278,8 @@ ...@@ -280,7 +278,8 @@
<path> <path>
<item name="cdz_gateway" type="b2602c69:ProjectViewProjectNode" /> <item name="cdz_gateway" type="b2602c69:ProjectViewProjectNode" />
<item name="cdz_gateway" type="462c0819:PsiDirectoryNode" /> <item name="cdz_gateway" type="462c0819:PsiDirectoryNode" />
<item name="test" type="462c0819:PsiDirectoryNode" /> <item name="Application" type="462c0819:PsiDirectoryNode" />
<item name="Controller" type="462c0819:PsiDirectoryNode" />
</path> </path>
</expand> </expand>
<select /> <select />
...@@ -349,12 +348,12 @@ ...@@ -349,12 +348,12 @@
<workItem from="1530496499150" duration="45852000" /> <workItem from="1530496499150" duration="45852000" />
<workItem from="1531129252870" duration="18903000" /> <workItem from="1531129252870" duration="18903000" />
<workItem from="1531278957060" duration="18725000" /> <workItem from="1531278957060" duration="18725000" />
<workItem from="1531467678517" duration="23052000" /> <workItem from="1531467678517" duration="33417000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="386646000" /> <option name="totallyTimeSpent" value="397011000" />
</component> </component>
<component name="TodoView"> <component name="TodoView">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
...@@ -372,13 +371,14 @@ ...@@ -372,13 +371,14 @@
<window_info anchor="bottom" id="TODO" order="6" weight="0.32977587" /> <window_info anchor="bottom" id="TODO" order="6" weight="0.32977587" />
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" /> <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" /> <window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
<window_info anchor="bottom" id="File Transfer" order="8" visible="true" weight="0.041751526" /> <window_info anchor="bottom" id="File Transfer" order="8" weight="0.041751526" />
<window_info anchor="bottom" id="Version Control" order="7" /> <window_info anchor="bottom" id="Version Control" order="7" />
<window_info anchor="bottom" id="Run" order="2" /> <window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Terminal" order="7" weight="0.31873727" /> <window_info anchor="bottom" id="Terminal" order="7" weight="0.31873727" />
<window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.9242262" visible="true" weight="0.18423855" /> <window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.9242262" visible="true" weight="0.16932908" />
<window_info anchor="bottom" id="Docker" order="8" show_stripe_button="false" /> <window_info anchor="bottom" id="Docker" order="8" show_stripe_button="false" />
<window_info anchor="right" id="Database" order="3" /> <window_info anchor="right" id="Database" order="3" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" /> <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Favorites" order="2" sideWeight="0.075773746" side_tool="true" weight="0.26173633" /> <window_info id="Favorites" order="2" sideWeight="0.075773746" side_tool="true" weight="0.26173633" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" /> <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
...@@ -388,7 +388,6 @@ ...@@ -388,7 +388,6 @@
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="bottom" id="Message" order="0" /> <window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Find" order="1" />
</layout> </layout>
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
...@@ -403,20 +402,13 @@ ...@@ -403,20 +402,13 @@
</breakpoint-manager> </breakpoint-manager>
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/Lib/tool/Crc.php">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/Lib/tool/StringTool.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="11" selection-start-line="11" selection-end-line="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Lib/send/Send.php"> <entry file="file://$PROJECT_DIR$/Lib/send/Send.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1320"> <state relative-caret-position="1320">
<caret line="96" selection-start-line="96" selection-end-line="96" /> <caret line="96" selection-start-line="96" selection-end-line="96" />
<folding>
<element signature="e#115#131#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
...@@ -507,20 +499,6 @@ ...@@ -507,20 +499,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/CertifyController.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="390">
<caret line="33" column="34" selection-start-line="33" selection-start-column="34" selection-end-line="33" selection-end-column="34" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Lib/api/message/ChargerFinishMessage.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="491">
<caret line="81" column="13" selection-start-line="81" selection-start-column="13" selection-end-line="81" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Route/Api.php"> <entry file="file://$PROJECT_DIR$/Route/Api.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="300">
...@@ -538,13 +516,6 @@ ...@@ -538,13 +516,6 @@
<entry file="file://$PROJECT_DIR$/bug_doc/guide/charger.png"> <entry file="file://$PROJECT_DIR$/bug_doc/guide/charger.png">
<provider selected="true" editor-type-id="images" /> <provider selected="true" editor-type-id="images" />
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/HeartController.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="345">
<caret line="29" column="21" selection-start-line="29" selection-start-column="21" selection-end-line="29" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/SettingController.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/SettingController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="495"> <state relative-caret-position="495">
...@@ -580,13 +551,6 @@ ...@@ -580,13 +551,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/vendor/workerman/gateway-worker/src/Lib/Gateway.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="369">
<caret line="147" column="27" selection-start-line="147" selection-start-column="27" selection-end-line="147" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/php/lib/php.jar!/stubs/standard/standard_5.php"> <entry file="jar://$APPLICATION_HOME_DIR$/plugins/php/lib/php.jar!/stubs/standard/standard_5.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="304">
...@@ -601,13 +565,6 @@ ...@@ -601,13 +565,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Charger.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="675">
<caret line="50" column="5" selection-start-line="50" selection-start-column="5" selection-end-line="50" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Created.php"> <entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Created.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="180">
...@@ -615,13 +572,6 @@ ...@@ -615,13 +572,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Finish.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="13" lean-forward="true" selection-start-line="13" selection-end-line="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Online.php"> <entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Online.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="90">
...@@ -646,20 +596,31 @@ ...@@ -646,20 +596,31 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/WaitingCharger.php"> <entry file="jar://$APPLICATION_HOME_DIR$/plugins/php/lib/php.jar!/stubs/standard/standard_9.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255"> <state relative-caret-position="299">
<caret line="22" column="20" selection-start-line="22" selection-start-column="20" selection-end-line="22" selection-end-column="20" /> <caret line="85" column="9" selection-start-line="85" selection-start-column="9" selection-end-line="85" selection-end-column="9" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/order_exception/OrderTrace.php"> <entry file="file://$PROJECT_DIR$/Lib/redis/RedisKey.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="465">
<caret line="36" column="20" selection-start-line="36" selection-start-column="20" selection-end-line="36" selection-end-column="20" /> <caret line="36" column="51" selection-start-line="36" selection-start-column="51" selection-end-line="36" selection-end-column="51" />
<folding> </state>
<element signature="e#124#166#0#PHP" expanded="true" /> </provider>
</folding> </entry>
<entry file="file://$PROJECT_DIR$/test/test.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180">
<caret line="17" lean-forward="true" selection-start-line="17" selection-end-line="17" />
</state>
</provider>
</entry>
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/php/lib/php.jar!/stubs/redis/Redis.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="297">
<caret line="3000" column="20" selection-start-line="3000" selection-start-column="20" selection-end-line="3000" selection-end-column="20" />
</state> </state>
</provider> </provider>
</entry> </entry>
...@@ -670,29 +631,33 @@ ...@@ -670,29 +631,33 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/PortController.php"> <entry file="file://$PROJECT_DIR$/Lib/order_exception/Exception.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="621"> <state relative-caret-position="330">
<caret line="449" selection-start-line="449" selection-end-line="449" /> <caret line="27" column="27" selection-start-line="27" selection-start-column="27" selection-end-line="27" selection-end-column="27" />
<folding>
<element signature="e#131#158#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/PowerController.php"> <entry file="file://$PROJECT_DIR$/Lib/order_exception/OrderTrace.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="508"> <state relative-caret-position="465">
<caret line="153" column="36" lean-forward="true" selection-start-line="153" selection-start-column="36" selection-end-line="153" selection-end-column="36" /> <caret line="36" column="20" selection-start-line="36" selection-start-column="20" selection-end-line="36" selection-end-column="20" />
<folding> <folding>
<element signature="e#126#153#0#PHP" expanded="true" /> <element signature="e#124#166#0#PHP" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/WaitingCharger.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="320">
<caret line="28" lean-forward="true" selection-start-line="28" selection-end-line="28" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/Order.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="1395"> <state relative-caret-position="292">
<caret line="98" column="20" selection-start-line="98" selection-start-column="20" selection-end-line="98" selection-end-column="20" /> <caret line="98" column="20" selection-start-line="98" selection-start-column="20" selection-end-line="98" selection-end-column="20" />
<folding> <folding>
<element signature="e#117#147#0#PHP" expanded="true" /> <element signature="e#117#147#0#PHP" expanded="true" />
...@@ -700,69 +665,110 @@ ...@@ -700,69 +665,110 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/php/lib/php.jar!/stubs/standard/standard_9.php"> <entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Finish.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="120">
<caret line="85" column="9" selection-start-line="85" selection-start-column="9" selection-end-line="85" selection-end-column="9" /> <caret line="13" lean-forward="true" selection-start-line="13" selection-end-line="13" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/AccessController.php"> <entry file="file://$PROJECT_DIR$/Lib/port/Port.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="377"> <state relative-caret-position="355">
<caret line="243" column="42" selection-start-line="243" selection-start-column="42" selection-end-line="243" selection-end-column="42" /> <caret line="31" column="20" selection-start-line="31" selection-start-column="20" selection-end-line="31" selection-end-column="20" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Offline.php"> <entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Charger.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="675">
<caret line="18" column="23" selection-start-line="18" selection-start-column="23" selection-end-line="18" selection-end-column="23" /> <caret line="50" selection-start-line="50" selection-end-line="50" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/State.php"> <entry file="file://$PROJECT_DIR$/Lib/api/message/ChargerFinishMessage.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="164"> <state relative-caret-position="503">
<caret line="101" column="20" selection-start-line="101" selection-start-column="20" selection-end-line="101" selection-end-column="20" /> <caret line="79" column="71" selection-start-line="79" selection-start-column="71" selection-end-line="79" selection-end-column="71" />
<folding>
<element signature="e#123#148#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/redis/RedisKey.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="465"> <state relative-caret-position="193">
<caret line="36" column="51" selection-start-line="36" selection-start-column="51" selection-end-line="36" selection-end-column="51" /> <caret line="154" selection-start-line="154" selection-end-line="154" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/test/test.php"> <entry file="file://$PROJECT_DIR$/vendor/workerman/gateway-worker/src/Lib/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="369">
<caret line="17" lean-forward="true" selection-start-line="17" selection-end-line="17" /> <caret line="169" column="27" selection-start-line="169" selection-start-column="27" selection-end-line="169" selection-end-column="27" />
</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/Controller/CapacityController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="297"> <state relative-caret-position="390">
<caret line="3000" column="20" selection-start-line="3000" selection-start-column="20" selection-end-line="3000" selection-end-column="20" /> <caret line="31" lean-forward="true" selection-start-line="31" selection-end-line="31" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/port/Port.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/CertifyController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="643"> <state relative-caret-position="647">
<caret line="361" column="29" selection-start-line="361" selection-start-column="29" selection-end-line="361" selection-end-column="29" /> <caret line="52" column="9" selection-start-line="52" selection-start-column="9" selection-end-line="52" selection-end-column="9" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Events.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/HeartController.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="345">
<caret line="29" column="21" selection-start-line="29" selection-start-column="21" selection-end-line="29" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/PortController.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2385">
<caret line="164" selection-start-line="164" selection-end-line="164" />
<folding>
<element signature="e#131#158#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/PowerController.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1537">
<caret line="151" column="17" selection-start-line="151" selection-start-column="17" selection-end-line="151" selection-end-column="17" />
<folding>
<element signature="e#126#153#0#PHP" expanded="true" />
</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="1828">
<caret line="281" column="20" selection-start-line="281" selection-start-column="20" selection-end-line="281" selection-end-column="20" />
<folding>
<element signature="e#123#148#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/AccessController.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="395">
<caret line="242" column="40" selection-start-line="242" selection-start-column="40" selection-end-line="242" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Lib/cdz_order/state/Offline.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="162"> <state relative-caret-position="579">
<caret line="156" selection-start-line="156" selection-end-line="156" /> <caret line="47" column="12" selection-start-line="47" selection-start-column="12" selection-end-line="47" selection-end-column="12" />
</state> </state>
</provider> </provider>
</entry> </entry>
......
...@@ -226,8 +226,6 @@ class AccessController extends Controller ...@@ -226,8 +226,6 @@ class AccessController extends Controller
$orderId = $port->getPortUsingOrderId($redis, $id); $orderId = $port->getPortUsingOrderId($redis, $id);
Log::debug('order_id->'.$orderId);
if (isset($orderId) === false || $orderId === false || $orderId == 0) { if (isset($orderId) === false || $orderId === false || $orderId == 0) {
continue; continue;
...@@ -237,20 +235,15 @@ class AccessController extends Controller ...@@ -237,20 +235,15 @@ class AccessController extends Controller
$order->setId($orderId); $order->setId($orderId);
var_dump($orderId);
if ($order->getOrderCache($redis) !== false) { if ($order->getOrderCache($redis) !== false) {
//订单从离线的状态变为正在充电状态
$orderState = new Offline($order, $redis, $offlineReason); $orderState = new Offline($order, $redis, $offlineReason);
$orderState->toCharger(); $orderState->toCharger();
$remainChargerTime = $orderState->getRemainChargerTime(); $remainChargerTime = $orderState->getRemainChargerTime();
Log::debug('remainChargerTime'.$remainChargerTime);
if ($remainChargerTime > 0) { if ($remainChargerTime > 0) {
array_push($responseOrder, [ array_push($responseOrder, [
......
...@@ -10,6 +10,7 @@ namespace Application\Controller; ...@@ -10,6 +10,7 @@ namespace Application\Controller;
use Application\Controller; use Application\Controller;
use GatewayWorker\Lib\Gateway;
use Lib\Aes; use Lib\Aes;
use Lib\Log; use Lib\Log;
...@@ -19,8 +20,8 @@ class CertifyController extends Controller ...@@ -19,8 +20,8 @@ class CertifyController extends Controller
protected $parameterMap = [ protected $parameterMap = [
'01' => [ '01' => [
'mac' => 6 'mac' => 6,
] ],
]; ];
/** /**
...@@ -29,11 +30,11 @@ class CertifyController extends Controller ...@@ -29,11 +30,11 @@ class CertifyController extends Controller
public function certify() public function certify()
{ {
Log::debug('平台认证',$this->getRequest()->getParameters()); Log::debug('平台认证', $this->getRequest()->getParameters());
$nonce = $this->getNonce(); $nonce = $this->getNonce();
$mac =$this->getRequest()->get('mac'); $mac = $this->getRequest()->get('mac');
//todo 验证mac地址是否存在,从数据库中获取producter_id生产sign //todo 验证mac地址是否存在,从数据库中获取producter_id生产sign
...@@ -43,12 +44,21 @@ class CertifyController extends Controller ...@@ -43,12 +44,21 @@ class CertifyController extends Controller
$productId = 'A22E4F4CDB05C460E450E46241DD6F89'; $productId = 'A22E4F4CDB05C460E450E46241DD6F89';
$sign = bin2hex(Aes::encrypt($nonce,$productId)); $sign = bin2hex(Aes::encrypt($nonce, $productId));
$sign = substr($sign,0,8); $sign = substr($sign, 0, 8);
if (Gateway::isUidOnline($mac) === 1) {
$this->response->send('01',$sign); $clients = Gateway::getClientIdByUid($mac);
foreach ($clients as $client) {
Gateway::closeClient($client);
}
}
$this->response->send('01', $sign);
} }
......
...@@ -21,6 +21,7 @@ use Lib\api\message\ChargerStartMessage; ...@@ -21,6 +21,7 @@ use Lib\api\message\ChargerStartMessage;
use Lib\api\message\PortShedMessage; use Lib\api\message\PortShedMessage;
use Lib\api\message\Push; use Lib\api\message\Push;
use Lib\cdz_order\Order; use Lib\cdz_order\Order;
use Lib\cdz_order\state\Charger;
use Lib\cdz_order\state\WaitingCharger; use Lib\cdz_order\state\WaitingCharger;
use Lib\Gateway; use Lib\Gateway;
use Lib\Log; use Lib\Log;
...@@ -124,7 +125,6 @@ class PortController extends Controller ...@@ -124,7 +125,6 @@ class PortController extends Controller
$offlinePortId = []; $offlinePortId = [];
foreach ($portMacArray as $mac) { foreach ($portMacArray as $mac) {
//todo 更新逻辑地址数据中 //todo 更新逻辑地址数据中
...@@ -143,6 +143,26 @@ class PortController extends Controller ...@@ -143,6 +143,26 @@ class PortController extends Controller
} }
$port = new Port();
foreach ($offlinePortId as $portId) {
$orderId = $port->getPortUsingOrderId(\Events::getRedis(),$portId);
$order = new Order();
$order->setId($orderId);
$charger = new Charger($order,\Events::getRedis());
$charger->toOffline();
unset($charger);
unset($order);
}
$port->offline($offlinePortId); $port->offline($offlinePortId);
...@@ -197,8 +217,16 @@ class PortController extends Controller ...@@ -197,8 +217,16 @@ class PortController extends Controller
$update['start_time'] = $nowTime; $update['start_time'] = $nowTime;
$row = $orderModel->update($update, 'id = ' . $orderId); $orderModel->update($update, 'id = ' . $orderId);
//订单状态改为正在充电
$order = new Order();
$order->setId($orderId);
$waiting = new WaitingCharger($order,\Events::getRedis());
$waiting->toCharger();
} catch (\Exception $exception) { } catch (\Exception $exception) {
Log::error($exception->getMessage()); Log::error($exception->getMessage());
......
...@@ -15,18 +15,15 @@ use Application\Model\OrderExceptionModel; ...@@ -15,18 +15,15 @@ use Application\Model\OrderExceptionModel;
use Application\Model\OrderModel; use Application\Model\OrderModel;
use Lib\api\message\ChargerExceedMessage; use Lib\api\message\ChargerExceedMessage;
use Lib\api\message\ChargerExceptionMessage; use Lib\api\message\ChargerExceptionMessage;
use Lib\api\message\ChargerExcessMessage;
use Lib\api\message\ChargerFailMessage;
use Lib\api\message\ChargerFinishMessage; use Lib\api\message\ChargerFinishMessage;
use Lib\api\message\ChargerRefundMessage; use Lib\api\message\ChargerRefundMessage;
use Lib\api\message\ChargerStartMessage; use Lib\api\message\ChargerStartMessage;
use Lib\api\message\PortShedMessage;
use Lib\api\message\Push; use Lib\api\message\Push;
use Lib\cdz_order\Order; use Lib\cdz_order\Order;
use Lib\cdz_order\state\Charger;
use Lib\cdz_order\state\WaitingCharger; use Lib\cdz_order\state\WaitingCharger;
use Lib\Gateway; use Lib\Gateway;
use Lib\Log; use Lib\Log;
use Lib\order_exception\OrderState;
use Lib\order_exception\OrderTrace; use Lib\order_exception\OrderTrace;
use Lib\port\Port; use Lib\port\Port;
use Lib\state\StateCode; use Lib\state\StateCode;
...@@ -153,8 +150,6 @@ class PowerController extends Controller ...@@ -153,8 +150,6 @@ class PowerController extends Controller
if( $order->getOrderCache($redis) !== false) if( $order->getOrderCache($redis) !== false)
{ {
var_dump($order->getOrderCache($redis));
$waiting = new WaitingCharger($order,$redis); $waiting = new WaitingCharger($order,$redis);
$waiting->toCharger(); $waiting->toCharger();
...@@ -290,6 +285,7 @@ class PowerController extends Controller ...@@ -290,6 +285,7 @@ class PowerController extends Controller
$this->response->send('15', $orderId); $this->response->send('15', $orderId);
return; return;
} else { } else {
//订单结束更新订单记录 //订单结束更新订单记录
...@@ -297,10 +293,6 @@ class PowerController extends Controller ...@@ -297,10 +293,6 @@ class PowerController extends Controller
$orderModel->update(['is_stop' => $state, 'state' => 1, 'end_capacity' => $capacity, 'end_time' => $time], ' id = ' . $id); $orderModel->update(['is_stop' => $state, 'state' => 1, 'end_capacity' => $capacity, 'end_time' => $time], ' id = ' . $id);
$orderState = new OrderState($orderId);
$orderState->setState($state);
} }
...@@ -314,20 +306,26 @@ class PowerController extends Controller ...@@ -314,20 +306,26 @@ class PowerController extends Controller
Gateway::sendToUid($userId, json_encode(['code' => 10000])); Gateway::sendToUid($userId, json_encode(['code' => 10000]));
} }
if (isset($orderInfo['order_amount']) === true) {
$orderInfo['order_amount'] = number_format($orderInfo['order_amount'] / 100, 2);
}
$port->setId($portId); $port->setId($portId);
$port->freePort(); $port->freePort();
$order = new Order();
$order->setId($id);
$chargerState = new Charger($order,\Events::getRedis());
$chargerState->setFinishState($state);
$chargerState->setEndTime(time());
$chargerState->toFinish();
switch ($state) { switch ($state) {
case StateCode::FINISH_EXCEED: case StateCode::FINISH_EXCEED:
$finishMessage = new ChargerExceedMessage(); $finishMessage = new ChargerExceedMessage();
$finishMessage->setUserId($orderInfo['wx_user_id']); $finishMessage->setUserId($orderInfo['wx_user_id']);
......
...@@ -151,6 +151,8 @@ class Events ...@@ -151,6 +151,8 @@ class Events
$redis = Events::getRedis(); $redis = Events::getRedis();
Log::debug('disconnect');
if (isset($_SESSION['gateway_id']) === true) { if (isset($_SESSION['gateway_id']) === true) {
Log::info('gateway_id(' . $_SESSION['gateway_id'] . ')' . 'disconnect'); Log::info('gateway_id(' . $_SESSION['gateway_id'] . ')' . 'disconnect');
......
...@@ -77,7 +77,7 @@ class ChargerFinishMessage extends MessageData ...@@ -77,7 +77,7 @@ class ChargerFinishMessage extends MessageData
'color' => '#333', 'color' => '#333',
], ],
'keyword4' => [ 'keyword4' => [
'value' => '¥'.$this->orderAmount, 'value' => '¥'.number_format($this->orderAmount/100,2),
'color' => '#333', 'color' => '#333',
], ],
'remark' => [ 'remark' => [
......
...@@ -105,16 +105,12 @@ class Order ...@@ -105,16 +105,12 @@ class Order
if ($redis->exists($keyName) === false) { if ($redis->exists($keyName) === false) {
Log::debug('exists false');
return false; return false;
} }
$this->orderCache = $redis->hGetAll($keyName); $this->orderCache = $redis->hGetAll($keyName);
foreach ($this->orderCache as $key => $value) { foreach ($this->orderCache as $key => $value) {
$this->$key = $value; $this->$key = $value;
......
...@@ -35,13 +35,20 @@ class Charger extends State ...@@ -35,13 +35,20 @@ class Charger extends State
// TODO: Implement toFull() method. // TODO: Implement toFull() method.
} }
/**
* 充电结束记录充电结束状态和结束充电时间
*/
public function toFinish() public function toFinish()
{ {
// TODO: Implement toFinish() method. $this->redis->hMSet($this->keyName, ['finishState' => $this->finishState, 'endTime' => $this->endTime]);
} }
public function toOffline() public function toOffline()
{ {
$this->redis->hSet($this->keyName,'offlineTime',time());
// TODO: Implement toOffline() method. // TODO: Implement toOffline() method.
} }
......
...@@ -23,18 +23,28 @@ class Offline extends State ...@@ -23,18 +23,28 @@ class Offline extends State
} }
/** /**
* *记录了离线原因和上线时间
* 通过上线时间和离线时间根据离线原因计算剩余充电时间
*/ */
public function toCharger() public function toCharger()
{ {
$purchaseTime = $this->order->getPurchaseTime(); $purchaseTime = $this->order->getPurchaseTime();
$startTime = $this->getStartTime();
$offlineTime = $this->getOfflineTime();
$this->onlineTime = time(); $this->onlineTime = time();
if($this->order->getStateCode() == -1)
{
$this->remainChargerTime = $this->order->getPurchaseTime();
}else {
$startTime = $this->getStartTime();
$offlineTime = $this->getOfflineTime();
if ($this->offlineReason == 1) { if ($this->offlineReason == 1) {
...@@ -47,9 +57,10 @@ class Offline extends State ...@@ -47,9 +57,10 @@ class Offline extends State
$remainTime = $purchaseTime * 60 - ($this->onlineTime - $startTime); $remainTime = $purchaseTime * 60 - ($this->onlineTime - $startTime);
$this->remainChargerTime = (int) ceil($remainTime/60); $this->remainChargerTime = (int)ceil($remainTime / 60);
} }
}
$this->saveOrder->savePortOnlineTime(); $this->saveOrder->savePortOnlineTime();
......
...@@ -95,6 +95,11 @@ abstract class State ...@@ -95,6 +95,11 @@ abstract class State
*/ */
protected $remainChargerTime; protected $remainChargerTime;
/**
* @var int
*/
protected $finishState;
/** /**
* State constructor. * State constructor.
* @param Order $order * @param Order $order
...@@ -319,6 +324,21 @@ abstract class State ...@@ -319,6 +324,21 @@ abstract class State
$this->endTime = $endTime; $this->endTime = $endTime;
} }
/**
* @return int
*/
public function getFinishState(): int
{
return $this->finishState;
}
/**
* @param int $finishState
*/
public function setFinishState(int $finishState): void
{
$this->finishState = $finishState;
}
......
...@@ -27,8 +27,6 @@ class WaitingCharger extends State ...@@ -27,8 +27,6 @@ class WaitingCharger extends State
$this->order->setStateCode(12); $this->order->setStateCode(12);
$this->order->setCurrentState(new Charger($this->order,$this->redis));
$this->saveOrder->pipe(); $this->saveOrder->pipe();
$this->saveOrder->saveStartTime(); $this->saveOrder->saveStartTime();
......
...@@ -25,6 +25,7 @@ class Exception ...@@ -25,6 +25,7 @@ class Exception
'99' => '下发开始充电命令', '99' => '下发开始充电命令',
'98' => '更换充电口', '98' => '更换充电口',
'97' => '下发结束充电命令', '97' => '下发结束充电命令',
'96' => '订单更换口子成功',
]; ];
......
...@@ -185,9 +185,6 @@ class Port ...@@ -185,9 +185,6 @@ class Port
{ {
// 口子充电结束,释放口子,删除正在使用的订单号和用户id,口子状态修改为1。 // 口子充电结束,释放口子,删除正在使用的订单号和用户id,口子状态修改为1。
Log::debug('释放口子id->'.$this->id);
$this->redis->hDel(RedisKey::PORT_USING_ORDER_ID,$this->id); $this->redis->hDel(RedisKey::PORT_USING_ORDER_ID,$this->id);
$this->redis->zRem(RedisKey::PORT_USING_USER_ID,$this->id); $this->redis->zRem(RedisKey::PORT_USING_USER_ID,$this->id);
......
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