Exemplo n.º 1
0
 public function run()
 {
     Yii::trace(get_class($this) . '.run()');
     $controller = parent::run();
     $json = isset($this->request->json) ? $this->request->json : false;
     if ($json) {
         $offset = isset($json->offset) ? $json->offset : 0;
         $pageSize = isset($json->pageSize) ? $json->pageSize : 10;
         $sort = isset($json->sort) ? $json->sort : false;
         $sort_type = isset($json->sort_type) ? $json->sort_type : false;
         $category_id = isset($json->category_id) ? $json->category_id : false;
         $this->response->category = DreamNovelCategory::model()->getCategoryList();
         $result = DreamNovel::model()->getNovelDetail($category_id, $sort, $sort_type, $offset, $pageSize);
         $this->response->counts = $result['count'];
         return $this->response->novel_list = $result['data'];
     }
     return $this->response->code = 500;
 }
Exemplo n.º 2
0
 public function getNovelSearch($keyword, $offset = 0, $pageSize = 5)
 {
     $novelList = array();
     $criteria = new CDbCriteria();
     //关键字找category_id
     $category_db = new CDbCriteria();
     $category_db->compare('name', $keyword, 'true');
     $category_data = DreamNovelCategory::model()->findAll($category_db);
     $category_ids = array();
     if ($category_data) {
         foreach ($category_data as $c_value) {
             $category_ids[] = $c_value['id'];
         }
     }
     if ($category_ids) {
         $criteria->addInCondition('category_id', $category_ids, 'OR');
     }
     $criteria->compare('author', $keyword, true, 'OR');
     $criteria->compare('name', $keyword, true, 'OR');
     $criteria->order = 'update_time desc';
     $criteria->addCondition('status != 0');
     $count = $this->count($criteria);
     $criteria->offset = $offset * $pageSize;
     $criteria->limit = $pageSize;
     $novel_info = $this->findAll($criteria);
     $host = Util::getHost();
     foreach ($novel_info as $key => $novel_info_item) {
         $novelList[$key]['id'] = $novel_info_item->id;
         $novelList[$key]['name'] = $novel_info_item->name;
         $novelList[$key]['info'] = $novel_info_item->info;
         $novelList[$key]['author'] = $novel_info_item->author;
         $novelList[$key]['cover'] = $host . $novel_info_item->cover;
         $novelList[$key]['file_size'] = Util::formatFileSize($novel_info_item->fileSize);
         $novelList[$key]['status'] = $this->getNovelStatus($novel_info_item->status);
         $novelList[$key]['price'] = $novel_info_item->price;
         $novelList[$key]['hot'] = $novel_info_item->hot;
         $novelList[$key]['update_time'] = $novel_info_item->update_time;
         $novelList[$key]['category_id'] = $novel_info_item->category_id;
         $novelList[$key]['download'] = $host . $novel_info_item->download;
     }
     return array('count' => $count, 'data' => $novelList);
 }
Exemplo n.º 3
0
 public function run()
 {
     Yii::trace(get_class($this) . '.run()');
     $controller = parent::run();
     $json = isset($this->request->json) ? $this->request->json : false;
     if ($json) {
         $uid = isset($json->uid) ? $json->uid : false;
         $task_id = isset($json->task_id) ? $json->task_id : false;
         if ($uid && $task_id) {
             //task finish
             $today = date('Y-m-d');
             $task_is_daily = DreamNovelTask::model()->checkDaily($task_id);
             if ($task_is_daily) {
                 $taskRecord = DreamNovelUserTask::model()->find('uid=:uid and task_id =:task_id and date =:date', array(':uid' => $uid, ':task_id' => $task_id, ':date' => $today));
                 if ($taskRecord) {
                     $this->response->code = 250;
                 } else {
                     $taskRecord = new DreamNovelUserTask();
                     $taskRecord->uid = $uid;
                     $taskRecord->task_id = $task_id;
                     $taskRecord->task_detail = 0;
                     $taskRecord->date = $today;
                     $taskRecord->setIsNewRecord(true);
                     if ($taskRecord->save(false)) {
                         $status = DreamNovelUserInfo::model()->updateCoin($uid, $task_id, 'plus');
                         if ($status) {
                             $this->response->code = 200;
                         }
                     } else {
                         $this->response->code = 404;
                     }
                 }
             } else {
                 $novel_id = isset($json->novel_id) ? $json->novel_id : false;
                 if ($novel_id) {
                     $novel_info = DreamNovel::model()->find('id =:id', array(':id' => $novel_id));
                     if ($novel_info) {
                         $taskRecord = DreamNovelUserTask::model()->find('uid=:uid and task_id =:task_id and task_detail =:task_detail', array(':uid' => $uid, ':task_id' => $task_id, ':task_detail' => $novel_id));
                         if ($taskRecord) {
                             $this->response->download = Util::getHost() . $novel_info->download;
                         } else {
                             $user_coin = DreamNovelUserInfo::model()->getCoin($uid);
                             if ($user_coin >= $novel_info->price) {
                                 $taskRecord = new DreamNovelUserTask();
                                 $taskRecord->uid = $uid;
                                 $taskRecord->task_id = $task_id;
                                 $taskRecord->task_detail = $novel_id;
                                 $taskRecord->date = $today;
                                 $taskRecord->setIsNewRecord(true);
                                 if ($taskRecord->save(false)) {
                                     $status = DreamNovelUserInfo::model()->updateCoin($uid, $novel_info->price, 'minus');
                                     if ($status) {
                                         $this->response->download = Util::getHost() . $novel_info->download;
                                         $ls_novel_hot = $novel_info->hot;
                                         $novel_info->hot = $ls_novel_hot + 1;
                                         $novel_info->save(false);
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             return $this->response->coin = DreamNovelUserInfo::model()->getCoin($uid);
         } else {
             $this->response->coin = DreamNovelUserInfo::model()->getCoin($uid);
             $this->response->category = DreamNovelCategory::model()->getCategoryList();
             return $this->response->task_list = DreamNovelTask::model()->getTaskList();
         }
     }
     return $this->response->code = 500;
 }
Exemplo n.º 4
0
 /**
  * @return int
  */
 public function run()
 {
     Yii::trace(get_class($this) . '.run()');
     $controller = parent::run();
     $json = isset($this->request->json) ? $this->request->json : false;
     $app_code = isset($this->request->appCode) ? $this->request->appCode : false;
     $app_version = isset($this->request->appVersion) ? $this->request->appVersion : false;
     if ($json && $app_code && $app_version) {
         $uid = false;
         $sn = isset($json->sn) ? $json->sn : false;
         $imei = isset($json->imei) ? $json->imei : false;
         $imei2 = isset($json->imei2) ? $json->imei2 : false;
         $wifimac = isset($json->wifimac) ? $json->wifimac : false;
         if ($sn || $imei || $imei2 || $wifimac) {
             $criteria = new CDbCriteria();
             $criteria->condition = 'sn =:sn and imei =:imei and imei2 =:imei2 and wifimac =:wifimac';
             $criteria->params = array(':sn' => $sn, ':imei' => $imei, ':imei2' => $imei2, ':wifimac' => $wifimac);
             $device_info = DreamDevice::model()->find($criteria);
             if ($device_info) {
                 $uuid_info = DreamDeviceUuid::model()->find('device_id =:device_id', array(':device_id' => $device_info->id));
                 if ($uuid_info) {
                     $uid = $uuid_info->id;
                 } else {
                     $uid = DreamDeviceUuid::model()->createUid($app_code, $device_info->id);
                 }
             } else {
                 $device_info = new DreamDevice();
                 $device_info->sn = $sn;
                 $device_info->imei = $imei;
                 $device_info->imei2 = $imei2;
                 $device_info->wifimac = $wifimac;
                 $device_info->setIsNewRecord(true);
                 if ($device_info->save(false)) {
                     $uid = DreamDeviceUuid::model()->createUid($app_code, $device_info->id);
                 }
             }
             if ($uid) {
                 return $this->response->uid = $uid;
             } else {
                 return $this->response->code = 404;
             }
         } else {
             $uid = isset($json->uid) ? $json->uid : false;
             $gender = isset($json->gender) ? $json->gender : false;
             $category_id = isset($json->category_id) ? $json->category_id : false;
             if ($uid && $gender) {
                 $novel_user_info = DreamNovelUserInfo::model()->find('uid =:uid', array(':uid' => $uid));
                 if ($novel_user_info) {
                     $novel_user_info->category_id = $category_id;
                     $novel_user_info->save(false);
                 } else {
                     $novel_user_info = new DreamNovelUserInfo();
                     $novel_user_info->uid = $uid;
                     $novel_user_info->gender = $gender;
                     $novel_user_info->category_id = $category_id;
                     $novel_user_info->setIsNewRecord(true);
                     $novel_user_info->save(false);
                 }
                 $this->response->coin = $novel_user_info->coin;
                 return $this->response->recommend = DreamNovelCategory::model()->getRecommendNovel($gender, $category_id);
             }
         }
     }
     return $this->response->code = 500;
 }