TerminalPrinter.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App;
  3. use App\Traits\ModelTimeFormat;
  4. use Illuminate\Database\Eloquent\Model;
  5. use App\Traits\ModelLogChanging;
  6. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  7. class TerminalPrinter extends Model
  8. {
  9. use ModelLogChanging;
  10. use ModelTimeFormat;
  11. protected $fillable = ['terminal_id', 'printer_name', 'alias_name', 'print_type'];
  12. static public $enums = [
  13. 'print_type' => [
  14. '菜鸟' => 0,
  15. '拼多多' => 1,
  16. '顺丰' => 2,
  17. '京东' => 3,
  18. ],
  19. ];
  20. static public $PrintType = [
  21. "TB" => '菜鸟',
  22. "PDD" => '拼多多',
  23. "SF" => '顺丰',
  24. "SFQHD" => '顺丰',
  25. "JD" => '京东',
  26. ];
  27. function __construct(array $attributes = [])
  28. {
  29. foreach (self::$enums as &$enum) {
  30. $enum = $enum + array_flip($enum);
  31. }
  32. parent::__construct($attributes);
  33. }
  34. public function getPrintTypeAttribute($value)
  35. {
  36. if (!$value && $value !== 0) return '';
  37. return self::$enums['print_type'][$value];
  38. }
  39. public function setPrintTypeAttribute($value)
  40. {
  41. if (!$value) return 0;
  42. $this->attributes['print_type'] = self::$enums['print_type'][$value];
  43. }
  44. public function terminal(): BelongsTo
  45. {
  46. return $this->belongsTo(Terminal::class);
  47. }
  48. }