本文整理汇总了PHP中core\Model::find方法的典型用法代码示例。如果您正苦于以下问题:PHP Model::find方法的具体用法?PHP Model::find怎么用?PHP Model::find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类core\Model
的用法示例。
在下文中一共展示了Model::find方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: check
/**
* 检查签到任务
*
* @param array $task
* @param int $uid
*
* @return mixed
*/
public function check($task, $uid)
{
$this->task = $task;
$this->uid = $uid;
/**
* 签到任务是否以前签过到了
*/
$model = new Model();
$check_sign = $model->find('select * from video_user_check_sign where uid=:uid', array('uid' => $uid));
if (!$check_sign) {
return 'can_apply';
}
if ($task['relatedid']) {
$isDo = $model->find('select * from video_task_user where relatedid=? and uid=?', array($task['relatedid'], $user['uid']));
// 当没有申请或者没有完成父任务时
if (!$isDo || $isDo['status'] != 1) {
return 'can_apply';
}
}
/**
* 计算差值
*/
$s = date('Ymd', time()) - date('Ymd', strtotime($check_sign['last_time']));
if ($s == 0) {
return 'all';
}
if ($s >= 1) {
return 'can_apply';
}
}
示例2: check
/**
* 检查首次预约的任务
*
* @param $task
* @param $uid
*
* @return mixed
*/
public function check($task, $uid)
{
$this->task = $task;
$this->uid = $uid;
$model = new Model();
$userTask = $model->find('select * from video_task_user where vtask_id=' . $task['vtask_id'] . ' and uid=' . $uid);
$user = $model->find('select * from video_user where uid=' . $uid);
if ($task['pre_vtask_id']) {
$isDo = $model->find('select * from video_task_user where vtask_id=? and uid=?', array($task['pre_vtask_id'], $user['uid']));
// 当没有申请或者没有完成父任务时
if (!$isDo || $isDo['status'] != 1) {
return 'can_apply';
}
}
/**
* 如果没有接任务的话,就判断是否可以自动申请任务
*/
if (!$userTask) {
/**
* 只要用户满足做这个任务的条件就要插入一条数据 等待预约的验证
*/
$c = serialize(array('csc' => 0, 'update_time' => time()));
$data = array('uid' => $uid, 'vtask_id' => $task['vtask_id'], 'status' => 0, 'csc' => $c, 'apply_date' => time(), 'init_time' => date('Y-m-d H:i:s'), 'dml_time' => date('Y-m-d H:i:s'), 'dml_flag' => 1);
$model->add('video_task_user', $data);
// 增加一个申请人数
$this->updateTaskApplicants($task);
return 'doing';
}
$ut = $userTask;
$csc = unserialize($ut['csc']);
if ($ut['status'] == 1) {
return 'all';
}
if ($ut['status'] == -1) {
return 'failed';
}
if ($ut['status'] == 0 && $csc['csc'] == 100) {
return 'success';
}
/**
* 当没有完成的时候要检查进度
*/
if ($ut['status'] == 0 && $csc['csc'] != 100) {
/**
* 检查是否完成了预约,是就更新状态
* 要求在申请任务之后 预约的才算
*/
$invite = $model->find('select * from video_room_duration where invitetime>? and reuid=?', array($ut['apply_date'], $uid));
if ($invite) {
$data = array();
$csc['csc'] = 100;
$csc['update_time'] = time();
$data['csc'] = serialize($csc);
$model->flush('video_task_user', $data, array('auto_id' => $ut['auto_id']));
return 'success';
}
return 'doing';
}
}
示例3: checkTask
/**
* 检测用户任务对应的状态的问题
* @param $task array 某条任务
* @param $uid int 某个用户
*
* @return mixed
* <p>
* 返回 FALSE 则表示任务失败
* 返回 TRUE 则表示任务用户可以做
* 返回 array进度的数组 则根据情况更新
* </p>
*/
public function checkTask($task, $uid)
{
$this->task = $task;
$this->user = $uid;
/**
* 当为period 为 0 一次性的任务的时候 判断是否已经完成
* 后面各种任务脚本中就不用再判断此任务了
*/
if ($task['period'] == 0) {
$model = new Model();
$taskUser = $model->find('select * from video_task_user where vtask_id=' . $task['vtask_id'] . ' and uid=' . $uid);
// 当task_user 的status 为 1的时候就表示完成且领奖了
if ($taskUser && $taskUser['status'] == 1) {
return 'all';
}
}
/**
* 进行检查和更新各个任务的状态 调用各任务脚本
*/
$script = $task['script_name'];
$className = 'App\\Service\\Task\\TaskScript\\' . ucfirst($this->script[$script]);
// 暂时做了doctrine($this->em)的手动注入 未走service
$class = new $className();
return $class->check($task, $uid);
}
示例4: present
/**
* 添加用户的礼物到背包中
*
* @param $gifts
* @param $uid
*/
public function present($gifts, $uid)
{
$model = new Model();
$flag = false;
foreach ($gifts as $gift) {
$has_gif = $model->find('select * from video_pack where uid=? and gid=?', array($uid, $gift['id']));
if ($has_gif) {
if (!empty($gift['exp'])) {
$expires = $has_gif['expires'] + $gift['exp'] * 24 * 3600;
$model->flush('video_pack', array('expires' => $expires), array('uid' => $uid, 'gid' => $gift['id']));
}
$flag = true;
} else {
$exp = time() + $gift['exp'] * 24 * 3600;
$result = $model->add('video_pack', array('uid' => $uid, 'gid' => $gift['id'], 'num' => $gift['num'], 'expires' => $exp));
if ($result !== false) {
$flag = true;
} else {
$flag = false;
}
}
}
return $flag;
}
示例5: updateRecharge
/**
* 记录送钻石的日志
* @param $uid int 用id
* @param $points int 要增加的钱
*/
protected function updateRecharge($uid, $points)
{
$model = new Model();
$user = $model->find('select * from video_user where uid=' . $uid);
$arr = array('uid' => $uid, 'created' => date('Y-m-d H:i:s'), 'points' => $points, 'order_id' => time(), 'pay_type' => 5, 'pay_id' => null, 'nickname' => $user['nickname']);
$model = new Model();
$model->add('video_recharge', $arr);
}
示例6: billTask
/**
* 结算用的任务 领取奖励
*
* @param $task_id
* @return mixed
*/
public function billTask($task_id)
{
/**
* 获取任务详情
*/
$model = new Model();
$task = $model->find('select * from video_task where vtask_id=? and status=? and dml_flag !=3', array($task_id, '0'));
if (!$task) {
return false;
}
// 格式化礼物
if (!empty($task['bonus'])) {
$task['bonus'] = $this->formatGift($task['bonus']);
} else {
$task['bonus'] = '';
}
/**
* 判断是否有特殊的扩展变量
*/
$var = $model->findAll('select * from video_task_conf where vtask_id=?', array($task_id));
if ($var) {
foreach ($var as $value) {
if ($value['variable'] == 'points') {
$value['value'] = unserialize($value['value']);
}
$task[$value['variable']] = $value;
}
}
$check_task = new CheckUserTask();
// 去检查每一个任务用户对应的状态
$result = $check_task->checkTask($task, $this->uid);
if ($result == 'success') {
$flag = $check_task->doBillGift($task, $this->uid);
} else {
$flag = false;
}
return $flag;
}
示例7: check
/**
* 检测邮箱任务的完成程度
*
* 邮箱如果验证了,就标示邮箱任务已经完成
* 如果在任务上线系统之前验证过的,就不用了
* 如果还没验证,就启动任务,并送礼
* @param $task
* @param $uid
*
* @return mixed
*
*/
public function check($task, $uid)
{
$this->task = $task;
$this->uid = $uid;
/**
* 获取用户对应的task_user的数据
* 如果已经验证了,但是又没有为这个用户插入这个任务的话
* 即在 任务系统上线前 就已经认证的用户 此时要插入一条完成了任务的数据
*/
$model = new Model();
$userTask = $model->find('select * from video_task_user where vtask_id=' . $task['vtask_id'] . ' and uid=' . $uid);
$user = $model->find('select * from video_user where uid=' . $uid);
if ($user['safemail'] && !$userTask) {
$c = serialize(array('csc' => 100, 'update_time' => time()));
$data = array('uid' => $uid, 'vtask_id' => $task['vtask_id'], 'status' => 1, 'csc' => $c, 'apply_date' => time(), 'init_time' => date('Y-m-d H:i:s'), 'dml_flag' => 1);
$model->add('video_task_user', $data);
// 当完成后的加上1个完成用户
$this->updateTaskAchievers($task);
return 'all';
}
/**
* 既没验证 又没申请任务的
* 做自动申请操作 等待邮箱的安全验证
* 就返回false
*
*/
if (!$user['safemail'] && !$userTask) {
$c = serialize(array('csc' => 0, 'update_time' => time()));
$data = array('uid' => $uid, 'vtask_id' => $task['vtask_id'], 'status' => 0, 'csc' => $c, 'apply_date' => time(), 'init_time' => date('Y-m-d H:i:s'), 'dml_flag' => 1);
$model->add('video_task_user', $data);
// 增加一个申请人数
$this->updateTaskApplicants($task);
return 'doing';
}
/**
* 完成且领取奖励
*/
if ($userTask['status'] == 1) {
return 'all';
}
/**
* 失败的
*/
if ($userTask['status'] == -1) {
return 'failed';
}
/**
* 完成了,且等待领取奖励
*/
$csc = unserialize($userTask['csc']);
if ($csc['csc'] == 100 && $userTask['status'] == 0) {
return 'success';
}
/**
* 当进度不是满的,此时要检查下完成情况
* 进行更新与否的判断和操作
* 如果用户已经完成了邮箱的验证 就更新状态
*/
if ($csc['csc'] != 100) {
if ($user['safemail']) {
$csc['csc'] = 100;
$csc['update_time'] = time();
$model->flush('video_task_user', array('csc' => serialize($csc)), array('auto_id' => $userTask['auto_id']));
return 'success';
}
return 'doing';
}
}