UserMessage.php 938 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: zilongs
  5. * Date: 20-10-30
  6. * Time: 下午4:43
  7. */
  8. namespace App\Models;
  9. class UserMessage extends BaseModel
  10. {
  11. protected $appends = ['product_type'];
  12. public static function saveMessage($user_id, $type, $relation_id = 0, $param = [], $content = '')
  13. {
  14. if (empty($content)) {
  15. $content = config('config.user_message_map')[$type] ?? '';
  16. $content = vsprintf($content, $param);
  17. }
  18. UserMessage::create([
  19. 'user_id' => $user_id,
  20. 'type' => $type,
  21. 'relation_id' => $relation_id,
  22. 'content' => $content,
  23. ]);
  24. return true;
  25. }
  26. public function getProductTypeAttribute()
  27. {
  28. if (in_array($this->type, [1,2,4,5,6,7,8]) && !empty($this->relation_id)) {
  29. return Order::where('id', $this->relation_id)->value('product_type');
  30. }
  31. return 0;
  32. }
  33. }