member_bonus.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 16/4/16
  6. * Time: 下午6:08
  7. */
  8. require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
  9. require_once (BASE_ROOT_PATH . '/helper/user_helper.php');
  10. require_once (BASE_ROOT_PATH . '/helper/text_filter.php');
  11. class member_bonusControl extends mbMemberControl
  12. {
  13. public function predepositOp()
  14. {
  15. $predeposit = new predeposit_helper();
  16. $pred = $predeposit->get_predeposit();
  17. return self::outsuccess(array('predeposit_total' => $pred['total_value'], 'predeposit_freeze' => $pred['freeze_value']));
  18. }
  19. public function makeOp()
  20. {
  21. $param = bonus_helper::check_personal($_GET,$ret);
  22. if($param == false) {
  23. return self::outerr($ret['code'],$ret['msg']);
  24. }
  25. $pre_helper = new predeposit_helper();
  26. if(!$pre_helper->is_enough($param['total_amount'])) {
  27. return self::outerr(errcode::ErrBonusNotEnough,'余额不够发送红包');
  28. }
  29. $param['sender_id'] = $_SESSION['member_id'];
  30. $param['sender_mobile'] = $_SESSION['member_mobile'];
  31. $param['sender_name'] = user_helper::nickname();
  32. $ret = bonus_helper::make_bonus($param);
  33. if($ret === false) {
  34. return self::outerr(errcode::ErrBonus,"生成红包失败.");
  35. } else {
  36. $type_sn = $ret['type_sn'];
  37. $money = $ret['money'];
  38. $pre_helper = new predeposit_helper();
  39. $pre_helper->hand_out_bonus($money,$type_sn,user_helper::nickname(),"发送了{$money}元的红包.");
  40. $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
  41. return self::outsuccess(array('type_sn' => $ret,'url' => "{$url}"));
  42. }
  43. }
  44. public function makeactivityOp()
  45. {
  46. $param_active = bonus_helper::check_activity($_GET,$ret);
  47. if($param_active == false) {
  48. return self::outerr($ret['code'],$ret['msg']);
  49. }
  50. $param_personal = bonus_helper::check_personal($_GET,$ret);
  51. if($param_personal == false) {
  52. return self::outerr($ret['code'],$ret['msg']);
  53. }
  54. $param = array_merge($param_active,$param_personal);
  55. $pre_helper = new predeposit_helper();
  56. if(!$pre_helper->is_enough($param['total_amount'])) {
  57. return self::outerr(errcode::ErrBonusNotEnough,'余额不够发送红包');
  58. }
  59. $param['sender_id'] = $_SESSION['member_id'];
  60. $param['sender_mobile'] = $_SESSION['member_mobile'];
  61. $param['sender_name'] = user_helper::nickname();
  62. $ret = bonus_helper::make_bonus($param);
  63. if($ret === false) {
  64. return self::outerr(errcode::ErrBonus,"生成红包失败.");
  65. } else {
  66. $type_sn = $ret['type_sn'];
  67. $money = $ret['money'];
  68. $pre_helper = new predeposit_helper();
  69. $pre_helper->hand_out_bonus($money,$type_sn,user_helper::nickname(),"发送了{$money}元的红包.");
  70. $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
  71. return self::outsuccess(array('type_sn' => $ret,'url' => "{$url}"));
  72. }
  73. }
  74. public function topupOp()
  75. {
  76. $bonuses = bonus_helper::topup_bonus($_SESSION['member_mobile']);
  77. if($bonuses === false) {
  78. return self::outsuccess(array("$bonuses" => array()));
  79. }
  80. else
  81. {
  82. $ret = array();
  83. foreach($bonuses as $bonus)
  84. {
  85. $all_type_info = bonus_helper::get_typeinfo($bonus['type_sn']);
  86. if(!empty($all_type_info) && !empty($all_type_info['type_info']))
  87. {
  88. $type_info = bonus_helper::filter_type($all_type_info['type_info']);
  89. $bonus_info = bonus_helper::filter_bonus($bonus);
  90. array_push($ret,array('type_info' => $type_info,'bonus_info' => $bonus_info));
  91. }
  92. }
  93. return self::outsuccess(array("$bonuses" => $ret));
  94. }
  95. }
  96. public function topupexOp()
  97. {
  98. $bonuses = bonus_helper::topup_bonus($_SESSION['member_mobile']);
  99. if($bonuses === false) {
  100. return self::outsuccess(array("count" => 0,'total_amount' => 0.00));
  101. }
  102. else
  103. {
  104. $total_amount = 0.00;
  105. foreach($bonuses as $bonus) {
  106. $total_amount += floatval($bonus['bonus_value']);
  107. }
  108. $count = count($bonuses);
  109. $title = "您新领了{$count}个红包,价值{$total_amount}元.";
  110. return self::outsuccess(array("count" => $count,'total_amount' => $total_amount,'title' => $title));
  111. }
  112. }
  113. //我已经发送的红包
  114. public function send_listOp()
  115. {
  116. $mod_type = Model('bonus_type');
  117. $condition = array('sender_id' => $_SESSION['member_id'],
  118. 'relayer_id' => $_SESSION['member_id'],
  119. '_op' => 'or');
  120. $count = $mod_type->getTypeCount($condition);
  121. if($count == 0) {
  122. return self::outsuccess(array('type_infos' => array(), 'mobile_page' => mobile_page(0)));
  123. }
  124. $items = $mod_type->getTypeList($condition,$this->page_size(),'*','type_id desc');
  125. $type_infos = array();
  126. foreach($items as $val) {
  127. $type_info = bonus_helper::filter_type($val);
  128. array_push($type_infos,$type_info);
  129. }
  130. $pages = $this->pages($count);
  131. return self::outsuccess(array('type_infos' => $type_infos, 'mobile_page' => mobile_page($pages)));
  132. }
  133. //预存款收支记录
  134. public function pdlogOp()
  135. {
  136. $mod_pd = Model('predeposit');
  137. $count = $mod_pd->getPdLogCount(array('lg_member_id' => $_SESSION['member_id']));
  138. $items = $mod_pd->getPdLogList(array('lg_member_id' => $_SESSION['member_id']),$this->page_size(),'*','lg_id desc');
  139. if(empty($items)) {
  140. return self::outsuccess(array('pd_logs' => array(),'mobile_page' => mobile_page(0)));
  141. }
  142. $predeposit = new predeposit_helper();
  143. $pd_logs = $predeposit->filter_pd_log($items);
  144. $pages = $this->pages($count);
  145. return self::outsuccess(array('pd_logs' => $pd_logs,'mobile_page' => mobile_page($pages)));
  146. }
  147. }