|
|
|
@ -4,11 +4,14 @@ namespace App\Service\v3\Implementations; |
|
|
|
|
|
|
|
use App\Constants\v3\OrderState; |
|
|
|
use App\Constants\v3\OrderType; |
|
|
|
use App\Constants\v3\SsdbKeys; |
|
|
|
use App\Model\v3\OrderMain; |
|
|
|
use App\Model\v3\Order; |
|
|
|
use App\Model\v3\ShoppingCart; |
|
|
|
use App\Service\v3\Interfaces\OrderListServiceInterface; |
|
|
|
use App\TaskWorker\SSDBTask; |
|
|
|
use Hyperf\Paginator\Paginator; |
|
|
|
use Hyperf\Utils\ApplicationContext; |
|
|
|
|
|
|
|
class OrderListService implements OrderListServiceInterface |
|
|
|
{ |
|
|
|
@ -30,23 +33,31 @@ class OrderListService implements OrderListServiceInterface |
|
|
|
|
|
|
|
public function onlineByUser($userId, $tab, $page=1, $pagesize=10) |
|
|
|
{ |
|
|
|
// 记录badge
|
|
|
|
$ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); |
|
|
|
|
|
|
|
$builder = OrderMain::query() |
|
|
|
->with(['orderGoods', 'market']) |
|
|
|
->where(['user_id' => $userId, 'type' => OrderType::ONLINE]); |
|
|
|
switch ($tab) { |
|
|
|
case 'all': |
|
|
|
$ssdb->exec('hclear', SsdbKeys::USER_ORDER_BADGE.$userId); |
|
|
|
break; |
|
|
|
case 'completed': |
|
|
|
$ssdb->exec('hset', SsdbKeys::USER_ORDER_BADGE.$userId, 'completed', 0); |
|
|
|
$builder->whereIn('state', OrderState::FINISH); |
|
|
|
break; |
|
|
|
case 'unpaid': |
|
|
|
$ssdb->exec('hset', SsdbKeys::USER_ORDER_BADGE.$userId, 'unpaid', 0); |
|
|
|
$builder->where(['state' => OrderState::UNPAID]); |
|
|
|
break; |
|
|
|
case 'receiving': |
|
|
|
$builder->whereIn('state', OrderState::RECEIVING); |
|
|
|
$ssdb->exec('hset', SsdbKeys::USER_ORDER_BADGE.$userId, 'receiving', 0); |
|
|
|
break; |
|
|
|
case 'refund': |
|
|
|
$builder->whereIn('state', OrderState::REFUND); |
|
|
|
$ssdb->exec('hset', SsdbKeys::USER_ORDER_BADGE.$userId, 'refund', 0); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
|