'ID', 'TASK_TYPE' => '任务类型', // 记录类型 serve 服务统计信息,比如总人数,总业绩 perf 业绩单信息 bonus 奖金信息 'START_AT' => '开始时间', 'END_AT' => '结束时间', 'PERIOD_NUM' => '业绩期', 'TASK_DESCRIBE' => '描述信息', 'CALC_USER_TOTAL' => '总人数', 'CALC_PERF_TOTAL' => '总业绩', ]; } // ------以下为记录操作流程 // 记录请求时间 public static function recordRequest($time, $periodNum, $desc = '', $needCheck = false) { // 查询此期是否存在计算中,如果在计算中则不用记录 if ($needCheck) { $hasPerpare = Period::findUseSlaves() ->select('ID') ->where('PERIOD_NUM=:PERIOD_NUM AND IS_PREPARE=1', [':PERIOD_NUM'=>$periodNum]) ->asArray() ->one(); if (empty($hasPerpare)) { return true; } } $logData[] = [ 'ID' => SnowFake::instance()->generateId(), 'PERIOD_NUM' => $periodNum ?: 0, 'TASK_TYPE' => 'serve', 'TASK_DESCRIBE' => $desc ?: '请求服务开始', 'START_AT' => $time ]; ServeProcess::batchInsert($logData); return true; } // 记录计算基础数据 public static function recordDataInfo($time, $periodNum) { $userCount = User::find()->where('1=1')->count('ID'); // user表总数 $perfSum = PerfOrder::find()->where('1=1')->sum('PV');// 业绩单总业绩 $infoCount = UserInfo::find()->where('1=1')->count('ID'); // userinfo表总数 $networkConut = UserNetwork::find()->where('1=1')->count('ID'); // UserNetwork总数 $relationCount = UserRelation::find()->where('1=1')->count('ID'); // UserRelation $logData[] = [ 'ID' => SnowFake::instance()->generateId(), 'PERIOD_NUM' => $periodNum ?: 0, 'TASK_TYPE' => 'serve', 'TASK_DESCRIBE' => '统计业务系统数据信息', 'START_AT' => $time, 'CALC_USER_TOTAL' => $userCount, 'CALC_PERF_TOTAL' => $perfSum, 'CALC_USERINFO_TOTAL' => $infoCount, 'CALC_NETWORK_TOTAL' => $networkConut, 'CALC_RELATION_TOTAL' => $relationCount ]; ServeProcess::batchInsert($logData); } // 记录流程 public static function recordProcess($start, $end, $periodNum, $desc, $type='perf') { $logData[] = [ 'ID' => SnowFake::instance()->generateId(), 'PERIOD_NUM' => $periodNum ?: 0, 'TASK_TYPE' => $type, 'START_AT' => date('Y-m-d H:i:s', $start), 'END_AT' => date('Y-m-d H:i:s', $end), 'TASK_DESCRIBE' => $desc, ]; ServeProcess::batchInsert($logData); } }