链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.2 KiB

6 years ago
  1. <?php
  2. namespace App\Models;
  3. use Dcat\Admin\Traits\HasDateTimeFormatter;
  4. use Illuminate\Database\Eloquent\SoftDeletes;
  5. use Illuminate\Database\Eloquent\Model;
  6. use App\Models\ImsCjdcMarket as MarketModel;
  7. use App\Models\StoreType as StoreTypeModel;
  8. class Store extends Model
  9. {
  10. use HasDateTimeFormatter;
  11. use SoftDeletes;
  12. protected $table = 'lanzu_store';
  13. protected $dateFormat = 'U';
  14. protected $appends = [
  15. 'logo_url',
  16. 'market_name',
  17. 'store_type_name'
  18. ];
  19. public function getMarketNameAttribute($value)
  20. {
  21. $value = $value ? $value : $this->market_id;
  22. $market = MarketModel::getMarketInfo($value,'name');
  23. return $market ? $market->name : '';
  24. }
  25. public function getStoreTypeNameAttribute($value)
  26. {
  27. $value = $value ? $value : $this->store_type_id;
  28. $storeType = StoreTypeModel::getStoreTypeInfo($value,'type_name');
  29. return $storeType ? $storeType->type_name : '';
  30. }
  31. public function getLogoUrlAttribute($value)
  32. {
  33. $value = $value ? $value : $this->logo;
  34. return $this->imageUrl($value);
  35. }
  36. /**
  37. * 获取商家环境图片
  38. * @param $value $this->environment
  39. * @return array
  40. */
  41. public function getEnvironmentAttribute($value)
  42. {
  43. $value = $value ? $value : '';
  44. return $value ? explode(',',$value) : [];
  45. }
  46. public function setEnvironmentAttribute($value)
  47. {
  48. $this->attributes['environment'] = implode(',',$value);
  49. }
  50. /**
  51. * 是否开启店铺
  52. */
  53. public function getIsOpenAttribute($value)
  54. {
  55. $value = $value ? $value : '';
  56. return $value ? explode(',',$value) : [];
  57. }
  58. public function setIsOpenAttribute($value)
  59. {
  60. $this->attributes['IsOpen'] = 1;
  61. }
  62. /**
  63. * 获取单个店铺信息
  64. * @param int $id
  65. * @param string $field
  66. * @return string
  67. */
  68. public static function getStoreInfo($id,$field = '*')
  69. {
  70. return self::select($field)->find($id);
  71. }
  72. // 处理图片
  73. public function imageUrl($value)
  74. {
  75. if(strripos($value,"http") === false){
  76. return env('OSS_IMG_HOST').'/'.$value;
  77. }else{
  78. return $value;
  79. }
  80. }
  81. }