| | |
| | | |
| | | use app\common\model\plus\vip\Grade as GradeModel; |
| | | use app\common\model\plus\vip\User as vipUserModel; |
| | | use app\common\model\plus\vip\Order as OrderModel; |
| | | use app\common\model\plus\vip\Order as vipOrderModel; |
| | | use app\common\model\supplier\Supplier; |
| | | use app\job\model\user\User as UserModel; |
| | | use app\common\model\order\Order as OrderModel; |
| | | /** |
| | | * VIP用户等级事件管理 |
| | | */ |
| | |
| | | log_write('VIP用户升级$user_id='.$userId); |
| | | // 用户模型 |
| | | $user = vipUserModel::detail($userId); |
| | | if (empty($user)) { |
| | | return false; |
| | | } |
| | | // 获取所有等级 |
| | | $list = GradeModel::getUsableList($user['app_id']); |
| | | if ($list->isEmpty()) { |
| | |
| | | $purchase_count = true; |
| | | } |
| | | $supplier_count = false; |
| | | $referee_supplier_count = (new Supplier())->where('referee_id', $user['user_id'])->count(); |
| | | // 直推供应商多少人 |
| | | if($grade['is_supplier_count'] == 1 && $referee_supplier_count >= $grade['supplier_count']){ |
| | | $supplier_count = true; |
| | | if($grade['is_supplier_count'] == 1 ){ |
| | | $referee_supplier_count = (new Supplier())->where('referee_id', $user['user_id'])->count(); |
| | | if ($referee_supplier_count >= $grade['supplier_count']){ |
| | | $supplier_count = true; |
| | | } |
| | | |
| | | } |
| | | // 推荐人等级 |
| | | $user_referee_grade_count = (new UserModel())->getRefereeGradeCount($user['user_id'], $grade['referee_grade_ids']); |
| | | $referee_grade_count=false; |
| | | if($grade['is_referee_grade'] == 1 && $user_referee_grade_count >= $grade['referee_grade_count']){ |
| | | $referee_grade_count = true; |
| | | if($grade['is_referee_grade'] == 1){ |
| | | // 推荐人等级 |
| | | $user_referee_grade_count = (new UserModel())->getRefereeGradeCount([$user['user_id']], $grade['referee_grade_ids']); |
| | | if ($user_referee_grade_count >= $grade['referee_grade_count']){ |
| | | $referee_grade_count = true; |
| | | } |
| | | |
| | | } |
| | | $buy_product = false; |
| | | if ($grade['open_buy_product'] == 1&& OrderModel::getOrderProductIds($user['user_id'],$grade['product_ids'],true)){ |
| | | $buy_product= true; |
| | | } |
| | | if($grade['condition_type'] == 'and'){ |
| | | $grade['is_purchase_count']!=1 && $purchase_count=true; |
| | | $grade['is_supplier_count']!=1 && $supplier_count=true; |
| | | $grade['is_referee_grade']!=1 && $referee_grade_count=true; |
| | | return $purchase_count && $supplier_count && $referee_grade_count; |
| | | $grade['is_buy_product']!=1 && $buy_product=true; |
| | | if ($grade['open_type_product']){ |
| | | return ($purchase_count && $supplier_count && $referee_grade_count) || $buy_product; |
| | | }else{ |
| | | return $purchase_count && $supplier_count && $referee_grade_count && $buy_product; |
| | | } |
| | | |
| | | }else{ |
| | | return $purchase_count || $supplier_count || $referee_grade_count; |
| | | return $purchase_count || $supplier_count || $referee_grade_count || $buy_product; |
| | | } |
| | | } |
| | | |