AgentUserRecord.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Game;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Support\Facades\DB;
  5. use Carbon\Carbon;
  6. class AgentUserRecord extends Model
  7. {
  8. protected $table = 'webgame.AgentUserRecord';
  9. protected $connection = 'mysql';
  10. protected $fillable = [
  11. 'GlobalUID', 'UserID', 'Date', 'Level', 'SubTotal', 'CreatedAt', 'UpdatedAt','HigherGUID','HigherID'
  12. ];
  13. public $timestamps = false;
  14. // 查找或创建当日的记录,并增加到 SubTotal
  15. public static function findOrCreateAndUpdate($globalUID, $userID, $level, $amount,$HigherGUID=null,$HigherID=0)
  16. {
  17. $date = Carbon::now()->format('Ymd'); // 获取当前日期,格式为 YYYYMMDD
  18. $record = self::where('GlobalUID', $globalUID)
  19. ->where('Date', $date)
  20. ->where('Level', $level);
  21. if ($record->exists()) {
  22. // 如果记录存在,增加 SubTotal
  23. $record->increment('SubTotal', $amount);
  24. } else {
  25. // 如果记录不存在,创建新记录
  26. self::create([
  27. 'GlobalUID' => $globalUID,
  28. 'UserID' => $userID,
  29. 'Date' => $date,
  30. 'Level' => $level,
  31. 'SubTotal' => $amount,
  32. 'HigherGUID' => $HigherGUID,
  33. 'HigherID' => $HigherID
  34. ]);
  35. }
  36. }
  37. }