StoreController.class.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace Api\Controller;
  3. use Common\Controller\ApiController;
  4. class StoreController extends ApiController {
  5. public function __construct(){
  6. parent::__construct();
  7. }
  8. //获取对战题库
  9. public function getStore(){
  10. $uid = I('uid');
  11. $lastId = I('last_id',0);
  12. $recordId = I('record_id');
  13. $pageSize = I('page_size',C('PK_SCORE')*2);
  14. if (empty($uid) || $uid<1000000){
  15. $data = array('code'=>1,'msg'=>'用户ID错误');
  16. $this->returnData($data);exit;
  17. }
  18. $userInfo = M('User')->where(array('is_delete' => 1,'user_id'=>$uid))->field('user_level')->find();
  19. $info = M('User')->where(array('is_delete' => 1,'user_id'=>$this->userId))->field('user_level')->find();
  20. if ($userInfo==NULL || $info==NULL){
  21. $data = array('code'=>1,'msg'=>'获取用户信息错误');
  22. $this->returnData($data);exit;
  23. }
  24. if ($userInfo['user_level']==$info['user_level']){
  25. $storeRes = M('Store')->where(array('level_id'=>$userInfo['user_level'],'is_delete'=>1))->field('store_id')->find();
  26. if ($storeRes==NULL){
  27. $data = array('code'=>1,'msg'=>'占无题库');
  28. $this->returnData($data);exit;
  29. }
  30. $condition = array('store_id'=>$storeRes['store_id'],'is_delete'=>1);
  31. if ($lastId>0){
  32. $condition['words_id'] = array('LT',$lastId);
  33. }
  34. $wordsRes = M('StoreWords')->where($condition)->order('words_id desc')->limit($pageSize)->select();
  35. }else{
  36. $userLevel = $userInfo['user_level']>$info['user_level']?$userInfo['user_level']:$info['user_level'];
  37. $storeRes1 = M('Store')->where(array('level_id'=>$userLevel,'is_delete'=>1))->field('store_id')->find();
  38. $storeRes2 = M('Store')->where(array('level_id'=>$userLevel-1,'is_delete'=>1))->field('store_id')->find();
  39. if ($storeRes1==NULL||$storeRes2==NULL){
  40. $data = array('code'=>1,'msg'=>'占无题库');
  41. $this->returnData($data);exit;
  42. }
  43. $condition1 = array('store_id'=>$storeRes1['store_id'],'is_delete'=>1);
  44. $condition2 = array('store_id'=>$storeRes2['store_id'],'is_delete'=>1);
  45. if ($lastId>0){
  46. $condition1['words_id'] = array('LT',$lastId);
  47. $condition2['words_id'] = array('LT',$lastId);
  48. }
  49. $size = ceil($pageSize/2);
  50. $wordsRes1 = M('StoreWords')->where($condition1)->order('words_id desc')->limit($size)->select();
  51. $wordsRes2 = M('StoreWords')->where($condition2)->order('words_id desc')->limit($size)->select();
  52. $wordsRes = array_merge($wordsRes1, $wordsRes2);
  53. }
  54. //插入对战单词表中
  55. $dataList = array();
  56. foreach ($wordsRes as $key=>$words){
  57. $dataList = array('record_id'=>$recordId,'words_id'=>$words['words_id'],'operate_dt'=>time());
  58. $pwId = M('PkWords')->add($dataList);
  59. $wordsRes[$key]['pw_id'] = $pwId;
  60. }
  61. $data = array('code'=>0,'msg'=>'','data'=>$wordsRes);
  62. $this->returnData($data);exit;
  63. }
  64. }