文件
mashangyoujiu/Application/Api/Controller/OrderSyncTestController.class.php

64 行
3.0 KiB
PHP

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

<?php
namespace Api\Controller;
use Think\Controller;
/**
* 骑手订单创建测试接口(无权限)
* 访问地址:/index.php/Api/OrderSyncTest/create
* 可通过请求参数覆盖默认示例数据
*/
class OrderSyncTestController extends Controller
{
/**
* 使用示例数据或传入参数调用 createRiderOrderFromPayload
*/
public function create()
{
$p = I('request.');
// 构造订单信息(示例数据可被请求参数覆盖)
$orderInfo = array(
'id' => isset($p['bill_id']) ? intval($p['bill_id']) : 2625,
'merchant_id' => isset($p['merchant_id']) ? intval($p['merchant_id']) : 1,
'store_id' => isset($p['store_id']) ? intval($p['store_id']) : 22,
'store_name' => isset($p['store_name']) ? strval($p['store_name']) : '安顺市清水湾店',
'store_address' => isset($p['store_address']) ? strval($p['store_address']) : '贵州省安顺市清水湾',
'store_phone' => isset($p['store_phone']) ? strval($p['store_phone']) : '17785030625',
'store_lat' => isset($p['store_lat']) ? floatval($p['store_lat']) : 26.244711,
'store_lng' => isset($p['store_lng']) ? floatval($p['store_lng']) : 105.955368,
'user_name' => isset($p['user_name']) ? strval($p['user_name']) : '瑜廷',
'user_phone' => isset($p['user_phone']) ? strval($p['user_phone']) : '13888888888',
'user_address' => isset($p['user_address']) ? strval($p['user_address']) : '贵州省安顺市普定县丰林路凯旋城一区1-27号CHAGEE霸王茶姬(贵州安顺普定凯旋广场店)',
// 配送费计算需要订单金额,未传则给一个默认值以便验证非 0 的情况
'all_money' => isset($p['order_amount']) ? floatval($p['order_amount']) : 50.00,
);
try {
$service = new \Common\Business\OrderSyncService();
if (!method_exists($service, 'createRiderOrderFromPayload')) {
$this->ajaxReturn(array('code' => 0, 'msg' => '测试入口未就绪(缺少 createRiderOrderFromPayload)'));
return;
}
$riderOrderId = $service->createRiderOrderFromPayload($orderInfo);
if (!$riderOrderId) {
$this->ajaxReturn(array('code' => 0, 'msg' => '创建骑手订单失败', 'data' => array('orderInfo' => $orderInfo)));
return;
}
// 返回创建结果与订单快照
$riderOrder = M('rider_order')->where(array('id' => $riderOrderId))->find();
$this->ajaxReturn(array(
'code' => 1,
'msg' => '创建成功',
'data' => array(
'rider_order_id' => $riderOrderId,
'rider_order' => $riderOrder,
)
));
} catch (\Exception $e) {
$this->ajaxReturn(array('code' => 0, 'msg' => '异常:' . $e->getMessage()));
}
}
}