select(); $rows = []; if(!$list->isEmpty()){ $rows = $list->toArray(); } return $this->toData('0', 'SUCCESS', ['list' => $rows, 'total' => count($rows)]); }catch (\Exception $exception){ return $this->toData('1', '系统繁忙', []); } } public function add($param) { try { if(empty($param['trade_name']) || !is_string($param['trade_name'])){ return $this->toData('1', '数字货币名称无效'); } if(empty($param['exchange_name']) || !is_string($param['exchange_name'])){ return $this->toData('1', '数字币兑换对名称无效'); } // 简介 if(!empty($param['info']) && !is_string($param['info'])){ return $this->toData('1', '简介无效'); } $info = $param['info']?? ''; // 状态 if(!isset($param['status']) || !in_array($param['status'], [0,1])){ return $this->toData('1', '启用状态无效'); } // 排序 if(!isset($param['sort']) || !is_numeric($param['sort']) || ceil($param['sort']) != $param['sort']){ return $this->toData('1', '排序无效'); } // 图片链接 if(empty($param['logo_link']) || !is_string($param['logo_link'])){ return $this->toData('1', 'logo链接无效'); } // 小数位数 if(!isset($param['keep_decimal']) || !is_numeric($param['keep_decimal']) || $param['keep_decimal'] < 0 || ceil($param['keep_decimal']) != $param['keep_decimal']){ return $this->toData('1', '保留小数位无效'); } // 判断股票代码是否已经存在 $count = DigitalListModel::where('trade_name', $param['trade_name'])->where('exchange_name', $param['exchange_name'])->count(); if($count > 0){ return $this->toData('1', '现货数字币交易对已经存在'); } $digitalList = new DigitalListModel; $digitalList->trade_name = $param['trade_name']; $digitalList->exchange_name = $param['exchange_name']; $digitalList->status = $param['status']; $digitalList->logo_link = $param['logo_link']; $digitalList->sort = $param['sort']; $digitalList->keep_decimal = $param['keep_decimal']; $digitalList->info = $info; $digitalList->create_time = date('Y-m-d H:i:s'); $digitalList->update_time = date('Y-m-d H:i:s'); $digitalList->save(); // 设置缓存 $fee_key="DIGITAL:LIST:".strtoupper($param['trade_name']); $redis = $this->getRedis(); $redis->del($fee_key); $redis->hMSet($fee_key,[ 'name'=>strtoupper($param['trade_name']), 'sort'=>$param['sort'], 'exchange_name'=>$param['exchange_name'], 'logo_link'=>$param['logo_link'], 'keep_decimal'=>$param['keep_decimal'], 'status'=>$param['status'], ]); return $this->toData('0', '操作成功', []); }catch (\Exception $exception){ return $this->toData('1', '系统繁忙', []); } } public function edit($param) { try { if(empty($param['id']) || !is_numeric($param['id'])){ return $this->toData('1', '目标不存在', []); } $digitalList = DigitalListModel::where('id', $param['id'])->find(); if(empty($digitalList)){ return $this->toData('1', '目标不存在', []); } if(empty($param['trade_name']) || !is_string($param['trade_name'])){ return $this->toData('1', '数字货币名称无效'); } if(empty($param['exchange_name']) || !is_string($param['exchange_name'])){ return $this->toData('1', '数字币兑换对名称无效'); } // 简介 if(!empty($param['info']) && !is_string($param['info'])){ return $this->toData('1', '简介无效'); } $info = $param['info']?? ''; // 状态 if(!isset($param['status']) || !in_array($param['status'], [0,1])){ return $this->toData('1', '启用状态无效'); } // 排序 if(!isset($param['sort']) || !is_numeric($param['sort']) || ceil($param['sort']) != $param['sort']){ return $this->toData('1', '排序无效'); } // 图片链接 if(empty($param['logo_link']) || !is_string($param['logo_link'])){ return $this->toData('1', 'logo链接无效'); } // 小数位数 if(!isset($param['keep_decimal']) || !is_numeric($param['keep_decimal']) || $param['keep_decimal'] < 0 || ceil($param['keep_decimal']) != $param['keep_decimal']){ return $this->toData('1', '保留小数位无效'); } // 判断股票代码是否已经存在 $count = DigitalListModel::where('trade_name', $param['trade_name'])->where('exchange_name', $param['exchange_name']) ->where('id','<>', $param['id']) ->count(); if($count > 0){ return $this->toData('1', '现货数字币交易对已经存在'); } $digitalList->trade_name = $param['trade_name']; $digitalList->exchange_name = $param['exchange_name']; $digitalList->status = $param['status']; $digitalList->logo_link = $param['logo_link']; $digitalList->sort = $param['sort']; $digitalList->keep_decimal = $param['keep_decimal']; $digitalList->info = $info; $digitalList->update_time = date('Y-m-d H:i:s'); $digitalList->save(); // 设置缓存 $fee_key="DIGITAL:LIST:".strtoupper($param['trade_name']); $redis = $this->getRedis(); $redis->del($fee_key); $redis->hMSet($fee_key,[ 'name'=>strtoupper($param['trade_name']), 'sort'=>$param['sort'], 'logo_link'=>$param['logo_link'], 'keep_decimal'=>$param['keep_decimal'], 'status'=>$param['status'], ]); return $this->toData('0', '操作成功', []); }catch (\Exception $exception){ return $this->toData('1', '系统繁忙', []); } } public function getTradeNameList($param) { try { if(isset($param['is_owner']) && in_array($param['is_owner'], [0,1])){ $list = DigitalListModel::where('status', 1)->order('id', 'desc') ->where('is_owner', $param['is_owner']) ->column('trade_name', 'id'); } else { $list = DigitalListModel::where('status', 1)->order('id', 'desc')->column('trade_name', 'id'); } return $this->toData('0', 'SUCCESS', ['list' => $list]); }catch (\Exception $exception){ return $this->toData('1', '系统繁忙', []); } } }