Evaluate.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的多应用管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace addon\mall\app\model\goods;
  12. use addon\mall\app\dict\goods\EvaluateDict;
  13. use addon\mall\app\model\order\OrderGoods;
  14. use app\dict\sys\FileDict;
  15. use core\base\BaseModel;
  16. use Exception;
  17. /**
  18. * 商品评价模型
  19. * Class Evaluate
  20. * @package addon\mall\app\model\goods
  21. */
  22. class Evaluate extends BaseModel
  23. {
  24. /**
  25. * 数据表主键
  26. * @var string
  27. */
  28. protected $pk = 'evaluate_id';
  29. /**
  30. * 模型名称
  31. * @var string
  32. */
  33. protected $name = 'mall_goods_evaluate';
  34. // 设置json类型字段
  35. protected $json = [ 'images' ];
  36. // 设置JSON数据返回数组
  37. protected $jsonAssoc = true;
  38. /**
  39. * 关联商品表
  40. */
  41. public function goods()
  42. {
  43. return $this->hasOne(Goods::class, 'goods_id', 'goods_id')->withField('site_id, goods_id, goods_name, goods_cover')
  44. ->append([ 'goods_cover_thumb_small', 'goods_cover_thumb_mid' ]);
  45. }
  46. public function orderGoods(){
  47. return $this->hasOne(OrderGoods::class, 'order_goods_id', 'order_goods_id');
  48. }
  49. /**
  50. * 审核状态转换
  51. * @param $value
  52. * @param $data
  53. * @return mixed|string
  54. */
  55. public function getAuditNameAttr($value, $data)
  56. {
  57. return EvaluateDict::getStatus()[ $data[ 'is_audit' ] ] ?? '';
  58. }
  59. /**
  60. * 缩略图生成-小图
  61. * @param $value
  62. * @param $data
  63. * @return array
  64. * @throws Exception
  65. */
  66. public function getImageSmallAttr($value, $data)
  67. {
  68. if (!empty($data[ 'images' ])) {
  69. $small_arr = [];
  70. foreach ($data[ 'images' ] as $k => $v) {
  71. $small_arr[] = get_thumb_images($data['site_id'], $v, FileDict::SMALL);
  72. }
  73. return $small_arr;
  74. }
  75. return [];
  76. }
  77. /**
  78. * 缩略图生成-大图
  79. * @param $value
  80. * @param $data
  81. * @return array
  82. * @throws Exception
  83. */
  84. public function getImageBigAttr($value, $data)
  85. {
  86. if (!empty($data[ 'images' ])) {
  87. $samll_arr = [];
  88. foreach ($data[ 'images' ] as $k => $v) {
  89. $samll_arr[] = get_thumb_images($data['site_id'], $v, FileDict::BIG);
  90. }
  91. return $samll_arr;
  92. }
  93. return [];
  94. }
  95. /**
  96. * 缩略图生成-中图
  97. * @param $value
  98. * @param $data
  99. * @return array
  100. * @throws Exception
  101. */
  102. public function getImageMidAttr($value, $data)
  103. {
  104. if (!empty($data[ 'images' ])) {
  105. $samll_arr = [];
  106. foreach ($data[ 'images' ] as $k => $v) {
  107. $samll_arr[] = get_thumb_images($data['site_id'], $v, FileDict::MID);
  108. }
  109. return $samll_arr;
  110. }
  111. return [];
  112. }
  113. /**
  114. * 评分搜索器
  115. * @param $query
  116. * @param $value
  117. * @param $data
  118. */
  119. public function searchScoresAttr($query, $value, $data)
  120. {
  121. if ($value) {
  122. $query->where('scores', 'in', $value);
  123. }
  124. }
  125. public function getMemberNameAttr($value, $data) {
  126. if (isset($data['is_anonymous']) && $data['is_anonymous'] == 1) {
  127. return '匿名买家';
  128. }
  129. return $value;
  130. }
  131. }