get('project_id'); $project = CurrencyProject::find($id); return $this->success($project); } public function projectList(Request $request){ $limit = $request->get('limit', 20); $model = new CurrencyProject(); $currency_id = $request->get('currency_id'); $where = []; if($currency_id){ $where['currency_id'] = $currency_id; } $list = $model->where($where)->paginate($limit); return $this->layuiData($list); } public function newProject(Request $request){ $currencyId = $request->get('currency_id'); $payCurrencyId = $request->get('pay_currency_id'); $title = $request->get('title'); $summary = $request->get('summary'); $content = $request->get('content'); $startAt = $request->get('start_at'); $endAt = $request->get('end_at'); $whiteBook = $request->get('white_book'); $price = $request->get('price'); $link = $request->get('link'); $logo = $request->get('logo'); $min = $request->get('min',0); $amount = $request->get('amount'); $sellBegin = $request->get('sell_begin',null); if(empty($amount) ||empty($currencyId) || empty($title) || empty($summary) || empty($content) || empty($startAt) || empty($endAt) || empty($whiteBook) || empty($link)){ return $this->error('内容不能为空'); } $currency = Currency::find($currencyId); if(!$currency){ return $this->error('币种不存在'); } $payCurrency = Currency::find($payCurrencyId); if(!$payCurrency){ return $this->error('支付币种不存在'); } // $res = CurrencyProject::where('currency_id',$currencyId)->first(); // if($res){ // return $this->error('该币种已成立项目,不能重复'); // } if(strtotime($startAt) < time() || strtotime($endAt) < time()){ return $this->error('开始时间与结束时间不得早于当前时间'); } if($sellBegin && strtotime($sellBegin) < strtotime($endAt)){ return $this->error('配售时间不得早于结束时间'); } if(empty($request->input('total_apply')) || empty($request->input('win_rate'))){ return $this->error('中奖配置不能为空'); } CurrencyProject::insert([ 'currency_id' => $currencyId, 'title' => $title, 'summary' => $summary, 'content' => $content, 'white_book' => $whiteBook, 'link' => $link, 'price' => $price, 'pay_currency_id' => $payCurrencyId, 'start_at' => $startAt, 'end_at' => $endAt, 'logo' => $logo, 'sell_begin' => $sellBegin, 'min' => $min, 'amount' => $amount, 'sell_amount' => $request->input('sell_amount',0), 'total_apply' => $request->input('total_apply'), 'win_rate' => $request->input('win_rate') ]); return $this->success('创建成功'); } public function editProject(Request $request){ $projectId = $request->get('project_id'); $title = $request->get('title'); $summary = $request->get('summary'); $content = $request->get('content'); $startAt = $request->get('start_at'); $price = $request->get('price'); $endAt = $request->get('end_at'); $whiteBook = $request->get('white_book'); $logo = $request->get('logo'); $link = $request->get('link'); $min = $request->get('min',0); $sellBegin = $request->get('sell_begin',null); $amount = $request->get('amount',0); if(empty($amount) || empty($projectId) || empty($title) || empty($summary) || empty($content) || empty($startAt) || empty($endAt) || empty($whiteBook) || empty($link)){ return $this->error('内容不能为空'); } $project = CurrencyProject::find($projectId); if(!$project){ return $this->error('找不到此项目'); } if(strtotime($project->start_at) < time()){ // return $this->error('项目已开启,不可编辑'); } if($project->status == 2){ return $this->error('此项目已完结'); } if($sellBegin && strtotime($sellBegin) < strtotime($endAt)){ return $this->error('配售时间不得早于结束时间'); } $data = [ 'title' => $title, 'summary' => $summary, 'content' => $content, 'white_book' => $whiteBook, 'price' => $price, 'link' => $link, 'start_at' => $startAt, 'logo' => $logo, 'end_at' => $endAt, 'sell_begin' => $sellBegin, 'min' => $min, 'amount' =>$amount, 'sell_amount' => $request->input('sell_amount',0), 'total_apply' => $request->input('total_apply'), 'win_rate' => $request->input('win_rate') ]; CurrencyProject::where('id',$projectId)->update($data); return $this->success('创建成功'); } public function projectOrderList(Request $request){ $id = $request->get('project_id'); $project = CurrencyProject::find($id); $limit = $request->get('limit'); $type = $request->get('type'); $search = $request->get('search'); $status = $request->get('status'); if(!$project){ return $this->error('找不到项目'); } $where = []; if($type){ $where['currency_project_order.type'] = $type; } if($status){ $where['currency_project_order.status'] = $status; } $model = CurrencyProjectOrder::join('users','users.id','=','u_id'); if($search){ $model = $model->where("phone", 'like', '%' . $account . '%') ->orwhere('email', 'like', '%' . $account . '%') ->orWhere('account_number', 'like', '%' . $account . '%'); } $orders =$model->where('project_id',$id)->where($where) ->select(['currency_project_order.*','users.account_number'])->paginate($limit); return $this->layuiData($orders); } public function confirmSell(Request $request){ $order_id = $request->get('order_id'); $amount = $request->get('amount'); if(empty($order_id) || empty($amount)){ return $this->error('参数错误'); } $order = CurrencyProjectOrder::find($order_id); if(!$order){ return $this->error('找不到订单'); } if($order->type != 3){ return $this->error('订单类型异常'); } if($order->status != 2){ return $this->error('订单状态异常'); } $price = bc_div($order->total_price,$amount,8); $op_wallet = UsersWallet::where('user_id',$order->u_id) ->where('currency',$order->currency_id) ->first(); DB::beginTransaction(); try{ $result = change_wallet_balance($op_wallet, 4, $amount, AccountLog::IEO_OPERATION, 'ieo order'); $order->price = $price; $order->coin_amount = $amount; $order->status = 3; $order->save(); DB::commit(); }catch (\Exception $e){ DB::rollBack(); return $this->error($e->getMessage()); } return $this->success('success'); } public function confirmSellView(){ return view('admin.currency.confirm_sell'); } public function projectOrderView(){ return view('admin.currency.project_orders'); } public function projectView(){ return view('admin.currency.project_list'); } public function projectDetailView(){ $id = Input::get('id',0); $info = null; if ($id){ $info = CurrencyProject::find($id); } $currencies = Currency::where('id', '>', 0)->get(); return view('admin.currency.project_detail')->with('currencies', $currencies) ->with('info',$info); } }