|
@@ -12,6 +12,115 @@ defined('InShopNC') or exit('Access Invalid!');
|
|
|
|
|
|
require_once (BASE_CORE_PATH . '/framework/function/http.php');
|
|
|
|
|
|
+class OMSOrderStatus
|
|
|
+{
|
|
|
+ private $mResp;
|
|
|
+
|
|
|
+ const intercept_success = 1;
|
|
|
+ const send_success = 7;
|
|
|
+
|
|
|
+ public function __construct($resp)
|
|
|
+ {
|
|
|
+ $this->mResp = $resp;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function cancel_status(&$status_text)
|
|
|
+ {
|
|
|
+ $status = intval($this->mResp['interceptStatus']);
|
|
|
+
|
|
|
+ switch ($status) {
|
|
|
+ case 0:
|
|
|
+ $status_text = '待拦截';
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ $status_text = '拦截成功';
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ $status_text = '拦截失败';
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ $status_text = '已进入拦截队列不重复拦截';
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ $status_text = 'Oms系统未定义的状态';
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return $status;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function cancel_success(&$status_text) {
|
|
|
+ return ($this->cancel_status($status_text) == self::intercept_success);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function send_status(&$status_text)
|
|
|
+ {
|
|
|
+ $status = intval($this->mResp['status']);
|
|
|
+
|
|
|
+ switch ($status)
|
|
|
+ {
|
|
|
+ case 0:
|
|
|
+ $status_text = $this->message();
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ $status_text = '新订单';
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ $status_text = '等待仓库处理';
|
|
|
+ break;
|
|
|
+ case 99:
|
|
|
+ $status_text = '已拦截';
|
|
|
+ break;
|
|
|
+ case 90:
|
|
|
+ $status_text = '库存不足';
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ $status_text = '已发货';
|
|
|
+ break;
|
|
|
+ case -99:
|
|
|
+ $status_text = '发货失败';
|
|
|
+ break;
|
|
|
+ case -1:
|
|
|
+ $status_text = '异常订单';
|
|
|
+ break;
|
|
|
+ case -2:
|
|
|
+ $status_text = '订单关闭';
|
|
|
+ break;
|
|
|
+ case -3:
|
|
|
+ $status_text = '订单已存在(没有进行拦截的订单不予更新)';
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ $status_text = 'Oms系统未定义的状态';
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return $status;
|
|
|
+ }
|
|
|
+ public function send_success(&$status_text) {
|
|
|
+ return ($this->send_status($status_text) == self::send_success);
|
|
|
+ }
|
|
|
+ public function message() {
|
|
|
+ return $this->mResp['message'];
|
|
|
+ }
|
|
|
+ public function send_time() {
|
|
|
+ if(empty($this->mResp['sendTime'])) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return strtotime($this->mResp['sendTime']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ public function express() {
|
|
|
+ return $this->mResp['express'];
|
|
|
+ }
|
|
|
+ public function company() {
|
|
|
+ return $this->mResp['expressCompany'];
|
|
|
+ }
|
|
|
+ public function order_sn() {
|
|
|
+ return $this->mResp['tid'];
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
class deliveryLogic
|
|
|
{
|
|
|
const oms_url = 'https://oapi.lrlz.com/lrlzApiRest/router/rest';
|
|
@@ -196,26 +305,6 @@ class deliveryLogic
|
|
|
Log::record(__METHOD__ . " NET Error",Log::ERR);
|
|
|
return false;
|
|
|
}
|
|
|
- else {
|
|
|
- Log::record($resp,Log::DEBUG);
|
|
|
- return $this->order_status($resp,$err_state,$reson);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public function cancel_status($order_sn)
|
|
|
- {
|
|
|
- $status = $this->query_order($order_sn);
|
|
|
- if($status == self::CANCEL_SUCCESS) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- else {
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private function order_status($resp,&$err_state,&$reson)
|
|
|
- {
|
|
|
- $err_state = 0;
|
|
|
|
|
|
//1:成功 0 :失败
|
|
|
// 1:新订单 2:等待仓库处理 99:已拦截 90:库存不足 7:已发货
|
|
@@ -227,14 +316,8 @@ class deliveryLogic
|
|
|
{
|
|
|
if (!empty($result['data']) && is_array($result['data']) && count($result['data']) > 0)
|
|
|
{
|
|
|
- // 填充错误理由
|
|
|
- $reson = $result['data'][0]['errorMessge'];
|
|
|
- if (!empty($result['data'][0]['status'])) {
|
|
|
- $status = intval($result['data'][0]['status']);
|
|
|
- return $status;
|
|
|
- } else {
|
|
|
- return false;
|
|
|
- }
|
|
|
+ $status = new OMSOrderStatus($result['data'][0]);
|
|
|
+ return $status;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -242,7 +325,6 @@ class deliveryLogic
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* @param $pay_sn
|
|
|
* @param $trade_no
|