| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- namespace common\models;
- use common\helpers\snowflake\SnowFake;
- use Yii;
- /**
- * This is the model class for table "{{%SERVE_PROCESS}}".
- *
- * @property string $ID
- * @property string $TASK_TYPE 任务类型 serve_statistical 服务统计信息,比如总人数,总业绩 perf 业绩单信息 bonus 奖金信息
- * @property string $START_AT 开始时间
- * @property string $END_AT 结束时间
- * @property string $PERIOD_NUM 业绩期
- * @property string $TASK_DESCRIBE 描述信息
- * @property string $USE_MEMORY 使用内存大小
- * @property string $USE_TIME 耗时
- * @property string $CALC_USER_TOTAL 总人数
- * @property string $CALC_PERF_TOTAL 业绩单中总业绩
- * @property string $CREATE_AT 创建时间
- */
- class ServeProcess extends \common\components\ActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return '{{%SERVE_PROCESS}}';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['PERIOD_NUM', 'TASK_TYPE'], 'required'],
- [['ID'], 'unique'],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'ID' => '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 = '') {
- $logData[] = [
- 'ID' => SnowFake::instance()->generateId(),
- 'PERIOD_NUM' => $periodNum ?: 0,
- 'TASK_TYPE' => 'serve',
- 'TASK_DESCRIBE' => $desc ?: '请求服务开始',
- 'START_AT' => $time
- ];
- ServeProcess::batchInsert($logData);
- }
- // 记录计算基础数据
- public static function recordDataInfo($time, $periodNum) {
- $time = date('Y-m-d H:i:s',$time);
- $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) {
- $logData[] = [
- 'ID' => SnowFake::instance()->generateId(),
- 'PERIOD_NUM' => $periodNum ?: 0,
- 'TASK_TYPE' => 'perf',
- '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);
- }
- }
|