From 6d51d44f90945508eec2ce33393ca8d5e21a4ed9 Mon Sep 17 00:00:00 2001 From: weigang Date: Mon, 27 Jul 2020 17:29:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=98=AF=E5=90=A6=E6=96=B0?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=9A=84=E6=A0=87=E8=AF=86=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=B9=B3=E5=9D=87=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Model/ServiceEvaluate.php | 2 +- app/Model/Users.php | 8 ++++++++ app/Service/ServiceEvaluateService.php | 21 ++++++++++++++++++--- config/autoload/server.php | 7 +++++++ 4 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 app/Model/Users.php diff --git a/app/Model/ServiceEvaluate.php b/app/Model/ServiceEvaluate.php index 8d1e89a..82ee480 100644 --- a/app/Model/ServiceEvaluate.php +++ b/app/Model/ServiceEvaluate.php @@ -12,7 +12,7 @@ class ServiceEvaluate extends Model /** * @var array 允许插入的属性 */ - protected $fillable = ['user_id', 'user_created_at', 'service_personnel_id', 'market_id', 'c_attitude', 'c_service', 'c_quality', 'content']; + protected $fillable = ['user_id', 'user_created_at', 'service_personnel_id', 'market_id', 'c_attitude', 'c_service', 'c_quality', 'c_average', 'content', 'is_new_user']; /** * 默认值 diff --git a/app/Model/Users.php b/app/Model/Users.php new file mode 100644 index 0000000..2a8d910 --- /dev/null +++ b/app/Model/Users.php @@ -0,0 +1,8 @@ +where(['id' => $data['user_id']]) - ->value('join_time'); + // 当前用户是否今日新注册并第一次提交评论 + $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); } diff --git a/config/autoload/server.php b/config/autoload/server.php index d6211cc..e0e6cd8 100644 --- a/config/autoload/server.php +++ b/config/autoload/server.php @@ -36,10 +36,17 @@ return [ 'max_request' => 100000, 'socket_buffer_size' => 2 * 1024 * 1024, 'buffer_output_size' => 2 * 1024 * 1024, + // Task Worker 数量,根据您的服务器配置而配置适当的数量 + 'task_worker_num' => 8, + // 因为 `Task` 主要处理无法协程化的方法,所以这里推荐设为 `false`,避免协程下出现数据混淆的情况 + 'task_enable_coroutine' => false, ], 'callbacks' => [ SwooleEvent::ON_WORKER_START => [Hyperf\Framework\Bootstrap\WorkerStartCallback::class, 'onWorkerStart'], SwooleEvent::ON_PIPE_MESSAGE => [Hyperf\Framework\Bootstrap\PipeMessageCallback::class, 'onPipeMessage'], SwooleEvent::ON_WORKER_EXIT => [Hyperf\Framework\Bootstrap\WorkerExitCallback::class, 'onWorkerExit'], + // Task callbacks + SwooleEvent::ON_TASK => [Hyperf\Framework\Bootstrap\TaskCallback::class, 'onTask'], + SwooleEvent::ON_FINISH => [Hyperf\Framework\Bootstrap\FinishCallback::class, 'onFinish'], ], ];