mirror of
https://gitee.com/wonderful-code/buildadmin
synced 2024-11-22 23:28:43 +00:00
52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace app\admin\model;
|
|
|
|
use think\model;
|
|
use think\Exception;
|
|
|
|
/**
|
|
* UserScoreLog 模型
|
|
* @controllerUrl 'userScoreLog'
|
|
*/
|
|
class UserScoreLog extends model
|
|
{
|
|
protected $autoWriteTimestamp = 'int';
|
|
|
|
protected $createTime = 'createtime';
|
|
protected $updateTime = false;
|
|
|
|
public static function onBeforeInsert($model)
|
|
{
|
|
$user = User::where('id', $model->user_id)->find();
|
|
if (!$user) {
|
|
throw new Exception("The user can't find it");
|
|
}
|
|
if (!$model->memo) {
|
|
throw new Exception("Change note cannot be blank");
|
|
}
|
|
$model->before = $user->score;
|
|
$model->after = $user->score + $model->score;
|
|
}
|
|
|
|
public static function onAfterInsert($model)
|
|
{
|
|
$user = User::where('id', $model->user_id)->find();
|
|
if (!$user) {
|
|
$model->delete();
|
|
throw new Exception("The user can't find it");
|
|
}
|
|
$user->score += $model->score;
|
|
$user->save();
|
|
}
|
|
|
|
public static function onBeforeDelete()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public function user()
|
|
{
|
|
return $this->belongsTo(User::class, 'user_id');
|
|
}
|
|
} |