Member.class.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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. $newData[$key]['prize_img_url'] = $d['run_time_data']['prize'][$d['prize_id']]['img_url'];
  79. } else {
  80. $newData[$key]['prize_img_url'] = $d['run_time_data']['prize'][$d['prize_id']]['img_url'];
  81. }
  82. $newData[$key]['events_id'] = $thisEventID;
  83. $newData[$key]['events_delivery'] = $eventsData[$thisEventID]['delivery'];
  84. $newData[$key]['events_name'] = $eventsData[$thisEventID]['events_name'];
  85. $newData[$key]['events_type'] = $eventsData[$thisEventID]['type'];
  86. $newData[$key]['end_time_receive_prizes'] = $eventsData[$thisEventID]['end_time_receive_prizes'];
  87. $newData[$key]['virtual_data'] = $d['virtual_data'];
  88. $newData[$key]['express'] = $d['express'];
  89. $newData[$key]['lottery_data_id'] = $key;
  90. $newData[$key]['show_up_express_a'] = false;
  91. if($newData[$key]['end_time_receive_prizes'] < time() && empty($newData[$key]['express'])){
  92. $newData[$key]['show_up_express_a'] = true;
  93. }
  94. $newData[$key]['url'] = $objLottery -> getEventsUrl($eventsInfo['type'],$eventsInfo['create_time'],$this->platform['url']);
  95. }
  96. $this->tpl = 'gifts';
  97. $this->setOutput('thisTime', $thisTime);
  98. $this->setOutput('title', '我的奖品');
  99. $this->setOutput('data', $data);
  100. $this->setOutput('newData', $newData);
  101. $this->setOutput('totals', ceil($totals / $size));
  102. $this->setOutput('action', 'gift');
  103. $this->setOutput('display', 1);
  104. $this->setOutput('notShowWeixinShare', true);
  105. }
  106. /**
  107. * 事件:ajax翻页
  108. */
  109. public function doAjax() {
  110. $page = Request::varGetInt('page', 1);
  111. $thisTime = time();
  112. $objLottery = new Lottery();
  113. $uid = $this->getRunTimeUid();
  114. $condition = array('audit' => 2, 'uid' => $uid,'scratch_receive' => LotteryData::EVENT_SCRATCH_RECEIVE_TRUE);
  115. $totals = $objLottery -> getLotteryDataListNum($condition);
  116. $order = 'create_time desc';
  117. $size = 6;
  118. $offset = ($page - 1) * $size;
  119. $limit = "{$offset},{$size}";
  120. $data = $objLottery->getLotteryDataList($condition, "{$offset},{$size}", 'create_time desc');
  121. $newData = array();
  122. $events_ids = array();
  123. $objLotteryUserFeedback = new LotteryUserFeedback();
  124. foreach($data as $key=> $d){
  125. $data[$key]['feedback'] = 1;//不需要填写反馈
  126. $events_ids[$d['run_time_data']['events']['id']] = $d['run_time_data']['events']['id'];
  127. if (in_array($d['run_time_data']['events']['type'], array(4,0))) {
  128. if (isset($d['express']) && $d['express']) {
  129. $data[$key]['feedback'] = 2;//未填写反馈
  130. $where = array();
  131. $where['uid'] = $d['uid'];
  132. $where['events_id'] = $d['run_time_data']['events']['id'];
  133. $where['status'] = 1;
  134. $ids = $objLotteryUserFeedback->findIdsBy ( $where, 1, $order = ' id desc');
  135. $info = $objLotteryUserFeedback->gets ( $ids );
  136. if ($info) {
  137. $data[$key]['feedback'] = 3;//已填写反馈
  138. }
  139. } else {
  140. $data[$key]['feedback'] = 4;//未填写收货地址
  141. }
  142. }
  143. }
  144. $objDLotteryEvents = new LotteryEvents();
  145. $eventsData = $objDLotteryEvents -> gets($events_ids);
  146. foreach($data as $key=> $d){
  147. $newData[$key] = array();
  148. $thisEventID = $d['run_time_data']['events']['id'];
  149. $newData[$key]['prize_id'] = $d['prize_id'];
  150. $newData[$key]['prize_name'] = $d['run_time_data']['prize'][$d['prize_id']]['prize_name'];
  151. $newData[$key]['prize_type'] = $d['run_time_data']['prize'][$d['prize_id']]['type'];
  152. $newData[$key]['prize_express'] = $d['run_time_data']['prize'][$d['prize_id']]['express'];
  153. if ($d['run_time_data']['events']['type'] == LotteryEvents::TYPE_EVENTS_CODE) {
  154. $newData[$key]['prize_img_url'] = $d['run_time_data']['events']['weixinShare']['imgUrl'];
  155. } else {
  156. $newData[$key]['prize_img_url'] = $d['run_time_data']['prize'][$d['prize_id']]['img_url'];
  157. }
  158. $newData[$key]['events_id'] = $thisEventID;
  159. $newData[$key]['events_delivery'] = $eventsData[$thisEventID]['delivery'];
  160. $newData[$key]['events_name'] = $eventsData[$thisEventID]['events_name'];
  161. $newData[$key]['events_type'] = $eventsData[$thisEventID]['type'];
  162. $newData[$key]['end_time_receive_prizes'] = $eventsData[$thisEventID]['end_time_receive_prizes'];
  163. $newData[$key]['virtual_data'] = $d['virtual_data'];
  164. $newData[$key]['express'] = $d['express'];
  165. $newData[$key]['lottery_data_id'] = $key;
  166. $newData[$key]['show_up_express_a'] = false;
  167. if($newData[$key]['end_time_receive_prizes'] < time() && empty($newData[$key]['express'])){
  168. $newData[$key]['show_up_express_a'] = true;
  169. }
  170. }
  171. $this->setOutput('data', $data);
  172. $this->setOutput('newData', $newData);
  173. $this->tpl = 'ajax_gifts';
  174. $this->ajax_success_exit($this->render(true));
  175. }
  176. public function display() {
  177. return $this->render();
  178. }
  179. }