parameters.php 10 KB

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