Member.class.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. namespace Cas\Controller;
  3. use Cas\Dao\LotteryData;
  4. use Cas\Dao\LotteryEvents;
  5. use KIF\Core\Request;
  6. use Cas\Module\Lottery;
  7. use Cas\Dao\UserInfo;
  8. /**
  9. *
  10. * 用户资料设置
  11. */
  12. class Member extends EventsController {
  13. public function doDefault() {
  14. $this->tpl = 'member';
  15. }
  16. /**
  17. * 我的礼品
  18. */
  19. public function doGifts() {
  20. $objLottery = new Lottery();
  21. $thisTime = time();
  22. # 获取用户信息
  23. $objUserData = new UserInfo();
  24. $uid = $this->getRunTimeUid();
  25. $userData = $objUserData -> get($uid);
  26. $this->setOutput('userData', $userData);
  27. $condition = array('uid' => $uid,'scratch_receive' => LotteryData::EVENT_SCRATCH_RECEIVE_TRUE);
  28. $totals = $objLottery -> getLotteryDataListNum($condition);
  29. $offset = 0;
  30. $size = 6;
  31. $order = 'id desc';
  32. $data = $objLottery->getLotteryDataList($condition, "{$offset},{$size}", 'create_time desc');
  33. $newData = array();
  34. $events_ids = array();
  35. foreach($data as $key=> $d){
  36. $events_ids[$d['run_time_data']['events']['id']] = $d['run_time_data']['events']['id'];
  37. }
  38. $objDLotteryEvents = new LotteryEvents();
  39. $eventsData = $objDLotteryEvents -> gets($events_ids);
  40. foreach($data as $key=> $d){
  41. $newData[$key] = array();
  42. $thisEventID = $d['run_time_data']['events']['id'];
  43. $newData[$key]['prize_id'] = $d['prize_id'];
  44. $newData[$key]['prize_name'] = $d['run_time_data']['prize'][$d['prize_id']]['prize_name'];
  45. $newData[$key]['prize_type'] = $d['run_time_data']['prize'][$d['prize_id']]['type'];
  46. $newData[$key]['prize_express'] = $d['run_time_data']['prize'][$d['prize_id']]['express'];
  47. if ($d['run_time_data']['events']['type'] == LotteryEvents::TYPE_EVENTS_CODE) {
  48. $newData[$key]['prize_img_url'] = $d['run_time_data']['events']['weixinShare']['imgUrl'];
  49. } else {
  50. $newData[$key]['prize_img_url'] = $d['run_time_data']['prize'][$d['prize_id']]['img_url'];
  51. }
  52. $newData[$key]['events_id'] = $thisEventID;
  53. $newData[$key]['events_delivery'] = $eventsData[$thisEventID]['delivery'];
  54. $newData[$key]['events_name'] = $eventsData[$thisEventID]['events_name'];
  55. $newData[$key]['events_type'] = $eventsData[$thisEventID]['type'];
  56. $newData[$key]['end_time_receive_prizes'] = $eventsData[$thisEventID]['end_time_receive_prizes'];
  57. $newData[$key]['virtual_data'] = $d['virtual_data'];
  58. $newData[$key]['express'] = $d['express'];
  59. $newData[$key]['lottery_data_id'] = $key;
  60. $newData[$key]['show_up_express_a'] = false;
  61. if($newData[$key]['end_time_receive_prizes'] < time() && empty($newData[$key]['express'])){
  62. $newData[$key]['show_up_express_a'] = true;
  63. }
  64. }
  65. $this->tpl = 'gifts';
  66. $this->setOutput('thisTime', $thisTime);
  67. $this->setOutput('title', '我的奖品');
  68. $this->setOutput('data', $data);
  69. $this->setOutput('newData', $newData);
  70. $this->setOutput('totals', ceil($totals / $size));
  71. $this->setOutput('action', 'gift');
  72. $this->setOutput('notShowWeixinShare', true);
  73. }
  74. /**
  75. * 事件:ajax翻页
  76. */
  77. public function doAjax() {
  78. $page = Request::varGetInt('page', 1);
  79. $thisTime = time();
  80. $objLottery = new Lottery();
  81. $uid = $this->getRunTimeUid();
  82. $condition = array('uid' => $uid,'scratch_receive' => LotteryData::EVENT_SCRATCH_RECEIVE_TRUE);
  83. $totals = $objLottery -> getLotteryDataListNum($condition);
  84. $order = 'create_time desc';
  85. $size = 6;
  86. $offset = ($page - 1) * $size;
  87. $limit = "{$offset},{$size}";
  88. $data = $objLottery->getLotteryDataList($condition, "{$offset},{$size}", 'create_time desc');
  89. $newData = array();
  90. $events_ids = array();
  91. foreach($data as $key=> $d){
  92. $events_ids[$d['run_time_data']['events']['id']] = $d['run_time_data']['events']['id'];
  93. }
  94. $objDLotteryEvents = new LotteryEvents();
  95. $eventsData = $objDLotteryEvents -> gets($events_ids);
  96. foreach($data as $key=> $d){
  97. $newData[$key] = array();
  98. $thisEventID = $d['run_time_data']['events']['id'];
  99. $newData[$key]['prize_id'] = $d['prize_id'];
  100. $newData[$key]['prize_name'] = $d['run_time_data']['prize'][$d['prize_id']]['prize_name'];
  101. $newData[$key]['prize_type'] = $d['run_time_data']['prize'][$d['prize_id']]['type'];
  102. $newData[$key]['prize_express'] = $d['run_time_data']['prize'][$d['prize_id']]['express'];
  103. if ($d['run_time_data']['events']['type'] == LotteryEvents::TYPE_EVENTS_CODE) {
  104. $newData[$key]['prize_img_url'] = $d['run_time_data']['events']['weixinShare']['imgUrl'];
  105. } else {
  106. $newData[$key]['prize_img_url'] = $d['run_time_data']['prize'][$d['prize_id']]['img_url'];
  107. }
  108. $newData[$key]['events_id'] = $thisEventID;
  109. $newData[$key]['events_delivery'] = $eventsData[$thisEventID]['delivery'];
  110. $newData[$key]['events_name'] = $eventsData[$thisEventID]['events_name'];
  111. $newData[$key]['events_type'] = $eventsData[$thisEventID]['type'];
  112. $newData[$key]['end_time_receive_prizes'] = $eventsData[$thisEventID]['end_time_receive_prizes'];
  113. $newData[$key]['virtual_data'] = $d['virtual_data'];
  114. $newData[$key]['express'] = $d['express'];
  115. $newData[$key]['lottery_data_id'] = $key;
  116. $newData[$key]['show_up_express_a'] = false;
  117. if($newData[$key]['end_time_receive_prizes'] < time() && empty($newData[$key]['express'])){
  118. $newData[$key]['show_up_express_a'] = true;
  119. }
  120. }
  121. $this->setOutput('data', $data);
  122. $this->setOutput('newData', $newData);
  123. $this->tpl = 'ajax_gifts';
  124. $this->ajax_success_exit($this->render(true));
  125. }
  126. public function display() {
  127. return $this->render();
  128. }
  129. }