notify_helper.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 16/6/26
  6. * Time: 下午9:30
  7. */
  8. require_once (BASE_ROOT_PATH . '/helper/account_helper.php');
  9. require_once (BASE_ROOT_PATH . '/helper/predeposit_helper.php');
  10. require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
  11. class notify_helper
  12. {
  13. private static function secs_days($secs)
  14. {
  15. $days = intval($secs / 86400) + ($secs % 86400 != 0) ? 1 : 0;
  16. return $days;
  17. }
  18. static public function onBonusExpire($warn_remain_days, $warn_interval_days)
  19. {
  20. //todo 以后检查时间是否可能是负数
  21. $mod_bonus = Model("user_bonus");
  22. $items = $mod_bonus->getNeedWarn($warn_remain_days, $warn_interval_days);
  23. if($items == false) return;
  24. $ids = array();
  25. foreach ($items as $key => $val) {
  26. $bonus = bonus\user_bonus::create_by_param($val);
  27. $leftsecs = $bonus->usable_time() - time();
  28. $remain_days = self::secs_days($leftsecs);
  29. $amount = $bonus->remain_amount();
  30. $param = array();
  31. $param['member_id'] = $bonus->user_id();
  32. $param['text'] = "红包过期通知:您价值{$amount}元的红包将在{$remain_days}天内过期,请尽快分享给好友或者买买买~";
  33. $param['go_type'] = 'bonus';
  34. QueueClient::push('upushSendMsg', $param);
  35. array_push($ids,$bonus->bonus_id());
  36. }
  37. if (!empty($ids)) {
  38. $mod_bonus->edit(array('bonus_id' => array('in', $ids)),array("notify_time" => time()));
  39. }
  40. }
  41. static public function bonus_expired()
  42. {
  43. $mod_bonus = Model("user_bonus");
  44. $items = $mod_bonus->getExpired();
  45. $ids = array();
  46. foreach ($items as $key => $val) {
  47. $bonus = bonus\user_bonus::create_by_param($val);
  48. $user_id = $bonus->user_id();
  49. $amount = $bonus->remain_amount();
  50. $pred = new predeposit_helper($user_id);
  51. $pred->bonus_expire($val);
  52. $param = array();
  53. $param['member_id'] = $user_id;
  54. $param['text'] = "红包过期通知:很遗憾,您价值{$amount}元的红包已经过期了,您早点分享给朋友,也是个人情:(";
  55. $param['go_type'] = 'bonus';
  56. QueueClient::push('upushSendMsg', $param);
  57. array_push($ids,$bonus->bonus_id());
  58. }
  59. if (!empty($ids)) {
  60. $mod_bonus->edit(array('bonus_id' => array('in', $ids)),array("expired" => 1));
  61. }
  62. }
  63. }