Files
OMS/app/wap/lib/event/receive/delivery.php
2026-01-04 19:08:31 +08:00

124 lines
3.9 KiB
PHP

<?php
/**
* Copyright 2012-2026 ShopeX (https://www.shopex.cn)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class wap_event_receive_delivery extends wap_event_response{
/**
* 发货单创建事件
* @param array $data
*/
public function create($data){
//检查发货单数据信息
//创建发货单
$res = kernel::single('wap_receipt_delivery')->create($data, $msg);
if($res){
return $this->send_succ();
}else{
return $this->send_error($msg, $msg_code);
}
}
/**
* 发货单取消事件处理
* @param array $data
*/
public function cancel($data){
$deliveryLib = kernel::single('wap_receipt_delivery');
if(!isset($data['outer_delivery_bn']) || empty($data['outer_delivery_bn'])){
return $this->send_error('必要参数丢失', $msg_code, $data);
}
//检查发货单是否存在
if(!$deliveryLib->checkOuterExist($data['outer_delivery_bn'])){
return $this->send_error('发货单不存在', $msg_code, $data);
}
//检查发货单当前状态是否有效,可操作
if(!$deliveryLib->checkDlyStatusByOuterDlyBn($data['outer_delivery_bn'],wap_receipt_delivery::__CANCEL,$msg)){
if($msg == '发货单已取消') {
return $this->send_succ();
}
return $this->send_error($msg, $msg_code, $data);
}
//执行发货单取消
$deliveryLib->cancelDlyByOuterDlyBn($data['outer_delivery_bn']);
return $this->send_succ();
}
/**
* 发货单暂停事件处理
* @param array $data
*/
public function pause($data){
$deliveryLib = kernel::single('wap_receipt_delivery');
if(!isset($data['outer_delivery_bn']) || empty($data['outer_delivery_bn'])){
return $this->send_error('必要参数丢失', $msg_code, $data);
}
//检查发货单是否存在
if(!$deliveryLib->checkOuterExist($data['outer_delivery_bn'])){
return $this->send_error('发货单不存在', $msg_code, $data);
}
//检查发货单当前状态是否有效,可操作
if(!$deliveryLib->checkDlyStatusByOuterDlyBn($data['outer_delivery_bn'],wap_receipt_delivery::__PAUSE,$msg)){
return $this->send_error($msg, $msg_code, $data);
}
//执行发货单暂停
$deliveryLib->pauseDlyByOuterDlyBn($data['outer_delivery_bn']);
return $this->send_succ();
}
/**
* 发货单恢复事件处理
* @param array $data
*/
public function renew($data){
$deliveryLib = kernel::single('wap_receipt_delivery');
if(!isset($data['outer_delivery_bn']) || empty($data['outer_delivery_bn'])){
return $this->send_error('必要参数丢失', $msg_code, $data);
}
//检查发货单是否存在
if(!$deliveryLib->checkOuterExist($data['outer_delivery_bn'])){
return $this->send_error('发货单不存在', $msg_code, $data);
}
//检查发货单当前状态是否有效,可操作
if(!$deliveryLib->checkDlyStatusByOuterDlyBn($data['outer_delivery_bn'],wap_receipt_delivery::__RENEW,$msg)){
return $this->send_error($msg, $msg_code, $data);
}
//执行发货单暂停
$deliveryLib->renewDlyByOuterDlyBn($data['outer_delivery_bn']);
return $this->send_succ();
}
}
?>