TestBonus.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 16/6/21
  6. * Time: 下午8:28
  7. */
  8. define('BASE_ROOT_PATH',str_replace('/test','',dirname(__FILE__)));
  9. require_once(BASE_ROOT_PATH . '/fooder.php');
  10. require_once(BASE_ROOT_PATH . '/helper/bonus_helper.php');
  11. require_once(BASE_ROOT_PATH . '/helper/bonus/witholder.php');
  12. require_once(BASE_ROOT_PATH . '/helper/bonus/norate_holder.php');
  13. require_once(BASE_ROOT_PATH . '/helper/notify_helper.php');
  14. require_once(BASE_ROOT_PATH . '/data/mobile/lrlz_staff.php');
  15. class TestBonus extends PHPUnit_Framework_TestCase
  16. {
  17. public static function setUpBeforeClass()
  18. {
  19. Base::run_util();
  20. }
  21. public static function tearDownAfterClass()
  22. {
  23. }
  24. public function testTransWrapper()
  25. {
  26. }
  27. public function testSend()
  28. {
  29. $param = bonus\parameters::test_bonus();
  30. $ret = bonus_helper::make_bonus($param, $param['rate_money']);
  31. if ($ret != false) {
  32. $type_sn = $ret['type_sn'];
  33. $bonus = bonus_helper::send($type_sn, [39659]);
  34. return $type_sn;
  35. } else {
  36. return false;
  37. }
  38. }
  39. public function testScaler()
  40. {
  41. //$scaler = new \bonus\scaler([10 => 10,100 => 100,50 => 50, 30 => 30]);
  42. //$scaler = new \bonus\scaler([10 => 10,50 => 50, 20 => 60,100 => 100]);
  43. $scaler = new \bonus\scaler([30 => 0.62, 100 => 1.26]);
  44. $ret = $scaler->calc();
  45. }
  46. public function testModel()
  47. {
  48. $item = Model('user_bonus')->field('*')->where(array('type_id' => 105, 'bonus_id' => 2491))->select();
  49. bonus_helper::shake($item[0]['type_id'], $item[0]['bonus_id'], $item[0]['bonus_value'], 3, bonus_helper::direct_dec());
  50. }
  51. public function testMemBonus()
  52. {
  53. $x = false;
  54. if ($x) {
  55. $user_bonus = 0;
  56. }
  57. $bonus_val = $user_bonus->bonus_value();
  58. $mem_bonus = new \bonus\witholder(36490);
  59. $mem_bonus->withold(7.30);
  60. }
  61. public function testExpire()
  62. {
  63. notify_helper::bonus_expired();
  64. }
  65. public function testPush()
  66. {
  67. $url = 'http://a.lrlz.com/mobile/index.php?act=rank_list&op=index&client_type=wap&list_sn=%3Cddc6ff0cd400941d3ae0f8b0889d54a1%3E&from=timeline&isappinstalled=0';
  68. $url = urldecode($url);
  69. }
  70. public function testTime()
  71. {
  72. $send_date = new DateTime();
  73. $send_date->setTimestamp(1478313092);
  74. $usable_date = new DateTime();
  75. $usable_date->setTimestamp(1480905244);
  76. }
  77. public function testKeysort()
  78. {
  79. $x = RESOURCE_SITE_URL;
  80. $data = array(10 => 3018.25, 90 => 5623, 30 => 5566);
  81. ksort($data);
  82. $xdata = $data;
  83. krsort($data);
  84. $xxxx = [];
  85. foreach ($data as $key => $val) {
  86. $xxxx[$key] = $val;
  87. }
  88. }
  89. public function testRegex()
  90. {
  91. $src = '30|1980|165#60|10|20#50|10|5';
  92. $params = explode('#', urldecode($src));
  93. $result = [];
  94. foreach ($params as $val) {
  95. if (preg_match_all('/^(\d{1,2})\|(\d{1,4})\|(\d{1,6})$/', $val, $match)) {
  96. $item['rate'] = intval($match[1]);
  97. $item['amount'] = intval($match[2]);
  98. $item['num'] = intval($match[3]);
  99. $result[] = $item;
  100. }
  101. }
  102. //$regxp = '/([0-9^|#]*|[0-9^|#]*|[0-9^|#]*)[#]?/i';
  103. // $regxp = '/(([0-9]*){3}[#]?/i';
  104. $regxp = '/(([0-9]*)|([0-9]*)|([0-9]*)[^#]){1}[#]?/i';
  105. $val = preg_match_all($regxp, $src, $match);
  106. }
  107. public function testMicro()
  108. {
  109. microtime();
  110. }
  111. public function testRefundBonus()
  112. {
  113. account_helper::bonus_refund('700532450973112490', 36490);
  114. }
  115. public function testBonusShare()
  116. {
  117. $mod_share = Model('bonus_share');
  118. $items = $mod_share->getAll();
  119. }
  120. private function make_sn()
  121. {
  122. return mt_rand(10, 99)
  123. . sprintf('%010d', time())
  124. . sprintf('%06d', (float)microtime() * 1000000);
  125. }
  126. public function testMakeSn()
  127. {
  128. $sns = [];
  129. for ($index = 0; $index < 100000; $index++) {
  130. $sns[] = $this->make_sn();
  131. }
  132. $sns = array_unique($sns);
  133. $count = count($sns);
  134. }
  135. public function testMoney()
  136. {
  137. }
  138. public function testStaff()
  139. {
  140. $staffs = lrlz_staff();
  141. $type_sn = '36221506503801666595';
  142. bonus_helper::send_mobile($type_sn, $staffs);
  143. }
  144. public function testAndroidUrl()
  145. {
  146. $url = BASE_SITE_URL . '/data/upload/package/xmmz_release.apk';
  147. echo $url;
  148. }
  149. public function testLowestprice()
  150. {
  151. }
  152. }