$data['user_id']])->value('created_at')); $evaluateExist = ServiceEvaluate::where(['user_id' => $data['user_id']])->exists(); $data['is_new_user'] = 0; if ( !$evaluateExist && $data['user_created_at']>=strtotime(date('Y-m-d 00:00:00')) && $data['user_created_at']<=strtotime(date('Y-m-d 23:59:59')) ) { $data['is_new_user'] = 1; } // 计算评分平均分 $score = $data['c_attitude'] + $data['c_service'] + $data['c_quality']; $data['c_average'] = round($score/3, 1); return ServiceEvaluate::create($data); } public function isPersonnel($user_id) { $res = Db::table('lanzu_service_personnel') ->where([ ['user_id','=',$user_id], ['status','=',1] ]) ->select('id','status') ->first(); return $res; } public function getPersonnelInfo($service_personnel_id) { $res = ServicePersonnel::query() ->where([ ['id','=',$service_personnel_id], ['status','=',1] ]) ->first(); //如果存在服务专员则计算评价平均分 if(!empty($res)) { $personnel_average = Db::table('lanzu_service_evaluate')->where(['service_personnel_id' => $service_personnel_id])->avg('c_average'); $res->personnel_average = sprintf("%.1f", $personnel_average); } return $res; } public function getEvaluateList($data) { //踩坑 paginate 只能接收int型参数 $per_page = isset($data['per_page']) && $data['per_page'] > 0 ? intval($data['per_page']) : 6; //查询评论列表 按照创建时间降序排序 $res = ServiceEvaluate::join('ims_cjdc_user as u','u.id','=','lanzu_service_evaluate.user_id') ->where(['lanzu_service_evaluate.service_personnel_id'=>$data['service_personnel_id']]) ->select('lanzu_service_evaluate.*','u.name','u.img') ->orderBy('lanzu_service_evaluate.created_at','desc') ->paginate($per_page); return $res; } public function getQuickEvaluate() { $data = (object)null; //获取快速评论标题 $obj1 = (object)null; $obj1->title1 = '服务热情'; $obj1->title2 = '工作仔细'; $obj1->title3 = '亲和力强'; $data->quick_evaluate_title = $obj1; //获取快速评论内容 $obj2 = (object)null; $obj2->content1 = '懒族生活的小伙伴服务态度热情,非常耐心的解决我提出的要求。'; $obj2->content2 = '清洗工作非常的细致入微,很干净!回家可以直接做菜了,很方便!非常感谢懒族小伙伴的服务。'; $obj2->content3 = '懒族生活服务站的小伙伴聊天时就像朋友一样,亲和力很强。以后买菜就找他们啦!'; $data->quick_evaluate_content = $obj2; //获取评论长度限制参数 $obj3 = (object)null; $obj3->min_length = 15; $obj3->max_length = 150; $data->length = $obj3; return $data; } }