Member.class.php 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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. use Cas\Dao\LotteryUserFeedback;
  9. /**
  10. *
  11. * 用户资料设置
  12. */
  13. class Member extends EventsController {
  14. public function doDefault() {
  15. $this->tpl = 'member';
  16. }
  17. /**
  18. * 我的礼品
  19. */
  20. public function doGifts() {
  21. //填写收货地址 c=Express&lottery_data_id=3
  22. $objLottery = new Lottery();
  23. $thisTime = time();
  24. # 获取用户信息
  25. $objUserData = new UserInfo();
  26. $uid = $this->getRunTimeUid();
  27. $userData = $objUserData -> get($uid);
  28. $this->setOutput('userData', $userData);
  29. $condition = array('uid' => $uid,'scratch_receive' => LotteryData::EVENT_SCRATCH_RECEIVE_TRUE);
  30. $totals = $objLottery -> getLotteryDataListNum($condition);
  31. $offset = 0;
  32. $size = 6;
  33. $order = 'id desc';
  34. $data = $objLottery->getLotteryDataList($condition, "{$offset},{$size}", 'create_time desc');
  35. $newData = array();
  36. $events_ids = array();
  37. $objLotteryUserFeedback = new LotteryUserFeedback();
  38. foreach($data as $key=> $d){
  39. $data[$key]['feedback'] = 1;//不需要填写反馈
  40. $events_ids[$d['run_time_data']['events']['id']] = $d['run_time_data']['events']['id'];
  41. if (in_array($d['run_time_data']['events']['type'], array(4,6))) {
  42. if (isset($v['express']) && $v['express']) {
  43. $data[$key]['feedback'] = 2;//未填写反馈
  44. $where = array();
  45. $where['uid'] = $d['uid'];
  46. $where['events_id'] = $d['run_time_data']['events']['id'];
  47. $where['status'] = 1;
  48. $ids = $objLotteryUserFeedback->findIdsBy ( $where, 1, $order = ' id desc');
  49. $info = $objLotteryUserFeedback->gets ( $ids );
  50. if ($info) {
  51. $data[$key]['feedback'] = 3;//已填写反馈
  52. }
  53. } else {
  54. $data[$key]['feedback'] = 4;//未填写收货地址
  55. }
  56. }
  57. }
  58. $objDLotteryEvents = new LotteryEvents();
  59. $eventsData = $objDLotteryEvents -> gets($events_ids);
  60. $time = time();
  61. foreach($data as $key=> $d){
  62. if ($v['feedback'] == 3) {
  63. # 查看是否过期
  64. $eventsInfo = $eventsData[$d['run_time_data']['events']['id']];
  65. if ($time > $eventsInfo['end_time']) {
  66. $data[$key]['feedback'] = 5;//未填写收货地址并且已经过期
  67. }
  68. }
  69. $newData[$key] = array();
  70. $newData[$key]['feedback'] = $d['feedback'];
  71. $thisEventID = $d['run_time_data']['events']['id'];
  72. $newData[$key]['prize_id'] = $d['prize_id'];
  73. $newData[$key]['prize_name'] = $d['run_time_data']['prize'][$d['prize_id']]['prize_name'];
  74. $newData[$key]['prize_type'] = $d['run_time_data']['prize'][$d['prize_id']]['type'];
  75. $newData[$key]['prize_express'] = $d['run_time_data']['prize'][$d['prize_id']]['express'];
  76. if ($d['run_time_data']['events']['type'] == LotteryEvents::TYPE_EVENTS_CODE) {
  77. $newData[$key]['prize_img_url'] = $d['run_time_data']['events']['weixinShare']['imgUrl'];
  78. } else {
  79. $newData[$key]['prize_img_url'] = $d['run_time_data']['prize'][$d['prize_id']]['img_url'];
  80. }
  81. $newData[$key]['events_id'] = $thisEventID;
  82. $newData[$key]['events_delivery'] = $eventsData[$thisEventID]['delivery'];
  83. $newData[$key]['events_name'] = $eventsData[$thisEventID]['events_name'];
  84. $newData[$key]['events_type'] = $eventsData[$thisEventID]['type'];
  85. $newData[$key]['end_time_receive_prizes'] = $eventsData[$thisEventID]['end_time_receive_prizes'];
  86. $newData[$key]['virtual_data'] = $d['virtual_data'];
  87. $newData[$key]['express'] = $d['express'];
  88. $newData[$key]['lottery_data_id'] = $key;
  89. $newData[$key]['show_up_express_a'] = false;
  90. if($newData[$key]['end_time_receive_prizes'] < time() && empty($newData[$key]['express'])){
  91. $newData[$key]['show_up_express_a'] = true;
  92. }
  93. }
  94. $this->tpl = 'gifts';
  95. $this->setOutput('thisTime', $thisTime);
  96. $this->setOutput('title', '我的奖品');
  97. $this->setOutput('data', $data);
  98. $this->setOutput('newData', $newData);
  99. $this->setOutput('totals', ceil($totals / $size));
  100. $this->setOutput('action', 'gift');
  101. $this->setOutput('notShowWeixinShare', true);
  102. }
  103. /**
  104. * 事件:ajax翻页
  105. */
  106. public function doAjax() {
  107. $page = Request::varGetInt('page', 1);
  108. $thisTime = time();
  109. $objLottery = new Lottery();
  110. $uid = $this->getRunTimeUid();
  111. $condition = array('uid' => $uid,'scratch_receive' => LotteryData::EVENT_SCRATCH_RECEIVE_TRUE);
  112. $totals = $objLottery -> getLotteryDataListNum($condition);
  113. $order = 'create_time desc';
  114. $size = 6;
  115. $offset = ($page - 1) * $size;
  116. $limit = "{$offset},{$size}";
  117. $data = $objLottery->getLotteryDataList($condition, "{$offset},{$size}", 'create_time desc');
  118. $newData = array();
  119. $events_ids = array();
  120. foreach($data as $key=> $d){
  121. $events_ids[$d['run_time_data']['events']['id']] = $d['run_time_data']['events']['id'];
  122. }
  123. $objDLotteryEvents = new LotteryEvents();
  124. $eventsData = $objDLotteryEvents -> gets($events_ids);
  125. foreach($data as $key=> $d){
  126. $newData[$key] = array();
  127. $thisEventID = $d['run_time_data']['events']['id'];
  128. $newData[$key]['prize_id'] = $d['prize_id'];
  129. $newData[$key]['prize_name'] = $d['run_time_data']['prize'][$d['prize_id']]['prize_name'];
  130. $newData[$key]['prize_type'] = $d['run_time_data']['prize'][$d['prize_id']]['type'];
  131. $newData[$key]['prize_express'] = $d['run_time_data']['prize'][$d['prize_id']]['express'];
  132. if ($d['run_time_data']['events']['type'] == LotteryEvents::TYPE_EVENTS_CODE) {
  133. $newData[$key]['prize_img_url'] = $d['run_time_data']['events']['weixinShare']['imgUrl'];
  134. } else {
  135. $newData[$key]['prize_img_url'] = $d['run_time_data']['prize'][$d['prize_id']]['img_url'];
  136. }
  137. $newData[$key]['events_id'] = $thisEventID;
  138. $newData[$key]['events_delivery'] = $eventsData[$thisEventID]['delivery'];
  139. $newData[$key]['events_name'] = $eventsData[$thisEventID]['events_name'];
  140. $newData[$key]['events_type'] = $eventsData[$thisEventID]['type'];
  141. $newData[$key]['end_time_receive_prizes'] = $eventsData[$thisEventID]['end_time_receive_prizes'];
  142. $newData[$key]['virtual_data'] = $d['virtual_data'];
  143. $newData[$key]['express'] = $d['express'];
  144. $newData[$key]['lottery_data_id'] = $key;
  145. $newData[$key]['show_up_express_a'] = false;
  146. if($newData[$key]['end_time_receive_prizes'] < time() && empty($newData[$key]['express'])){
  147. $newData[$key]['show_up_express_a'] = true;
  148. }
  149. }
  150. $this->setOutput('data', $data);
  151. $this->setOutput('newData', $newData);
  152. $this->tpl = 'ajax_gifts';
  153. $this->ajax_success_exit($this->render(true));
  154. }
  155. public function display() {
  156. return $this->render();
  157. }
  158. }