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.
80 lines
2.4 KiB
80 lines
2.4 KiB
<?php
|
|
|
|
namespace App\Service;
|
|
|
|
use App\Model\ServiceEvaluate;
|
|
use App\Model\Users;
|
|
use Hyperf\DbConnection\Db;
|
|
use Hyperf\HttpServer\Contract\RequestInterface;
|
|
use Hyperf\Di\Annotation\Inject;
|
|
use Hyperf\Paginator\Paginator;
|
|
|
|
class ServiceEvaluateService implements ServiceEvaluateServiceInterface
|
|
{
|
|
|
|
public function evaluate($data)
|
|
{
|
|
// 当前用户是否今日新注册并第一次提交评论
|
|
$data['user_created_at'] = Users::where(['id' => $data['user_id']])->value('join_time');
|
|
$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 getPersonnelInfo($service_personnel_id)
|
|
{
|
|
$res = Db::table('lanzu_service_personnel')
|
|
->where([
|
|
['id','=',$service_personnel_id],
|
|
['status','=',1]
|
|
])
|
|
->first();
|
|
return $res;
|
|
}
|
|
|
|
public function getEvaluateList($service_personnel_id)
|
|
{
|
|
$res = Db::table('lanzu_service_evaluate as e')
|
|
->join('ims_cjdc_user as u','u.id','=','e.user_id')
|
|
->where(['e.service_personnel_id'=>$service_personnel_id])
|
|
->select('e.*','u.name','u.img')
|
|
->paginate(4);
|
|
return $res;
|
|
}
|
|
|
|
|
|
public function getQuickEvaluate()
|
|
{
|
|
$data = (object)null;
|
|
//获取快速评论标题
|
|
$obj1 = (object)null;
|
|
$obj1->title1 = '服务态度超好';
|
|
$obj1->title2 = '服务态度一般般';
|
|
$data->quick_evaluate_title = $obj1;
|
|
//获取快速评论内容
|
|
$obj2 = (object)null;
|
|
$obj2->content1 = '超级细心';
|
|
$obj2->content2 = '马马虎虎';
|
|
$data->quick_evaluate_content = $obj2;
|
|
//获取评论长度限制参数
|
|
$obj3 = (object)null;
|
|
$obj3->min_length = 15;
|
|
$obj3->max_length = 150;
|
|
$data->length = $obj3;
|
|
return $data;
|
|
}
|
|
|
|
}
|