TestBonus.php 4.7 KB

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