get('p_sources'); } public static function tableName() { return '{{%coin}}'; } /** * 获取币种信息列表 * @param int $page * @param int $limit * @param array $condition * @return array|\yii\db\ActiveRecord[] */ public static function getList($page = 1, $limit = 10, $condition = []) { $query = self::find(); foreach ($condition as $item) { $query = $query->andWhere($item); } $count = $query->count(); $data = $query->offset(($page - 1) * 10)->limit($limit)->asArray()->all(); foreach ($data as $key => $item) { $data[$key]['price'] = sprintf("%0.6f", $item['price']); // $data[$key]['release'] = date('Y-m-d', $item['release']); } return ['count' => $count, 'data' => $data]; } /** * 获取币种信息列表 * @param int $page * @param int $limit * @param array $condition * @return array|\yii\db\ActiveRecord[] */ public static function getSelectList($page = 1, $limit = 10, $columns = [], $condition = []) { $query = self::find(); foreach ($condition as $item) { $query = $query->andWhere($item); } $count = $query->count(); $data = $query->select($columns)->offset(($page - 1) * $limit)->limit($limit)->asArray()->all(); return ['count' => $count, 'data' => $data]; } /** * 添加一个币种信息 */ public function addOne($params) { $params = array_filter($params, function ($value) { if (null == $value) { return false; } return true; }); $this->setAttributes($params, false); try { return (bool)$this->save(); } catch (\Exception $exception) { return ['code' => $exception->getCode(), 'message' => $exception->getMessage()]; } } /** * 修改币种信息 */ public function updateOne($params) { $params = array_filter($params, function ($value) { if (null == $value) { return false; } return true; }); if (isset($params['id']) && !empty($params['id'])) { $coin = self::findOne(['id' => $params['id']]); if ($coin === null) { return ['code' => 1, 'msg' => '币种不存在']; } unset($params['id']); } $coin->setAttributes($params, false); try { return (bool)$coin->save(); } catch (\Exception $exception) { return ['code' => $exception->getCode(), 'message' => $exception->getMessage()]; } } public function getMinerFee() { return $this->hasOne(MinerFee::className(), ['platform' => 'chain']); } /** * 获取平台列表 * * @return array */ public static function getPlatformList() { $data = self::find()->select('platform')->asArray()->all(); $data = array_unique(array_column($data, 'platform')); return $data; } /** * 返回类型,类型就是币种的主链 * @return array|\yii\db\ActiveRecord[] */ public static function getChainList() { $data = self::find()->select('chain')->asArray()->all(); $data = array_unique(array_column($data, 'chain')); return $data; } }