03技师认证.sql 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. DROP TABLE IF EXISTS report_coach_auth;
  2. CREATE TABLE report_coach_auth AS
  3. /* 技师认证视图 */
  4. DROP VIEW IF EXISTS manage_coach_auth;
  5. CREATE OR REPLACE VIEW manage_coach_auth AS
  6. WITH
  7. /* 资质证书信息 */
  8. qualification_photos AS (
  9. SELECT
  10. cq.id,
  11. /* 从业资格证 */
  12. MAX(
  13. CASE
  14. WHEN cq.qual_type = 'QUALIFICATION' THEN cq.qual_photo
  15. END
  16. ) AS qualification_photo,
  17. /* 健康证 */
  18. MAX(
  19. CASE
  20. WHEN cq.qual_type = 'HEALTH' THEN cq.qual_photo
  21. END
  22. ) AS health_photo,
  23. /* 生活照 */
  24. MAX(
  25. CASE
  26. WHEN cq.qual_type = 'LIFE_PHOTO' THEN cq.qual_photo
  27. END
  28. ) AS life_photo,
  29. /* 工作照 */
  30. MAX(
  31. CASE
  32. WHEN cq.qual_type = 'WORK_PHOTO' THEN cq.qual_photo
  33. END
  34. ) AS work_photo
  35. FROM coach_qual_records cq
  36. WHERE
  37. cq.deleted_at IS NULL
  38. GROUP BY
  39. cq.id
  40. )
  41. SELECT
  42. ci.nickname as nickname /* 技师昵称 */,
  43. ci.gender as gender /* 性别 */,
  44. ci.birthday as birthday /* 出生日期 */,
  45. ci.intention_city as intention_city /* 期望城市 */,
  46. ci.mobile as mobile /* 手机号码 */,
  47. ci.introduction as introduction /* 个人简介 */,
  48. CASE
  49. WHEN cu.real_auth_record_id IS NULL THEN '未认证'
  50. WHEN cu.qualification_record_id IS NULL THEN '实名认证完成'
  51. ELSE '全部认证完成'
  52. END as auth_state /* 认证进度 */,
  53. cu.state as state /* 认证状态 */,
  54. cr.id_card_front_photo as id_card_front_photo /* 身份证照片正面 */,
  55. cr.id_card_back_photo as id_card_back_photo /* 身份证照片反面 */,
  56. qp.qualification_photo as qualification_photo /* 从业资格证图片 */,
  57. qp.health_photo as health_photo /* 健康证 */,
  58. qp.life_photo as life_photo /* 生活照 */,
  59. qp.work_photo as work_photo /* 工作照 */
  60. FROM
  61. coach_users cu
  62. LEFT JOIN coach_info_records ci ON cu.info_record_id = ci.id
  63. LEFT JOIN coach_real_records cr ON cu.real_auth_record_id = cr.id
  64. LEFT JOIN qualification_photos qp ON cu.qualification_record_id = qp.id
  65. WHERE
  66. cu.deleted_at IS NULL
  67. AND ci.deleted_at IS NULL
  68. AND (
  69. cr.deleted_at IS NULL
  70. OR cr.deleted_at IS NULL
  71. );