Commit 30187ca0 by 杨苏杭

封存

parent 7105ff2d
...@@ -70,7 +70,7 @@ class AccessController extends Controller ...@@ -70,7 +70,7 @@ class AccessController extends Controller
'nb_device_id' 'nb_device_id'
], 'mac_address=' . $mac); ], 'mac_address=' . $mac);
if ($gatewayModelResult == false) { if ( $gatewayModelResult == false ) {
Gateway::closeClient($this->clientId); Gateway::closeClient($this->clientId);
return; return;
} }
...@@ -96,15 +96,15 @@ class AccessController extends Controller ...@@ -96,15 +96,15 @@ class AccessController extends Controller
'name', 'name',
], 'id=' . $stationId); ], 'id=' . $stationId);
if (isset($stationData['park_id']) && isset($stationData['name'])) { if ( isset($stationData['park_id']) && isset($stationData['name']) ) {
$parkId = $stationData['park_id']; $parkId = $stationData['park_id'];
Session::update('station_name', $stationData['name']); Session::update('station_name', $stationData['name']);
if (isset($parkId)) { if ( isset($parkId) ) {
$parkModel = new ParkModel(); $parkModel = new ParkModel();
Session::update('park_id', $parkId); Session::update('park_id', $parkId);
$agentId = $parkModel->getColumn('agent_id', 'id=' . $parkId); $agentId = $parkModel->getColumn('agent_id', 'id=' . $parkId);
if (isset($agentId)) { if ( isset($agentId) ) {
Session::update('agent_id', $agentId); Session::update('agent_id', $agentId);
} }
...@@ -170,7 +170,7 @@ class AccessController extends Controller ...@@ -170,7 +170,7 @@ class AccessController extends Controller
$portMacState = []; $portMacState = [];
if (strlen($this->message) < (12 * 2 + 9 * 2 * $count)) { if ( strlen($this->message) < (12 * 2 + 9 * 2 * $count) ) {
Log::debug('fail'); Log::debug('fail');
return; return;
...@@ -184,7 +184,7 @@ class AccessController extends Controller ...@@ -184,7 +184,7 @@ class AccessController extends Controller
$portMacState[$mac] = hexdec($state); $portMacState[$mac] = hexdec($state);
} }
if (filled(Session::get('port_mac_id')) == false) { if ( filled(Session::get('port_mac_id')) == false ) {
Log::error('can not get port_mac_id'); Log::error('can not get port_mac_id');
...@@ -200,7 +200,7 @@ class AccessController extends Controller ...@@ -200,7 +200,7 @@ class AccessController extends Controller
foreach ($portMacState as $mac => $state) { foreach ($portMacState as $mac => $state) {
if (isset($portsMacId[$mac])) { if ( isset($portsMacId[$mac]) ) {
array_push($portsId, $portsMacId[$mac]); array_push($portsId, $portsMacId[$mac]);
} }
} }
...@@ -210,7 +210,7 @@ class AccessController extends Controller ...@@ -210,7 +210,7 @@ class AccessController extends Controller
foreach ($portMacState as $mac => $state) { foreach ($portMacState as $mac => $state) {
$portId = isset($portsMacId[$mac]) ? $portsMacId[$mac] : false; $portId = isset($portsMacId[$mac]) ? $portsMacId[$mac] : false;
if ($portId === false) { if ( $portId === false ) {
continue; continue;
} }
...@@ -229,7 +229,7 @@ class AccessController extends Controller ...@@ -229,7 +229,7 @@ class AccessController extends Controller
$deviceModel = new DeviceModel(); $deviceModel = new DeviceModel();
if (filled(Session::get('port_logic_id'))) { if ( filled(Session::get('port_logic_id')) ) {
Session::update('port_logic_id', Session::get('port_logic_id') + $portsLogicId); Session::update('port_logic_id', Session::get('port_logic_id') + $portsLogicId);
} else { } else {
...@@ -256,18 +256,20 @@ class AccessController extends Controller ...@@ -256,18 +256,20 @@ class AccessController extends Controller
$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(app('Redis')) == false) { if ( $order->getOrderCache(app('Redis')) == false ) {
continue; continue;
} }
$order->setOnlineTime(time()); $order->setOnlineTime(time());
if ($offlineReason == 0) { Log::debug($offlineReason);
if ( $offlineReason == 0 ) {
$orderState = new OfflineNetState($order); $orderState = new OfflineNetState($order);
} else { } else {
$orderState = new OfflinePowerState($order); $orderState = new OfflinePowerState($order);
...@@ -276,11 +278,14 @@ class AccessController extends Controller ...@@ -276,11 +278,14 @@ 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);
Log::debug('remain_time' . $remainTime);
Log::debug($orderId);
array_push($responseOrder, $logicNum . $orderId . $time); array_push($responseOrder, $logicNum . $orderId . $time);
} }
......
...@@ -12,6 +12,7 @@ namespace Application\controller\business\port; ...@@ -12,6 +12,7 @@ namespace Application\controller\business\port;
use Application\controller\Controller; use Application\controller\Controller;
use Application\model\ExceptionModel; use Application\model\ExceptionModel;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Lib\Session;
use Lib\StateCode; use Lib\StateCode;
use Lib\station\gateway\port\Port; use Lib\station\gateway\port\Port;
use Src\BroadcastToAgent; use Src\BroadcastToAgent;
...@@ -59,44 +60,46 @@ class OfflineController extends Controller ...@@ -59,44 +60,46 @@ class OfflineController extends Controller
} }
if (!isset($_SESSION['port_mac_id'])) { if ( blank(Session::get('port_mac_id')) ) {
return; return;
} }
$portsMacId = $_SESSION['port_mac_id']; $portsMacId = Session::get('port_mac_id');
$port = new Port(); $port = new Port();
$exceptionModel = new ExceptionModel(); $exceptionModel = new ExceptionModel();
if (!(isset($_SESSION['station_id']) || !isset($_SESSION['gateway_id']))) { if ( blank(Session::get('station_id')) || blank(Session::get('gateway_id')) ) {
return; return;
} }
$broadcastToAgent = new BroadcastToAgent(); $broadcastToAgent = new BroadcastToAgent();
$offlinePorts = []; $offlinePorts = [];
$portIdName = Session::get('port_id_name');
foreach ($portsLogicMac as $portLogic => $portMac) { foreach ($portsLogicMac as $portLogic => $portMac) {
if (isset($portsMacId[$portMac])) { if ( isset($portsMacId[$portMac]) ) {
$portId = $portsMacId[$portMac]; $portId = $portsMacId[$portMac];
if (isset($_SESSION['port_id_name'][$portId])) { if ( isset($portIdName[$portId]) ) {
array_push($offlinePorts, ['name' => $_SESSION['port_id_name'][$portId], 'id' => $portId]); array_push($offlinePorts, ['name' => $portIdName[$portId], 'id' => $portId]);
} }
Log::debug('offline port_id' . $portId); Log::debug('offline port_id' . $portId);
$port->setPortId($portId); $port->setPortId($portId);
$port->setStationId($_SESSION['station_id']); $port->setStationId(Session::get('station_id'));
$port->setGatewayId($_SESSION['gateway_id']); $port->setGatewayId(Session::get('gateway_id'));
$port->setState(StateCode::PORT_OFFLINE); $port->setState(StateCode::PORT_OFFLINE);
$port->updatePortState(); $port->updatePortState();
// 记录口子离线 // 记录口子离线
$exceptionModel->insertRow([ $exceptionModel->insertRow([
'message' => '口子离线', 'message' => '口子离线',
'gateway_id' => isset($_SESSION['gateway_id']) ? $_SESSION['gateway_id'] : '', 'gateway_id' => Session::get('gateway_id'),
'station_id' => isset($_SESSION['station_id']) ? $_SESSION['station_id'] : '', 'station_id' => Session::get('station_id'),
'port_id' => $portId, 'port_id' => $portId,
'created_at' => date('Y-m-d H:i:s'), 'created_at' => date('Y-m-d H:i:s'),
'type' => 1, 'type' => 1,
]); ]);
} }
...@@ -105,11 +108,11 @@ class OfflineController extends Controller ...@@ -105,11 +108,11 @@ class OfflineController extends Controller
$broadcastToAgent->broadcast([ $broadcastToAgent->broadcast([
'notice_exception_code' => StateCode::PORT_OFFLINE, 'notice_exception_code' => StateCode::PORT_OFFLINE,
'ports' => $offlinePorts, 'ports' => $offlinePorts,
'station_name' => $_SESSION['station_name'], 'gateway_name' => Session::get('gateway_name'),
'gateway_name' => $_SESSION['gateway_name'], 'station_id' => Session::get('station_id'),
'station_id' => $_SESSION['station_id'], 'station_name' => Session::get('station_name'),
'gateway_id' => $_SESSION['gateway_id'], 'gateway_id' => Session::get('gateway_id'),
]); ]);
} }
......
...@@ -11,6 +11,7 @@ namespace Application\controller\business\port; ...@@ -11,6 +11,7 @@ namespace Application\controller\business\port;
use Application\controller\Controller; use Application\controller\Controller;
use Application\model\ExceptionModel; use Application\model\ExceptionModel;
use Lib\Session;
use Lib\StateCode; use Lib\StateCode;
use Lib\station\gateway\port\Port; use Lib\station\gateway\port\Port;
...@@ -53,36 +54,36 @@ class OnlineController extends Controller ...@@ -53,36 +54,36 @@ class OnlineController extends Controller
} }
if (!isset($_SESSION['port_mac_id'])) {
if ( blank(Session::get('port_mac_id')) ) {
return; return;
} }
$portsMacId = $_SESSION['port_mac_id']; $portsMacId = Session::get('port_mac_id');
$port = new Port(); $port = new Port();
$exceptionModel = new ExceptionModel(); $exceptionModel = new ExceptionModel();
if (!(isset($_SESSION['station_id']) && isset($_SESSION['gateway_id']))) { if ( !(blank(Session::get('station_id')) && !blank(Session::get('gateway_id'))) ) {
return; return;
} }
foreach ($portsLogicMac as $portLogic => $portMac) { foreach ($portsLogicMac as $portLogic => $portMac) {
if (isset($portsMacId[$portMac])) { if ( isset($portsMacId[$portMac]) ) {
$portId = $portsMacId[$portMac]; $portId = $portsMacId[$portMac];
$port->setPortId($portId); $port->setPortId($portId);
$port->setStationId($_SESSION['station_id']); $port->setStationId(Session::get('station_id'));
$port->setGatewayId($_SESSION['gateway_id']); $port->setGatewayId(Session::get('gateway_id'));
$port->setState(StateCode::PORT_ONLINE); $port->setState(StateCode::PORT_ONLINE);
$port->updatePortState(); $port->updatePortState();
// 记录口子上线 // 记录口子上线
$exceptionModel->insertRow([ $exceptionModel->insertRow([
'port_id' => $portId, 'port_id' => $portId,
'gateway_id' => isset($_SESSION['gateway_id']) ? $_SESSION['gateway_id'] : '', 'gateway_id' => Session::get('gateway_id'),
'station_id' => isset($_SESSION['station_id']) ? $_SESSION['station_id'] : '', 'station_id' => Session::get('station_id'),
'created_at' => date('Y-m-d H:i:s'), 'created_at' => date('Y-m-d H:i:s'),
]); ]);
......
...@@ -21,31 +21,37 @@ class DeviceMacController extends Controller ...@@ -21,31 +21,37 @@ class DeviceMacController extends Controller
protected $parameterMap = [ protected $parameterMap = [
'0E' => [ '0E' => [
'logic' => 1,
] ]
]; ];
public function getAll() public function getAll()
{ {
$logic = hexdec($this->request->get('logic'));
$gatewayId = Session::get('gateway_id'); $gatewayId = Session::get('gateway_id');
if ($gatewayId !== '') { if ( $gatewayId !== '' ) {
$deviceModel = new DeviceModel(); $deviceModel = new DeviceModel();
$devicesMac = $deviceModel->getAllColumns(['device_mac'], 'gateway_id=' . $gatewayId); $devicesMac = $deviceModel->getAllColumns(['device_mac'], 'gateway_id=' . $gatewayId);
$totalCount = sprintf('%02x', count($devicesMac));
$devicesMac = array_slice($devicesMac, $logic, 3);
$count = sprintf('%02x', count($devicesMac));
$count = count($devicesMac);
$tmp = []; $tmp = [];
foreach ($devicesMac as $deviceMac) { foreach ($devicesMac as $deviceMac) {
array_push($tmp, $deviceMac->device_mac); array_push($tmp, $deviceMac->device_mac);
} }
$devicesMacStr = implode('', $tmp); $devicesMacStr = implode('', $tmp);
$this->response->send('0e', sprintf('%02x', $count) . $devicesMacStr); $logic = sprintf('%02x', $logic);
$this->response->send('0e', $logic . $count . $totalCount . $devicesMacStr);
} }
......
...@@ -27,7 +27,7 @@ class OfflineNetState extends State ...@@ -27,7 +27,7 @@ class OfflineNetState extends State
{ {
parent::__construct($order); parent::__construct($order);
if ($this->order->getIsRefund() === 1) { if ( $this->order->getIsRefund() === 1 ) {
//已经退款 下发结束充电命令 //已经退款 下发结束充电命令
//$this->order->stop($this->order,$_SESSION['client_id'],43); //$this->order->stop($this->order,$_SESSION['client_id'],43);
$this->remainChargerTime = 0; $this->remainChargerTime = 0;
...@@ -38,19 +38,15 @@ class OfflineNetState extends State ...@@ -38,19 +38,15 @@ class OfflineNetState extends State
$startTime = $this->order->getStartTime(); $startTime = $this->order->getStartTime();
$stateCode = $this->order->getStateCode(); $stateCode = $this->order->getStateCode();
if ($startTime === '') { Log::debug($startTime);
Log::debug('time equal purchase time');
if ( $startTime === '' ) {
$this->remainChargerTime = (int)($this->order->getPurchaseTime()); $this->remainChargerTime = (int)($this->order->getPurchaseTime());
} else { } else {
$purchaseTime = $this->order->getPurchaseTime(); $purchaseTime = $this->order->getPurchaseTime();
$this->remainChargerTime = $purchaseTime * 60 - ((int)$this->order->getOnlineTime() - $startTime);
Log::debug('off net');
Log::debug($this->order->getOnlineTime()); Log::debug($this->order->getOnlineTime());
Log::debug($startTime . 'start_time');
Log::debug('remain charger time' . $this->remainChargerTime);
Log::debug('remain time' . ceil($this->remainChargerTime / 60));
$this->remainChargerTime = $purchaseTime * 60 - ((int)$this->order->getOnlineTime() - $startTime);
$this->remainChargerTime = ceil($this->remainChargerTime / 60); $this->remainChargerTime = ceil($this->remainChargerTime / 60);
...@@ -72,7 +68,7 @@ class OfflineNetState extends State ...@@ -72,7 +68,7 @@ class OfflineNetState extends State
public function toChargerState() public function toChargerState()
{ {
if ($this->order->getIsRefund() === 1) { if ( $this->order->getIsRefund() === 1 ) {
//已经退款 下发结束充电命令 //已经退款 下发结束充电命令
$this->order->stop($this->order, $_SESSION['client_id'], 43); $this->order->stop($this->order, $_SESSION['client_id'], 43);
return; return;
...@@ -102,7 +98,7 @@ class OfflineNetState extends State ...@@ -102,7 +98,7 @@ class OfflineNetState extends State
*/ */
public function toShedState() public function toShedState()
{ {
if ($this->remainChargerTime > 0) { if ( $this->remainChargerTime > 0 ) {
$this->publishPortShed($this->order); $this->publishPortShed($this->order);
} }
......
...@@ -23,7 +23,7 @@ class OfflinePowerState extends State ...@@ -23,7 +23,7 @@ class OfflinePowerState extends State
public function __construct(Order $order) public function __construct(Order $order)
{ {
parent::__construct($order); parent::__construct($order);
if ($this->order->getIsRefund() === 1) { if ( $this->order->getIsRefund() === 1 ) {
//已经退款 下发结束充电命令 //已经退款 下发结束充电命令
//$this->order->stop($this->order,$_SESSION['client_id'],43); //$this->order->stop($this->order,$_SESSION['client_id'],43);
$this->remainChargerTime = 0; $this->remainChargerTime = 0;
...@@ -33,7 +33,9 @@ class OfflinePowerState extends State ...@@ -33,7 +33,9 @@ class OfflinePowerState extends State
$offlineTime = $this->order->getOfflineTime(); $offlineTime = $this->order->getOfflineTime();
$startTime = $this->order->getStartTime(); $startTime = $this->order->getStartTime();
if ($startTime === '' || $this->order->getOfflineTime() == '0') { Log::debug($startTime . 'power off');
if ( $startTime === '' || $this->order->getOfflineTime() == '0' ) {
$this->remainChargerTime = (int)($this->order->getPurchaseTime()); $this->remainChargerTime = (int)($this->order->getPurchaseTime());
} else { } else {
...@@ -65,7 +67,7 @@ class OfflinePowerState extends State ...@@ -65,7 +67,7 @@ class OfflinePowerState extends State
public function toChargerState() public function toChargerState()
{ {
if ($this->order->getIsRefund() === 1) { if ( $this->order->getIsRefund() === 1 ) {
//已经退款 下发结束充电命令 //已经退款 下发结束充电命令
//$this->order->stop($this->order,$_SESSION['client_id'],43); //$this->order->stop($this->order,$_SESSION['client_id'],43);
$this->remainChargerTime = 0; $this->remainChargerTime = 0;
......
...@@ -65,7 +65,7 @@ class ShedState extends State ...@@ -65,7 +65,7 @@ class ShedState extends State
$finishByUserMessage->setOrderAmount($this->order->getPayAmount()); $finishByUserMessage->setOrderAmount($this->order->getPayAmount());
$sendMessage = new SendMessage(); $sendMessage = new SendMessage();
if ($sendMessage->request($finishByUserMessage) == false) { if ( $sendMessage->request($finishByUserMessage) == false ) {
Log::error('send finish by user message fail'); Log::error('send finish by user message fail');
} }
...@@ -116,7 +116,7 @@ class ShedState extends State ...@@ -116,7 +116,7 @@ class ShedState extends State
$sendMessage = new SendMessage(); $sendMessage = new SendMessage();
if ($sendMessage->request($chargerReloadMessage) === false) { if ( $sendMessage->request($chargerReloadMessage) === false ) {
Log::error('send order reload message fail'); Log::error('send order reload message fail');
} }
...@@ -200,7 +200,7 @@ class ShedState extends State ...@@ -200,7 +200,7 @@ class ShedState extends State
$sendMessage = new SendMessage(); $sendMessage = new SendMessage();
if ($sendMessage->request($shedTimeoutMessage) === false) { if ( $sendMessage->request($shedTimeoutMessage) === false ) {
Log::error('send shed timeout message fail'); Log::error('send shed timeout message fail');
} }
...@@ -259,7 +259,7 @@ class ShedState extends State ...@@ -259,7 +259,7 @@ class ShedState extends State
$chargerTimeoutMessage->setStationName($this->order->getStationName()); $chargerTimeoutMessage->setStationName($this->order->getStationName());
$sendMessage = new SendMessage(); $sendMessage = new SendMessage();
if ($sendMessage->request($chargerTimeoutMessage) === false) { if ( $sendMessage->request($chargerTimeoutMessage) === false ) {
Log::error('shed state order send charger timeout message fail'); Log::error('shed state order send charger timeout message fail');
} }
...@@ -272,5 +272,10 @@ class ShedState extends State ...@@ -272,5 +272,10 @@ class ShedState extends State
// TODO: Implement stopFail() method. // TODO: Implement stopFail() method.
} }
public function toRefundFinish()
{
}
} }
\ No newline at end of file
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