コード例 #1
0
 /**
  *亲人添加
  */
 public function addAction()
 {
     if (isset($this->_sanReq['flag'])) {
         if (!strstr($this->_sanReq['user_qr'], '@')) {
             $this->_showMsg(self::INVALID_USER_QR, $this->di['flagmsg'][self::INVALID_USER_QR]);
         }
         $famInfoByUid = $this->family->getUserInfo($this->_sanReq['user_qr']);
         if (!$famInfoByUid['data']) {
             $this->_showMsg(self::INVALID_USER_QR, $this->di['flagmsg'][self::INVALID_USER_QR]);
         }
         //如果是二维码扫描,则判断二维码的正确性
         if (Common::makeQr($famInfoByUid['data']['u_id'], $famInfoByUid['data']['u_mobi'], $famInfoByUid['data']['u_regtime']) != $this->_sanReq['user_qr']) {
             $this->_showMsg(self::INVALID_USER_QR, $this->di['flagmsg'][self::INVALID_USER_QR]);
         }
     } else {
         //===========验证码的时效性=================
         $this->captchaObj = new Captcha();
         if (($res = $this->captchaObj->checkCaptcha($this->_sanReq['mobi'], 3, $this->_sanReq['captcha'], $_SERVER['REQUEST_TIME'])) != self::SUCCESS) {
             $this->_showMsg($res, $this->di['flagmsg'][$res]);
         }
         $famInfo = $this->family->getUserInfoByMobi($this->_sanReq['mobi']);
         if (!$famInfo['data']) {
             $this->_showMsg(self::NOT_REGISTER_MOBI, $this->di['flagmsg'][self::NOT_REGISTER_MOBI]);
         }
         $famInfoByUid['data'] = $famInfo['data'];
     }
     if ($this->_sanReq['ishost'] == 5) {
         if (($res = $this->family->issetHost($this->_sanReq['baby_id'])) != self::SUCCESS) {
             $this->_showMsg($res, $this->di['flagmsg'][$res]);
         }
     }
     $relation = $this->family->checkRelation($famInfoByUid['data']['u_id'], $this->_sanReq['baby_id']);
     if ($relation) {
         $this->_showMsg(self::HAVE_FAMILY_RELATION, $this->di['flagmsg'][self::HAVE_FAMILY_RELATION]);
     }
     $res = $this->family->addRel($this->_sanReq['baby_id'], $famInfoByUid['data']['u_id'], $this->_sanReq['name'], $this->_sanReq['ishost'], $_SERVER['REQUEST_TIME'], 1);
     if ($res == self::SUCCESS) {
         $babyInfo = $this->baby->getBabyName($this->_sanReq['baby_id']);
         if (!$babyInfo) {
             $this->_showMsg(self::NOT_BABY_OWN, $this->di['flagmsg'][self::NOT_BABY_OWN]);
         }
         //组装推送数据
         //推送alert
         $content = sprintf($this->di['sysconfig']['addfamilyMsg'], $babyInfo['baby_nick'], $babyInfo['baby_nick']);
         //推送内容
         $data = array('baby_id' => (string) $this->_sanReq['baby_id'], 'nick' => $babyInfo['baby_nick'], 'baby_pic' => $this->di['sysconfig']['babyPicServer'] . $babyInfo['baby_pic'], 'nearly' => $babyInfo['baby_nearly'], 'nearlyTime' => (string) $babyInfo['baby_nearlytime'], 'devs' => (string) $babyInfo['baby_devs'], 'sex' => $babyInfo['baby_sex'], 'relation' => (string) $this->_sanReq['ishost'], 'birthday' => (string) $babyInfo['baby_birthday'], 'battery' => (string) $babyInfo['baby_nearbattery']);
         $redisObj = new RedisLib($this->di);
         $redis = $redisObj->getRedis();
         $redis->lPush($this->di['sysconfig']['addfamily'], json_encode(array('uid' => $famInfoByUid['data']['u_id'], 'content' => $content, 'data' => $data, 'type' => '19')));
         $this->_showMsg(self::SUCCESS);
     } else {
         $this->_showMsg($res, $this->di['flagmsg'][$res]);
     }
 }