'department_id']; const TYPE_MODIFIED_AMOUNT_ADD = 1; // (管理后台)加点 const TYPE_RECHARGE = 2; // 充值 const TYPE_WITHDRAWAL = 3; // 提现 const TYPE_MODIFIED_AMOUNT_DEDUCT = 4; // (管理后台)扣点 const TYPE_WITHDRAWAL_BACK = 5; // 提现失败返还 const TYPE_REGISTER_PRESENT = 6; // 注册赠送 const TYPE_COMMISSION = 7; // 返佣 const TYPE_SIGN = 8; // 签到 const TYPE_GAME_OUT = 9; // 游戏转出 const TYPE_GAME_IN = 10; // 游戏转入 const TYPE_BET_REBATE = 11; // 打码量返水 const TYPE_DAMAGE_REBATE = 12; // 客损返水 const TYPE_RECHARGE_REWARD = 13; // 首充值奖励 const TYPE_PROFIT = 14; // 推广员分润 const TYPE_CANCELTRANSFER = 15; // 管理员取消转账 protected $fillable = [ 'player_id', 'target', 'target_id', 'department_id', 'type', 'source', 'amount', 'amount_after', 'amount_before', 'amount_platform_before', 'amount_platform_after', 'tradeno', 'remark', 'operator_audit', 'operator_withdraw', 'created_at', 'updated_at', ]; /** * 时间转换 * @param DateTimeInterface $date * @return string */ protected function serializeDate(DateTimeInterface $date): string { return $date->format('Y-m-d H:i:s'); } public function __construct(array $attributes = []) { parent::__construct($attributes); $this->setTable(plugin()->webman->config('database.player_delivery_record_table')); } /** * 玩家信息 * @return BelongsTo */ public function player(): BelongsTo { return $this->belongsTo(plugin()->webman->config('database.player_model'), 'player_id')->withTrashed(); } /** * 金额 * * @param $value * @return float */ public function getAmountAttribute($value): float { return floatval($value); } /** * 異動前金額 * * @param $value * @return float */ public function getAmountBeforeAttribute($value): float { return floatval($value); } /** * 異動后金額 * * @param $value * @return float */ public function getAmountAfterAttribute($value): float { return floatval($value); } }