hasOne('App\Users', 'id', 'user_id')->value('account_number'); } public function getAccountAttribute() { $value = $this->hasOne('App\Users', 'id', 'user_id')->value('phone'); if (empty($value)) { $value = $this->hasOne('App\Users', 'id', 'user_id')->value('email'); } return $value; } public function getCreatedTimeAttribute() { $value = $this->attributes['created_time'] ? date('Y-m-d H:i:s', $this->attributes['created_time']) : ''; if (env('TIME_UTC') && $this->attributes['created_time']) { $value = date('Y-m-d H:i:s', intval($this->attributes['created_time']) - 28800); } return $value ? $value : ''; } public function getBeforeAttribute() { return $this->walletLog()->value('before'); } public function getAfterAttribute() { return $this->walletLog()->value('after'); } public function getBalancetypeAttribute() { return $this->walletLog()->value('balance_type'); } public function getTransactionInfoAttribute() { $type1 = [ '0' => '无', '1' => '资金', '2' => '币币', '3' => '合约', '4' => '期权', '5' => '保险' ]; $type2 = ['', '[锁定]']; $balance_type = $this->walletLog()->value('balance_type'); $lock_tpye = $this->walletLog()->value('lock_type'); array_key_exists($balance_type, $type1) ?: $balance_type = 0; array_key_exists($lock_tpye, $type2) ?: $lock_tpye = 0; return $type1[$balance_type] . $type2[$lock_tpye]; } public function getCurrencyNameAttribute() { return $this->hasOne('App\Currency', 'id', 'currency')->value('name'); } public static function insertLog($data = array(), $data2 = array()) { $data = is_array($data) ? $data : func_get_args(); $log = new self(); $log->user_id = $data['user_id'] ?? false;; $log->value = $data['value'] ?? ''; $log->created_time = $data['created_time'] ?? time(); $log->info = $data['info'] ?? ''; $log->type = $data['type'] ?? 0; $log->currency = $data['currency'] ?? 0; $data_wallet['balance_type'] = $data2['balance_type'] ?? 0; $data_wallet['wallet_id'] = $data2['wallet_id'] ?? 0; $data_wallet['lock_type'] = $data2['lock_type'] ?? 0; $data_wallet['before'] = $data2['before'] ?? 0; $data_wallet['change'] = $data2['change'] ?? 0; $data_wallet['after'] = $data2['after'] ?? 0; $data_wallet['memo'] = $data['info'] ?? 0; $data_wallet['create_time'] = $data2['create_time'] ?? time(); //dd($data_wallet); try { DB::transaction(function () use ($log, $data_wallet) { $log->save(); $log->walletLog()->create($data_wallet); }); return true; } catch (\Exception $ex) { throw new \Exception($ex->getMessage()); return false; } } public static function newinsertLog($data = array(), $data2 = array()) { $data = is_array($data) ? $data : func_get_args(); $log = new self(); $log->user_id = $data['user_id'] ?? false;; $log->value = $data['value'] ?? ''; $log->created_time = $data['created_time'] ?? time(); $log->info = $data['info'] ?? ''; $log->type = $data['type'] ?? 0; $log->currency = $data['currency'] ?? 0; // $data_wallet['balance_type'] = $data2['balance_type']?? 0; // $data_wallet['wallet_id'] = $data2['wallet_id']?? 0; // $data_wallet['lock_type'] = $data2['lock_type']?? 0; // $data_wallet['before'] = $data2['before']?? 0; // $data_wallet['change'] = $data2['change']?? 0; // $data_wallet['after'] = $data2['after']?? 0; // $data_wallet['memo'] = $data['info']?? 0; // $data_wallet['create_time'] = $data2['create_time']?? time(); //dd($data_wallet); try { DB::transaction(function () use ($log) { $log->save(); // $log->walletLog()->create($data_wallet); }); return true; } catch (\Exception $ex) { throw new \Exception($ex->getMessage()); return false; } } public function getInfoAttribute() { $type = $this->attributes['type']; if ($type == 8) { $type = 3; } if ($type == 502) { $type = 8; } // var_dump($this); $prefix = ''; //$lang = session()->get('lang'); if ($this->attributes['is_lock']) { $prefix = str_replace('account_log_info.', '', __("account_log_info.is_lock")) . ' '; } $info = str_replace('account_log_info.', '', __("account_log_info.$type")); if ($info == $type) { $info = str_replace('account_log_info.', '', __("account_log_info.unknown")); } return $prefix . $info; } //中文简体(兼容之前的调用) public static function getTypeInfo($type) { App::setLocale('zh'); $info = str_replace('account_log_info.', '', __("account_log_info.$type")); if ($info == $type) { $info = '未知类型'; } return $info; } public function user() { return $this->belongsTo('App\Users', 'user_id', 'id'); } //关联钱包记录模型 public function walletLog() { return $this->hasOne('App\WalletLog', 'account_log_id', 'id')->withDefault(); } }