コード例 #1
0
ファイル: UnionModule.php プロジェクト: nicklos17/appserver
 /**
  * [联合操作,添加童鞋,添加宝贝并绑定]
  * @param [type] $uid      [description]
  * @param [type] $nick     [description]
  * @param [type] $sex      [description]
  * @param [type] $birthday [description]
  * @param [type] $addtime  [description]
  * @param [type] $shoeQr   [description]
  * @param [type] $rolename [description]
  * @param [type] $file     [description]
  */
 public function add($uid, $nick, $sex, $birthday, $addtime, $shoeQr, $rolename, $file, $weight = '', $height = '')
 {
     if (!empty($file['file']['tmp_name'])) {
         $upload = new ImgUpload($this->di);
         $imageName = substr(md5(uniqid(true)), 8, 16);
         $rePath = substr($imageName, 0, 2) . '/' . substr($imageName, 2, 2);
         $picInfo = $upload->uploadFile($file['file'], $this->di['sysconfig']['babyPic'], $imageName, $rePath);
         if (is_numeric($picInfo)) {
             return $picInfo;
         } else {
             $pic = $this->di['sysconfig']['babyPic'] . '/' . $picInfo;
         }
     } else {
         return self::NON_IMG_UPLOAD;
     }
     //判断鞋子是否存在
     $shoeInfo = $this->devices->getDevInfoByQr($shoeQr);
     if (!$shoeInfo) {
         return self::NON_EXIST_SHOE;
     }
     //开始计算服务期,如果值为0,则第一次添加
     if (empty($shoeInfo['expire'])) {
         $expires = Common::expires($_SERVER['REQUEST_TIME']);
     } else {
         $expires = $shoeInfo['expire'];
     }
     $this->di['db']->begin();
     //添加宝贝
     $babyId = $this->baby->add($nick, $sex, $birthday, $addtime, $pic, $weight, $height, '1');
     if (!$babyId) {
         $this->di['db']->rollback();
         return self::FAILED_ADD;
     }
     if (!$this->family->addRel($babyId, $uid, empty($rolename) ? '' : $rolename, '1', $addtime, '1')) {
         $this->di['db']->rollback();
         return self::FAILED_ADD;
     }
     //设备过期就不让添加
     if ($_SERVER['REQUEST_TIME'] < $expires) {
         $devId = $this->devices->addShoe($uid, $shoeInfo['uuid'], $shoeInfo['imei'], $shoeInfo['mobi'], $shoeInfo['pass'], $shoeInfo['dver'], $expires, $shoeInfo['qr'], $shoeInfo['pic'], $_SERVER['REQUEST_TIME'], $babyId);
         if (!$babyId) {
             $this->di['db']->rollback();
             return self::FAILED_ADD;
         }
         if (!$this->devices->updateExpires($shoeInfo['uuid'], $expires)) {
             $this->di['db']->rollback();
             return self::FAILED_ADD;
         }
         $this->di['db']->commit();
         return array('flag' => '1', 'shoe_info' => array('shoe_id' => (string) $devId), 'baby_info' => array('baby_id' => (string) $babyId, 'baby_pic' => $this->di['sysconfig']['babyPicServer'] . $pic));
     } else {
         $this->di['db']->commit();
         return array('flag' => '11077', 'target' => 'target', 'expires' => $expires, 'msg' => $this->di['flagmsg']['11077'], 'tel' => $this->di['sysconfig']['service-phone']);
     }
 }
コード例 #2
0
ファイル: RenewModule.php プロジェクト: nicklos17/appserver
 public function renewOperate($outTradeNo, $addTime, $tradeNo)
 {
     $renewInfo = $this->renew->getRenewByRono($outTradeNo);
     if (!$renewInfo) {
         return self::FAILED_OPERATE;
     }
     //获取设备原本到期时间和imei
     $shoeInfo = $this->devices->getBabyDevByShoeId($renewInfo['dev_id']);
     if (!$shoeInfo) {
         return self::FAILED_OPERATE;
     }
     //如果续费的时候设备尚未到期,则延长到期时间
     if ($shoeInfo['dev_expires'] - $addTime > 0) {
         $expires = Common::expires($shoeInfo['dev_expires'], $renewInfo['ro_period']);
     } else {
         //如果已经到期,则从现在开始续费
         $expires = Common::expires($addTime, $renewInfo['ro_period']);
     }
     //现在的日期
     $today = getdate($addTime);
     //到期日
     $deaddate = getdate($expires);
     $content = sprintf($this->di['sysconfig']['renewPushMsg']['success'], $renewInfo['ro_rolename'], $today['year'] . '年' . $today['mon'] . '月' . $today['mday'] . '日', $renewInfo['dev_imei'], $deaddate['year'] . '年' . $deaddate['mon'] . '月' . $deaddate['mday'] . '日');
     $this->di['db']->begin();
     if (!$this->devices->updateExpires($shoeInfo['dev_uuid'], $expires)) {
         $this->di['db']->rollback();
         return self::FAILED_OPERATE;
     }
     if (!$this->devices->setExpiresByDevid($renewInfo['dev_id'], $expires)) {
         $this->di['db']->rollback();
         return self::FAILED_OPERATE;
     }
     if (!$this->renew->addRenewLog($renewInfo['ro_id'], 3, $addTime)) {
         $this->di['db']->rollback();
         return self::FAILED_OPERATE;
     }
     if (!$this->msg->insertMsg($renewInfo['baby_id'], $addTime, $content, 17)) {
         $this->di['db']->rollback();
         return self::FAILED_OPERATE;
     }
     if (!$this->renew->setOrderStatus($outTradeNo, 3, $tradeNo)) {
         $this->di['db']->rollback();
         return self::FAILED_OPERATE;
     }
     $this->di['db']->commit();
     //赠送云币
     $swoole = new SwooleUserClient($this->di['sysconfig']['swooleConfig']['ip'], $this->di['sysconfig']['swooleConfig']['port']);
     $res = $swoole->checkInReceive($renewInfo['u_id'], $renewInfo['ro_coins']);
     return self::SUCCESS;
 }
コード例 #3
0
 public function indexAction()
 {
     $shoeInfo = $this->devices->getUidByDev($this->_sanReq['shoe_id']);
     if (empty($shoeInfo)) {
         return self::NON_EXIST_SHOE;
     }
     $this->_checkRelation($this->userInfo['uid'], $shoeInfo['baby_id']);
     //获取可以续费的最后时间,过期3个月,就不允许续费
     $deadline = Common::expires($shoeInfo['dev_expires'], $this->di['sysconfig']['allowRenew']);
     if ($_SERVER['REQUEST_TIME'] > $deadline) {
         $this->_showMsg(self::CANNOT_TO_RENEW, $this->di['flagmsg'][self::CANNOT_TO_RENEW]);
     }
     $res = $this->renew->getRenewList($this->_sanReq['shoe_id'], $shoeInfo);
     if (is_array($res)) {
         $this->_returnResult($res);
     } else {
         $this->_showMsg($res, $this->di['flagmsg'][$res]);
     }
 }
コード例 #4
0
 /**
  * 童鞋列表
  */
 public function listAction($code = '')
 {
     if ($code == '') {
         if (empty($this->_sanReq['baby_id'])) {
             $result = $this->devices->shoeListByUid($this->userInfo['uid'], $this->_sanReq['count']);
         } else {
             $this->_checkRelation($this->userInfo['uid'], $this->_sanReq['baby_id']);
             $result = $this->devices->shoeListByBabyId($this->_sanReq['baby_id']);
         }
         if (!empty($result)) {
             foreach ($result as $key => $value) {
                 if (!empty($value['baby_pic'])) {
                     $result[$key]['baby_pic'] = $this->di['sysconfig']['babyPicServer'] . $value['baby_pic'];
                 } else {
                     $result[$key]['baby_id'] = '';
                     $result[$key]['baby_pic'] = '';
                 }
                 if ($_SERVER['REQUEST_TIME'] <= Common::expires($value['expdate'])) {
                     $result[$key]['target'] = '1';
                 } else {
                     $result[$key]['target'] = '3';
                 }
             }
         }
     } elseif ($code == '1') {
         $result = $this->devices->shoeListUnbind($this->userInfo['uid']);
         //获取截止续费的时间戳:判断设备是否可以续费 target为1可续,为3不可续
         foreach ($result as $key => $val) {
             if ($_SERVER['REQUEST_TIME'] <= Common::expires($val['expdate'])) {
                 $result[$key]['target'] = '1';
             } else {
                 $result[$key]['target'] = '3';
             }
         }
     } else {
         $this->_showMsg(self::INVALID_OPERATE, $this->di['flagmsg'][self::INVALID_OPERATE]);
     }
     $this->_returnResult(array('flag' => self::SUCCESS, 'shoelist' => $result));
 }
コード例 #5
0
 /**
  * 返回宝贝过期的童鞋个数
  */
 public function invalidAction()
 {
     $shoes = $this->baby->getExpireDevs($this->_sanReq['baby_id'], $_SERVER['REQUEST_TIME']);
     $num = sizeof($shoes);
     if ($num == 0) {
         $shoeId = '';
         $num = '';
         $target = '';
     } elseif ($num == 1) {
         $shoeId = $shoes[0]['dev_id'];
         //获取截止续费的时间戳:判断设备是否可以续费 target为1可续,为3不可续
         $deadline = Common::expires($shoes[0]['dev_expires']);
         if ($_SERVER['REQUEST_TIME'] <= $deadline) {
             $target = self::SUCCESS;
         } else {
             $target = '3';
         }
     } else {
         $shoeId = '';
         $target = '';
     }
     $this->_returnResult(array('flag' => self::SUCCESS, 'shoe_id' => $shoeId, 'shoe_count' => (string) $num, 'target' => $target));
 }
コード例 #6
0
ファイル: DevicesModule.php プロジェクト: nicklos17/appserver
 /**
  * [扫描直接添加童鞋并绑定]
  * @param [string] $shoeQr     [童鞋qr码]
  */
 public function addAndBind($uid, $shoeQr, $babyId)
 {
     //判断鞋子是否存在
     $shoeInfo = $this->devices->getDevInfoByQr($shoeQr);
     if (!$shoeInfo) {
         $this->_showMsg(self::NON_EXIST_SHOE, $this->di['flagmsg'][self::NON_EXIST_SHOE]);
     }
     //开始计算服务期,如果值为0,则第一次添加
     if ($shoeInfo['expire'] == 0) {
         $expires = Common::expires($_SERVER['REQUEST_TIME']);
     } else {
         $expires = $shoeInfo['expire'];
     }
     $this->di['db']->begin();
     //判断鞋子是否已经添加
     $checkQr = $this->devices->getShoeIdByQr($shoeQr);
     if (!empty($checkQr)) {
         if ($checkQr['baby_id'] != '0') {
             return self::SHOE_ADDED;
         } else {
             //如果鞋子已添加但是还未绑定童鞋,执行绑定
             if (!$this->devices->setShoeBindBabyId($babyId, $checkQr['dev_id'])) {
                 $this->di['db']->rollback();
                 return self::FAILED_ADD;
             }
             if (!$this->devices->updateExpires($shoeInfo['uuid'], $expires)) {
                 $this->di['db']->rollback();
                 return self::FAILED_ADD;
             }
         }
     } else {
         if ($_SERVER['REQUEST_TIME'] < $expires) {
             //添加鞋子
             if (!$this->devices->addShoe($uid, $shoeInfo['uuid'], $shoeInfo['imei'], $shoeInfo['mobi'], $shoeInfo['pass'], $shoeInfo['dver'], $expires, $shoeInfo['qr'], $shoeInfo['pic'], $_SERVER['REQUEST_TIME'], $babyId)) {
                 $this->di['db']->rollback();
                 return self::FAILED_ADD;
             }
             if (!$this->devices->updateExpires($shoeInfo['uuid'], $expires)) {
                 $this->di['db']->rollback();
                 return self::FAILED_ADD;
             }
         } else {
             return self::VALIDED_SHOE;
         }
     }
     if (!$this->baby->setDevNum($babyId)) {
         $this->di['db']->rollback();
         return self::FAILED_UPDATE_DATA;
     }
     //往排行榜里面插入宝贝记录
     if (!$this->babyRanks->getBabyId($babyId)) {
         if (!$this->babyRanks->addBabyId($babyId)) {
             $this->di['db']->rollback();
             return self::FAILED_UPDATE_DATA;
         }
     }
     $this->di['db']->commit();
     return self::SUCCESS;
 }