// +---------------------------------------------------------------------- namespace App\Http\Controllers\Admin; use App\Http\Validator\AdvertValidator; use App\Models\AdvertModel; use App\Models\AdvertOrderModel; use App\Models\TradeOrderModel; use App\Services\Common\AdvertOrderService; use App\Services\Common\TradeOrderService; /** * 挂单广告订单控制器 * Class AdvertOrderController * @package App\Http\Controllers\Admin */ class AdvertOrderController extends Backend { /** * 构造函数 * AdvertOrderController constructor. */ public function __construct() { $this->model = new AdvertOrderModel(); $this->service = new AdvertOrderService(); parent::__construct(); } /** * 广告订单 * @return array|mixed */ public function index() { $params = request()->all(); $pageSize = request()->post('limit', 15); if($this->userInfo['user_type'] == 2){ $params['business_id'] = $this->userInfo['user_id']; } $list = AdvertOrderService::make()->getDataList($params,$pageSize); $message = array( "msg" => '操作成功', "code" => 0, "data" => isset($list['list'])? $list['list']:[], "count" => isset($list['total'])? $list['total']:0, ); return $message; } /** * 交易员自己的广告订单 * @return array */ public function business() { $params = request()->all(); $pageSize = request()->post('limit', 15); $params['user_id'] = $this->userInfo['user_id']; $list = AdvertOrderService::make()->getDataList($params,$pageSize); $message = array( "msg" => '操作成功', "code" => 0, "data" => isset($list['list'])? $list['list']:[], "count" => isset($list['total'])? $list['total']:0, ); return $message; } /** * 购买广告 * @param AdvertValidator $validate * @return array */ public function buy(AdvertValidator $validate) { $params = request()->post(); $params = $validate->check($params,'buy'); if(!is_array($params)){ return returnJson($params, false,[]); } if(!AdvertOrderService::make()->buy($this->userInfo['user_id'], $params)){ return returnJson(AdvertOrderService::make()->getError(), false); }else{ return returnJson(AdvertOrderService::make()->getError(), true); } } /** * 出售广告(交易员) * @return array */ public function sell(AdvertValidator $validate) { $params = request()->post(); $params = $validate->check($params,'sell'); if(!is_array($params)){ return returnJson($params, false,[]); } if(!AdvertOrderService::make()->sell($this->userInfo['user_id'], $params)){ return returnJson(AdvertOrderService::make()->getError(), false); }else{ return returnJson(AdvertOrderService::make()->getError(), true); } } /** * 确认付款(交易员的客户订单) * @return array */ public function pay() { $params = request()->post(); if(!AdvertOrderService::make()->pay($this->userInfo['user_id'], $params)){ return returnJson(AdvertOrderService::make()->getError(), false); }else{ return returnJson(AdvertOrderService::make()->getError(), true); } } /** * 确认付款(交易员的个人订单) * @return array */ public function businessPay() { $params = request()->post(); if(!AdvertOrderService::make()->businessPay($this->userInfo['user_id'], $params)){ return returnJson(AdvertOrderService::make()->getError(), false); }else{ return returnJson(AdvertOrderService::make()->getError(), true); } } /** * 确认收款(交易员客户订单) * @return array */ public function collection() { $params = request()->post(); // 平台处理则无币商参数 $businessId = $this->userInfo['user_id']; if($this->userInfo['user_type'] == 1){ $params['catch_uid'] = $this->userId; $businessId = 0; } if(!AdvertOrderService::make()->collection($businessId, $params)){ return returnJson(AdvertOrderService::make()->getError(), false); }else{ return returnJson(AdvertOrderService::make()->getError(), true); } } /** * 确认收款(交易员的个人订单) * @return array */ public function businessCollection() { $params = request()->post(); // 平台处理则无币商参数 $businessId = $this->userInfo['user_id']; if($this->userInfo['user_type'] == 1){ $params['catch_uid'] = $this->userId; $businessId = 0; } if(!AdvertOrderService::make()->businessCollection($businessId, $params)){ return returnJson(AdvertOrderService::make()->getError(), false); }else{ return returnJson(AdvertOrderService::make()->getError(), true); } } /** * 订单异常处理(交易员申请或平台处理) */ public function exception() { return returnJson(1002); } /** * 订单取消(交易员或平台操作) */ public function businessCancel() { $params = request()->post(); // 平台处理则无币商参数 $businessId = $this->userInfo['user_id']; if($this->userInfo['user_type'] == 1){ $params['catch_uid'] = $this->userId; $businessId = 0; } if(!AdvertOrderService::make()->businessCancel($businessId,$params)){ return returnJson(AdvertOrderService::make()->getError(), false); }else{ return returnJson(AdvertOrderService::make()->getError(), true); } } /** * 订单取消(交易员或平台操作) */ public function cancel() { $params = request()->post(); // 平台处理则无币商参数 $userid = $this->userInfo['user_id']; if($this->userInfo['user_type'] == 1){ $params['catch_uid'] = $this->userId; $userid = 0; } if(!AdvertOrderService::make()->cancel($userid,$params)){ return returnJson(AdvertOrderService::make()->getError(), false); }else{ return returnJson(AdvertOrderService::make()->getError(), true); } } }