service = new TradeOrderService(); } /** * 买入 * @param TradeValidator $validate * @return array */ public function buy(TradeValidator $validate) { $params = request()->post(); $params = $validate->check($params,'trade_buy'); if(!is_array($params)){ return message($params, false); } // 额外验证没注册需要前往下载APP注册 $tradeType = isset($params['trade_type']) ? intval($params['trade_type']) : 0; if($tradeType == 3 && (empty($this->userId) || $this->userInfo['idcard_check'] != 1)){ $appUrl = ConfigService::make()->getConfigByCode('app_download_url'); return message(2029, true, [ 'app_url' => $appUrl, ]); } $params['api_id'] = $this->apiId; if($info = TradeOrderService::make()->buy($this->userId, $params)){ return message(3006, true, $info); }else{ return message(TradeOrderService::make()->getError(), false); } } /** * 出售 * @param TradeValidator $validate * @return array */ public function sell(TradeValidator $validate) { $params = request()->post(); $params = $validate->check($params,'trade_sell'); if(!is_array($params)){ return message($params, false); } // 需要注册认证 $tradeType = isset($params['trade_type']) ? intval($params['trade_type']) : 0; if($tradeType == 3 && (empty($this->userId) || $this->userInfo['idcard_check'] != 1)){ $appUrl = ConfigService::make()->getConfigByCode('app_download_url'); return message(2029, true, [ 'app_url' => $appUrl, ]); } $params['api_id'] = $this->apiId; if($info = TradeOrderService::make()->sell($this->userId, $params)){ return message(3007, true, $info); }else{ return message(TradeOrderService::make()->getError(), false); } } /** * 确认打款 * @param TradeValidator $validate * @return array */ public function pay(TradeValidator $validate) { $params = request()->post(); $params = $validate->check($params,'pay'); if(!is_array($params)){ return message($params, false); } if($info = TradeOrderService::make()->pay($this->userId, $params)){ return message(3017, true, $info); }else{ return message(TradeOrderService::make()->getError(), false); } } /** * 确认收款 * @param TradeValidator $validate * @return array */ public function collection(TradeValidator $validate) { $params = request()->post(); $params = $validate->check($params,'info'); if(!is_array($params)){ return message($params, false); } if($info = TradeOrderService::make()->collection($this->userId, $params)){ return message(3021, true, $info); }else{ return message(TradeOrderService::make()->getError(), false); } } /** * 取消订单 * @param TradeValidator $validate * @return array */ public function cancel(TradeValidator $validate) { $params = request()->post(); $params = $validate->check($params,'info'); if(!is_array($params)){ return message($params, false); } if($info = TradeOrderService::make()->cancel($this->userId, $params)){ return message(3034, true, $info); }else{ return message(TradeOrderService::make()->getError(), false); } } /** * 订单信息 * @return array */ public function info() { $orderNo = request()->post('order_no',''); if(empty($orderNo)){ return message(1013,false); } $info = $this->service->getInfoByNo($orderNo, $this->userId); $tradeType = isset($info['trade_type'])? $info['trade_type'] : 0; $userId = isset($info['user_id'])? $info['user_id'] : 0; if($tradeType == 3 && ($this->userId<=0 || $userId != $this->userId)){ return message(6012, false); } if($info){ return message(1002, true, $info); }else{ return message(1002, false); } } }