AntihackLogControl.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace App\Models\Web;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use App\Models\Login\AccountInfo;
  6. use DB;
  7. class AntihackLogControl extends Model
  8. {
  9. protected $connection = "WEB";
  10. protected $table = "AntihackLogControl";
  11. protected $primaryKey = "ID";
  12. protected $dates = ["Updated_At"];
  13. protected $fillable = ["ID", "UUID", "AccountDBID","Motivo","Filename","Updated_At"];
  14. public $timestamps = false;
  15. public function accountinfos(){
  16. return $this->belongsTo('App\Models\Login\AccountInfo', 'AccountDBID');
  17. }
  18. public static function Create($params)
  19. {
  20. // Inicia as transactions
  21. $account_tran = DB::connection('Login');
  22. $account_tran->beginTransaction();
  23. $web_tran = DB::connection('WEB');
  24. $web_tran->beginTransaction();
  25. try {
  26. $UUID = explode(":", $params['UUID']);
  27. if(isset($UUID[1])){
  28. $AccountInfo = AccountInfo::where('UUID', $UUID[1])->first();
  29. if($AccountInfo->IsBlocked == 1)
  30. return 0;
  31. $AntiHack = new AntihackLogControl();
  32. $AntiHack->UUID = $UUID[1];
  33. $AntiHack->AccountDBID = $AccountInfo->AccountDBID;
  34. $AntiHack->Motivo = $params['Motivo'];
  35. $AntiHack->Filename = $params['Filename'];
  36. $AntiHack->Updated_At = now();
  37. $AntiHack->save();
  38. $AccountInfo->IsBlocked = 1;
  39. $AccountInfo->IsActivated = 1;
  40. $AccountInfo->save();
  41. }
  42. // COMMIT TRAN
  43. $account_tran->commit();
  44. $web_tran->commit();
  45. return 0;
  46. } catch (\Exception $e){
  47. // ROLLBACK
  48. $account_tran->rollback();
  49. $web_tran->rollback();
  50. throw new \Exception($e);
  51. }
  52. }
  53. }