You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
4.8 KiB
139 lines
4.8 KiB
<?php
|
|
|
|
namespace App\Controller\v3;
|
|
|
|
use App\Constants\v3\ErrorCode;
|
|
use App\Controller\BaseController;
|
|
use App\Exception\ErrorCodeException;
|
|
use App\Request\v3\OrderOnlineDetailRequest;
|
|
use App\Service\CouponServiceInterface;
|
|
use Hyperf\Di\Annotation\Inject;
|
|
use App\Service\v3\Interfaces\OrderOnlineServiceInterface;
|
|
use App\Service\v3\Interfaces\UserBindTelServiceInterface;
|
|
use App\Service\v3\Interfaces\AppointmentTimeServiceInterface;
|
|
use Psr\Http\Message\ResponseInterface;
|
|
|
|
class OrderOnlineController extends BaseController
|
|
{
|
|
/**
|
|
* @Inject
|
|
* @var UserBindTelServiceInterface
|
|
*/
|
|
protected $userBindTelService;
|
|
/**
|
|
* @Inject
|
|
* @var CouponServiceInterface
|
|
*/
|
|
protected $couponService;
|
|
/**
|
|
* @Inject
|
|
* @var AppointmentTimeServiceInterface
|
|
*/
|
|
protected $appointmentTimeService;
|
|
|
|
/**
|
|
* @Inject
|
|
* @var OrderOnlineServiceInterface
|
|
*/
|
|
protected $orderOnlineService;
|
|
|
|
/*
|
|
* 如果没有绑手机号去绑定页面
|
|
* 收货地址接口
|
|
* 返回预约送达时间
|
|
* 商品数据接口
|
|
* 红包独立接口
|
|
* 配送费独立接口 可根据距离动态计算费用
|
|
* 增值服务接口
|
|
* */
|
|
public function review()
|
|
{
|
|
$params = $this->request->all();
|
|
//判断用户有没有绑定手机
|
|
// $telExists = $this->userBindTelService->check($params['user_id']);
|
|
// if(!$telExists){
|
|
// throw new ErrorCodeException(ErrorCode::NOT_BIND_TEL_ERROR);
|
|
// }
|
|
//获取用户收货地址
|
|
$res['address'] = [
|
|
'address' => '南宁市良庆区五象海尔·青啤联合广场',
|
|
'area' => 'A栋八单元' ,
|
|
'lat' => '22.759950637817383',
|
|
'lng' => '108.3835678100586',
|
|
'sex' => '1',
|
|
'tel' => '15677717734',
|
|
'user_name' => '李小龙',
|
|
'user_id' => '214'
|
|
];
|
|
//返回预约送达时间 数组
|
|
$res['appointment_time'] = $this->appointmentTimeService->do();
|
|
//
|
|
$res['store_list'] = [
|
|
[
|
|
'store_nmae' => '五金杂货铺',
|
|
'price' => '100.00',
|
|
'note' => '多放辣椒',
|
|
'store_id' => 66,
|
|
'goods_list' =>
|
|
[
|
|
[
|
|
'id' => 3971,
|
|
'goods_id' => 1301,
|
|
'name' => '半边手撕鸡',
|
|
'num' => 4,
|
|
'price' => '90.00',
|
|
'total' => '360.00'
|
|
]
|
|
]
|
|
],
|
|
[
|
|
'store_nmae' => '回味手撕鸡J009',
|
|
'note' => '手撕鸡加辣',
|
|
'store_price' => '720.00',
|
|
'store_id' => 123,
|
|
'goods_list' =>
|
|
[
|
|
[
|
|
'id' => 3971,
|
|
'goods_id' => 1301,
|
|
'name' => '半边手撕鸡',
|
|
'num' => 4,
|
|
'price' => '90.00',
|
|
'total' => '360.00'
|
|
],
|
|
[
|
|
'id' => 3971,
|
|
'goods_id' => 1301,
|
|
'name' => '半边手撕鸡',
|
|
'num' => 4,
|
|
'price' => '90.00',
|
|
'total' => '360.00'
|
|
]
|
|
]
|
|
],
|
|
];
|
|
//获取用户优惠券
|
|
$res['coupon'] = $this->couponService->getUserAvailableCoupons('',$params['user_id'],'',2,'','');
|
|
//获取配送费
|
|
$res['distribution'] = '5.0';
|
|
//增值服务接口
|
|
$res['value_added_service'] = [
|
|
'select' => 1,
|
|
'price' => 3.50
|
|
];
|
|
return $this->success($res);
|
|
}
|
|
|
|
/**
|
|
* 订单详情
|
|
* 1、主订单信息,用户配送信息(地址、姓名、电话、配送时间、配送类型)、基础信息(订单ID、订单编号、下单时间、订单金额、付款时间、支付方式、红包优惠、服务站电话、增值服务费)
|
|
* 2、子订单以及订单商品,按商户分组,有商户信息(ID、商户名、商户logo),商品信息(id、名字、封面、规格、tag、原价、售价、库存、总销、月销、是否失效、失效原因)
|
|
* @param OrderOnlineDetailRequest $request
|
|
* @return ResponseInterface
|
|
*/
|
|
public function detailByUser(OrderOnlineDetailRequest $request)
|
|
{
|
|
$params = $request->validated();
|
|
return $this->success(['detail' => $this->orderOnlineService->detailByUser($params['order_id'], $params['user_id'])]);
|
|
}
|
|
}
|