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; }
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); }
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; }
/** * @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; }