03技师认证.sql 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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. cu.id AS id /* 技师ID */,
  43. ci.id AS info_record_id /* 技师信息记录ID */,
  44. cr.id AS real_auth_record_id /* 实名认证记录ID */,
  45. qp.id AS qualification_record_id /* 资质证书记录ID */,
  46. ci.nickname AS nickname /* 技师昵称 */,
  47. ci.gender AS gender /* 性别 */,
  48. ci.birthday AS birthday /* 出生日期 */,
  49. ci.intention_city AS intention_city /* 期望城市 */,
  50. ci.mobile AS mobile /* 手机号码 */,
  51. ci.introduction AS introduction /* 个人简介 */,
  52. CASE
  53. WHEN cu.real_auth_record_id IS NULL THEN '未认证'
  54. WHEN cu.qualification_record_id IS NULL THEN '实名认证完成'
  55. ELSE '全部认证完成'
  56. END AS auth_state /* 认证进度 */,
  57. cu.state AS state /* 认证状态 */,
  58. cr.id_card_front_photo AS id_card_front_photo /* 身份证照片正面 */,
  59. cr.id_card_back_photo AS id_card_back_photo /* 身份证照片反面 */,
  60. qp.qualification_photo AS qualification_photo /* 从业资格证图片 */,
  61. qp.health_photo AS health_photo /* 健康证 */,
  62. qp.life_photo AS life_photo /* 生活照 */,
  63. qp.work_photo AS work_photo /* 工作照 */
  64. FROM
  65. coach_users cu
  66. LEFT JOIN coach_info_records ci ON cu.info_record_id = ci.id
  67. LEFT JOIN coach_real_records cr ON cu.real_auth_record_id = cr.id
  68. LEFT JOIN qualification_photos qp ON cu.qualification_record_id = qp.id
  69. WHERE
  70. cu.deleted_at IS NULL
  71. AND ci.deleted_at IS NULL
  72. AND (
  73. cr.deleted_at IS NULL
  74. OR cr.deleted_at IS NULL
  75. );
  76. /* 技师基本信息视图 */
  77. DROP VIEW IF EXISTS v_coach_info;
  78. CREATE OR REPLACE VIEW v_coach_info AS
  79. SELECT
  80. cir.id AS id /* 记录ID */,
  81. cu.id AS coach_id /* 技师ID */,
  82. cir.nickname AS nickname /* 昵称 */,
  83. cir.gender AS gender /* 性别 */,
  84. cir.mobile AS mobile /* 手机号码 */,
  85. cir.birthday AS birthday /* 出生日期 */,
  86. cir.intention_city AS intention_city /* 意向城市 */,
  87. cir.introduction AS introduction /* 个人简介 */,
  88. cu.state AS coach_state /* 技师状态 */,
  89. cir.state AS info_record_state /* 审核状态 */,
  90. cir.portrait_images AS avatar /* 头像图片 */,
  91. cir.life_photos AS life_photos /* 生活照片数组 */,
  92. cir.auditor AS auditor /* 审核人 */,
  93. cir.audit_time AS audit_time /* 审核时间 */,
  94. cir.audit_remark AS audit_remark /* 审核备注 */,
  95. cir.work_years AS work_years /* 工作年限 */
  96. FROM
  97. coach_info_records cir /* 技师基本信息记录 */
  98. LEFT JOIN coach_users cu ON cu.id = cir.coach_id /* 技师ID */
  99. WHERE
  100. cir.deleted_at IS NULL
  101. AND cu.deleted_at IS NULL;
  102. /* 技师认证记录视图 */
  103. DROP VIEW IF EXISTS v_coach_auth_record;
  104. CREATE VIEW v_coach_auth_record AS
  105. SELECT
  106. cqr.id AS qualification_record_id /* 资质证书记录ID */,
  107. cu.id AS coach_id /* 技师ID */,
  108. cir.id AS info_record_id /* 技师信息记录ID */,
  109. cqr.qual_type AS qual_type /* 资质类型 */,
  110. cqr.qual_photo AS qual_photo /* 资质图片 */,
  111. cir.state AS info_record_state /* 技师信息记录状态 */,
  112. cu.state AS coach_state /* 技师状态 */,
  113. cqr.state AS qualification_record_state /* 审核状态 */,
  114. cir.nickname AS nickname /* 技师昵称 */,
  115. cir.gender AS gender /* 技师性别 */,
  116. cir.mobile AS phone /* 技师手机号码 */,
  117. cir.intention_city AS intention_city /* 技师期望城市 */,
  118. cir.introduction AS introduction /* 技师个人简介 */,
  119. cir.portrait_images AS avatar /* 头像图片 */,
  120. cir.life_photos AS life_photos /* 生活照片数组 */,
  121. cqr.business_license AS business_license /* 技师营业执照 */,
  122. cqr.health_cert AS health_certificate /* 技师健康证 */,
  123. cr.id_card_front_photo AS id_card_front_photo /* 技师身份证照片正面 */,
  124. cr.id_card_back_photo AS id_card_back_photo /* 技师身份证照片反面 */,
  125. cr.id_card_hand_photo AS id_card_hand_photo /* 技师身份证手持照片 */,
  126. cqr.auditor AS auditor /* 审核人 */,
  127. cqr.audit_time AS audit_time /* 审核时间 */,
  128. cqr.audit_remark AS audit_remark /* 审核备注 */
  129. FROM
  130. coach_qual_records cqr
  131. LEFT JOIN coach_users cu ON cu.id = cqr.coach_id /* 先关联技师用户表 */
  132. LEFT JOIN coach_info_records cir ON cir.id = cu.info_record_id /* 再关联技师信息记录表 */
  133. LEFT JOIN coach_real_records cr ON cr.id = cu.real_auth_record_id /* 最后关联实名认证记录表 */
  134. WHERE
  135. cqr.deleted_at IS NULL
  136. AND cu.deleted_at IS NULL
  137. AND cir.deleted_at IS NULL;