41 lines
945 B
PHP
41 lines
945 B
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use App\Models\PointsLog;
|
|
use App\Models\User;
|
|
|
|
class PointsService
|
|
{
|
|
/**
|
|
* 发放积分
|
|
*
|
|
* @param integer $type
|
|
* @param User $user
|
|
* @param integer $points
|
|
* @param string $desc
|
|
* @return bool
|
|
*/
|
|
public function sendPoints(int $type, User $user, int $points, string $desc)
|
|
{
|
|
$res = false;
|
|
if ($points != 0) {
|
|
PointsLog::create([
|
|
'type' => $type,
|
|
'user_id' => $user->id,
|
|
'points' => $points,
|
|
'old_points'=> $user->userInfo->points,
|
|
'desc' => $desc,
|
|
]);
|
|
|
|
if ($points > 0) {
|
|
$user->userInfo()->increment('points', abs($points));
|
|
} else {
|
|
$user->userInfo()->decrement('points', abs($points));
|
|
}
|
|
$res = true;
|
|
}
|
|
return $res;
|
|
}
|
|
}
|