AisVipOrder.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 会员
  7. */
  8. namespace app\ais\model;
  9. use app\common\model\SystemUser;
  10. use app\common\model\SystemUserLevel;
  11. use think\Model;
  12. class AisVipOrder extends Model{
  13. //关联用户信息
  14. public function user(){
  15. return $this->hasOne('app\common\model\SystemUser','id','uid');
  16. }
  17. //管理会员
  18. public function vip(){
  19. return $this->hasOne('AisVip','id','vip_id');
  20. }
  21. /**
  22. * 创建订单
  23. * @param array $param
  24. * @return void
  25. */
  26. public static function addOrder(array $param){
  27. $param['state'] = 0;
  28. $param['create_time'] = time();
  29. return self::create($param);
  30. }
  31. /**
  32. * 开通会员收益分账
  33. * @param array $order 订单信息
  34. * @return void
  35. */
  36. public static function income($order,$money){
  37. //判断会员级别
  38. $vip = AisVip::where(['id' => $order->vip_id])->find();
  39. if(empty($vip)){
  40. return;
  41. }
  42. //扣除手续费
  43. $money = money($money - $money * 6 / 1000);
  44. //用户的直接上级会员
  45. $level_1 = SystemUserLevel::where(['user_id' => $order->uid,'level' => 1])->find();
  46. if($level_1){
  47. //会员推荐奖
  48. if($vip->open_share_reward){
  49. AisBank::recharge($order->member_miniapp_id,$level_1->parent_id,$vip->open_share_reward);
  50. AisBill::add(['member_miniapp_id' => $order->member_miniapp_id,'store_id' => 0,'money' => $vip->open_share_reward,'uid' => $level_1->parent_id],'会员推荐奖');
  51. }
  52. //会员间接奖
  53. if($vip->open_queue_reward){
  54. //查询直推是不是老板
  55. $is_store = AisStore::where(['manage_uid' => $level_1->parent_id])->field('id,manage_uid')->find();
  56. if($is_store){
  57. $level_2 = SystemUserLevel::where(['user_id' => $order->uid,'level' => 2])->find();
  58. if($level_2){
  59. AisBank::recharge($order->member_miniapp_id,$level_2->parent_id,$vip->open_queue_reward);
  60. AisBill::add(['member_miniapp_id' => $order->member_miniapp_id,'store_id' => 0,'money' => $vip->open_share_reward,'uid' => $level_2->parent_id],'商家会员推荐奖');
  61. }
  62. }
  63. }
  64. }
  65. //如果采购基金大于0
  66. if($vip->fund > 0){
  67. $data = [
  68. 'member_miniapp_id' => $order->member_miniapp_id,
  69. 'store_id' => 0,
  70. 'types' => 0,
  71. 'state' => 1,
  72. 'uid' => $order->uid,
  73. 'money' => $vip->fund,
  74. 'order_no' => $order->order_no,
  75. 'message' => '会员开通',
  76. 'update_time' => time()
  77. ];
  78. AisFundBill::create($data);
  79. }
  80. }
  81. }