parameters.php 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/1/6
  6. * Time: 下午5:56
  7. */
  8. namespace bonus;
  9. use \Exception;
  10. use \member_info;
  11. class parameters
  12. {
  13. const admin_member_id = 36429;
  14. const admin_name = '熊猫美妆';
  15. public static function invite($relay_id)
  16. {
  17. try
  18. {
  19. $info = new member_info($relay_id);
  20. $nickname = $info->nickname();
  21. $type_name = "您的好友{$nickname},邀请您使用熊猫美妆";
  22. }
  23. catch (Exception $ex) {
  24. $type_name = "好友邀请红包";
  25. }
  26. $param['make_type'] = type::MakeInviteType;
  27. $param['type_name'] = $type_name;
  28. $param['send_type'] = type::SendType_Fixed;
  29. $param['grab_type'] = type::GrabType_EXEXIST;
  30. $param['relayer_id'] = $relay_id;
  31. $param['sender_id'] = self::admin_member_id;
  32. $param['sender_name'] = self::admin_name;
  33. $param['rate_money'][] = array('amount' => 20,'num' => 10, 'rate' => 50);
  34. return $param;
  35. }
  36. public static function evaluate()
  37. {
  38. $param['make_type'] = type::MakeEvaluateType;
  39. $param['type_name'] = "订单评论奖励红包";
  40. $param['send_type'] = type::SendType_Fixed;
  41. $param['grab_type'] = type::GrabType_All;
  42. $param['sender_id'] = self::admin_member_id;
  43. $param['sender_name'] = self::admin_name;
  44. $param['rate_money'][] = array('amount' => 8,'num' => 1, 'rate' => 50);
  45. return $param;
  46. }
  47. public static function guide()
  48. {
  49. $param['make_type'] = type::MakeInviteRewardType;
  50. $param['type_name'] = "邀请好友,奖励红包";
  51. $param['send_type'] = type::SendType_Fixed;
  52. $param['grab_type'] = type::GrabType_All;
  53. $param['sender_id'] = self::admin_member_id;
  54. $param['sender_name'] = self::admin_name;
  55. $param['rate_money'][] = array('amount' => 10,'num' => 1, 'rate' => 50);
  56. return $param;
  57. }
  58. public static function admin_fixed($rate,$amount,$num,$type_name)
  59. {
  60. $param['make_type'] = type::MakeSendType;
  61. $param['type_name'] = empty($type_name) ? "系统红包" : $type_name;
  62. $param['send_type'] = type::SendType_Fixed;
  63. $param['grab_type'] = type::GrabType_All;
  64. $param['sender_id'] = self::admin_member_id;
  65. $param['sender_name'] = self::admin_name;
  66. $param['rate_money'][] = array('amount' => $amount,'num' => $num, 'rate' => $rate);
  67. return $param;
  68. }
  69. public static function reigster_fixed()
  70. {
  71. $param['make_type'] = type::MakeRegisterType;
  72. $param['type_name'] = "新人红包";
  73. $param['send_type'] = type::SendType_Fixed;
  74. $param['grab_type'] = type::GrabType_All;
  75. $param['sender_id'] = self::admin_member_id;
  76. $param['sender_name'] = self::admin_name;
  77. $param['rate_money'][] = array('amount' => 20,'num' => 1, 'rate' => 50);
  78. return $param;
  79. }
  80. public static function register_random()
  81. {
  82. $param['make_type'] = type::MakeRegisterType;
  83. $param['type_name'] = "新人可分享红包";
  84. $param['send_type'] = type::SendType_Random;
  85. $param['grab_type'] = type::GrabType_All;
  86. $param['sender_id'] = self::admin_member_id;
  87. $param['sender_name'] = self::admin_name;
  88. $param['rate_money'][] = array('amount' => 500,'num' => 10, 'rate' => 30);
  89. return $param;
  90. }
  91. public static function shake_system($rate_moneys)
  92. {
  93. $param['make_type'] = type::MakeShakeGainType;
  94. $param['type_name'] = "从熊猫美妆摇来的红包";
  95. $param['send_type'] = type::SendType_Random;
  96. $param['grab_type'] = type::GrabType_All;
  97. $param['sender_id'] = self::admin_member_id;
  98. $param['sender_name'] = self::admin_name;
  99. $param['rate_money'] = $rate_moneys;
  100. return $param;
  101. }
  102. public static function shake_gain($from_id,$mobile,$nickname,$rate,$money)
  103. {
  104. $param['type_name'] = "从{$nickname}摇来的红包";
  105. $param['sender_id'] = $from_id;
  106. $param['sender_mobile'] = $mobile;
  107. $param['sender_name'] = $nickname;
  108. $param['make_type'] = type::MakeShakeGainType;
  109. $param['send_type'] = type::SendType_Fixed;
  110. $param['grab_type'] = type::GrabType_All;
  111. $param['rate_money'][] = array('amount' => $money,'num' => 1, 'rate' => $rate);
  112. return $param;
  113. }
  114. public static function shake_lost($from_id,$mobile,$nickname,$rate,$money)
  115. {
  116. $param['sender_id'] = $from_id;
  117. $param['sender_mobile'] = $mobile;
  118. $param['sender_name'] = $nickname;
  119. $param['make_type'] = type::MakeShakeLostType;
  120. $param['type_name'] = "{$nickname}摇飞的红包";
  121. $param['send_type'] = type::SendType_Fixed;
  122. $param['grab_type'] = type::GrabType_All;
  123. $param['rate_money'][] = array('amount' => $money,'num' => 1, 'rate' => $rate);
  124. return $param;
  125. }
  126. static private function paied_rates($order_amount)
  127. {
  128. $money = intval($order_amount/100) * 100;
  129. $rate_moneys = [];
  130. if(intval($money / 4) > 0) {
  131. $item['amount'] = intval($money / 4);
  132. $item['num'] = 5;
  133. $item['rate'] = 40;
  134. $rate_moneys[] = $item;
  135. }
  136. if($money == 0) $money = 100;
  137. {
  138. $item['amount'] = $money;
  139. $item['num'] = 10;
  140. $item['rate'] = 30;
  141. $rate_moneys[] = $item;
  142. }
  143. return $rate_moneys;
  144. }
  145. public static function paied($order_amount)
  146. {
  147. $rate_moneys = self::paied_rates($order_amount);
  148. $params = [];
  149. foreach ($rate_moneys as $rate_money)
  150. {
  151. $param = [];
  152. $param['make_type'] = type::MakePayType;
  153. $param['type_name'] = "支付奖励红包(可分享)";
  154. $param['send_type'] = type::SendType_Random;
  155. $param['grab_type'] = type::GrabType_All;
  156. $param['sender_id'] = self::admin_member_id;
  157. $param['sender_name'] = self::admin_name;
  158. $param['rate_money'][] = $rate_money;
  159. $params[] = $param;
  160. }
  161. return $params;
  162. }
  163. public static function order_cancel($bonus_rate)
  164. {
  165. $params = [];
  166. foreach ($bonus_rate as $rate => $amount) {
  167. $param = [];
  168. $param['make_type'] = \bonus\type::MakeOrderCancelType;
  169. $param['type_name'] = '订单退款';
  170. $param['sender_id'] = self::admin_member_id;
  171. $param['sender_name'] = self::admin_name;
  172. $param['send_type'] = type::SendType_Fixed;
  173. $param['grab_type'] = type::GrabType_All;
  174. $param['rate_money'][] = array('amount' => $amount,'num' => 1, 'rate' => $rate);
  175. $params[] = $param;
  176. }
  177. return $params;
  178. }
  179. public static function bonus_refund($rate,$amount)
  180. {
  181. $param['make_type'] = \bonus\type::MakeBonusRefundType;
  182. $param['type_name'] = '红包过期退款';
  183. $param['sender_id'] = self::admin_member_id;
  184. $param['sender_name'] = self::admin_name;
  185. $param['send_type'] = type::SendType_Fixed;
  186. $param['grab_type'] = type::GrabType_All;
  187. $param['rate_money'][] = array('amount' => $amount,'num' => 1, 'rate' => $rate);
  188. return $param;
  189. }
  190. }
  191. class sys_bonus
  192. {
  193. private $mType_sn;
  194. public function __construct() {
  195. $this->mType_sn = null;
  196. }
  197. public function reset($type_sn) {
  198. $this->mType_sn = $type_sn;
  199. }
  200. private function rate_moneys()
  201. {
  202. $result = [];
  203. {
  204. $item['amount'] = 50;
  205. $item['num'] = 10;
  206. $item['rate'] = 50;
  207. $result[] = $item;
  208. }
  209. {
  210. $item['amount'] = 100;
  211. $item['num'] = 20;
  212. $item['rate'] = 40;
  213. $result[] = $item;
  214. }
  215. {
  216. $item['amount'] = 850;
  217. $item['num'] = 70;
  218. $item['rate'] = 30;
  219. $result[] = $item;
  220. }
  221. return $result;
  222. }
  223. public function type_sn() {
  224. return $this->mType_sn;
  225. }
  226. public function bind_over()
  227. {
  228. if($this->mType_sn == null) {
  229. return true;
  230. }
  231. $type = type::create_by_sn($this->mType_sn);
  232. return $type->binded_over();
  233. }
  234. public function gen_param(&$rates)
  235. {
  236. $rates = $this->rate_moneys();
  237. return parameters::shake_system($rates);
  238. }
  239. }