/** * 注销登录 * @return [type] [description] */ public static function actionLogOut() { DeviceController::setDeviceWithUser(Utility::getHeaderValue('Devicetoken'), null); if (Utility::getCurrentUserID() <= 0) { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '君未登录兮,谈何注销哈。'); } return Utility::getArrayForResults(RUNTIME_CODE_OK, '您已成功退出登录。'); }
public static function actionSetRemind() { $unsetKey = W2HttpRequest::getUnsetRequest('bossid,missionid,days', $p_allowBlank = false); if ($unsetKey !== null) { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '部分数据未提交,请检查。', array('errorContent' => '部分参数未提交数据: ' . $unsetKey)); } $days = W2HttpRequest::getRequestInt('days'); if ($days < 30) { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '满30天才可以提醒'); } $tmpModel = new RemindModel(); $userId = Utility::getCurrentUserID(); $bossID = W2HttpRequest::getRequestInt('bossid'); $missionID = W2HttpRequest::getRequestInt('missionid'); $thisCreateTime = date('Ymd'); $content = '提醒发薪'; $content = W2HttpRequest::getRequestString('content'); //自定义推送内容 switch ($auther = static::getAuthIfUserCanDoIt(Utility::getCurrentUserID(), 'add', $tmpModel)) { case 'admin': //有管理权限 //有管理权限 case 'self': //作者 //作者 case 'normal': //正常用户 $countNum = RemindHandler::queryData($userId, $bossID, $missionID, $thisCreateTime); if ($auther == 'normal') { $tmpModel->setUserID(Utility::getCurrentUserID()); } if ($countNum >= 2) { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '今天已提醒过两次'); } $tmpModel->setBossID($bossID); $tmpModel->setMissionID($missionID); $tmpModel->setCountDays($days); $tmpModel->setThisCreateTime($thisCreateTime); //$tmpModel -> setCreateTime(W2HttpRequest::getRequestDateTime('createtime'));//创建时间 //$tmpModel -> setModifyTime(W2HttpRequest::getRequestDateTime('modifyTime'));//修改时间 break; case 'draft': //未激活 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号未激活,不可使用该功能。'); break; case 'pending': //待审禁言 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号被禁言,不可使用该功能。'); break; case 'disabled': //封号 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号不可用,不可使用该功能。'); break; case 'visitor': return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您需要登录后才可以执行该操作'); break; default: return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作'); break; } DeviceController::pushMessageToUser($bossID, $title = '', $content, $customtype = null, $customvalue = null, $tag_name = null); return static::save($tmpModel, $isAdd = true); }
/** * 将消息和用户关联 * @param MessageModel $p_msgModel 消息模型 * @param array $p_queryWhere 用户的筛选方案 * @return int 关联个数 */ public static function createNewModels($p_msgModel, $p_queryWhere = array()) { $userIDs = DBModel::instance('user')->where($p_queryWhere)->selectValues('id'); $tmpData = array(); $tmpData['msgID'] = $p_msgModel->getId(); $tmpData['readStatus'] = READ_STATUS::UNREAD; $tmpData['createTime'] = date('Y-m-d H:i:s'); $tmpData['modifyTime'] = date('Y-m-d H:i:s'); $dbFac = static::newDBModel(); foreach ($userIDs as $userID) { $tmpData['userID'] = $userID; $dbFac->insert($tmpData); } //推送 if (count($userIDs) > 0) { $p_where = array(); $p_where['joinList'] = array(); $p_where['joinList'][] = array('relationMessageUser t2', array('t2.userID = t1.userID', 't2.msgID' => $p_msgID, 't2.readStatus' => READ_STATUS::UNREAD)); DeviceController::pushSingleMessage($p_where, $p_msgModel->getTitle(), $p_msgModel->getDescription(), $customtype = null, $customvalue = null, $tag_name = null); } return count($userIDs); }
public static function actionPushMessage() { $results = array(); switch ($auth = static::getAuthIfUserCanDoIt(Utility::getCurrentUserID(), 'push', null)) { case 'admin': //有管理权限 $title = W2HttpRequest::getRequestString('title', false); $content = W2HttpRequest::getRequestString('content', false); $type = W2HttpRequest::getRequestInt('type', 5, false, 1, 1); //1单人 2所有人 3所有安卓 4所有ios $customtype = W2HttpRequest::getRequestInt('customtype'); $customvalue = W2HttpRequest::getRequestString('customvalue'); $deployStatus = W2HttpRequest::getRequestInt('deploystatus', 2, false, 1, 2); W2PUSH::$DEPLOY_STATUS = $deployStatus; if ($content == '') { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '请输入正确的推送内容'); } // $tag_name = 't'.date('G'); $tag_name = null; switch ($type) { case 1: //1单人 $userID = W2HttpRequest::getRequestInt('userid'); $telephone = W2HttpRequest::getRequestTelephone('telephone', false); if ($userID != null) { $results = array_merge($results, DeviceController::pushMessageToUser($userID, $title, $content, $customtype, $customvalue, $tag_name)); } else { if ($telephone != null) { $results = array_merge($results, DeviceController::pushMessageToTelephone($telephone, $title, $content, $customtype, $customvalue, $tag_name)); } else { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '请输入正确的userid 或 telephone'); } } break; case 2: //2所有人 //2所有人 case 3: //3所有安卓 $push_type = 2; // 2部分人(*常用) $results[] = W2PUSH::pushMessage($push_type, $device_type = 3, $title, $content, $customtype, $customvalue, null, $tag_name); if ($type == 3) { break; } case 4: //4所有ios $push_type = 2; // 2部分人(*常用) $results[] = W2PUSH::pushMessage($push_type, $device_type = 4, $title, $content, $customtype, $customvalue, null, $tag_name); break; default: return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '请输入正确的推送类型'); break; } break; case 'self': //作者 //作者 case 'normal': //正常用户 //正常用户 case 'draft': //未激活 //未激活 case 'pending': //待审禁言 //待审禁言 case 'disabled': //封号 //封号 case 'visitor': //游客 //游客 default: return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作'); break; } $success_amount_total = 0; foreach ($results as $ret) { if (array_key_exists('result', $ret) && array_key_exists('response_params', $ret['result']) && array_key_exists('success_amount', $ret['result']['response_params'])) { $success_amount_total += $ret['result']['response_params']['success_amount']; } } return Utility::getArrayForResults(RUNTIME_CODE_OK, '', $results, array('success_amount_total' => $success_amount_total)); }