Commit 840b5072 by banice

口子状态改变验证逻辑号,充电结束验证逻辑号

parent f3957f24
...@@ -67,6 +67,10 @@ class OverController extends Controller ...@@ -67,6 +67,10 @@ class OverController extends Controller
if ($portId !== 0) { if ($portId !== 0) {
$this->logRecord->setPortId($portId); $this->logRecord->setPortId($portId);
} }
// 逻辑地址不相同则认为已经更换过口子
// if ($logicId != $order->getPortLogicId()) {
// $this->response->send('15', sprintf('%02x', $logicId) . sprintf('%012x', $orderId));
// }
if (Gateway::isUidOnline($order->getUserId()) === 1) { if (Gateway::isUidOnline($order->getUserId()) === 1) {
...@@ -152,6 +156,7 @@ class OverController extends Controller ...@@ -152,6 +156,7 @@ class OverController extends Controller
]); ]);
$this->logRecord->setDesc('更换口子,' . $portId . '关闭成功'); $this->logRecord->setDesc('更换口子,' . $portId . '关闭成功');
} }
$this->response->send('15', sprintf('%02x', $logicId) . sprintf('%012x', $orderId)); $this->response->send('15', sprintf('%02x', $logicId) . sprintf('%012x', $orderId));
......
...@@ -73,8 +73,6 @@ class StartController extends Controller ...@@ -73,8 +73,6 @@ class StartController extends Controller
if (isset($_SESSION['agent_id'])) { if (isset($_SESSION['agent_id'])) {
Log::debug('agent_id' . $_SESSION['agent_id']);
Log::debug(Gateway::isUidOnline($_SESSION['agent_id']));
if (Gateway::isUidOnline($_SESSION['agent_id'])) { if (Gateway::isUidOnline($_SESSION['agent_id'])) {
$clientsId = Gateway::getClientIdByUid($_SESSION['agent_id']); $clientsId = Gateway::getClientIdByUid($_SESSION['agent_id']);
$clientId = $clientsId[0]; $clientId = $clientsId[0];
......
...@@ -39,15 +39,18 @@ class StateController extends Controller ...@@ -39,15 +39,18 @@ class StateController extends Controller
parent::__construct($clientId, $message, $command); parent::__construct($clientId, $message, $command);
} }
/**
* 改变口子的状态
*/
public function change() public function change()
{ {
$portLogic = $this->request->get('port_logic'); $portLogic = hexdec($this->request->get('port_logic'));
$mac = $this->request->get('mac'); $mac = $this->request->get('mac');
$state = hexdec($this->request->get('state')); $state = hexdec($this->request->get('state'));
if (isset($_SESSION['port_mac_id']) !== true) { if (isset($_SESSION['port_mac_id']) !== true) {
$deviceModel = new DeviceModel(); $deviceModel = new DeviceModel();
$portId = $deviceModel->getColumn('id', 'mac = ' . $mac); $portId = $deviceModel->getColumn('id', 'device_mac = ' . $mac);
if (isset($portId) === false || $portId == '') { if (isset($portId) === false || $portId == '') {
return; return;
...@@ -69,15 +72,9 @@ class StateController extends Controller ...@@ -69,15 +72,9 @@ class StateController extends Controller
$usingOrderId = $port->getPortUsingOrderId(); $usingOrderId = $port->getPortUsingOrderId();
if ($usingOrderId == false || $usingOrderId == '') { if ($usingOrderId == false || $usingOrderId == '') {
$port->setState($state);
if (isset($_SESSION['gateway_id']) && isset($_SESSION['station_id'])) {
$port->setGatewayId($_SESSION['gateway_id']);
$port->setStationId($_SESSION['station_id']);
$port->updatePortState();
} else {
Log::error('can not find station_id or gateway_id from session (change state)');
} $port->setState($state);
$port->updatePortState();
} else { } else {
...@@ -87,16 +84,22 @@ class StateController extends Controller ...@@ -87,16 +84,22 @@ class StateController extends Controller
$order = new Order((int)$usingOrderId); $order = new Order((int)$usingOrderId);
if ($order->getOrderCache(\Events::getRedis()) == false) { if ($order->getOrderCache(\Events::getRedis()) == false) {
$port->setState($state); $port->setState($state);
$port->updatePortState(); $port->updatePortState();
return; return;
} }
// if (Gateway::isUidOnline($order->getUserId()) === 1) {
// Gateway::sendToUid($order->getUserId(), json_encode(['code' => 10000]));
// }
Log::debug('order last state ' . $order->getStateCode());
if ($order->getPortLogicId() != $portLogic) {
return;
}
if (Gateway::isUidOnline($order->getUserId()) === 1) {
Gateway::sendToUid($order->getUserId(), json_encode(['code' => 10000]));
}
switch ($order->getStateCode()) { switch ($order->getStateCode()) {
case StateCode::PORT_CHARGER: case StateCode::PORT_CHARGER:
......
...@@ -194,7 +194,7 @@ class WaitingState extends State ...@@ -194,7 +194,7 @@ class WaitingState extends State
$port->setState(StateCode::PORT_EXCEPTION); $port->setState(StateCode::PORT_EXCEPTION);
$port->setStationId($this->order->getStationId()); $port->setStationId($this->order->getStationId());
$port->setGatewayId($this->order->getGatewayId()); $port->setGatewayId($this->order->getGatewayId());
$port->freePort($this->order->getId());
$port->updatePortState($this->order->getId()); $port->updatePortState($this->order->getId());
$broadcastToAgent = new BroadcastToAgent(); $broadcastToAgent = new BroadcastToAgent();
......
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