'销售提成', ]; /** * @return string[] */ public static function getMoneyTypes(): array { return self::$money_types; } #退款中的或已退款的 public function scopeFilterTypeCommission(Query $query){ $query->where($this->__('type'),self::T_COMMISSION); } public function admin(){ return $this->belongsTo(Admin::class)->setEagerlyType(0); } public static function money($admin_id,$amount,$type,$from_user_id,$target_id=null,$remark=null){ $admin=Admin::where('id',$admin_id)->lock(true)->find(); if(!$admin){ return false; } $before=$admin['money']; $admin['money']=bcadd($admin['money'],$amount); if($admin['money']<0){ throw_user('余额不足'); } $admin->moneyLog()->save([ 'type'=>$type, 'amount'=>$amount, 'before'=>$before, 'after'=>$admin['money'], 'target_id'=>$target_id, 'remark'=>$remark, 'from_user_id'=>$from_user_id ]); } }