bonusex.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 16/4/11
  6. * Time: 上午12:49
  7. */
  8. defined('InShopNC') or exit('Access Invalid!');
  9. require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
  10. require_once (BASE_ROOT_PATH . '/helper/predeposit_helper.php');
  11. require_once (BASE_ROOT_PATH . '/helper/user_helper.php');
  12. require_once (BASE_ROOT_PATH . '/helper/sms_helper.php');
  13. class bonusexControl extends mobileControl
  14. {
  15. public function __construct() {
  16. parent::__construct();
  17. }
  18. private function fileter_typeinfos($type_infos,&$type_info,&$binded_info)
  19. {
  20. $type_info = bonus_helper::filter_type($type_infos['type_info']);
  21. $binded_info = array();
  22. $binded_infos = $type_infos['binded_info'];
  23. if(is_array($binded_infos))
  24. {
  25. foreach($binded_infos as $val)
  26. {
  27. $user_info = bonus_helper::filter_bonus($val);
  28. if(isset($val['user_mobile'])) {
  29. unset($val['user_mobile']);
  30. }
  31. array_push($binded_info,$user_info);
  32. }
  33. }
  34. }
  35. public function openOp()
  36. {
  37. if(!isset($_GET['type_sn']) || empty($_GET['type_sn'])) {
  38. return self::outerr(errcode::ErrParamter,"需要红包 type_sn 参数.");
  39. }
  40. $type_sn = $_GET['type_sn'];
  41. $type_infos = bonus_helper::get_typeinfo($type_sn);
  42. if(empty($type_infos)) {
  43. return self::outerr(errcode::ErrBonus,"无此红包.");
  44. }
  45. $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
  46. $type = \bonus\type::crate_by_paramer($type_infos['type_info']);
  47. if($type->isStart() == false) {
  48. return self::outsuccess(array('type_info' => $type_info),"bonus/unstart");
  49. }
  50. $mine_bonus = bonus_helper::get_mine_by_typesn($type_sn);
  51. if($mine_bonus != false)
  52. { //显示我抢到的红包,按照状态进行判断
  53. $bonus = \bonus\user_bonus::create_by_param($mine_bonus);
  54. $mine_bonus = bonus_helper::filter_bonus($mine_bonus);
  55. if($bonus->isBinded() == false && user_helper::isVerfiyMobile())
  56. {
  57. $ret = bonus_helper::bind_bonus($bonus->bonus_sn(),$_SESSION['MPHPSESSID'],user_helper::cur_mobile(),$new_sn);
  58. if($ret == true) {
  59. $mine_bonus = bonus_helper::get_mine_by_bonussn($new_sn);
  60. }
  61. }
  62. $data = array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info);
  63. if($bonus->isBinded()) {
  64. return self::outsuccess($data,"bonus/content");
  65. }
  66. else
  67. {
  68. if($type->isEnd()) {
  69. return self::outsuccess(array('type_info' => $type_info),"bonus/end");
  70. } else {
  71. return self::outsuccess($data,"bonus/bind");
  72. }
  73. }
  74. }
  75. else
  76. { //我没有抢过的情况
  77. if($type->isEnd()) {
  78. return self::outsuccess(array('type_info' => $type_info),"bonus/end");
  79. }
  80. else if($type->binded_over()) {
  81. return self::outsuccess(array('type_info' => $type_info,'msg' => "手慢了,红包派完了"),"bonus/over");
  82. } else {
  83. return self::outsuccess(array('type_info' => $type_info),"bonus/open");
  84. }
  85. }
  86. }
  87. public function detailOp()
  88. {
  89. if(!isset($_GET['type_sn']) || empty($_GET['type_sn'])) {
  90. return self::outerr(errcode::ErrParamter,"需要红包 type_sn 参数.");
  91. }
  92. $type_sn = $_GET['type_sn'];
  93. $type_infos = bonus_helper::get_typeinfo($type_sn);
  94. if(empty($type_infos)) {
  95. return self::outerr(errcode::ErrBonus,"无此红包.");
  96. }
  97. $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
  98. $type = \bonus\type::crate_by_paramer($type_infos['type_info']);
  99. if($type->isStart() == false) {
  100. return self::outsuccess(array('type_info' => $type_info),"bonus/unstart");
  101. }
  102. $mine_bonus = bonus_helper::get_mine_by_typesn($type_sn);
  103. if($mine_bonus != false) { //显示我抢到的红包,按照状态进行判断
  104. $mine_bonus = bonus_helper::filter_bonus($mine_bonus);
  105. }
  106. return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),'bonus/detail');
  107. }
  108. public function grabOp()
  109. {
  110. if(!isset($_GET['type_sn']) || empty($_GET['type_sn'])) {
  111. return self::outerr(errcode::ErrParamter,"需要红包 type_sn 参数.");
  112. }
  113. $type_sn = $_GET['type_sn'];
  114. $type_infos = bonus_helper::get_typeinfo($type_sn);
  115. if(empty($type_infos)) {
  116. return self::outerr(errcode::ErrBonus,"无此红包.");
  117. }
  118. $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
  119. $type = \bonus\type::crate_by_paramer($type_infos['type_info']);
  120. if($type->isStart() == false) {
  121. return self::outsuccess(array('type_info' => $type_info),"bonus/unstart");
  122. }
  123. $mine_bonus = bonus_helper::get_mine_by_typesn($type_sn);
  124. if($mine_bonus != false)
  125. { //显示我抢到的红包,按照状态进行判断
  126. $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus);
  127. $mine_bonus = bonus_helper::filter_bonus($mine_bonus);
  128. if($bonus_obj->isBinded()) {
  129. return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/content");
  130. }
  131. elseif($type->isEnd()) {
  132. return self::outsuccess(array('type_info' => $type_info),"bonus/end");
  133. }
  134. else
  135. {
  136. if(user_helper::isVerfiyMobile())
  137. {
  138. $ret = bonus_helper::bind_bonus($bonus_obj->bonus_sn(),$_SESSION['MPHPSESSID'],user_helper::cur_mobile(),$new_sn);
  139. if($ret == true) {
  140. $mine_bonus = bonus_helper::get_mine_by_bonussn($new_sn);
  141. return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/content");
  142. } else { //todo 此处是绑定错误...
  143. return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/bind");
  144. }
  145. } else {
  146. return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/bind");
  147. }
  148. }
  149. }
  150. else
  151. {
  152. if($type->isEnd()) {
  153. return self::outsuccess(array('type_info' => $type_info),"bonus/end");
  154. }
  155. elseif($type->binded_over()) {
  156. return self::outsuccess(array('type_info' => $type_info,'msg' => "手慢了,红包派完了"),"bonus/over");
  157. }
  158. else
  159. {
  160. $bonus = bonus_helper::grab_bonus($type_sn);
  161. if($bonus == false) {
  162. return self::outsuccess(array('type_info' => $type_info,'msg' => "手慢了,红包派完了"),"bonus/over");
  163. }
  164. else
  165. {
  166. $bonus_obj = \bonus\user_bonus::create_by_param($bonus);
  167. $mine_bonus = bonus_helper::filter_bonus($bonus);
  168. if($bonus_obj->isBinded())
  169. {
  170. $type_infos = bonus_helper::get_typeinfo($bonus_obj->type_sn());
  171. if(empty($type_infos)) {
  172. return self::outerr(errcode::ErrBonus,"无此红包.");
  173. }
  174. $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
  175. $data = array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info);
  176. return self::outsuccess($data,"bonus/content");
  177. } else {
  178. $data = array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info);
  179. return self::outsuccess($data,"bonus/bind");
  180. }
  181. }
  182. }
  183. }
  184. }
  185. public function bindOp()
  186. {
  187. if(!isset($_GET['bonus_sn']) || empty($_GET['bonus_sn'])) {
  188. return self::outerr(errcode::ErrParamter,"请输入红包序列号.");
  189. }
  190. $bonus_sn = $_GET['bonus_sn'];
  191. $mine_bonus = bonus_helper::get_mine_by_bonussn($bonus_sn);
  192. if($mine_bonus == false) {
  193. return self::outerr(errcode::ErrParamter, "您不能领没有抢到的红包.");
  194. }
  195. $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus);
  196. if($bonus_obj->isBinded()) {
  197. $type_sn = $bonus_obj->type_sn();
  198. $type_infos = bonus_helper::get_typeinfo($type_sn);
  199. $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
  200. $mine_bonus = bonus_helper::filter_bonus($mine_bonus);
  201. return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/content");
  202. }
  203. $type_sn = $bonus_obj->type_sn();
  204. $type_infos = bonus_helper::get_typeinfo($type_sn);
  205. $type = \bonus\type::crate_by_paramer($type_infos['type_info']);
  206. if($type->isEnd()) {
  207. return self::outsuccess(array('type_info' => $type_infos['type_info']),"bonus/end");
  208. }
  209. elseif(user_helper::isVerfiyMobile()) {
  210. $mobile = user_helper::cur_mobile();
  211. }
  212. else
  213. {
  214. $mobile = $_GET['mobile'];
  215. $validator = new Validate();
  216. $validator->setValidate(Validate::verify_mobile($mobile));
  217. $err = $validator->validate();
  218. if ($err != '') {
  219. return self::outerr(errcode::ErrParamter, $err);
  220. }
  221. if(!isset($_GET['code']) || empty($_GET['code'])) {
  222. return self::outerr(errcode::ErrParamter, "请输入验证码.");
  223. }
  224. $code = $_GET['code'];
  225. $ret = sms_helper::check_code(Sms::getbonus_code,$code,$mobile);
  226. if(is_array($ret)) {
  227. return self::outerr($ret['code'], $ret['msg']);
  228. } else {
  229. $_SESSION['member_mobile'] = $mobile;
  230. }
  231. }
  232. $ret = bonus_helper::bind_bonus($bonus_sn,$_SESSION['MPHPSESSID'],$mobile,$new_bonus_sn);
  233. if($ret == true) {
  234. $mine_bonus = bonus_helper::get_mine_by_bonussn($new_bonus_sn);
  235. $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus);
  236. $type_infos = bonus_helper::get_typeinfo($bonus_obj->type_sn());
  237. $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
  238. //绑定手机成功后自动注册为用户
  239. user_helper::bindbonus_register($mobile,$code);
  240. return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info));
  241. } else {
  242. return self::outerr($ret['code'],$ret['msg']);
  243. }
  244. }
  245. public function shakeOp()
  246. {
  247. if(!isset($_GET['bonus_sn']) || empty($_GET['bonus_sn'])) {
  248. return self::outerr(errcode::ErrParamter,"请输入红包序列号.");
  249. }
  250. $bonus_sn = $_GET['bonus_sn'];
  251. $mine_bonus = bonus_helper::get_mine_by_bonussn($bonus_sn);
  252. if($mine_bonus == false) {
  253. return self::outerr(errcode::ErrParamter, "领到红包后才可以摇.");
  254. }
  255. if(!isset($_POST['strength']) || empty($_POST['strength'])) {
  256. $strength = intval($_POST['strength']);
  257. } else {
  258. $strength = 3;
  259. }
  260. $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus);
  261. if($bonus_obj->isBinded())
  262. {
  263. $type_sn = $bonus_obj->type_sn();
  264. $type_infos = bonus_helper::get_typeinfo($type_sn);
  265. $type = \bonus\type::crate_by_paramer($type_infos['type_info']);
  266. if($type->isEnd()) {
  267. return self::outsuccess(errcode::ErrBonus,"该红包已经过期,不能再摇啦~");
  268. }
  269. elseif($type->binded_over()) {
  270. return self::outsuccess(errcode::ErrBonus,"该红包已经被领光,摇不出更多啦~");
  271. }
  272. elseif($type->isFixedAmount()) {
  273. return self::outsuccess(errcode::ErrBonus,"只有拼收起红包才可以摇哦~");
  274. }
  275. else
  276. {
  277. $direction = bonus_helper::direct_dec();
  278. $ret = bonus_helper::shake($bonus_obj->bonus_sn(),$strength,$direction);
  279. if($ret == true) {
  280. $bonus = bonus_helper::get_mine_by_bonussn($bonus_obj->bonus_sn());
  281. $type_infos = bonus_helper::get_typeinfo($bonus_obj->type_sn());
  282. $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
  283. return self::outsuccess(array('type_info' => $type_info,
  284. 'mine_bonus' => $bonus,'binded_info' => $binded_info),"bonus/content");
  285. } else {
  286. return self::outsuccess(errcode::ErrBonus,"只有拼收起红包才可以摇哦~");
  287. }
  288. }
  289. }
  290. else {
  291. return self::outerr(errcode::ErrParamter, "领到红包后才可以摇.");
  292. }
  293. }
  294. //红包留言
  295. public function commentOp()
  296. {
  297. if(!isset($_GET['bonus_sn']) || empty($_GET['bonus_sn'])) {
  298. return self::outerr(errcode::ErrParamter,"请输入红包序列号.");
  299. }
  300. $bonus_sn = $_GET['bonus_sn'];
  301. if(!isset($_GET['comment']) || empty($_GET['comment'])) {
  302. return self::outerr(errcode::ErrParamter,"请输入留言.");
  303. }
  304. $comment = urldecode($_GET['comment']);
  305. if(bonus_helper::comment($bonus_sn,urldecode($comment)) == true) {
  306. return self::outsuccess(array());
  307. } else {
  308. return self::outerr(errcode::ErrBonusComment,"留言失败.");
  309. }
  310. }
  311. }
  312. function bonus_output_unstart($output)
  313. {
  314. $type_info = $output['type_info'];
  315. $type = \bonus\type::crate_by_paramer($type_info);
  316. $local_tm = time();
  317. $start_tm = $type->get_start_time();
  318. $str_localtime = "<input type=\"hidden\" id=\"server_local_time\" value=\"{$local_tm}\"/>";
  319. $str_starttime = "<input type=\"hidden\" id=\"server_start_time\" value=\"{$start_tm}\"/>";
  320. echo($str_localtime);
  321. echo($str_starttime);
  322. }
  323. function bonus_output_end($output)
  324. {
  325. $type_info = $output['type_info'];
  326. $type = \bonus\type::crate_by_paramer($type_info);
  327. $start_tm = $type->get_start_time();
  328. $end_time = $type->get_end_time();
  329. $day_secs = 24 * 60 * 60;
  330. if(($end_time - $start_tm) == $day_secs) {
  331. return "该红包已超过24小时。";
  332. } else {
  333. return "该红包已过期。";
  334. }
  335. }
  336. function bonus_output_grabinfo($output)
  337. {
  338. $type_info = $output['type_info'];
  339. $type = \bonus\type::crate_by_paramer($type_info);
  340. if($type->binded_over()) {
  341. echo("<p>手慢了,红包被领完了</p>");
  342. }
  343. else if($type->grabed_over())
  344. {
  345. echo ("<p>手慢了,红包被抢完了</p>");
  346. $last_time = $type->grab_lastime();
  347. if($last_time) {
  348. $wait_sec = $last_time + 600 - time();
  349. $wait_min = intval($wait_sec / 60);
  350. $wait_sec = $wait_sec % 60;
  351. if($wait_min > 0) {
  352. echo("<p style=\"font-size:1rem;margin-top:2rem\">{$wait_min}分钟后,您可以尝试抢一个未及时领取的红包.</p>");
  353. } else {
  354. echo("<p style=\"font-size:1rem;margin-top:2rem\">{$wait_sec}秒后,您可以尝试抢一个未及时领取的红包.</p>");
  355. }
  356. }
  357. }
  358. }
  359. function bonus_output_sender($output)
  360. {
  361. $type_info = $output['type_info'];
  362. if(!empty($type_info)) {
  363. $type = \bonus\type::crate_by_paramer($type_info);
  364. echo($type->sender_name());
  365. } else {
  366. echo("");
  367. }
  368. }
  369. function bonus_output_openurl($output)
  370. {
  371. $type_info = $output['type_info'];
  372. $type = \bonus\type::crate_by_paramer($type_info);
  373. $type_sn = $type->getType_sn();
  374. $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&type_sn={$type_sn}";
  375. return $url;
  376. }
  377. function bonus_output_detailurl($output)
  378. {
  379. $type_info = $output['type_info'];
  380. $type = \bonus\type::crate_by_paramer($type_info);
  381. $type_sn = $type->getType_sn();
  382. $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=detail&type_sn={$type_sn}&client_type=wap";
  383. return $url;
  384. }
  385. function bonus_output_graburl($output)
  386. {
  387. $type_info = $output['type_info'];
  388. $type = \bonus\type::crate_by_paramer($type_info);
  389. $type_sn = $type->getType_sn();
  390. $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=grab&client_type=wap&type_sn={$type_sn}";
  391. return $url;
  392. }
  393. function bonus_output_type($output)
  394. {
  395. echo '<p class="p p_name" style="color:#454545">';
  396. $type_info = $output['type_info'];
  397. $type = \bonus\type::crate_by_paramer($type_info);
  398. echo($type_info['sender_name'] . "的红包");
  399. if($type->isRandomAmount()) {
  400. echo '<s class="icon_pin"></s>';
  401. }
  402. echo '</p>';
  403. echo '<p class="prompt">' . $type_info['type_bless'] . '</p>';
  404. }
  405. function bonus_output_mine($output)
  406. {
  407. $mine_bonus = $output['mine_bonus'];
  408. if(!empty($mine_bonus)) {
  409. $bonus = \bonus\user_bonus::create_by_param($mine_bonus);
  410. echo('<div class="price">');
  411. echo('<p><span>' . $bonus->bonus_value() . '</span>元</p>');
  412. echo('</div>');
  413. echo('<input type="hidden" id="mine_bonus" value=' ."{$bonus->bonus_sn()}>");
  414. if($bonus->isBinded()) {
  415. echo('<div class="link">');
  416. echo('<p style="margin: 20px 0"><a href="javascript:void(0)">请下载熊猫美妆APP,享用红包</a></p>');
  417. echo('</div>');
  418. }
  419. }
  420. else {
  421. echo('<div class="link">');
  422. echo('<p style="margin: 20px 0><a href="javascript:void(0)">请下载熊猫美妆APP</a></p>');
  423. echo('</div>');
  424. }
  425. }
  426. function bonus_out_bindtimeout($output)
  427. {
  428. $mine_bonus = $output['mine_bonus'];
  429. if(!empty($mine_bonus))
  430. {
  431. $bonus = \bonus\user_bonus::create_by_param($mine_bonus);
  432. $grab_time = $bonus->grab_time();
  433. $time_out = 600;
  434. if($grab_time > 0)
  435. {
  436. if($grab_time + $time_out <= time() - 60) {
  437. return '您的红包随时可能被抢走,抓紧领啊~';
  438. } else {
  439. $left_time = $grab_time + $time_out - time();
  440. $mins = $left_time / 60;
  441. return "请{$mins}分钟内,输入手机号领取红包";
  442. }
  443. }
  444. }
  445. return '';
  446. }
  447. function bonus_out_bindedtime($period)
  448. {
  449. $min = 60;
  450. $hour = 3600;
  451. $day = 24 * 3600;
  452. $days = intval($period / $day);
  453. $period = $period % $day;
  454. $houres = intval($period / $hour);
  455. $period = $period % $hour;
  456. $mins = intval($period / $min);
  457. $period = $period % $min;
  458. if($period > 0) {
  459. $mins += 1;
  460. }
  461. $time_str = '';
  462. if($days > 0) {
  463. $time_str .= "{$days}天";
  464. }
  465. if($houres > 0) {
  466. $time_str .= "{$houres}小时";
  467. }
  468. if($mins > 0) {
  469. $time_str .= "{$mins}分钟";
  470. }
  471. $time_str .= "领完.";
  472. return $time_str;
  473. }
  474. function bonus_output_bindedinfo($output)
  475. {
  476. $type_info = $output['type_info'];
  477. $type = \bonus\type::crate_by_paramer($type_info);
  478. echo('<div class="prompt text_left">');
  479. if($type->binded_over()) {
  480. $prompt = "{$type->getTotal_num()}个红包";
  481. $prompt .= ",";
  482. $period = $type_info['binded_period'];
  483. $prompt .= bonus_out_bindedtime($period);
  484. } else {
  485. $prompt = "领取 {$type->binded_num()}/{$type->getTotal_num()}";
  486. }
  487. echo('<p class="prompt pro">' .$prompt. '</p>');
  488. echo('</div>');
  489. $bined_info = $output['binded_info'];
  490. if(empty($bined_info)) return;
  491. foreach($bined_info as $val)
  492. {
  493. $bonus = \bonus\user_bonus::create_by_param($val);
  494. echo('<div class="li">');
  495. echo('<div class="li_left">');
  496. echo('<p class="p">' . $bonus->user_name() .'</p>');
  497. if(empty($bonus->user_comment()))
  498. {
  499. if($bonus->user_mobile() == $_SESSION['member_mobile']) {
  500. echo ('<p class="prompt" id="my_prompt">');
  501. echo ('<a href="javascript:void(0)" id="message" style="color: #1927D1">留言</a>');
  502. echo ('</p>');
  503. echo('<p class="prompt">' . $bonus->get_time_format() . '</p>');
  504. } else {
  505. echo('<p class="prompt">' . $bonus->get_time_format() . '</p>');
  506. echo('<p class="prompt"></p>');
  507. }
  508. } else {
  509. echo('<p class="prompt">' . $bonus->user_comment() . '</p>');
  510. echo('<p class="prompt">' . $bonus->get_time_format() . '</p>');
  511. }
  512. echo('</div>');
  513. echo('<div class="li_right">');
  514. echo('<p class="p">' . $bonus->bonus_value() . '元</p>');
  515. if($type->binded_over() && $type->isMaxAmount($bonus->bonus_value()) && $type->isRandomAmount()) {
  516. echo('<p class="king_box"><s class="king"></s>手气最佳</p>');
  517. }
  518. echo('</div>');
  519. echo('</div>');
  520. }
  521. }