|
@@ -16,94 +16,70 @@
|
|
|
请重写我的统计sql
|
|
|
*/
|
|
|
|
|
|
--- 技师列表视图
|
|
|
-DROP VIEW IF EXISTS manage_coach_list;
|
|
|
+/*新的技师管理视图*/
|
|
|
+DROP VIEW IF EXISTS v_coach_list;
|
|
|
|
|
|
-CREATE OR REPLACE VIEW manage_coach_list AS
|
|
|
-WITH
|
|
|
- /* 一级邀请人信息 */
|
|
|
- inviter_level1 AS (
|
|
|
- SELECT mdt1.user_id, m1.nickname
|
|
|
- FROM
|
|
|
- market_dist_teams mdt1
|
|
|
- LEFT JOIN member_users m1 ON mdt1.object_id = m1.id
|
|
|
- WHERE
|
|
|
- mdt1.level = 1
|
|
|
- ),
|
|
|
- /* 二级邀请人信息 */
|
|
|
- inviter_level2 AS (
|
|
|
- SELECT mdt1.user_id, m2.nickname
|
|
|
- FROM
|
|
|
- market_dist_teams mdt1
|
|
|
- LEFT JOIN market_dist_teams mdt2 ON mdt1.object_id = mdt2.user_id
|
|
|
- LEFT JOIN member_users m2 ON mdt2.object_id = m2.id
|
|
|
- WHERE
|
|
|
- mdt1.level = 1
|
|
|
- AND mdt2.level = 1
|
|
|
- ),
|
|
|
- /* 钱包余额信息 */
|
|
|
- coach_wallet AS (
|
|
|
- SELECT owner_id, total_balance
|
|
|
- FROM wallet
|
|
|
- WHERE
|
|
|
- owner_type = 'App\\Models\\CoachUser'
|
|
|
- )
|
|
|
+CREATE OR REPLACE VIEW v_coach_list AS
|
|
|
SELECT
|
|
|
- cu.id,
|
|
|
- /* 性别 */
|
|
|
- mu.gender,
|
|
|
- /* 技师名称 */
|
|
|
- ci.nickname,
|
|
|
- /* 头像 */
|
|
|
- ci.avatar,
|
|
|
- /* 手机号码 */
|
|
|
- mu.mobile,
|
|
|
- /* 注册地址 */
|
|
|
- mu.register_area,
|
|
|
- /* 注册时间 */
|
|
|
- mu.created_at,
|
|
|
- /* 当前所属区域 */
|
|
|
- cl.city,
|
|
|
+ cu.id AS id,/*技师id*/
|
|
|
+ ci.nickname AS nickname,/*技师名称*/
|
|
|
+ ci.mobile AS mobile,/*手机号码*/
|
|
|
+ ci.avatar AS avatar,/*头像*/
|
|
|
+ ci.gender AS gender,/*性别*/
|
|
|
+ ci.birthday AS birthday,/*生日*/
|
|
|
+ cu.created_at AS created_at,/*注册时间*/
|
|
|
+ cu.state AS state,/*技师状态*/
|
|
|
+ cu.invite_code AS invite_code,/*邀请码*/
|
|
|
+ cu.qr_code AS qr_code,/*二维码*/
|
|
|
+ cu.is_vip AS is_vip, /*是否开通会员*/
|
|
|
+ cu.vip_time AS vip_time,/*开通会员时间*/
|
|
|
+ cu.level AS level,/*技师等级*/
|
|
|
+ cu.score AS score,/*技师评分*/
|
|
|
+ cu.work_status AS work_status,/*工作状态*/
|
|
|
+ cu.formal_photo AS formal_photo,/*正式照*/
|
|
|
+ cu.virtual_order AS virtual_order,/*虚拟订单*/
|
|
|
+ /* 认证信息 */
|
|
|
+ crr.id_card AS id_card,/*身份证*/
|
|
|
+ crr.real_name AS real_name,/*真实姓名*/
|
|
|
+ crr.id_card_front_photo AS id_card_front_photo,/*身份证正面*/
|
|
|
+ crr.id_card_back_photo AS id_card_back_photo,/*身份证反面*/
|
|
|
+ cq.health_cert AS health_cert,/*健康证*/
|
|
|
+ cq.qual_photo AS qual_photo,/*资格证*/
|
|
|
+ cq.business_license AS business_license,/*营业执照*/
|
|
|
/* 所属店铺 */
|
|
|
- sar.shop_name,
|
|
|
- /* 调度区域 */
|
|
|
- cl.location,
|
|
|
- /* 是否开通会员 */
|
|
|
- CASE
|
|
|
- WHEN cu.is_vip = 1 THEN '是'
|
|
|
- ELSE '否'
|
|
|
- END AS is_vip,
|
|
|
- /* 开通会员时间 */
|
|
|
- cu.vip_time,
|
|
|
+ sar.shop_name AS shop_name,/*店铺名称*/
|
|
|
+ /* 当前位置信息 */
|
|
|
+ cl.city AS city,/*城市*/
|
|
|
+ cl.address AS address,/*当前位置*/
|
|
|
+ /* 钱包余额 */
|
|
|
+ COALESCE(cw.total_income, 0) AS total_income,/*总收入*/
|
|
|
+ COALESCE(cw.total_expense, 0) AS total_expense,/*总支出*/
|
|
|
+ COALESCE(cw.total_balance, 0) AS total_balance,/*钱包余额*/
|
|
|
+ COALESCE(cw.available_balance, 0) AS available_balance,/*可用余额*/
|
|
|
+ COALESCE(cw.frozen_amount, 0) AS frozen_amount,/*冻结余额*/
|
|
|
/* 一级邀请人 */
|
|
|
- il1.nickname AS inviter_level1_name,
|
|
|
+ CASE
|
|
|
+ WHEN mdt1.object_type = 'App\\Models\\CoachUser' THEN ci1.nickname
|
|
|
+ WHEN mdt1.object_type = 'App\\Models\\MemberUser' THEN mu1.nickname
|
|
|
+ END AS inviter_level1_name,
|
|
|
/* 二级邀请人 */
|
|
|
- il2.nickname AS inviter_level2_name,
|
|
|
- /* 余额 */
|
|
|
- COALESCE(cw.total_balance, 0) AS balance,
|
|
|
- /* 状态 */
|
|
|
- cu.state,
|
|
|
- /* 邀请码 */
|
|
|
- cu.invite_code,
|
|
|
- /* 二维码 */
|
|
|
- cu.qr_code,
|
|
|
- /* 认证状态 */
|
|
|
CASE
|
|
|
- WHEN cq.state = 2 THEN '已认证'
|
|
|
- WHEN cq.state = 1 THEN '认证中'
|
|
|
- WHEN cq.state = 3 THEN '认证失败'
|
|
|
- ELSE '未认证'
|
|
|
- END AS auth_status
|
|
|
-FROM
|
|
|
- coach_users cu
|
|
|
- LEFT JOIN member_users mu ON cu.user_id = mu.id
|
|
|
- LEFT JOIN coach_info_records ci ON cu.info_record_id = ci.id
|
|
|
- LEFT JOIN coach_locations cl ON cu.id = cl.coach_id
|
|
|
- AND cl.type = 2
|
|
|
- LEFT JOIN shop_auth_records sar ON cu.shop_id = sar.id
|
|
|
- LEFT JOIN coach_qual_records cq ON cu.qualification_record_id = cq.id
|
|
|
- LEFT JOIN inviter_level1 il1 ON cu.user_id = il1.user_id
|
|
|
- LEFT JOIN inviter_level2 il2 ON cu.user_id = il2.user_id
|
|
|
- LEFT JOIN coach_wallet cw ON cu.user_id = cw.owner_id
|
|
|
-WHERE
|
|
|
- cu.deleted_at IS NULL;
|
|
|
+ WHEN mdt2.object_type = 'App\\Models\\CoachUser' THEN ci2.nickname
|
|
|
+ WHEN mdt2.object_type = 'App\\Models\\MemberUser' THEN mu2.nickname
|
|
|
+ END AS inviter_level2_name
|
|
|
+FROM coach_users cu
|
|
|
+LEFT JOIN coach_info_records ci ON cu.info_record_id = ci.id
|
|
|
+LEFT JOIN coach_locations cl ON cu.id = cl.coach_id AND cl.type = 2
|
|
|
+LEFT JOIN coach_qual_records cq ON cu.qualification_record_id = cq.id
|
|
|
+LEFT JOIN shop_auth_records sar ON cu.shop_id = sar.shop_id
|
|
|
+LEFT JOIN coach_real_records crr ON cu.real_auth_record_id = crr.id
|
|
|
+LEFT JOIN wallet cw ON cu.id = cw.owner_id AND cw.owner_type = 'App\\Models\\CoachUser'
|
|
|
+/* 一级邀请人关联 */
|
|
|
+LEFT JOIN market_dist_teams mdt1 ON cu.id = mdt1.user_id AND mdt1.level = 1
|
|
|
+LEFT JOIN coach_info_records ci1 ON mdt1.object_type = 'App\\Models\\CoachUser' AND mdt1.object_id = ci1.coach_id
|
|
|
+LEFT JOIN member_users mu1 ON mdt1.object_type = 'App\\Models\\MemberUser' AND mdt1.object_id = mu1.id
|
|
|
+/* 二级邀请人关联 */
|
|
|
+LEFT JOIN market_dist_teams mdt2 ON cu.id = mdt2.user_id AND mdt2.level = 2
|
|
|
+LEFT JOIN coach_info_records ci2 ON mdt2.object_type = 'App\\Models\\CoachUser' AND mdt2.object_id = ci2.coach_id
|
|
|
+LEFT JOIN member_users mu2 ON mdt2.object_type = 'App\\Models\\MemberUser' AND mdt2.object_id = mu2.id
|
|
|
+WHERE cu.deleted_at IS NULL
|