account_helper.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 16/6/27
  6. * Time: 下午2:46
  7. */
  8. require_once (BASE_ROOT_PATH . '/helper/bonus/type.php');
  9. require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
  10. class account_helper
  11. {
  12. const admin_member_id = 36429;
  13. const admin_mobile = '13911129867';
  14. const admin_name = '熊猫美妆';
  15. private static function base_param($amount,$total_num)
  16. {
  17. $param = array();
  18. $param['total_amount'] = $amount;
  19. $param['total_num'] = $total_num;
  20. $param['send_type'] = 1;
  21. $param['use_type'] = 1;
  22. $param['user_type'] = 2;
  23. return $param;
  24. }
  25. private static function admin_param(&$param)
  26. {
  27. $param['sender_id'] = self::admin_member_id;
  28. $param['sender_mobile'] = self::admin_mobile;
  29. $param['sender_name'] = self::admin_name;
  30. }
  31. private static function sender_param($sender,&$param)
  32. {
  33. $member_info = Model('member')->getMemberInfoByID($sender);
  34. $param['sender_id'] = $member_info['member_id'];
  35. $param['sender_mobile'] = $member_info['member_mobile'];
  36. $param['sender_name'] = $member_info['member_nickname'];
  37. }
  38. public static function gain_bonus($from_id,$to_id,$amount)
  39. {
  40. $param = self::base_param($amount,1);
  41. $member_info = Model('member')->getMemberInfoByID($from_id);
  42. $param['sender_id'] = $member_info['member_id'];
  43. $param['sender_mobile'] = $member_info['member_mobile'];
  44. $param['sender_name'] = $member_info['member_nickname'];
  45. $param['make_type'] = \bonus\type::MakeShakeType;
  46. $name = $member_info['member_nickname'];
  47. $param['type_name'] = "从{$name}摇来的红包";
  48. $ret = bonus_helper::make_bonus($param);
  49. if($ret != false) {
  50. $bonusex = bonus_helper::send($ret['type_sn'],array($to_id));
  51. return $bonusex;
  52. } else {
  53. return false;
  54. }
  55. }
  56. public static function lost_bonus($from_id,$to_id,$amount)
  57. {
  58. $param = self::base_param($amount,1);
  59. $member_info = Model('member')->getMemberInfoByID($from_id);
  60. $param['sender_id'] = $member_info['member_id'];
  61. $param['sender_mobile'] = $member_info['member_mobile'];
  62. $param['sender_name'] = $member_info['member_nickname'];
  63. $param['make_type'] = \bonus\type::MakeShakeType;
  64. $name = $member_info['member_nickname'];
  65. $param['type_name'] = "{$name}摇过来的红包";
  66. $ret = bonus_helper::make_bonus($param);
  67. if($ret != false)
  68. {
  69. $bonusex = bonus_helper::send($ret['type_sn'],array($to_id));
  70. return $bonusex;
  71. } else {
  72. return false;
  73. }
  74. }
  75. public static function gain_sysBonus($to_id,$amount)
  76. {
  77. $param = self::base_param($amount,1);
  78. self::admin_param($param);
  79. $param['make_type'] = \bonus\type::MakeShakeType;
  80. $param['type_name'] = "从熊猫美妆摇来的红包";
  81. $ret = bonus_helper::make_bonus($param);
  82. if($ret != false) {
  83. $bonusex = bonus_helper::send($ret['type_sn'],array($to_id));
  84. return $bonusex;
  85. } else {
  86. return false;
  87. }
  88. }
  89. public static function pay_refund($member_id,$amount,$bonus_name)
  90. {
  91. $param = self::base_param($amount,1);
  92. self::admin_param($param);
  93. $param['make_type'] = \bonus\type::MakePayRefundType;
  94. $param['type_name'] = $bonus_name;
  95. $ret = bonus_helper::make_bonus($param);
  96. if($ret != false)
  97. {
  98. bonus_helper::send($ret['type_sn'],array($member_id));
  99. $push_param = array();
  100. $push_param['member_id'] = $member_id;
  101. $push_param['text'] = "红包退款通知:金额{$amount}元.";
  102. $push_param['go_type'] = 'bonus';
  103. QueueClient::push('upushSendMsg',$push_param);
  104. } else {
  105. Log::record("给用户 {$member_id} 退款{$amount}失败.");
  106. }
  107. }
  108. public static function bonus_refund($member_id,$amount,$bonus_name)
  109. {
  110. $param = self::base_param($amount,1);
  111. self::admin_param($param);
  112. $param['make_type'] = \bonus\type::MakeBonusRefundType;
  113. $param['type_name'] = $bonus_name;
  114. $ret = bonus_helper::make_bonus($param);
  115. if($ret != false)
  116. {
  117. bonus_helper::send($ret['type_sn'],array($member_id));
  118. $push_param = array();
  119. $push_param['member_id'] = $member_id;
  120. $push_param['text'] = "红包退款通知:金额{$amount}元.";
  121. $push_param['go_type'] = 'bonus';
  122. QueueClient::push('upushSendMsg',$push_param);
  123. } else {
  124. Log::record("给用户 {$member_id} 退款{$amount}失败.");
  125. }
  126. }
  127. public static function send_bonus($member_id,$amount)
  128. {
  129. }
  130. public static function steal_bonus()
  131. {
  132. }
  133. public static function fly_bonus()
  134. {
  135. }
  136. public static function onPredeposit($change_type,$member_id,$pd_amount)
  137. {
  138. if($change_type == 'order_pay' || $change_type == 'order_freeze') {
  139. bonus_helper::withold($member_id,$pd_amount);
  140. }
  141. elseif($change_type == 'order_cancel') { // 发送给该用户一个同等额度的红包
  142. self::pay_refund($member_id,$pd_amount,"退款红包");
  143. }
  144. elseif($change_type == 'refund') { // 发送给该用户一个同等额度的红包
  145. self::pay_refund($member_id,$pd_amount,"退款红包");
  146. }
  147. elseif($change_type == 'bonus_refund') { // 发送给该用户一个同等额度的红包
  148. self::bonus_refund($member_id,$pd_amount,"红包过期未领退款");
  149. }
  150. elseif($change_type == 'hand_out_bonus') {
  151. bonus_helper::withold($member_id,$pd_amount);
  152. }
  153. }
  154. }