Browse Source

用户当面付订单,搜索商品

master
weigang 5 years ago
parent
commit
a60cc268db
  1. 7
      app/Controller/v3/OrderListController.php
  2. 2
      app/Request/v3/UserOrderListRequest.php
  3. 20
      app/Service/v3/Implementations/OrderListService.php
  4. 9
      app/Service/v3/Implementations/OrderOfflineService.php
  5. 2
      app/Service/v3/Implementations/OrderOnlineService.php
  6. 4
      app/Service/v3/Implementations/SearchService.php
  7. 1
      app/Service/v3/Interfaces/OrderListServiceInterface.php
  8. 1
      config/routes.php

7
app/Controller/v3/OrderListController.php

@ -51,4 +51,11 @@ class OrderListController extends BaseController
$list = $this->orderListService->offlineByStore($params['store_id'], $params['tab'], $params['page'], $params['pagesize'],$params['start_time'],$params['end_time']);
return $this->success($list);
}
public function offlineForUser(UserOrderListRequest $request)
{
$params = $request->validated();
$list = $this->orderListService->offlineByUser($params['user_id'], $params['page'], $params['pagesize']);
return $this->success($list);
}
}

2
app/Request/v3/UserOrderListRequest.php

@ -16,7 +16,7 @@ class UserOrderListRequest extends BaseFormRequest
{
return [
'user_id' => 'required|nonempty|integer',
'tab' => 'nonempty',
'tab' => '',
'page' => 'required|nonempty',
'pagesize' => 'required|nonempty',
];

20
app/Service/v3/Implementations/OrderListService.php

@ -3,8 +3,10 @@
namespace App\Service\v3\Implementations;
use App\Constants\v3\OrderState;
use App\Constants\v3\OrderType;
use App\Model\v3\OrderMain;
use App\Model\v3\Order;
use App\Model\v3\ShoppingCart;
use App\Service\v3\Interfaces\OrderListServiceInterface;
use Hyperf\Paginator\Paginator;
@ -30,10 +32,7 @@ class OrderListService implements OrderListServiceInterface
{
$builder = OrderMain::query()
->with(['orderGoods', 'market'])
->where([
['user_id','=',$userId],
['type','=',1]
]);
->where(['user_id' => $userId, 'type' => OrderType::ONLINE]);
switch ($tab) {
case 'all':
break;
@ -143,4 +142,17 @@ class OrderListService implements OrderListServiceInterface
$orders = $paginate->toArray();
return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']];
}
public function offlineByUser($userId, $page=1, $pagesize=10)
{
$builder = OrderMain::query()
->with(['orders' => function($query) {
$query->with('store');
}])
->where(['user_id' => $userId, 'type' => OrderType::OFFLINE]);
$paginate = $builder->paginate($pagesize);
$orders = $paginate->toArray();
return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']];
}
}

9
app/Service/v3/Implementations/OrderOfflineService.php

@ -60,6 +60,12 @@ class OrderOfflineService implements OrderOfflineServiceInterface
$orderMain = OrderMain::query()->create($dataMain);
$orderMainId = $orderMain->id;
// 店铺今天的订单数
$count = Order::query()
->where(['store_id' => $storeId, 'type' => OrderType::OFFLINE])
->whereBetween('created_at', [strtotime(date('Y-m-d 00:00:00')), strtotime(date('Y-m-d 23:59:59'))])
->count();
// 子订单数据
$dataChildren = [
'order_main_id' => $orderMainId,
@ -67,7 +73,8 @@ class OrderOfflineService implements OrderOfflineServiceInterface
'store_id' => $storeId,
'money' => $money,
'order_num' => date('YmdHis').mt_rand(1000, 9999),
'note' => ''
'note' => '',
'oid' => $count + 1
];
$orderChild = Order::query()->create($dataChildren);

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

@ -129,7 +129,7 @@ class OrderOnlineService implements OrderOnlineServiceInterface
$storeTypeIds[] = (string)$storeType;
// 店铺今天的订单数
$count = Order::query()
->where(['store_id' => $storeId])
->where(['store_id' => $storeId, 'type' => OrderType::ONLINE])
->whereBetween('created_at', [strtotime(date('Y-m-d 00:00:00')), strtotime(date('Y-m-d 23:59:59'))])
->count();

4
app/Service/v3/Implementations/SearchService.php

@ -47,7 +47,7 @@ class SearchService implements \App\Service\v3\Interfaces\SearchServiceInterface
$builder->select(['id', 'store_id', 'cover_img', 'name', 'spec', 'tags', 'original_price', 'price', 'inventory', 'sales as total_sales']);
$paginate = $builder->paginate($params['pagesize']);
$goods = $paginate->toArray();
return ['has_more_pages' => $paginate->hasMorePages(), 'goods' => $goods];
return ['has_more_pages' => $paginate->hasMorePages(), 'goods' => $goods['data']];
}
public function doForStores($params)
@ -86,7 +86,7 @@ class SearchService implements \App\Service\v3\Interfaces\SearchServiceInterface
$builder->select(['id', 'logo', 'name']);
$paginate = $builder->paginate($params['pagesize']);
$stores = $paginate->toArray();
return ['has_more_pages' => $paginate->hasMorePages(), 'stores' => $stores];
return ['has_more_pages' => $paginate->hasMorePages(), 'stores' => $stores['data']];
}
public function getHotKeywords($type)

1
app/Service/v3/Interfaces/OrderListServiceInterface.php

@ -10,4 +10,5 @@ interface OrderListServiceInterface
public function onlineByUser($userId, $tab, $page=1, $pagesize=10);
public function onlineByStore($userId, $tab, $page, $pagesize);
public function offlineByStore($userId, $tab, $page, $pagesize,$start_time = '',$end_time = '');
public function offlineByUser($userId, $page=1, $pagesize=10);
}

1
config/routes.php

@ -134,6 +134,7 @@ Router::addGroup('/v3/', function () {
Router::post('orderOnline/del', 'App\Controller\v3\OrderOnlineController@del');
Router::post('orderOnline/applyRefund', 'App\Controller\v3\OrderOnlineController@applyRefund');
Router::post('orderOnline/complete', 'App\Controller\v3\OrderOnlineController@complete');
Router::post('user/oflOrders', 'App\Controller\v3\OrderListController@offlineForUser');
},['middleware' => [\App\Middleware\Auth\ApiMiddleware::class, \App\Middleware\Auth\UserMiddleware::class]]);
// 微信支付回调

Loading…
Cancel
Save