<?php
/**
 *
 * @file:OrdersController.php
 * @Date: 2023/5/23
 * @Time: 10:15
 */


namespace Modules\Channel\Http\Controllers;

use Catch\Base\CatchController;
use Illuminate\Http\Request;
use Modules\Channel\Services\Order\OrderService;
use Modules\User\Http\Controllers\UserTrait;

class OrdersController extends CatchController
{
    use UserTrait;

    /**
     *  订单列表
     * name: orderList
     * @param Request $request
     * date 2023/05/23 10:22
     */
    public function orderList(Request $request)
    {
        $param = $request->all();
        $userContext = $this->getUserContext(null);

        // 公司账户处理
        if ($userContext['loginUserRoles']->contains('company')) {
            $param['puser_id'] =$userContext['operateUser']->id;
        }

        // 投手处理
        if ($userContext['loginUserRoles']->contains('optimizer')) {
            $param['user_id'] =$userContext['operateUser']->id;
        }

        $list = OrderService::getOrderList($param);
        if (!$list->isEmpty()){
            foreach ($list as $val){
                if ($userContext['loginUserRoles']->contains('company')) {
                    $val->total_count = $val->caompany_count;
                }
                if (getProp($param,'user_id')){
                    $val->total_count = $val->promotion_count;
                }
                unset($val->caompany_count,$val->promotion_count,$val->id,$val->puser_id,$val->pay_product_id,$val->create_ip,$val->transaction_id);
                unset($val->third_orderid,$val->pay_merchant_sourcem,$val->video_id,$val->video_series_sequence,$val->updated_at);
            }
        }
        return $list;
    }

}