Browse Source

Merge branch 'phoenix' of http://120.24.33.109:11081/hyzjshwo/lanzu_api_hyperf into phoenix

# Conflicts:
#	config/routes.php
master
Lemon 5 years ago
parent
commit
fa22df72f9
  1. 17
      app/Constants/v3/Shipping.php
  2. 25
      app/Controller/v3/OrderOnlineController.php
  3. 5
      app/Model/v3/Order.php
  4. 4
      app/Model/v3/OrderGoods.php
  5. 34
      app/Model/v3/OrderMain.php
  6. 37
      app/Request/v3/OrderOnlineDetailRequest.php
  7. 2
      app/Request/v3/UserBindTelRequest.php
  8. 2
      app/Request/v3/VerifyCodeRequest.php
  9. 11
      app/Service/v3/Implementations/OrderOnlineService.php
  10. 2
      app/Service/v3/Interfaces/OrderOnlineServiceInterface.php
  11. 3
      config/routes.php

17
app/Constants/v3/Shipping.php

@ -0,0 +1,17 @@
<?php
namespace App\Constants\v3;
use Hyperf\Constants\AbstractConstants;
use Hyperf\Constants\Annotation\Constants;
/**
* @Constants
*/
class Shipping extends AbstractConstants
{
/**
* @Message("服务站配送")
*/
const TYPE_LANZU = 1;
}

25
app/Controller/v3/OrderOnlineController.php

@ -5,11 +5,14 @@ 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
{
/**
@ -27,6 +30,13 @@ class OrderOnlineController extends BaseController
* @var AppointmentTimeServiceInterface
*/
protected $appointmentTimeService;
/**
* @Inject
* @var OrderOnlineServiceInterface
*/
protected $orderOnlineService;
/*
* 如果没有绑手机号去绑定页面
* 收货地址接口
@ -36,7 +46,7 @@ class OrderOnlineController extends BaseController
* 配送费独立接口 可根据距离动态计算费用
* 增值服务接口
* */
public function detail()
public function review()
{
$params = $this->request->all();
//判断用户有没有绑定手机
@ -113,4 +123,17 @@ class OrderOnlineController extends BaseController
];
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'])]);
}
}

5
app/Model/v3/Order.php

@ -7,4 +7,9 @@ use App\Model\Model;
class Order extends Model
{
protected $table = 'lanzu_order';
public function orderGoods()
{
return $this->hasMany(OrderGoods::class, 'order_id', 'id');
}
}

4
app/Model/v3/OrderGoods.php

@ -7,4 +7,8 @@ use App\Model\Model;
class OrderGoods extends Model
{
protected $table = 'lanzu_order_goods';
protected $casts = [
'spec' => 'array',
];
}

34
app/Model/v3/OrderMain.php

@ -2,6 +2,9 @@
namespace App\Model\v3;
use App\Constants\v3\OrderState;
use App\Constants\v3\Payment;
use App\Constants\v3\Shipping;
use App\Model\Model;
class OrderMain extends Model
@ -9,7 +12,11 @@ class OrderMain extends Model
protected $table = 'lanzu_order_main';
protected $appends = [
'created_at_text'
'created_at_text',
'state_text',
'pay_time_text',
'pay_type_text',
'shipping_type_text',
];
public function getCreatedAtTextAttribute()
@ -17,11 +24,36 @@ class OrderMain extends Model
return date('Y-m-d H:i:s', $this->attributes['created_at']);
}
public function getPayTimeTextAttribute()
{
return date('Y-m-d H:i:s', $this->attributes['time_pay']);
}
public function getStateTextAttribute()
{
return OrderState::getMessage($this->attributes['state']);
}
public function getPayTypeTextAttribute()
{
return Payment::getMessage($this->attributes['pay_type']);
}
public function getShippingTypeTextAttribute()
{
return Shipping::getMessage($this->attributes['shipping_type']);
}
public function market()
{
return $this->belongsTo(Market::class, 'market_id', 'id');
}
public function orders()
{
return $this->hasMany(Order::class, 'order_main_id', 'id');
}
public function orderGoods()
{
// firstKey是中间表联当前表的列,secondKey是远程表对应中间表的列,localKey是当前表关联中间表的列,secondLocalKey是中间表关联远程表的列

37
app/Request/v3/OrderOnlineDetailRequest.php

@ -0,0 +1,37 @@
<?php
declare(strict_types=1);
namespace App\Request\v3;
use App\Request\BaseFormRequest;
class OrderOnlineDetailRequest extends BaseFormRequest
{
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'order_id' => 'required|nonempty|integer',
'user_id' => 'required|nonempty|integer',
];
}
/**
* @return array
*/
public function messages(): array
{
return [
'*.*' => ':attribute无效',
];
}
public function attributes(): array
{
return parent::attributes();
}
}

2
app/Request/v3/UserBindTelRequest.php

@ -15,7 +15,7 @@ class UserBindTelRequest extends BaseFormRequest
public function rules(): array
{
return [
'user_id' => 'required|nonempty|exists_enable:ims_cjdc_user,id',
'user_id' => 'required|nonempty|exists_enable:lanzu_user,id',
'tel' => 'required|nonempty|tel',
'verify_code' => 'required|nonempty|numeric|strlen:6,6',
];

2
app/Request/v3/VerifyCodeRequest.php

@ -15,7 +15,7 @@ class VerifyCodeRequest extends BaseFormRequest
public function rules(): array
{
return [
'user_id' => 'required|nonempty|exists_enable:ims_cjdc_user,id',
'user_id' => 'required|nonempty|exists_enable:lanzu_user,id',
'tel' => 'required|nonempty|tel',
];
}

11
app/Service/v3/Implementations/OrderOnlineService.php

@ -2,6 +2,7 @@
namespace App\Service\v3\Implementations;
use App\Model\v3\OrderMain;
use Hyperf\Di\Annotation\Inject;
use App\Service\v3\Interfaces\OrderOnlineServiceInterface;
class OrderOnlineService implements OrderOnlineServiceInterface
@ -19,4 +20,14 @@ class OrderOnlineService implements OrderOnlineServiceInterface
{
// TODO: Implement undo() method.
}
public function detailByUser($orderMainId, $userId)
{
return OrderMain::query()
->where(['id' => $orderMainId])
->with(['orders' => function($query) {
return $query->with(['orderGoods']);
}])
->first()->toArray();
}
}

2
app/Service/v3/Interfaces/OrderOnlineServiceInterface.php

@ -9,4 +9,6 @@ interface OrderOnlineServiceInterface
public function check();
public function undo();
public function detailByUser($orderMainId, $userId);
}

3
config/routes.php

@ -99,7 +99,7 @@ Router::addGroup('/v3/', function () {
Router::post('user/updateInfo', 'App\Controller\v3\UserController@updateInfo');
Router::post('home/userIndex', 'App\Controller\v3\HomeController@userIndex');
Router::post('user/olOrders', 'App\Controller\v3\OrderListController@onlineForUser');
Router::post('orderOnline/detail', 'App\Controller\v3\OrderOnlineController@detail');
Router::post('orderOnline/detailByUser', 'App\Controller\v3\OrderOnlineController@detailByUser');
Router::post('userDeliveryAddress/update', 'App\Controller\v3\UserDeliveryAddressController@update');
Router::post('userDeliveryAddress/get', 'App\Controller\v3\UserDeliveryAddressController@get');
Router::post('userDeliveryAddress/delete', 'App\Controller\v3\UserDeliveryAddressController@delete');
@ -107,5 +107,6 @@ Router::addGroup('/v3/', function () {
Router::post('collectStore/update', 'App\Controller\v3\CollectStoreController@update');
Router::post('shopCartUpdate/update', 'App\Controller\v3\ShopCartUpdateController@update');
Router::post('shopCart/detail', 'App\Controller\v3\ShopCartController@detail');
Router::post('orderOnline/review', 'App\Controller\v3\OrderOnlineController@review');
Router::post('storeLogin/login', 'App\Controller\v3\StoreLoginController@login');
},['middleware' => [\App\Middleware\Auth\ApiMiddleware::class, \App\Middleware\Auth\UserMiddleware::class]]);
Loading…
Cancel
Save