635 lines
23 KiB
PHP
635 lines
23 KiB
PHP
<?php
|
||
/**
|
||
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
|
||
* =========================================================
|
||
* Copy right 2019-2029 成都SAAS云科技有限公司, 保留所有权利。
|
||
* ----------------------------------------------
|
||
* 官方网址: https://www.gobuysaas.com
|
||
* =========================================================
|
||
*/
|
||
|
||
namespace addon\supply\model\order;
|
||
|
||
use app\model\express\ExpressCompany;
|
||
use app\model\express\ExpressCompanyTemplate;
|
||
use app\model\express\ExpressDelivery;
|
||
use app\model\express\ExpressPackage;
|
||
use app\model\order\Order as OrderModel;
|
||
use app\model\system\Cron;
|
||
use think\facade\Cache;
|
||
use addon\supply\model\goods\GoodsStock as GoodsStockModel;
|
||
use addon\supply\model\SupplyCron;
|
||
/**
|
||
* 普通(快递)订单
|
||
*
|
||
* @author Administrator
|
||
*
|
||
*/
|
||
class Order extends OrderCommon
|
||
{
|
||
|
||
/*****************************************************************************************订单状态***********************************************/
|
||
// 订单创建
|
||
const ORDER_CREATE = 0;
|
||
|
||
// 订单已支付
|
||
const ORDER_PAY = 1;
|
||
|
||
// 订单备货中
|
||
const ORDER_PENDING_DELIVERY = 2;
|
||
|
||
// 订单已发货(配货)
|
||
const ORDER_DELIVERY = 3;
|
||
|
||
// 订单已收货
|
||
const ORDER_TAKE_DELIVERY = 4;
|
||
|
||
// 订单已结算完成
|
||
const ORDER_COMPLETE = 10;
|
||
|
||
// 订单已关闭
|
||
const ORDER_CLOSE = -1;
|
||
|
||
// 订单退款中
|
||
const ORDER_REFUND = 'refunding';
|
||
|
||
/**
|
||
* 订单类型
|
||
*
|
||
* @var int
|
||
*/
|
||
public $order_type = 1;
|
||
|
||
|
||
/***********************************************************************************订单项 配送状态**************************************************/
|
||
// 待发货
|
||
const DELIVERY_WAIT = 0;
|
||
|
||
// 已发货
|
||
const DELIVERY_DOING = 1;
|
||
|
||
// 已收货
|
||
const DELIVERY_FINISH = 2;
|
||
|
||
/**
|
||
*/
|
||
public $order_status = [
|
||
self::ORDER_CREATE => [
|
||
'status' => self::ORDER_CREATE,
|
||
'name' => '待支付',
|
||
'is_allow_refund' => 0,
|
||
'action' => [
|
||
[
|
||
'action' => 'orderClose',
|
||
'title' => '关闭订单',
|
||
'color' => ''
|
||
],
|
||
[
|
||
'action' => 'orderAddressUpdate',
|
||
'title' => '修改地址',
|
||
'color' => ''
|
||
],
|
||
[
|
||
'action' => 'orderAdjustMoney',
|
||
'title' => '调整价格',
|
||
'color' => ''
|
||
],
|
||
],
|
||
'member_action' => [
|
||
[
|
||
'action' => 'orderClose',
|
||
'title' => '关闭订单',
|
||
'color' => ''
|
||
],
|
||
[
|
||
'action' => 'orderPay',
|
||
'title' => '支付',
|
||
'color' => ''
|
||
],
|
||
],
|
||
'color' => ''
|
||
],
|
||
self::ORDER_PAY => [
|
||
'status' => self::ORDER_PAY,
|
||
'name' => '待发货',
|
||
'is_allow_refund' => 0,
|
||
'action' => [
|
||
[
|
||
'action' => 'orderDelivery',
|
||
'title' => '发货',
|
||
'color' => ''
|
||
],
|
||
[
|
||
'action' => 'orderAddressUpdate',
|
||
'title' => '修改地址',
|
||
'color' => ''
|
||
],
|
||
],
|
||
'member_action' => [
|
||
|
||
],
|
||
'color' => ''
|
||
],
|
||
self::ORDER_DELIVERY => [
|
||
'status' => self::ORDER_DELIVERY,
|
||
'name' => '已发货',
|
||
'is_allow_refund' => 1,
|
||
'action' => [
|
||
],
|
||
'member_action' => [
|
||
[
|
||
'action' => 'memberTakeDelivery',
|
||
'title' => '确认收货',
|
||
'color' => ''
|
||
],
|
||
[
|
||
'action' => 'trace',
|
||
'title' => '查看物流',
|
||
'color' => ''
|
||
]
|
||
],
|
||
'color' => ''
|
||
],
|
||
self::ORDER_TAKE_DELIVERY => [
|
||
'status' => self::ORDER_TAKE_DELIVERY,
|
||
'name' => '已收货',
|
||
'is_allow_refund' => 1,
|
||
'action' => [
|
||
],
|
||
'member_action' => [
|
||
],
|
||
'color' => ''
|
||
],
|
||
self::ORDER_COMPLETE => [
|
||
'status' => self::ORDER_COMPLETE,
|
||
'name' => '已完成',
|
||
'is_allow_refund' => 1,
|
||
'action' => [
|
||
],
|
||
'member_action' => [
|
||
|
||
],
|
||
'color' => ''
|
||
],
|
||
self::ORDER_CLOSE => [
|
||
'status' => self::ORDER_CLOSE,
|
||
'name' => '已关闭',
|
||
'is_allow_refund' => 0,
|
||
'action' => [
|
||
|
||
],
|
||
'member_action' => [
|
||
|
||
],
|
||
'color' => ''
|
||
],
|
||
self::ORDER_REFUND => [
|
||
'status' => self::ORDER_REFUND,
|
||
'name' => '退款中',
|
||
'is_allow_refund' => 0,
|
||
'action' => [
|
||
|
||
],
|
||
'member_action' => [
|
||
|
||
],
|
||
'color' => ''
|
||
]
|
||
];
|
||
|
||
/**
|
||
* 配送状态
|
||
*/
|
||
public $delivery_status = [
|
||
self::DELIVERY_WAIT => [
|
||
'status' => self::DELIVERY_WAIT,
|
||
'name' => '待发货',
|
||
'color' => ''
|
||
],
|
||
self::DELIVERY_DOING => [
|
||
'status' => self::DELIVERY_DOING,
|
||
'name' => '已发货',
|
||
'color' => ''
|
||
],
|
||
self::DELIVERY_FINISH => [
|
||
'status' => self::DELIVERY_FINISH,
|
||
'name' => '已收货',
|
||
'color' => ''
|
||
]
|
||
];
|
||
|
||
/**
|
||
* 订单状态(发货列表)
|
||
*/
|
||
public $delivery_order_status = [
|
||
self::ORDER_PAY => [
|
||
'status' => self::ORDER_PAY,
|
||
'name' => '待发货',
|
||
'is_allow_refund' => 0,
|
||
'icon' => 'upload/uniapp/order/order-icon-send.png',
|
||
'action' => [
|
||
[
|
||
'action' => 'orderDelivery',
|
||
'title' => '发货',
|
||
'color' => ''
|
||
],
|
||
[
|
||
'action' => 'orderAddressUpdate',
|
||
'title' => '修改地址',
|
||
'color' => ''
|
||
],
|
||
],
|
||
'member_action' => [],
|
||
'color' => ''
|
||
]
|
||
];
|
||
|
||
/**
|
||
* 订单支付
|
||
* @param unknown $order_info
|
||
*/
|
||
public function orderPay($order_info, $pay_type)
|
||
{
|
||
$pay_type_list = $this->getPayType();
|
||
if ($order_info['order_status'] != 0) {
|
||
return $this->error();
|
||
}
|
||
|
||
$condition = array(
|
||
["order_id", "=", $order_info["order_id"]],
|
||
["order_status", "=", self::ORDER_CREATE],
|
||
);
|
||
$data = array(
|
||
"order_status" => self::ORDER_PAY,
|
||
"order_status_name" => $this->order_status[self::ORDER_PAY]["name"],
|
||
"pay_status" => 1,
|
||
"order_status_action" => json_encode($this->order_status[self::ORDER_PAY], JSON_UNESCAPED_UNICODE),
|
||
"pay_time" => time(),
|
||
"is_enable_refund" => 1,
|
||
"pay_type" => $pay_type,
|
||
"pay_type_name" => $pay_type_list[$pay_type]
|
||
);
|
||
$result = model("supply_order")->update($data, $condition);
|
||
return $this->success($result);
|
||
}
|
||
|
||
/**
|
||
* 订单项发货(物流)
|
||
* @param $param
|
||
* @param int $type //1 订单项发货 2整体发货
|
||
* @return array
|
||
*/
|
||
public function orderGoodsDelivery($param, $type = 1)
|
||
{
|
||
model('supply_order_goods')->startTrans();
|
||
try {
|
||
$delivery_no = $param["delivery_no"];//物流单号
|
||
$delivery_type = $param["delivery_type"];
|
||
if ($delivery_type == 0) {
|
||
$express_company_id = 0;
|
||
} else {
|
||
$express_company_id = $param["express_company_id"] ?? 0;
|
||
}
|
||
$site_id = $param["site_id"];
|
||
if ($type == 1) {
|
||
if (empty($param['order_goods_ids'])) {
|
||
model('supply_order_goods')->rollback();
|
||
return $this->error('', "发送货物不可为空!");
|
||
}
|
||
$order_goods_id_array = explode(",", $param['order_goods_ids']);
|
||
} else {
|
||
$order_goods_id_array = model("supply_order_goods")->getColumn(
|
||
[
|
||
['order_id', '=', $param['order_id']],
|
||
['site_id', '=', $site_id],
|
||
['delivery_status', "=", self::DELIVERY_WAIT]
|
||
],
|
||
'order_goods_id'
|
||
);
|
||
}
|
||
$order_id = 0;
|
||
$member_id = 0;
|
||
$goods_id_array = [];
|
||
foreach ($order_goods_id_array as $k => $v) {
|
||
$order_goods_info = model("supply_order_goods")->getInfo([["order_goods_id", "=", $v], ["site_id", "=", $site_id]], "sku_id,num,order_id,sku_name,sku_image,buyer_shop_id,refund_status,delivery_status,buyer_shop_name");
|
||
//已退款的订单项不可发货
|
||
if ($order_goods_info["refund_status"] == 3) {
|
||
model('supply_order_goods')->rollback();
|
||
return $this->error([], "ORDER_GOODS_IS_REFUND");
|
||
}
|
||
if ($order_goods_info["delivery_status"] == self::DELIVERY_DOING) {
|
||
model('supply_order_goods')->rollback();
|
||
return $this->error([], 'ORDER_GOODS_IS_DELIVERYED');
|
||
}
|
||
$order_id = $order_goods_info["order_id"];
|
||
$member_id = $order_goods_info['buyer_shop_id'];
|
||
$member_name = $order_goods_info['buyer_shop_name'];
|
||
$goods_id_array[] = $order_goods_info["sku_id"] . ":" . $order_goods_info["num"] . ":" . $order_goods_info["sku_name"] . ":" . $order_goods_info["sku_image"];
|
||
$data = ["delivery_status" => self::DELIVERY_DOING, "delivery_status_name" => $this->delivery_status[self::DELIVERY_DOING]["name"]];
|
||
if (!empty($delivery_no)) {
|
||
$data['delivery_no'] = $delivery_no;
|
||
}
|
||
$res = model('supply_order_goods')->update($data, [
|
||
['order_goods_id', "=", $v],
|
||
['delivery_status', "=", self::DELIVERY_WAIT]
|
||
]);
|
||
}
|
||
//创建包裹
|
||
$order_common_model = new OrderCommon();
|
||
$lock_result = $order_common_model->verifyOrderLock($order_id);
|
||
if ($lock_result["code"] < 0) {
|
||
model('supply_order_goods')->rollback();
|
||
return $lock_result;
|
||
}
|
||
$express_delivery_model = new ExpressDelivery();
|
||
$delivery_data = array(
|
||
"order_id" => $order_id,
|
||
"order_goods_id_array" => $order_goods_id_array,
|
||
"goods_id_array" => $goods_id_array,
|
||
"goods_array" => $goods_id_array,
|
||
"site_id" => $site_id,
|
||
"delivery_no" => $delivery_no,
|
||
"member_id" => $member_id,
|
||
'member_name' => $member_name,
|
||
"express_company_id" => $express_company_id,
|
||
"delivery_type" => $delivery_type,
|
||
'type' => $param['type'],
|
||
'template_id' => $param['template_id'],
|
||
);
|
||
$result = $express_delivery_model->delivery($delivery_data);
|
||
//检测整体, 订单中订单项是否全部发放完毕
|
||
$res = $this->orderCommonDelivery($order_id);
|
||
model('supply_order_goods')->commit();
|
||
return $this->success($result);
|
||
} catch (\Exception $e) {
|
||
model('supply_order_goods')->rollback();
|
||
return $this->error('', $e->getMessage());
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 订单发货
|
||
*
|
||
* @param array $condition
|
||
*/
|
||
public function orderDelivery($order_id)
|
||
{
|
||
//统计订单项目
|
||
$count = model('supply_order_goods')->getCount([['order_id', "=", $order_id], ['delivery_status', "=", self::DELIVERY_WAIT], ["refund_status", "<>", 3]], "order_goods_id");
|
||
$delivery_count = model('supply_order_goods')->getCount([['order_id', "=", $order_id], ['delivery_status', "=", self::DELIVERY_DOING], ["refund_status", "<>", 3]], "order_goods_id");
|
||
if ($count == 0 && $delivery_count > 0) {
|
||
//修改订单项的配送状态
|
||
$order_data = array(
|
||
'order_status' => self::ORDER_DELIVERY,
|
||
'order_status_name' => $this->order_status[self::ORDER_DELIVERY]["name"],
|
||
'delivery_status' => self::DELIVERY_FINISH,
|
||
'delivery_status_name' => $this->delivery_status[self::DELIVERY_FINISH]["name"],
|
||
'order_status_action' => json_encode($this->order_status[self::ORDER_DELIVERY], JSON_UNESCAPED_UNICODE),
|
||
'delivery_time' => time()
|
||
);
|
||
$res = model('supply_order')->update($order_data, [['order_id', "=", $order_id]]);
|
||
//获取订单自动收货时间
|
||
$config_model = new Config();
|
||
$event_time_config_result = $config_model->getOrderTradeConfig();
|
||
$event_time_config = $event_time_config_result["data"];
|
||
$now_time = time();//当前时间
|
||
if (!empty($event_time_config)) {
|
||
$execute_time = $now_time + $event_time_config["value"]["auto_take_delivery"] * 86400;//自动收货时间
|
||
} else {
|
||
$execute_time = $now_time + 86400;//尚未配置 默认一天
|
||
}
|
||
//默认自动时间
|
||
$cron_model = new Cron();
|
||
$cron_model->addCron(1, 1, "供应商订单自动收货", "CronSupplyOrderTakeDelivery", $execute_time, $order_id);
|
||
event('SupplyOrderDelivery', ['order_id' => $order_id]);
|
||
return $this->success($res);
|
||
} else {
|
||
return $this->error();
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 订单收货
|
||
*
|
||
* @param int $order_id
|
||
*/
|
||
public function orderTakeDelivery($order_id, $order_info = [])
|
||
{
|
||
return $this->success();
|
||
}
|
||
|
||
/**
|
||
* 订单收货地址修改
|
||
*/
|
||
public function orderAddressUpdate($param, $condition)
|
||
{
|
||
$province_id = $param["province_id"];
|
||
$city_id = $param["city_id"];
|
||
$district_id = $param["district_id"];
|
||
$community_id = $param["community_id"];
|
||
$address = $param["address"];
|
||
$full_address = $param["full_address"];
|
||
$longitude = $param["longitude"];
|
||
$latitude = $param["latitude"];
|
||
$mobile = $param["mobile"];
|
||
$telephone = $param["telephone"];
|
||
$name = $param["name"];
|
||
$data = array(
|
||
"province_id" => $province_id,
|
||
"city_id" => $city_id,
|
||
"district_id" => $district_id,
|
||
"community_id" => $community_id,
|
||
"address" => $address,
|
||
"full_address" => $full_address,
|
||
"longitude" => $longitude,
|
||
"latitude" => $latitude,
|
||
"mobile" => $mobile,
|
||
"telephone" => $telephone,
|
||
"name" => $name,
|
||
);
|
||
$order_info = model("supply_order")->getInfo($condition, "order_status");
|
||
$order_status_array = [self::ORDER_PAY, self::ORDER_CREATE];
|
||
if (!in_array($order_info["order_status"], $order_status_array))
|
||
return $this->error("", "当前订单状态不可编辑收货地址!");
|
||
$result = model('supply_order')->update($data, $condition);
|
||
return $this->success($result);
|
||
}
|
||
|
||
/**
|
||
* 退款完成操作
|
||
* @param $order_info
|
||
*/
|
||
public function refund($order_goods_info)
|
||
{
|
||
//是否入库
|
||
if ($order_goods_info["is_refund_stock"] == 1) {
|
||
$goods_stock_model = new GoodsStockModel();
|
||
$item_param = array(
|
||
"sku_id" => $order_goods_info["sku_id"],
|
||
"num" => $order_goods_info["num"],
|
||
);
|
||
//返还库存
|
||
$goods_stock_model->incStock($item_param);
|
||
}
|
||
//检测订单项是否否全部发放完毕
|
||
$this->orderDelivery($order_goods_info["order_id"]);
|
||
}
|
||
|
||
/**
|
||
* 订单详情
|
||
* @param $order_info
|
||
*/
|
||
public function orderDetail($order_info, $is_logistics = true)
|
||
{
|
||
$express_package_model = new ExpressPackage();
|
||
$package_list = $express_package_model->package([["order_id", "=", $order_info['order_id']], ["site_id", '=', $order_info['site_id']]], '', '', $is_logistics);
|
||
$order_info = [];
|
||
$order_info["package_list"] = $package_list;
|
||
return $order_info;
|
||
}
|
||
|
||
/**
|
||
* 计算订单销售额
|
||
* @param array $condition
|
||
* @param string $field
|
||
* @return array
|
||
*/
|
||
public function getOrderMoneySum($condition = [], $field = 'order_money')
|
||
{
|
||
$res = model('supply_order')->getSum($condition, $field);
|
||
return $this->success($res);
|
||
}
|
||
|
||
|
||
/***
|
||
* 订单发货处理
|
||
* @param $order_id
|
||
* @return array|void
|
||
*/
|
||
public function orderDeliveryCron($order_id)
|
||
{
|
||
$orderInfo = $this->getOrderDetail($order_id, false)['data'];
|
||
if ($orderInfo) {
|
||
$res = [];
|
||
$buyer_shop_id = $orderInfo['buyer_shop_id'];
|
||
$custom_order_no = $orderInfo['custom_order_no'];
|
||
$package_list = $orderInfo['package_list'];
|
||
$orderInfo['order_from']='api';
|
||
$sup_order_sku = [];
|
||
foreach ($package_list as $k => $v) {
|
||
$goods_list = $v['goods_list'];
|
||
$sup_order_sku = array_column($goods_list, null, 'sku_id');
|
||
foreach ($goods_list as $k1 => $v1) {
|
||
unset($v1['sku_name'], $v1['sku_image']);
|
||
$sup_order_sku[$v1['sku_id']] = $v1;
|
||
$sup_order_sku[$v1['sku_id']]['delivery_no'] = $v['delivery_no'];
|
||
$sup_order_sku[$v1['sku_id']]['express_company_name'] = $v['express_company_name'];
|
||
$sup_order_sku[$v1['sku_id']]['delivery_time'] = $v['delivery_time'];
|
||
$sup_order_sku[$v1['sku_id']]['logisticsCode'] = $v['logisticsCode'];
|
||
}
|
||
}
|
||
if ($orderInfo['order_from'] == 'shop') { //自营产品订单同步
|
||
$join = [
|
||
['supply_sub_order sub', 'o.order_id=sub.order_id', 'inner'],
|
||
];
|
||
$field = 'sub.id,sub.result_product_specs_id,sub.sku_id,sub.order_id,sub.order_id,o.order_goods_id';
|
||
$order_info = model('order_goods')
|
||
->getList([['o.site_id', '=', $buyer_shop_id], ['o.order_no', '=', $custom_order_no]], $field, '', 'o', $join);
|
||
$order_goods = array_column($order_info, null, 'result_product_specs_id');
|
||
$user_info = model('user')->getInfo([['site_id', '=', $buyer_shop_id], ['app_module', '=', 'shop']]);
|
||
$order_model = new OrderModel();
|
||
$log_data = [
|
||
'uid' => $user_info['uid'],
|
||
'nick_name' => $user_info['username'],
|
||
'action' => '商家对订单进行了发货',
|
||
'action_way' => 2,
|
||
];
|
||
foreach ($order_goods as $k => $v) {
|
||
$supInfo = $sup_order_sku[$v['result_product_specs_id']];
|
||
$companyName = $supInfo['express_company_name'];
|
||
$companyNo = $supInfo['logisticsCode'];
|
||
$delivery_no = $supInfo['delivery_no'];
|
||
$express_company_id = $this->getExpressCompanyId($buyer_shop_id, $companyName, $companyNo);
|
||
$data = array(
|
||
'type' => 'manual', //发货方式(手动发货、电子面单)
|
||
'order_goods_ids' => $v['order_goods_id'],//商品id
|
||
'express_company_id' => $express_company_id,//物流公司
|
||
'delivery_no' => $delivery_no,//快递单号
|
||
'order_id' => $v['order_id'],//订单id
|
||
'delivery_type' => 1,//是否需要物流
|
||
'site_id' => $buyer_shop_id,
|
||
'template_id' => 0,//电子面单模板id
|
||
'user_info' => $user_info
|
||
);
|
||
model('supply_sub_order')->update(
|
||
[
|
||
'result_express_number' => $delivery_no,
|
||
'result_express_time' => time(),
|
||
'result_express_company' => $companyName
|
||
], [
|
||
'id' => $v['id']
|
||
]);
|
||
$res = $order_model->orderGoodsDelivery($data, 1, $log_data);
|
||
}
|
||
} else if ($orderInfo['order_from'] == 'api') {
|
||
$data=[
|
||
'out_trade_no'=>$orderInfo['out_trade_no'],
|
||
'outOrderId'=>$custom_order_no,
|
||
'message'=>$sup_order_sku,
|
||
];
|
||
$cron=new SupplyCron();
|
||
$res =$cron->AddCron($orderInfo['buyer_uid'],'LOGISTICS_BUYER_VIEW_TRACE',$data);
|
||
}
|
||
return $this->success($res);
|
||
}
|
||
}
|
||
|
||
/***
|
||
* 自动添加物流信息
|
||
* @param $site_id
|
||
* @param $company_name
|
||
* @param $express_no
|
||
* @return mixed
|
||
*/
|
||
public function getExpressCompanyId($site_id, $company_name, $express_no)
|
||
{
|
||
$where = [
|
||
['site_id', '=', $site_id],
|
||
['express_no', '=', $express_no]
|
||
];
|
||
$express_company_id = model('express_company')->getValue($where, 'company_id');
|
||
if (empty($express_company_id)) {
|
||
$data = [
|
||
'site_id' => $site_id,
|
||
'company_name' => $company_name,//物流公司名称
|
||
'sort' => 0,//排序
|
||
'logo' => '',//logo
|
||
'url' => '',//网址
|
||
'express_no' => $express_no,//编码
|
||
'express_no_kd100' => strtolower($express_no),//编码(快递100)
|
||
'express_no_cainiao' => strtoupper($express_no),//编码(菜鸟)
|
||
'express_no_alipay' => strtoupper($express_no),//编码(支付宝)
|
||
'content_json' => '',//打印内容
|
||
'background_image' => '',//打印背景图
|
||
'font_size' => 14,//打印字体大小 单位px
|
||
'width' => 0,//显示尺寸宽度 px
|
||
'height' => 0,//显示尺寸高度 px
|
||
'scale' => 1,//真实尺寸(mm)与显示尺寸(px)的比例
|
||
'create_time' => time(),
|
||
'is_electronicsheet' => 0,//是否支持电子面单
|
||
'print_style' => 0,//电子面单打印风格
|
||
];
|
||
$template_model = new ExpressCompanyTemplate();
|
||
$res = $template_model->addExpressCompanyTemplate($data);
|
||
if ($res['code'] >= 0) {
|
||
//添加店铺模版
|
||
$express_company_model = new ExpressCompany();
|
||
$company = $express_company_model->addExpressCompany(['site_id' => $site_id, 'company_id' => $res['data']]);
|
||
$express_company_id = $company['data'];
|
||
Cache::tag("cache_tableexpress_company")->clear();
|
||
}
|
||
}
|
||
return $express_company_id;
|
||
}
|
||
}
|