123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- // +----------------------------------------------------------------------
- // | Niucloud-admin 企业快速开发的多应用管理平台
- // +----------------------------------------------------------------------
- // | 官方网址:https://www.niucloud.com
- // +----------------------------------------------------------------------
- // | niucloud团队 版权所有 开源版本可自由商用
- // +----------------------------------------------------------------------
- // | Author: Niucloud Team
- // +----------------------------------------------------------------------
- namespace addon\mall\app\model\goods;
- use addon\mall\app\dict\goods\EvaluateDict;
- use addon\mall\app\model\order\OrderGoods;
- use app\dict\sys\FileDict;
- use core\base\BaseModel;
- use Exception;
- /**
- * 商品评价模型
- * Class Evaluate
- * @package addon\mall\app\model\goods
- */
- class Evaluate extends BaseModel
- {
- /**
- * 数据表主键
- * @var string
- */
- protected $pk = 'evaluate_id';
- /**
- * 模型名称
- * @var string
- */
- protected $name = 'mall_goods_evaluate';
- // 设置json类型字段
- protected $json = [ 'images' ];
- // 设置JSON数据返回数组
- protected $jsonAssoc = true;
- /**
- * 关联商品表
- */
- public function goods()
- {
- return $this->hasOne(Goods::class, 'goods_id', 'goods_id')->withField('site_id, goods_id, goods_name, goods_cover')
- ->append([ 'goods_cover_thumb_small', 'goods_cover_thumb_mid' ]);
- }
- public function orderGoods(){
- return $this->hasOne(OrderGoods::class, 'order_goods_id', 'order_goods_id');
- }
- /**
- * 审核状态转换
- * @param $value
- * @param $data
- * @return mixed|string
- */
- public function getAuditNameAttr($value, $data)
- {
- return EvaluateDict::getStatus()[ $data[ 'is_audit' ] ] ?? '';
- }
- /**
- * 缩略图生成-小图
- * @param $value
- * @param $data
- * @return array
- * @throws Exception
- */
- public function getImageSmallAttr($value, $data)
- {
- if (!empty($data[ 'images' ])) {
- $small_arr = [];
- foreach ($data[ 'images' ] as $k => $v) {
- $small_arr[] = get_thumb_images($data['site_id'], $v, FileDict::SMALL);
- }
- return $small_arr;
- }
- return [];
- }
- /**
- * 缩略图生成-大图
- * @param $value
- * @param $data
- * @return array
- * @throws Exception
- */
- public function getImageBigAttr($value, $data)
- {
- if (!empty($data[ 'images' ])) {
- $samll_arr = [];
- foreach ($data[ 'images' ] as $k => $v) {
- $samll_arr[] = get_thumb_images($data['site_id'], $v, FileDict::BIG);
- }
- return $samll_arr;
- }
- return [];
- }
- /**
- * 缩略图生成-中图
- * @param $value
- * @param $data
- * @return array
- * @throws Exception
- */
- public function getImageMidAttr($value, $data)
- {
- if (!empty($data[ 'images' ])) {
- $samll_arr = [];
- foreach ($data[ 'images' ] as $k => $v) {
- $samll_arr[] = get_thumb_images($data['site_id'], $v, FileDict::MID);
- }
- return $samll_arr;
- }
- return [];
- }
- /**
- * 评分搜索器
- * @param $query
- * @param $value
- * @param $data
- */
- public function searchScoresAttr($query, $value, $data)
- {
- if ($value) {
- $query->where('scores', 'in', $value);
- }
- }
- public function getMemberNameAttr($value, $data) {
- if (isset($data['is_anonymous']) && $data['is_anonymous'] == 1) {
- return '匿名买家';
- }
- return $value;
- }
- }
|