Off.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. namespace Active\Src;
  3. use Dever;
  4. use Active\Lib\Coreoff;
  5. Class Off extends Coreoff
  6. {
  7. #核销首页
  8. public function getHome()
  9. {
  10. $data['user'] = $this->user;
  11. $data['info'] = Dever::db('active/info')->getAll(array('off_id'=>$data['user']['id']));
  12. foreach ($data['info'] as $k => $v) {
  13. $data['info'][$k]['act_time'] = date('Y-m-d H:i',$v['act_start']).'~'.date('Y-m-d H:i',$v['act_end']);
  14. unset($data['info'][$k]['sign_end'],$data['info'][$k]['act_start'],$data['info'][$k]['act_end']);
  15. }
  16. return $data;
  17. }
  18. #获取核销信息
  19. public function getInfo(){
  20. $code = Dever::input('code');
  21. if (!$code) {
  22. Dever::alert('手机号或核销码不存在');
  23. }
  24. $where['active_id'] = Dever::input('active_id');
  25. if (!$where['active_id']) {
  26. Dever::alert('活动id不存在');
  27. }
  28. $count = strlen($code);
  29. $res = array();
  30. if ($code) {
  31. $data = Dever::db('active/code')->find(array('write_code'=>$code));
  32. if (!$data) {
  33. if (strlen($code) != 11){
  34. Dever::alert('手机号或核销码不正确');
  35. } else {
  36. $tell = preg_match("/^1[3456789]\d{9}$/",$code);
  37. if ($tell) {
  38. $user = Dever::db('active/user')->find(array('mobile'=>$code));
  39. if ($user) {
  40. $data = Dever::db('active/code')->find(array('join_uid'=>$user['id']));
  41. } else {
  42. Dever::alert('手机号或核销码不正确');
  43. }
  44. }
  45. }
  46. }
  47. if ($data && ($data['active_id'] != $where['active_id'])) {
  48. Dever::alert('该核销码不属于此活动');
  49. }
  50. }
  51. $active = Dever::db('active/info')->find($where['active_id']);
  52. if ($data) {
  53. $user = Dever::db('active/user')->find($data['join_uid']);
  54. $res['info']['code_id'] = $data['id'];
  55. $res['info']['write_code'] = $data['write_code'];
  56. $res['info']['active_name'] = $active['name'];
  57. $res['info']['name'] = $user['name'];
  58. $res['info']['mobile'] = $user['mobile'];
  59. $parent_user = Dever::db('active/user')->find($data['buy_uid']);
  60. $res['info']['parent_name'] = $parent_user['name'];
  61. $res['info']['parent_mobile'] = $parent_user['mobile'];
  62. $res['info']['role_name'] = '';
  63. $res['info']['title_name'] = '';
  64. $member = Dever::load('active/lib/user')->agent($user);
  65. if ($member) {
  66. $role = Dever::db('setting/role')->find($member['role']);
  67. $title = Dever::db('setting/title')->find($member['title_id']);
  68. $level = Dever::db('setting/level')->find($member['level_id']);
  69. if ($role) {
  70. if (isset($level) && $level && isset($level['name']) && $level['name']){
  71. $res['info']['role_name'] = $role['name'] .'('.$level['name'].')';
  72. } else {
  73. $res['info']['role_name'] = $role['name'];
  74. }
  75. }
  76. if ($title && $title['name']) {
  77. $res['info']['title_name'] = $title['name'];
  78. }
  79. if ($member['avatar']) {
  80. $res['info']['avatar'] = $member['avatar'];
  81. }
  82. }
  83. if ($user['avatar']) {
  84. $res['info']['avatar'] = $user['avatar'];
  85. } else {
  86. $config = Dever::db('deploy/base-one');
  87. $res['info']['avatar'] = $config['avatar'];
  88. }
  89. } else {
  90. Dever::alert('手机号不正确或核销码已核销');
  91. }
  92. return $res;
  93. }
  94. #确认核销
  95. public function confirm()
  96. {
  97. $code_id = Dever::input('code_id');
  98. if (!$code_id) {
  99. Dever::alert('核销码的id不能为空');
  100. }
  101. $data = Dever::db('active/code')->find($code_id);
  102. if ($data) {
  103. $active = Dever::db('active/info')->find($data['active_id']);
  104. // if (time() < $active['act_start']){
  105. // Dever::alert('活动未开始');
  106. // }
  107. if ($active['status'] == 5 || time() >= $active['act_end']) {
  108. Dever::alert('活动已结束');
  109. }
  110. if ($data['status'] == 2) {
  111. Dever::alert('当前核销码已核销');
  112. }
  113. $where['where_id'] = $code_id;
  114. $where['status'] = 2;
  115. $where['time'] = time();
  116. $where['top_admin'] = $this->uid;
  117. $ids = Dever::db('active/code')->update($where);
  118. if ($ids) {
  119. return $data;
  120. } else {
  121. Dever::alert('核销失败');
  122. }
  123. } else {
  124. Dever::alert('核销码的信息不存在');
  125. }
  126. }
  127. }