| | |
| | | use app\common\model\plus\agent\User as AgentUserModel; |
| | | use app\common\model\plus\team\User as TeamUserModel; |
| | | use app\common\model\plus\team\Order as TeamOrderModel; |
| | | use app\common\model\plus\vip\User as VipUserModel; |
| | | use app\common\model\plus\vip\Order as VipOrderModel; |
| | | |
| | | use app\common\model\plus\team\Referee as TeamRefereeModel; |
| | | /** |
| | | * 股东申请模型 |
| | | */ |
| | |
| | | $becomeShareholder = true; |
| | | } |
| | | } |
| | | if ($config['become'] == '110'){ |
| | | $subordinateUserId=(new TeamRefereeModel())->where(['heads_id'=>$userId])->column('user_id'); |
| | | $vipNum=(new \app\common\model\user\User)->getRefereeGradeCount($subordinateUserId,$config['referee_grade_ids']); |
| | | $supplierNum=(new \app\common\model\supplier\Supplier())->getSubordinateNum($subordinateUserId); |
| | | $user=(new \app\common\model\user\User)->where(['user_id'=>$userId,'is_delete'=>0])->find(); |
| | | if ($vipNum >= $config['totalvip_down'] && $supplierNum >= $config['totalsh_down']&&$user['purchase_count']>=$config['purchase_count']){ |
| | | $becomeShareholder = true; |
| | | } |
| | | } |
| | | // 新增股东用户 |
| | | if ($becomeShareholder) { |
| | | User::add($userId, [ |
| | |
| | | return ['text' => $method[$value], 'value' => $value]; |
| | | } |
| | | |
| | | /** |
| | | * 统计VIP会员直接推荐数量 |
| | | * @param $userId |
| | | * @return int |
| | | */ |
| | | public function countVipRecommendations($userId) |
| | | { |
| | | return VipUserModel::where('referee_id', '=', $userId)->count(); |
| | | } |
| | | |
| | | /** |
| | | * 统计企业商户入驻数量 |
| | | * @param $userId |
| | | * @return int |
| | | */ |
| | | public function countMerchantSettlements($userId) |
| | | { |
| | | // 假设商家入驻与推广团队的关联字段是referee_id |
| | | // 需要根据实际数据库结构调整 |
| | | return \app\common\model\Shop::where('referee_id', '=', $userId)->count(); |
| | | } |
| | | |
| | | /** |
| | | * 统计VIP专区商品购买次数 |
| | | * @param $userId |
| | | * @return int |
| | | */ |
| | | public function countSelfVipPurchases($userId) |
| | | { |
| | | return VipOrderModel::where('user_id', '=', $userId) |
| | | ->where('is_vip', '=', 1) |
| | | ->count(); |
| | | } |
| | | |
| | | /** |
| | | * 检查股东候选人是否满足新的三个条件 |
| | | * @param $userId |
| | | * @param $appId |
| | | * @return bool |
| | | */ |
| | | public function checkNewShareholderConditions($userId, $appId) |
| | | { |
| | | $config = Setting::getItem('basic', $appId); |
| | | |
| | | // 1. 检查VIP会员直接推荐数量 |
| | | $vipRecommendCount = $this->countVipRecommendations($userId); |
| | | if ($vipRecommendCount < $config['vip_recommend_count']) { |
| | | return false; |
| | | } |
| | | |
| | | // 2. 检查企业商户入驻数量 |
| | | $merchantCount = $this->countMerchantSettlements($userId); |
| | | if ($merchantCount < $config['merchant_settle_count']) { |
| | | return false; |
| | | } |
| | | |
| | | // 3. 检查VIP专区商品购买次数 |
| | | $selfVipPurchaseCount = $this->countSelfVipPurchases($userId); |
| | | if ($selfVipPurchaseCount < $config['self_vip_purchase_count']) { |
| | | return false; |
| | | } |
| | | |
| | | // 所有条件都满足 |
| | | return true; |
| | | } |
| | | |
| | | }, |
| | | } |