Esempio n. 1
0
 /**
  * 注销登录
  * @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, '您已成功退出登录。');
 }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 /**
  * 将消息和用户关联
  * @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);
 }
Esempio n. 4
0
 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));
 }