parameters.php 8.6 KB

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