03技师认证.sql 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  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.avatar AS avatar /* 头像图片 */,
  91. cir.life_photos AS life_photos /* 生活照片数组 */,
  92. cir.created_at AS created_at /* 申请时间 */,
  93. cir.auditor AS auditor /* 审核人 */,
  94. cir.audit_time AS audit_time /* 审核时间 */,
  95. cir.audit_remark AS audit_remark /* 审核备注 */,
  96. cir.work_years AS work_years /* 工作年限 */
  97. FROM
  98. coach_info_records cir /* 技师基本信息记录 */
  99. LEFT JOIN coach_users cu ON cu.id = cir.coach_id /* 技师ID */
  100. WHERE
  101. cir.deleted_at IS NULL
  102. AND cu.deleted_at IS NULL;
  103. /* 技师资质认证记录视图 */
  104. DROP VIEW IF EXISTS v_coach_qual_record;
  105. CREATE VIEW v_coach_qual_record AS
  106. SELECT
  107. cqr.id AS id /* 资质证书记录ID */,
  108. cu.id AS coach_id /* 技师ID */,
  109. cir.id AS info_record_id /* 技师信息记录ID */,
  110. cqr.qual_type AS qual_type /* 资质类型 */,
  111. cqr.qual_photo AS qual_photo /* 资质图片 */,
  112. cir.state AS info_record_state /* 技师信息记录状态 */,
  113. cu.state AS coach_state /* 技师状态 */,
  114. cqr.state AS qualification_record_state /* 审核状态 */,
  115. cir.nickname AS nickname /* 技师昵称 */,
  116. cir.gender AS gender /* 技师性别 */,
  117. cir.mobile AS mobile /* 技师手机号码 */,
  118. cir.intention_city AS intention_city /* 技师期望城市 */,
  119. cir.introduction AS introduction /* 技师个人简介 */,
  120. cir.portrait_images AS avatar /* 头像图片 */,
  121. cir.life_photos AS life_photos /* 生活照片数组 */,
  122. cqr.business_license AS business_license /* 技师营业执照 */,
  123. cqr.health_cert AS health_certificate /* 技师健康证 */,
  124. cr.id_card_front_photo AS id_card_front_photo /* 技师身份证照片正面 */,
  125. cr.id_card_back_photo AS id_card_back_photo /* 技师身份证照片反面 */,
  126. cr.id_card_hand_photo AS id_card_hand_photo /* 技师身份证手持照片 */,
  127. cqr.created_at AS created_at /* 申请时间 */,
  128. cqr.auditor AS auditor /* 审核人 */,
  129. cqr.audit_time AS audit_time /* 审核时间 */,
  130. cqr.audit_remark AS audit_remark /* 审核备注 */
  131. FROM
  132. coach_qual_records cqr
  133. LEFT JOIN coach_users cu ON cu.id = cqr.coach_id /* 先关联技师用户表 */
  134. LEFT JOIN coach_info_records cir ON cir.id = cu.info_record_id /* 再关联技师信息记录表 */
  135. LEFT JOIN coach_real_records cr ON cr.coach_id = cqr.coach_id /* 最后关联实名认证记录表 */
  136. WHERE
  137. cqr.deleted_at IS NULL
  138. AND cu.deleted_at IS NULL
  139. AND cir.deleted_at IS NULL;
  140. /* 技师实名认证记录视图 */
  141. DROP VIEW IF EXISTS v_coach_real_record;
  142. CREATE VIEW v_coach_real_record AS
  143. SELECT
  144. cr.id AS id /* 实名认证记录ID */,
  145. cu.id AS coach_id /* 技师ID */,
  146. cir.id AS info_record_id /* 技师信息记录ID */,
  147. cir.nickname AS nickname /* 技师昵称 */,
  148. cir.portrait_images AS avatar /* 头像图片 */,
  149. cir.gender AS gender /* 技师性别 */,
  150. cir.mobile AS mobile /* 技师手机号码 */,
  151. cir.intention_city AS intention_city /* 技师期望城市 */,
  152. cr.real_name AS real_name /* 真实姓名 */,
  153. cr.id_card AS id_card /* 身份证号码 */,
  154. cu.state AS coach_state /* 技师状态 */,
  155. cr.state AS state /* 审核状态 */,
  156. cr.id_card_front_photo AS id_card_front_photo /* 身份证照片正面 */,
  157. cr.id_card_back_photo AS id_card_back_photo /* 身份证照片反面 */,
  158. cr.id_card_hand_photo AS id_card_hand_photo /* 身份证手持照片 */,
  159. cr.created_at AS created_at /* 申请时间 */,
  160. cr.auditor AS auditor /* 审核人 */,
  161. cr.audit_time AS audit_time /* 审核时间 */,
  162. cr.audit_remark AS audit_remark /* 审核备注 */
  163. FROM
  164. coach_real_records cr
  165. LEFT JOIN coach_users cu ON cu.id = cr.coach_id
  166. LEFT JOIN coach_info_records cir ON cir.id = cu.info_record_id
  167. WHERE
  168. cr.deleted_at IS NULL
  169. AND cu.deleted_at IS NULL
  170. AND cir.deleted_at IS NULL;