Member.class.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  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. $plat_form_id = $this->getPlatFormId();
  25. # 获取用户信息
  26. $objUserData = new UserInfo();
  27. $uid = $this->getRunTimeUid();
  28. $userData = $objUserData -> get($uid);
  29. $this->setOutput('userData', $userData);
  30. $condition = array('audit' => 2, 'uid' => $uid,'scratch_receive' => LotteryData::EVENT_SCRATCH_RECEIVE_TRUE);
  31. $totals = $objLottery -> getLotteryDataListNum($condition);
  32. $offset = 0;
  33. $size = 6;
  34. $order = 'id desc';
  35. $data = $objLottery->getLotteryDataList($condition, "{$offset},{$size}", 'create_time desc');
  36. $newData = array();
  37. $events_ids = array();
  38. $objLotteryUserFeedback = new LotteryUserFeedback();
  39. foreach($data as $key=> $d){
  40. $data[$key]['feedback'] = 1;//不需要填写反馈
  41. $events_ids[$d['run_time_data']['events']['id']] = $d['run_time_data']['events']['id'];
  42. if (in_array($d['run_time_data']['events']['type'], array(4,0))) {
  43. if (isset($d['express']) && $d['express']) {
  44. $data[$key]['feedback'] = 2;//未填写反馈
  45. $where = array();
  46. $where['uid'] = $d['uid'];
  47. $where['events_id'] = $d['run_time_data']['events']['id'];
  48. $where['status'] = 1;
  49. $ids = $objLotteryUserFeedback->findIdsBy ( $where, 1, $order = ' id desc');
  50. if ($ids) {
  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. $eventsInfo = $eventsData[$d['run_time_data']['events']['id']];
  63. if ($v['feedback'] == 3) {
  64. # 查看是否过期
  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. $newData[$key]['url'] = $objLottery -> getEventsUrl($eventsInfo['type'],$eventsInfo['create_time'],$this->platform['url']);
  94. }
  95. $this->tpl = 'gifts';
  96. $this->setOutput('thisTime', $thisTime);
  97. $this->setOutput('title', '我的奖品');
  98. $this->setOutput('data', $data);
  99. $this->setOutput('newData', $newData);
  100. $this->setOutput('totals', ceil($totals / $size));
  101. $this->setOutput('action', 'gift');
  102. $this->setOutput('display', 1);
  103. $this->setOutput('notShowWeixinShare', true);
  104. }
  105. /**
  106. * 事件:ajax翻页
  107. */
  108. public function doAjax() {
  109. $page = Request::varGetInt('page', 1);
  110. $thisTime = time();
  111. $objLottery = new Lottery();
  112. $uid = $this->getRunTimeUid();
  113. $condition = array('audit' => 2, 'uid' => $uid,'scratch_receive' => LotteryData::EVENT_SCRATCH_RECEIVE_TRUE);
  114. $totals = $objLottery -> getLotteryDataListNum($condition);
  115. $order = 'create_time desc';
  116. $size = 6;
  117. $offset = ($page - 1) * $size;
  118. $limit = "{$offset},{$size}";
  119. $data = $objLottery->getLotteryDataList($condition, "{$offset},{$size}", 'create_time desc');
  120. $newData = array();
  121. $events_ids = array();
  122. $objLotteryUserFeedback = new LotteryUserFeedback();
  123. foreach($data as $key=> $d){
  124. $data[$key]['feedback'] = 1;//不需要填写反馈
  125. $events_ids[$d['run_time_data']['events']['id']] = $d['run_time_data']['events']['id'];
  126. if (in_array($d['run_time_data']['events']['type'], array(4,0))) {
  127. if (isset($d['express']) && $d['express']) {
  128. $data[$key]['feedback'] = 2;//未填写反馈
  129. $where = array();
  130. $where['uid'] = $d['uid'];
  131. $where['events_id'] = $d['run_time_data']['events']['id'];
  132. $where['status'] = 1;
  133. $ids = $objLotteryUserFeedback->findIdsBy ( $where, 1, $order = ' id desc');
  134. $info = $objLotteryUserFeedback->gets ( $ids );
  135. if ($info) {
  136. $data[$key]['feedback'] = 3;//已填写反馈
  137. }
  138. } else {
  139. $data[$key]['feedback'] = 4;//未填写收货地址
  140. }
  141. }
  142. }
  143. $objDLotteryEvents = new LotteryEvents();
  144. $eventsData = $objDLotteryEvents -> gets($events_ids);
  145. foreach($data as $key=> $d){
  146. $newData[$key] = array();
  147. $thisEventID = $d['run_time_data']['events']['id'];
  148. $newData[$key]['prize_id'] = $d['prize_id'];
  149. $newData[$key]['prize_name'] = $d['run_time_data']['prize'][$d['prize_id']]['prize_name'];
  150. $newData[$key]['prize_type'] = $d['run_time_data']['prize'][$d['prize_id']]['type'];
  151. $newData[$key]['prize_express'] = $d['run_time_data']['prize'][$d['prize_id']]['express'];
  152. if ($d['run_time_data']['events']['type'] == LotteryEvents::TYPE_EVENTS_CODE) {
  153. $newData[$key]['prize_img_url'] = $d['run_time_data']['events']['weixinShare']['imgUrl'];
  154. } else {
  155. $newData[$key]['prize_img_url'] = $d['run_time_data']['prize'][$d['prize_id']]['img_url'];
  156. }
  157. $newData[$key]['events_id'] = $thisEventID;
  158. $newData[$key]['events_delivery'] = $eventsData[$thisEventID]['delivery'];
  159. $newData[$key]['events_name'] = $eventsData[$thisEventID]['events_name'];
  160. $newData[$key]['events_type'] = $eventsData[$thisEventID]['type'];
  161. $newData[$key]['end_time_receive_prizes'] = $eventsData[$thisEventID]['end_time_receive_prizes'];
  162. $newData[$key]['virtual_data'] = $d['virtual_data'];
  163. $newData[$key]['express'] = $d['express'];
  164. $newData[$key]['lottery_data_id'] = $key;
  165. $newData[$key]['show_up_express_a'] = false;
  166. if($newData[$key]['end_time_receive_prizes'] < time() && empty($newData[$key]['express'])){
  167. $newData[$key]['show_up_express_a'] = true;
  168. }
  169. }
  170. $this->setOutput('data', $data);
  171. $this->setOutput('newData', $newData);
  172. $this->tpl = 'ajax_gifts';
  173. $this->ajax_success_exit($this->render(true));
  174. }
  175. public function display() {
  176. return $this->render();
  177. }
  178. }