|
@@ -14,28 +14,19 @@ namespace App\Services\Api;
|
|
|
use App\Helpers\Jwt;
|
|
use App\Helpers\Jwt;
|
|
|
use App\Models\AccountLogModel;
|
|
use App\Models\AccountLogModel;
|
|
|
use App\Models\BalanceLogModel;
|
|
use App\Models\BalanceLogModel;
|
|
|
-use App\Models\BonusLogModel;
|
|
|
|
|
-use App\Models\CityModel;
|
|
|
|
|
use App\Models\LiveModel;
|
|
use App\Models\LiveModel;
|
|
|
-use App\Models\MechanicModel;
|
|
|
|
|
use App\Models\MemberBankModel;
|
|
use App\Models\MemberBankModel;
|
|
|
-use App\Models\MemberCollectModel;
|
|
|
|
|
use App\Models\MemberModel;
|
|
use App\Models\MemberModel;
|
|
|
-use App\Models\MerchantClerkModel;
|
|
|
|
|
use App\Models\MerchantModel;
|
|
use App\Models\MerchantModel;
|
|
|
-use App\Models\OrderModel;
|
|
|
|
|
-use App\Models\VideoCollectModel;
|
|
|
|
|
use App\Models\VideoModel;
|
|
use App\Models\VideoModel;
|
|
|
use App\Services\BaseService;
|
|
use App\Services\BaseService;
|
|
|
use App\Services\CityService;
|
|
use App\Services\CityService;
|
|
|
use App\Services\ConfigService;
|
|
use App\Services\ConfigService;
|
|
|
use App\Services\EmailService;
|
|
use App\Services\EmailService;
|
|
|
-use App\Services\PushService;
|
|
|
|
|
use App\Services\RedisService;
|
|
use App\Services\RedisService;
|
|
|
use App\Services\SmsService;
|
|
use App\Services\SmsService;
|
|
|
use App\Services\ToolService;
|
|
use App\Services\ToolService;
|
|
|
use App\Services\UdunpayService;
|
|
use App\Services\UdunpayService;
|
|
|
-use App\Services\ZegoService;
|
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use phpQrcode\QRcode;
|
|
use phpQrcode\QRcode;
|
|
|
|
|
|
|
@@ -222,14 +213,15 @@ class MemberService extends BaseService
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 获取分销用户数量
|
|
|
|
|
|
|
+ * 获取团队用户数量
|
|
|
* @param $userId 当前用户ID
|
|
* @param $userId 当前用户ID
|
|
|
- * @param int $level 层级:1-一级分销用户,2-二级分销用户
|
|
|
|
|
|
|
+ * @param int $type 层级:1-直推,2-团队
|
|
|
|
|
+ * @param int $isPoint 节点:1-滑落推荐,0-直接推荐
|
|
|
* @return array|mixed
|
|
* @return array|mixed
|
|
|
*/
|
|
*/
|
|
|
- public function getTeamsUserCountByLevel($userId, $level = 1)
|
|
|
|
|
|
|
+ public function getUserCountByType($userId, $type = 1, $isPoint=0)
|
|
|
{
|
|
{
|
|
|
- $cacheKey = "caches:members:bonusUser:count_{$userId}_{$level}";
|
|
|
|
|
|
|
+ $cacheKey = "caches:teams:count_{$userId}_{$type}_{$isPoint}";
|
|
|
$data = RedisService::get($cacheKey);
|
|
$data = RedisService::get($cacheKey);
|
|
|
if ($data) {
|
|
if ($data) {
|
|
|
return $data;
|
|
return $data;
|
|
@@ -237,11 +229,19 @@ class MemberService extends BaseService
|
|
|
|
|
|
|
|
$where = ['status' => 1, 'mark' => 1];
|
|
$where = ['status' => 1, 'mark' => 1];
|
|
|
$data = $this->model->where($where)
|
|
$data = $this->model->where($where)
|
|
|
- ->where(function ($query) use ($level, $userId) {
|
|
|
|
|
- if ($level == 1) {
|
|
|
|
|
- $query->where('parent_id', $userId);
|
|
|
|
|
- } else if($level == 2){
|
|
|
|
|
- $query->whereIn('parent_id', MemberModel::where(['parent_id'=> $userId,'status'=>1,'mark'=>1])->pluck('id'));
|
|
|
|
|
|
|
+ ->where(function ($query) use ($type, $isPoint, $userId) {
|
|
|
|
|
+ if($isPoint){
|
|
|
|
|
+ if ($type == 1) {
|
|
|
|
|
+ $query->where('point_id', $userId);
|
|
|
|
|
+ } else if($type == 2){
|
|
|
|
|
+ $query->whereRaw('FIND_IN_SET(?,points)', $userId);
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ if ($type == 1) {
|
|
|
|
|
+ $query->where('parent_id', $userId);
|
|
|
|
|
+ } else if($type == 2){
|
|
|
|
|
+ $query->whereRaw('FIND_IN_SET(?,parents)', $userId);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
})->count('id');
|
|
})->count('id');
|
|
|
|
|
|