factory.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 16/4/12
  6. * Time: 上午12:06
  7. */
  8. namespace bonus;
  9. use \Exception;
  10. class factory
  11. {
  12. static public function make_vote_type($paramer,$rate_moneys=null)
  13. {
  14. try
  15. {
  16. $type = type::create_by_input($paramer);
  17. $iGen = create_generator($type);
  18. $iGen->make_type();
  19. $money = $type->getTotal_amount();
  20. return ['type_sn' => $type->getType_sn(),'money' => $money];
  21. }
  22. catch (Exception $ex) {
  23. return false;
  24. }
  25. }
  26. static public function make_bonus($paramer,$rate_moneys) //数组类型的参数
  27. {
  28. try
  29. {
  30. $type = type::create_by_input($paramer);
  31. $iGen = create_generator($type);
  32. $iGen->make_type();
  33. if(!$ret = $iGen->make_bonus($rate_moneys)) {
  34. Model('bonus_type')->delete(['type_id' => $type->getType_id()]);
  35. Model('user_bonus')->delete(['type_id' => $type->getType_id()]);
  36. return false;
  37. }
  38. $money = $type->getTotal_amount();
  39. return ['type_sn' => $type->getType_sn(),'money' => $money];
  40. }
  41. catch (Exception $ex) {
  42. return false;
  43. }
  44. }
  45. static public function grab_bonus($paramer) //数组类型的参数
  46. {
  47. try
  48. {
  49. $type = type::create_by_sn($paramer['type_sn']);
  50. $iGrab = create_grab($type);
  51. $bonus = $iGrab->get_bonus($paramer);
  52. if(empty($bonus)) {
  53. return false;
  54. } else {
  55. return $bonus;
  56. }
  57. } catch (Exception $ex) {
  58. return false;
  59. }
  60. }
  61. }