status.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/11/2
  6. * Time: 上午9:44
  7. */
  8. //todo 送首单礼品,活动推荐,红包,F码过期提醒,邀请,购物奖励
  9. namespace async;
  10. use member_info;
  11. use fcode;
  12. use push_helper;
  13. use bonus;
  14. use bonus_helper;
  15. class status extends IAsync
  16. {
  17. private $member_id;
  18. private $mod_member;
  19. private $mem_info;
  20. public function __construct($member_id)
  21. {
  22. $this->member_id = $member_id;
  23. $this->mod_member = Model('member');
  24. $mem_info = $this->mod_member->getMemberInfoByID($member_id);
  25. $this->mem_info = new member_info($mem_info);
  26. }
  27. public function run()
  28. {
  29. if($this->check_present()) return;
  30. if($this->check_fcode()) return;
  31. }
  32. public function topup()
  33. {
  34. $mod_bonus = Model('user_bonus');
  35. $total = $mod_bonus->getUsableSum($this->member_id) + $mod_bonus->getBindSum($this->member_id);
  36. if($total > 50) return false;
  37. $params = bonus\parameters::poor_user();
  38. foreach ($params as $param)
  39. {
  40. $type = bonus_helper::create_type_input($param);
  41. $money = $type->getTotal_amount();
  42. $rate = $type->bonus_rate();
  43. $ret = bonus_helper::make_bonus($param,$param['rate_money']);
  44. if($ret != false) {
  45. $type_sn = $ret['type_sn'];
  46. bonus_helper::send($type_sn,[$this->member_id]);
  47. push_helper::poor_user_bonus($this->member_id,$money,$rate,$type_sn);
  48. } else {
  49. return false;
  50. }
  51. }
  52. }
  53. private function check_present()
  54. {
  55. if($this->mem_info->order_num() > 0) {
  56. return false;
  57. }
  58. if($this->mem_info->first_present() > 0) {
  59. return false;
  60. }
  61. $result = fcode\present_manager::instance()->fetch($this->mem_info->mobile(),null);
  62. if($result == false) return false;
  63. $fcode = $result['fcode'];
  64. $this->mod_member->editMember(['member_id' => $this->member_id],['first_present' => intval($fcode['fc_id'])]);
  65. push_helper::first_present($this->member_id,$fcode);
  66. return true;
  67. }
  68. private function check_fcode()
  69. {
  70. return false;
  71. }
  72. }