public function perform() { $args = $this->args; if (empty($args['accountId']) || empty($args['properties'][0])) { ResqueUtil::log('Missing required arguments accountId or properties!'); return false; } $accountId = new MongoId($args['accountId']); $property = $args['properties'][0]; $memberProperty = MemberProperty::getByPropertyId($accountId, $property); if (empty($memberProperty)) { ResqueUtil::log('Can not find member property with propertyId:' . $property); return false; } $date = empty($args['date']) ? '' : $args['date']; $date = TimeUtil::getDatetime($date); $year = date('Y', $date); $quarter = TimeUtil::getQuarter($date); self::generateData($memberProperty, $property, $year, $quarter, $accountId); return true; }
public static function _setStatsMemberPropAvgTradeQuarterly($startTime, $endTime, $args) { $propertyOperate = $args['properties'][0]; $memberProperty = MemberProperty::getByPropertyId($args['accountId'], $propertyOperate); if (empty($memberProperty)) { LogUtil::error(['message' => 'Can not find the property:' . $propertyOperate], 'update_job'); } else { $memberPropertyId = $memberProperty->_id; $startQuarter = TimeUtil::getQuarter($startTime); $endQuarter = TimeUtil::getQuarter($endTime); for ($quarter = $startQuarter; $quarter <= $endQuarter; ++$quarter) { $year = date('Y', $startTime); $condition = ['accountId' => $args['accountId'], 'year' => $year, 'quarter' => $quarter]; ModelStatsMemberPropAvgTradeQuarterly::deleteAll($condition); StatsMemberPropAvgTradeQuarterly::generateData($args['accountId'], $memberPropertyId, $year, $quarter, $propertyOperate); LogUtil::info(['message' => $quarter . 'Run StatsMemberPropAvgTradeQuarterly'], 'update_job'); } } }