作者 李宇航

合并分支 'lyh-server' 到 'master'

gx



查看合并请求 !1581
@@ -150,7 +150,7 @@ class AiBlogTask extends Command @@ -150,7 +150,7 @@ class AiBlogTask extends Command
150 } 150 }
151 $aiBlogTaskModel = new AiBlogTaskModel(); 151 $aiBlogTaskModel = new AiBlogTaskModel();
152 $finish_at = date('Y-m-d H:i:s', strtotime('-' . $finish_at . ' hour')); 152 $finish_at = date('Y-m-d H:i:s', strtotime('-' . $finish_at . ' hour'));
153 - $ids = $aiBlogTaskModel->formatQuery(['status'=>$aiBlogTaskModel::STATUS_RUNNING,'type'=>$aiBlogTaskModel::TYPE_BLOG,'created_at'=>['<=',$finish_at]])->limit(1000)->pluck('id'); 153 + $ids = $aiBlogTaskModel->formatQuery(['status'=>$aiBlogTaskModel::STATUS_RUNNING,'type'=>$aiBlogTaskModel::TYPE_BLOG,'updated_at'=>['<=',$finish_at]])->limit(1000)->pluck('id');
154 if(!empty($ids)){ 154 if(!empty($ids)){
155 foreach ($ids as $id) { 155 foreach ($ids as $id) {
156 Redis::lpush('ai_blog_task', $id); 156 Redis::lpush('ai_blog_task', $id);
  1 +<?php
  2 +/**
  3 + * @remark :
  4 + * @name :AfterCount.php
  5 + * @author :lyh
  6 + * @method :post
  7 + * @time :2025/3/26 15:28
  8 + */
  9 +
  10 +namespace App\Console\Commands\DayCount;
  11 +
  12 +use App\Models\Manage\ManageHr;
  13 +use App\Models\Project\Project;
  14 +use Carbon\Carbon;
  15 +use App\Models\HomeCount\AfterCount as AfterCountModel;
  16 +use Illuminate\Console\Command;
  17 +
  18 +class AfterCount extends Command
  19 +{
  20 + /**
  21 + * The name and signature of the console command.
  22 + *
  23 + * @var string
  24 + */
  25 + protected $signature = 'after_count';
  26 +
  27 + protected $managerHrModel;
  28 +
  29 + public $after_manager = [
  30 + 1 => ['许璐','王袁袁'],
  31 + 2 => ['陈思蓓'],
  32 + 3 => ['张国英']
  33 + ];
  34 +
  35 + /**
  36 + * The console command description.
  37 + *
  38 + * @var string
  39 + */
  40 + protected $description = '统计昨日售后数据';
  41 +
  42 + public function handle(){
  43 + echo date('Y-m-d H:i:s').'统计start->'.PHP_EOL;
  44 + $saveData = $this->_action();
  45 + $afterModel = new AfterCountModel();
  46 + $afterModel->insertAll($saveData);
  47 + echo date('Y-m-d H:i:s').'->统计end'.PHP_EOL;
  48 + return true;
  49 + }
  50 +
  51 + /**
  52 + * @remark :执行方法
  53 + * @name :_action
  54 + * @author :lyh
  55 + * @method :post
  56 + * @time :2025/3/26 15:29
  57 + */
  58 + public function _action(){
  59 + $this->managerHrModel = new ManageHr();
  60 + $projectModel = new Project();
  61 + $todayMidnight = date('Y-m-d 00:00:00', strtotime('today'));
  62 + $saveData = [];
  63 + foreach ($this->after_manager as $key => $valM){
  64 + $idArr = $this->managerHrModel->selectField(['name'=>['in',$valM]],'id');
  65 + $project_count = $projectModel->where('gl_project.extend_type',0)->where('gl_project.delete_status',0)->where('gl_project.created_at','<=',$todayMidnight)->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)->whereIn('gl_project.type',[2,4])->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
  66 + $qualified_count = $projectModel->where('gl_project.extend_type',0)->where('gl_project.delete_status',0)->where('gl_project.created_at','<=',$todayMidnight)->where('gl_project.is_remain_today',1)->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)->whereIn('gl_project.type',[2,4])->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
  67 + $rate = number_format($qualified_count / $project_count, 2);
  68 + $threeMonthsAgo = date('Y-m-d 00:00:00', strtotime('-3 months'));
  69 + $three_project_count = $projectModel->where('gl_project.extend_type',0)->where('gl_project.delete_status',0)->where('gl_project.created_at','<=',$threeMonthsAgo)->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)->whereIn('gl_project.type',[2,4])->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
  70 + $three_qualified_count = $projectModel->where('gl_project.extend_type',0)->where('gl_project.delete_status',0)->where('gl_project.created_at','<=',$threeMonthsAgo)->where('gl_project.is_remain_today',1)->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)->whereIn('gl_project.type',[2,4])->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
  71 + $three_rate = number_format($three_qualified_count / $three_project_count, 2);
  72 + $saveData[] = [
  73 + 'date'=>date('Y-m-d', strtotime('yesterday')),
  74 + 'type'=> $key,
  75 + 'project_count'=>$project_count,
  76 + 'qualified_count'=>$qualified_count,
  77 + 'rate'=>$rate,
  78 + 'three_project_count'=>$three_project_count,
  79 + 'three_qualified_count'=>$three_qualified_count,
  80 + 'three_rate'=>$three_rate,
  81 + ];
  82 + }
  83 + return $saveData;
  84 + }
  85 +
  86 +}
@@ -38,7 +38,7 @@ class Count extends Command @@ -38,7 +38,7 @@ class Count extends Command
38 */ 38 */
39 public function handle() 39 public function handle()
40 { 40 {
41 - $list = DB::table('gl_project')->where('gl_project.extend_type','=',0) 41 + $list = DB::table('gl_project')->where('gl_project.extend_type',0)->where('gl_project.delete_status',0)
42 ->whereIn('gl_project.type',[1,2,3,4,6]) 42 ->whereIn('gl_project.type',[1,2,3,4,6])
43 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id') 43 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
44 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id') 44 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
  1 +<?php
  2 +/**
  3 + * @remark :
  4 + * @name :AfterCount.php
  5 + * @author :lyh
  6 + * @method :post
  7 + * @time :2025/3/26 15:31
  8 + */
  9 +
  10 +namespace App\Models\HomeCount;
  11 +
  12 +use App\Models\Base;
  13 +
  14 +/**
  15 + * @remark :售后日统计数据
  16 + * @name :AfterCount
  17 + * @author :lyh
  18 + * @method :post
  19 + * @time :2025/3/26 15:31
  20 + */
  21 +class AfterCount extends Base
  22 +{
  23 + protected $table = 'gl_after_count';
  24 +}