Browse Source

新增是否新用户的标识以及计算平均分

master
weigang 5 years ago
parent
commit
6d51d44f90
  1. 2
      app/Model/ServiceEvaluate.php
  2. 8
      app/Model/Users.php
  3. 21
      app/Service/ServiceEvaluateService.php
  4. 7
      config/autoload/server.php

2
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'];
/**
* 默认值

8
app/Model/Users.php

@ -0,0 +1,8 @@
<?php
namespace App\Model;
class Users extends Model
{
protected $table = 'ims_cjdc_user';
}

21
app/Service/ServiceEvaluateService.php

@ -3,6 +3,7 @@
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;
@ -13,9 +14,23 @@ class ServiceEvaluateService implements ServiceEvaluateServiceInterface
public function evaluate($data)
{
$data['user_created_at'] = Db::table('ims_cjdc_user')
->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);
}

7
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'],
],
];
Loading…
Cancel
Save