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.
212 lines
4.0 KiB
212 lines
4.0 KiB
4 months ago
|
<?php
|
||
|
namespace app\massage\model;
|
||
|
|
||
|
use app\BaseModel;
|
||
|
use think\facade\Db;
|
||
|
|
||
|
class Comment extends BaseModel
|
||
|
{
|
||
|
//定义表名
|
||
|
protected $name = 'massage_service_order_comment';
|
||
|
|
||
|
|
||
|
protected $append = [
|
||
|
|
||
|
'lable_text',
|
||
|
|
||
|
'order_goods',
|
||
|
|
||
|
|
||
|
];
|
||
|
|
||
|
/**
|
||
|
* @author chenniang
|
||
|
* @DataTime: 2021-03-19 17:05
|
||
|
* @功能说明:子订单信息
|
||
|
*/
|
||
|
|
||
|
public function getOrderGoodsAttr($value,$data){
|
||
|
|
||
|
if(!empty($data['order_id'])&&isset($data['id'])){
|
||
|
|
||
|
$order_goods_model = new OrderGoods();
|
||
|
|
||
|
$comment_goods = new CommentGoods();
|
||
|
|
||
|
$dis = [
|
||
|
|
||
|
'order_id' => $data['order_id']
|
||
|
];
|
||
|
|
||
|
$list = $order_goods_model->where($dis)->select()->toArray();
|
||
|
|
||
|
if(!empty($list)){
|
||
|
|
||
|
foreach ($list as &$value){
|
||
|
|
||
|
$dis = [
|
||
|
|
||
|
'service_id' => $value['goods_id'],
|
||
|
|
||
|
'comment_id' => $data['id']
|
||
|
];
|
||
|
|
||
|
$info = $comment_goods->dataInfo($dis);
|
||
|
|
||
|
if(!empty($info)){
|
||
|
|
||
|
$value['star'] = $info['star'];
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
return $list;
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @author chenniang
|
||
|
* @DataTime: 2021-07-05 23:32
|
||
|
* @功能说明:标签列表
|
||
|
*/
|
||
|
public function getLableTextAttr($vaule,$data){
|
||
|
|
||
|
if(!empty($data['id'])){
|
||
|
|
||
|
$lable_model = new Lable();
|
||
|
|
||
|
$dis = [
|
||
|
|
||
|
'b.comment_id' => $data['id'],
|
||
|
|
||
|
'a.status' => 1
|
||
|
|
||
|
];
|
||
|
$list = $lable_model->alias('a')
|
||
|
->join('massage_service_comment_lable b','a.id = b.lable_id')
|
||
|
->where($dis)
|
||
|
->column('a.title');
|
||
|
|
||
|
return array_values($list);
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @author chenniang
|
||
|
* @DataTime: 2020-09-29 11:04
|
||
|
* @功能说明:添加
|
||
|
*/
|
||
|
public function dataAdd($data){
|
||
|
|
||
|
$data['create_time'] = time();
|
||
|
|
||
|
$res = $this->insert($data);
|
||
|
|
||
|
return $res;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @author chenniang
|
||
|
* @DataTime: 2020-09-29 11:05
|
||
|
* @功能说明:编辑
|
||
|
*/
|
||
|
public function dataUpdate($dis,$data){
|
||
|
|
||
|
$res = $this->where($dis)->update($data);
|
||
|
|
||
|
return $res;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @author chenniang
|
||
|
* @DataTime: 2020-09-29 11:06
|
||
|
* @功能说明:列表
|
||
|
*/
|
||
|
public function dataList($dis,$page=10){
|
||
|
|
||
|
$data = $this->alias('a')
|
||
|
->join('massage_service_order_list b','a.order_id = b.id','left')
|
||
|
->join('massage_service_order_goods_list c','a.order_id = c.order_id','left')
|
||
|
->join('massage_service_coach_list d','a.coach_id = d.id','left')
|
||
|
->join('massage_service_user_list e','a.user_id = e.id','left')
|
||
|
->where($dis)
|
||
|
->field('a.*,b.order_code,e.nickName,e.avatarUrl,c.goods_name,c.goods_cover,c.num,c.price,d.coach_name')
|
||
|
->group('a.id')
|
||
|
->order('a.id desc')
|
||
|
->paginate($page)
|
||
|
->toArray();
|
||
|
|
||
|
return $data;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @author chenniang
|
||
|
* @DataTime: 2020-09-29 11:43
|
||
|
* @功能说明:
|
||
|
*/
|
||
|
public function dataInfo($dis){
|
||
|
|
||
|
$data = $this->where($dis)->find();
|
||
|
|
||
|
if(empty($data)){
|
||
|
|
||
|
$this->dataAdd($dis);
|
||
|
|
||
|
$data = $this->where($dis)->find();
|
||
|
|
||
|
}
|
||
|
|
||
|
return !empty($data)?$data->toArray():[];
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @author chenniang
|
||
|
* @DataTime: 2022-02-22 09:51
|
||
|
* @功能说明:修改分数
|
||
|
*/
|
||
|
public function updateStar($coach_id){
|
||
|
|
||
|
$all_count= $this->where(['coach_id'=>$coach_id])->where('status','>',-1)->count();
|
||
|
|
||
|
$all_star = $this->where(['coach_id'=>$coach_id])->where('status','>',-1)->sum('star');
|
||
|
|
||
|
$now_star = $all_count>0?round($all_star/$all_count,1):5;
|
||
|
|
||
|
$now_star = $now_star>5?5:$now_star;
|
||
|
|
||
|
$coach_model = new Coach();
|
||
|
|
||
|
$coach_model->dataUpdate(['id'=>$coach_id],['star'=>$now_star]);
|
||
|
|
||
|
return true;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|