|
@@ -56,9 +56,9 @@ class MemberService
|
|
|
})->when($level != '', function ($query) use ($level) {
|
|
|
if ($level == 'other') {
|
|
|
$query->where('member.join_member_role_id', NULL)->orWhere('member.join_member_role_id', '');
|
|
|
- } else if($level == 'VIP'){
|
|
|
+ } else if ($level == 'VIP') {
|
|
|
$query->where('member.member_is_vip', 'Y');
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
$query->where('member_role.member_role_id', $level);
|
|
|
}
|
|
|
})->when($isAuth != '', function ($query) use ($isAuth) {
|
|
@@ -82,7 +82,7 @@ class MemberService
|
|
|
$query->whereBetween('member.member_addtimes', $addtime);
|
|
|
})
|
|
|
->select('member_id', 'member_is_vip', 'member_is_owner', 'member_classify', 'member_status', 'member_mobile', 'member_from', 'member_addtimes', 'member_extend_json',
|
|
|
- 'member_info.member_info_nickname', 'member_info.member_info_headimg','member_info.member_info_referee','member_info.member_info_business','member_info.member_info_service',
|
|
|
+ 'member_info.member_info_nickname', 'member_info.member_info_headimg', 'member_info.member_info_referee', 'member_info.member_info_business', 'member_info.member_info_service',
|
|
|
'member_role.member_role_id', 'member_role.member_role_name',
|
|
|
'member_cert.member_cert_birth', 'member_cert.member_cert_gender', 'member_cert.member_cert_name', 'member_cert.member_cert_nbr', 'member_cert.member_cert_province', 'member_cert.member_cert_addr', 'member_cert.member_cert_face', 'member_cert.member_cert_photo', 'member_cert.member_cert_nation',
|
|
|
// 'member_account.member_account_surplus'
|
|
@@ -95,7 +95,7 @@ class MemberService
|
|
|
->toArray();
|
|
|
|
|
|
foreach ($rows as &$row) {
|
|
|
- $row['coupon_count'] = CouponDetail::where('join_coupon_detail_member_id',$row['member_id'])->count();
|
|
|
+ $row['coupon_count'] = CouponDetail::where('join_coupon_detail_member_id', $row['member_id'])->count();
|
|
|
$row['member_mobile'] = substr($row['member_mobile'], 0, 3) . '****' . substr($row['member_mobile'], 7);
|
|
|
$row['info'] = [
|
|
|
'member_info_nickname' => !empty($row['member_info_nickname']) ? $row['member_info_nickname'] : substr($row['member_mobile'], -4, 4) . '用户',
|
|
@@ -185,11 +185,11 @@ class MemberService
|
|
|
}
|
|
|
$row['belong']['deptName'] = SysDept::where('dept_id', $extendJson['belong']['premises'])->value('dept_name');
|
|
|
}
|
|
|
- if (isset($extendJson['referee'])){
|
|
|
- foreach ($extendJson['referee'] as $key => $referee){
|
|
|
+ if (isset($extendJson['referee'])) {
|
|
|
+ foreach ($extendJson['referee'] as $key => $referee) {
|
|
|
$row['referee'][] = [
|
|
|
- 'name'=>$referee,
|
|
|
- 'time'=>$key
|
|
|
+ 'name' => $referee,
|
|
|
+ 'time' => $key
|
|
|
];
|
|
|
}
|
|
|
}
|
|
@@ -240,7 +240,7 @@ class MemberService
|
|
|
$addtime[1] = strtotime($addtime[1]);
|
|
|
$query->whereBetween('member.member_addtimes', $addtime);
|
|
|
})->select('member_id', 'member_is_owner', 'member_classify', 'member_status', 'member_mobile', 'member_from', 'member_addtimes', 'member_extend_json',
|
|
|
- 'member_info.member_info_nickname', 'member_info.member_info_headimg','member_info.member_info_referee','member_info.member_info_business','member_info.member_info_service',
|
|
|
+ 'member_info.member_info_nickname', 'member_info.member_info_headimg', 'member_info.member_info_referee', 'member_info.member_info_business', 'member_info.member_info_service',
|
|
|
'member_role.member_role_id', 'member_role.member_role_name',
|
|
|
'member_cert.member_cert_birth', 'member_cert.member_cert_gender', 'member_cert.member_cert_name', 'member_cert.member_cert_nbr', 'member_cert.member_cert_province', 'member_cert.member_cert_addr', 'member_cert.member_cert_face', 'member_cert.member_cert_photo', 'member_cert.member_cert_nation',
|
|
|
// 'member_account.member_account_surplus'
|
|
@@ -344,6 +344,24 @@ class MemberService
|
|
|
'member_cert_photo' => !empty($member['cert']) && !empty($member['cert']['member_cert_photo']) ? getenv('STORAGE_DOMAIN') . $member['cert']['member_cert_photo'] : '',
|
|
|
'member_cert_nation' => $member['cert']['member_cert_nation'] ?? '',
|
|
|
];
|
|
|
+ if (!empty($member['join_invite_member_id'])){
|
|
|
+ $inviteMember = Member::with([
|
|
|
+ 'info'=>function($query){
|
|
|
+ $query->select('join_info_member_id','member_info_nickname');
|
|
|
+ },
|
|
|
+ 'cert'=>function($query){
|
|
|
+ $query->select('join_cert_member_id','member_cert_name');
|
|
|
+ }
|
|
|
+ ])->where('member_id',$member['join_invite_member_id'])
|
|
|
+ ->first();
|
|
|
+ $inviteMemberName = '';
|
|
|
+ if (!empty($inviteMember->cert) && !empty($inviteMember->cert->member_cert_name)){
|
|
|
+ $inviteMemberName = $inviteMember->cert->member_cert_name;
|
|
|
+ }elseif (!empty($inviteMemberName->info) && !empty($inviteMemberName->info->member_info_nickname)){
|
|
|
+ $inviteMemberName = $inviteMemberName->info->member_info_nickname;
|
|
|
+ }
|
|
|
+ $member['invite_member'] = $inviteMemberName.(!empty($inviteMember->member_invite_code) ? '('.$inviteMember->member_invite_code.')' : '');
|
|
|
+ }
|
|
|
|
|
|
$member['is_auth'] = "未认证";
|
|
|
if (!empty($member['cert']['member_cert_nbr']) && !empty($member['cert']['member_cert_name'])) {
|
|
@@ -367,11 +385,11 @@ class MemberService
|
|
|
}
|
|
|
$member['belong']['deptName'] = SysDept::where('dept_id', $extendJson['belong']['premises'])->value('dept_name');
|
|
|
}
|
|
|
- if (isset($extendJson['referee'])){
|
|
|
- foreach ($extendJson['referee'] as $key => $referee){
|
|
|
+ if (isset($extendJson['referee'])) {
|
|
|
+ foreach ($extendJson['referee'] as $key => $referee) {
|
|
|
$member['referee'][] = [
|
|
|
- 'name'=>$referee,
|
|
|
- 'time'=>$key
|
|
|
+ 'name' => $referee,
|
|
|
+ 'time' => $key
|
|
|
];
|
|
|
}
|
|
|
}
|
|
@@ -745,7 +763,7 @@ class MemberService
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (in_array($point['client_points_category'], ["评价", "消费", "活动", "赠送",'登录活动积分'])) {
|
|
|
+ if (in_array($point['client_points_category'], ["评价", "消费", "活动", "赠送", '登录活动积分'])) {
|
|
|
$point['balance_type'] = 'add';
|
|
|
} else {
|
|
|
$point['balance_type'] = 'cut';
|
|
@@ -753,7 +771,7 @@ class MemberService
|
|
|
|
|
|
if ($key == 0) {
|
|
|
$point['balance'] = number_format($balance, 2, '.', '');
|
|
|
- if (in_array($point['client_points_category'], ["评价", "消费", "活动", "赠送",'登录活动积分'])) {
|
|
|
+ if (in_array($point['client_points_category'], ["评价", "消费", "活动", "赠送", '登录活动积分'])) {
|
|
|
$balance = $balance - $point['client_points_nbr'];
|
|
|
} else {
|
|
|
$balance = $balance + $point['client_points_nbr'];
|
|
@@ -761,7 +779,7 @@ class MemberService
|
|
|
|
|
|
continue;
|
|
|
}
|
|
|
- if (in_array($point['client_points_category'], ["评价", "消费", "活动", "赠送",'登录活动积分'])) {
|
|
|
+ if (in_array($point['client_points_category'], ["评价", "消费", "活动", "赠送", '登录活动积分'])) {
|
|
|
$point['balance'] = number_format($balance, 2, '.', '');
|
|
|
$balance = $balance - $point['client_points_nbr'];
|
|
|
// $point['balance'] = $balance = $nowPoint = number_format($balance - $point['client_points_nbr'], 2, '.', '');
|
|
@@ -796,6 +814,7 @@ class MemberService
|
|
|
'member_status' => $params['status'] ?? 'PENDING',
|
|
|
'member_mobile' => $params['mobile'] ?? '',
|
|
|
'member_category' => $params['member_category'] ?? '后台添加',
|
|
|
+ 'member_invite_code' => self::generateInviteCode(),
|
|
|
// 'member_from' => $params['source'],
|
|
|
// 'member_extend_json' => json_encode(['come_from' => $params['source']]),
|
|
|
'member_addtimes' => time(),
|
|
@@ -1154,6 +1173,7 @@ class MemberService
|
|
|
'member_classify' => 'MEMBER',
|
|
|
'member_status' => 'ACTIVED',
|
|
|
'member_mobile' => $params['mobile'],
|
|
|
+ 'member_invite_code' => self::generateInviteCode(),
|
|
|
'member_extend_json' => json_encode(['come_from' => 'SYSTEM']),
|
|
|
'member_addtimes' => time()
|
|
|
];
|
|
@@ -1236,4 +1256,21 @@ class MemberService
|
|
|
|
|
|
return self::getMemberName($mobile, $certName, $nickname);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Desc 生成推荐码
|
|
|
+ * @Author Gorden
|
|
|
+ * @Date 2024/9/6 9:05
|
|
|
+ *
|
|
|
+ * @return string
|
|
|
+ */
|
|
|
+ public static function generateInviteCode()
|
|
|
+ {
|
|
|
+ $code = random_string(8, 'number');
|
|
|
+ if (Member::where('member_invite_code', $code)->exists()) {
|
|
|
+ return self::generateInviteCode();
|
|
|
+ } else {
|
|
|
+ return $code;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|