#!/usr/bin/env php objectType->range('message{6}'); $table->toList->range('`,admin,`'); $table->status->range('wait{2},sended{2},read{2}'); $table->action->range('0{3},1-3'); $table->data->range('test message data'); $table->createdBy->range('admin'); $table->gen(6); // 添加其他用户的记录 $table2 = zenData('notify'); $table2->objectType->range('message{4},action{5},other{3}'); $table2->toList->range('`,user1,`,`,user2,`'); $table2->status->range('wait{2},sended{2}'); $table2->action->range('0{2},1-2'); $table2->data->range('test message data'); $table2->createdBy->range('user1{2},user2{2}'); $table2->gen(12); zenData('user')->gen(1); su('admin'); $messageTest = new messageModelTest(); $messageTest->objectModel->app->user->account = 'admin'; // 设置部分记录的 createdDate 为32天前,使其在 maxDays=30 时被删除 $oldDate = date('Y-m-d H:i:s', strtotime('-32 days')); $messageTest->objectModel->dao->update(TABLE_NOTIFY) ->set('createdDate')->eq($oldDate) ->where('toList')->eq(',admin,') ->andWhere('objectType')->eq('message') ->limit(2) ->exec(); r($messageTest->deleteExpiredTest(30)) && p() && e('4'); $createdDate = date('Y-m-d H:i:s', strtotime('-8 days')); $messageTest->objectModel->dao->update(TABLE_NOTIFY)->set('createdDate')->eq($createdDate)->where('toList')->eq(',admin,')->andWhere('objectType')->eq('message')->exec(); r($messageTest->deleteExpiredTest(7)) && p() && e('4'); zenData('notify')->gen(0); $table = zenData('notify'); $table->objectType->range('message{6}'); $table->toList->range('`,admin,`'); $table->status->range('wait{2},sended{2},read{2}'); $table->action->range('0{3},1-3'); $table->data->range('test message for deletion'); $table->createdBy->range('admin'); $table->gen(6); r($messageTest->deleteExpiredTest(0)) && p() && e('6'); zenData('notify')->gen(0); $table = zenData('notify'); $table->objectType->range('message{3}'); $table->toList->range('`,user1,`,`,user2,`'); $table->status->range('wait'); $table->action->range('0'); $table->data->range('other user message'); $table->createdBy->range('user1{2},user2{1}'); $table->gen(3); $otherUserCountBefore = $messageTest->objectModel->dao->select('COUNT(*) as count')->from(TABLE_NOTIFY)->where('toList')->ne(',admin,')->andWhere('objectType')->eq('message')->fetch('count'); $messageTest->deleteExpiredTest(0); $otherUserCountAfter = $messageTest->objectModel->dao->select('COUNT(*) as count')->from(TABLE_NOTIFY)->where('toList')->ne(',admin,')->andWhere('objectType')->eq('message')->fetch('count'); r($otherUserCountAfter) && p() && e('3'); zenData('notify')->gen(0); $table = zenData('notify'); $table->objectType->range('action{5}'); $table->toList->range('`,admin,`'); $table->status->range('wait'); $table->action->range('1-5'); $table->data->range('action notification'); $table->createdBy->range('admin'); $table->gen(5); $nonMessageCountBefore = $messageTest->objectModel->dao->select('COUNT(*) as count')->from(TABLE_NOTIFY)->where('objectType')->ne('message')->fetch('count'); $messageTest->deleteExpiredTest(0); $nonMessageCountAfter = $messageTest->objectModel->dao->select('COUNT(*) as count')->from(TABLE_NOTIFY)->where('objectType')->ne('message')->fetch('count'); r($nonMessageCountAfter) && p() && e('5');