|
@@ -43,43 +43,70 @@ class Order extends Base
|
|
|
/**
|
|
|
* 自提柜向服务器上报
|
|
|
*/
|
|
|
- public function RecordStore(){
|
|
|
- $order_sn = input('param.order_sn');
|
|
|
- $trunk = input('param.trunk');
|
|
|
- $cabinet_code = input('param.cabinet');
|
|
|
+ public function RecordStore()
|
|
|
+ {
|
|
|
+ $order_sn = input('param.order_sn');
|
|
|
+ $trunk = input('param.trunk');
|
|
|
+ $cabinet_code = input('param.cabinet');
|
|
|
|
|
|
- $cabinet = CabinetModel::where('cabinet_code',$cabinet_code)->find();
|
|
|
- if(empty($cabinet)){
|
|
|
- json_error(1008,'找不到柜子');
|
|
|
+ $cabinet = CabinetModel::where('cabinet_code', $cabinet_code)->find();
|
|
|
+ if (empty($cabinet)) {
|
|
|
+ json_error(1008, '找不到柜子');
|
|
|
}
|
|
|
$cabinet_number = $cabinet['id'];
|
|
|
|
|
|
$code = $this->createRandCode();
|
|
|
- $ret = $this->CreateOrder($order_sn , $trunk , $cabinet_number,$code);
|
|
|
+ $ret = $this->CreateOrder($order_sn, $trunk, $cabinet_number, $code);
|
|
|
|
|
|
- if($ret['code'] != 1) {
|
|
|
+ if ($ret['code'] != 1) {
|
|
|
json_error(1006);
|
|
|
}
|
|
|
- $alias = $cabinet['alias'];
|
|
|
- $this->box_action_record($cabinet_number , $trunk , 1 , $order_sn , $alias);
|
|
|
|
|
|
- $msg = "{$alias}柜门{$trunk}箱门,密码信息{$code}";
|
|
|
+ return $this->report($order_sn, $cabinet_number,$cabinet['alias'], $trunk, $code);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function report($order_sn,$cabinet_number,$alias,$trunk, $code)
|
|
|
+ {
|
|
|
+ $url = self::base_url . '/deliver';
|
|
|
+
|
|
|
+ $msg = "{$alias}柜门{$trunk}箱门,取件码{$code}";
|
|
|
$postData['orderCode'] = $order_sn;
|
|
|
$postData['boxMsg'] = $msg;
|
|
|
$postData = json_encode($postData);
|
|
|
- $result = http_post_json(self::base_url . '/deliver' , $postData);
|
|
|
- if($result == false){
|
|
|
- Log::record('RecordStore Error:'.$result);
|
|
|
+ Log::record("report msg:{$msg}");
|
|
|
+
|
|
|
+ $max_times = 5;
|
|
|
+ for ($i=0; $i < $max_times ; $i++) {
|
|
|
+ $result = http_post_json($url, $postData);
|
|
|
+ if($result != false) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ Log::record("repost Error:{$i} : {$result}");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($result == false) {
|
|
|
+ Log::record('RecordStore Error:' . $result);
|
|
|
+ $msg = "商网连接错误,错误信息:{$result}";
|
|
|
+ $this->CreateMsg($cabinet_number, $trunk, $msg, $order_sn, 4);
|
|
|
json_error(3000);
|
|
|
}
|
|
|
- Log::record('RecordStore Success:');
|
|
|
- Log::record($result);
|
|
|
- $result = json_decode($result,true);
|
|
|
- if($result['code'] != 0){
|
|
|
- json_return($result['code'] , [] , $result['message']);
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Log::record("RecordStore Success result:{$result}");
|
|
|
+ $result = json_decode($result,true);
|
|
|
+ if($result['code'] != 0){
|
|
|
+ $msg = "错误码:{$result['code']},错误信息:{$result['message']}";
|
|
|
+ $this->CreateMsg($cabinet_number,$trunk,$msg,$order_sn,4);
|
|
|
+ json_return($result['code'] , [] , $result['message']);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ $this->box_action_record($cabinet_number , $trunk , 1 , $order_sn , $alias);
|
|
|
+ $this->CreateMsg($cabinet_number,$trunk,$msg,$order_sn,1);
|
|
|
+ json_success([]);
|
|
|
+ }
|
|
|
}
|
|
|
- $this->CreateMsg($cabinet_number,$trunk,$msg,$order_sn,1);
|
|
|
- json_success([]);
|
|
|
}
|
|
|
|
|
|
public function CheckFcode(){
|
|
@@ -193,8 +220,8 @@ class Order extends Base
|
|
|
json_error(1007,'日期有误');
|
|
|
}
|
|
|
$start_time = $param['start_time'];
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
$end_time = $param['end_time'];
|
|
|
$TimeWhere[] = ['enter_time','between',"$start_time,$end_time"];
|
|
|
}
|
|
@@ -231,20 +258,8 @@ class Order extends Base
|
|
|
$cabinet = CabinetModel::find($cabinet_number);
|
|
|
$alias = $cabinet['alias'];
|
|
|
$code = $box['fetch_code'];
|
|
|
- $msg = "{$alias}柜门{$box_number}箱门,密码信息{$code}";
|
|
|
- $postData['orderCode'] = $order_sn;
|
|
|
- $postData['boxMsg'] = $msg;
|
|
|
- $postData = json_encode($postData);
|
|
|
- $result = http_post_json(self::base_url . '/deliver' , $postData);
|
|
|
- if($result == false){
|
|
|
- json_error(3000);
|
|
|
- }
|
|
|
- $result = json_decode($result,true);
|
|
|
- if($result['code'] != 0){
|
|
|
- json_return($result['code'] , [] , $result['message']);
|
|
|
- }
|
|
|
- $this->CreateMsg($cabinet_number,$box_number,$msg,$order_sn,3);
|
|
|
- json_success([]);
|
|
|
+
|
|
|
+ return $this->report($order_sn,$cabinet_number,$alias,$box_number,$code);
|
|
|
}
|
|
|
|
|
|
private function hasBox($cabinet_number , $box_number)
|
|
@@ -265,7 +280,7 @@ class Order extends Base
|
|
|
}
|
|
|
/**
|
|
|
* 生成订单并绑定箱子
|
|
|
- */
|
|
|
+ */
|
|
|
private function CreateOrder($order_sn , $box_number , $cabinet, $code)
|
|
|
{
|
|
|
$data['order_sn'] = $order_sn;
|
|
@@ -294,7 +309,7 @@ class Order extends Base
|
|
|
|
|
|
/**
|
|
|
* 生成校验码
|
|
|
- */
|
|
|
+ */
|
|
|
private function createRandCode()
|
|
|
{
|
|
|
while (true)
|