64 行
3.0 KiB
PHP
64 行
3.0 KiB
PHP
<?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()));
|
||
}
|
||
}
|
||
} |