소스 검색

feat:提交最新的分析后台文档

景好勇 4 달 전
부모
커밋
c6eaf74b44
15개의 변경된 파일259개의 추가작업 그리고 174개의 파일을 삭제
  1. 16 29
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/03技师认证-技师实名认证记录表.sql
  2. 11 1
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/04平台项目管理-增加表.sql
  3. 18 16
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/05店铺列表.sql
  4. 11 9
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/06业务员列表-增加的表.sql
  5. 24 30
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/08订单列表-增加的字段.sql
  6. 15 13
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/09异常订单.sql
  7. 15 13
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/10报警订单.sql
  8. 12 10
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/11店铺订单.sql
  9. 15 13
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/12店铺应急订单统计.sql
  10. 8 6
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/13平台总收入-增加字段.sql
  11. 13 11
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/14提现管理.sql
  12. 19 17
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/15平台订单收入.sql
  13. 8 6
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/16角色充值.sql
  14. 74 0
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/30订单设置-增加表.sql
  15. 0 0
      doc/系统设计/数据库设计/物理模型/分析后台设计增加/fix.sql

+ 16 - 29
doc/系统设计/数据库设计/物理模型/分析后台设计增加/03技师认证-技师实名认证记录表.sql

@@ -1,4 +1,5 @@
--- Active: xiaoding_test@@192.168.110.85@3306@xiaoding_test
+DROP TABLE IF EXISTS report_coach_auth;
+CREATE TABLE report_coach_auth AS
 WITH 
 /* 资质证书信息 */
 qualification_photos AS (
@@ -17,38 +18,24 @@ qualification_photos AS (
     GROUP BY cq.id
 )
 SELECT 
-    /* 技师昵称 */
-    ci.nickname,
-    /* 性别 */
-    ci.gender,
-    /* 出生日期 */
-    ci.birthday,
-    /* 期望城市 */
-    ci.intention_city,
-    /* 手机号码 */
-    ci.mobile,
-    /* 个人简介 */
-    ci.introduction,
-    /* 认证进度 */
+    ci.nickname as nickname /* 技师昵称 */,
+    ci.gender as gender /* 性别 */,
+    ci.birthday as birthday /* 出生日期 */,
+    ci.intention_city as intention_city /* 期望城市 */,
+    ci.mobile as mobile /* 手机号码 */,
+    ci.introduction as introduction /* 个人简介 */,
     CASE 
         WHEN cu.real_auth_record_id IS NULL THEN '未认证'
         WHEN cu.qualification_record_id IS NULL THEN '实名认证完成'
         ELSE '全部认证完成'
-    END,
-    /* 认证状态 */
-    cu.state,
-    /* 身份证照片正面 */
-    cr.id_card_front_photo,
-    /* 身份证照片反面 */
-    cr.id_card_back_photo,
-    /* 从业资格证图片 */
-    qp.qualification_photo,
-    /* 健康证 */
-    qp.health_photo,
-    /* 生活照 */
-    qp.life_photo,
-    /* 工作照 */
-    qp.work_photo
+    END as auth_state /* 认证进度 */,
+    cu.state as state /* 认证状态 */,
+    cr.id_card_front_photo as id_card_front_photo /* 身份证照片正面 */,
+    cr.id_card_back_photo as id_card_back_photo /* 身份证照片反面 */,
+    qp.qualification_photo as qualification_photo /* 从业资格证图片 */,
+    qp.health_photo as health_photo /* 健康证 */,
+    qp.life_photo as life_photo /* 生活照 */,
+    qp.work_photo as work_photo /* 工作照 */
 FROM coach_users cu
 LEFT JOIN coach_info_records ci ON cu.info_record_id = ci.id 
 LEFT JOIN coach_real_records cr ON cu.real_auth_record_id = cr.id

+ 11 - 1
doc/系统设计/数据库设计/物理模型/分析后台设计增加/04平台项目管理-增加表.sql

@@ -1,4 +1,6 @@
 -- Active: xiaoding_test@@192.168.110.85@3306@xiaoding_test
+DROP TABLE IF EXISTS report_project_list;
+CREATE TABLE report_project_list AS
 WITH
     order_stats AS (
         /* 统计每个项目的订单数量 */
@@ -9,7 +11,15 @@ WITH
         GROUP BY
             service_id
     )
-SELECT p.id /* 项目编号 */, p.title /* 项目名称 */, pc.name /* 项目分类名称 */, p.price /* 项目价格 */, p.duration /* 服务时长(分钟) */, COALESCE(os.count, 0) /* 下单数量 */, p.state /* 状态 */, p.cover /* 项目封面图片 */
+SELECT 
+    p.id as project_id /* 项目编号 */, 
+    p.title as project_title /* 项目名称 */, 
+    pc.name as category_name /* 项目分类名称 */, 
+    p.price as project_price /* 项目价格 */, 
+    p.duration as service_duration /* 服务时长(分钟) */, 
+    COALESCE(os.count, 0) as order_count /* 下单数量 */, 
+    p.state as project_state /* 状态 */, 
+    p.cover as project_cover /* 项目封面图片 */
 FROM
     project p
     LEFT JOIN project_cate pc ON p.cate_id = pc.id

+ 18 - 16
doc/系统设计/数据库设计/物理模型/分析后台设计增加/05店铺列表.sql

@@ -3,6 +3,8 @@
 您是一位专业的dba,同时会业务分析。请参考以上数据库的设计文档,给我写一个sql,关联查询出:
 项目名称、项目分类、项目价格、项目时长、项目分成、区域管理、下单数量、状态、图片、开启/关闭
 */
+DROP TABLE IF EXISTS report_shop_list;
+CREATE TABLE report_shop_list AS
 WITH RECURSIVE
     /* 店铺技师数量统计 */
     coach_count AS (
@@ -23,22 +25,22 @@ WITH RECURSIVE
             ss.shop_id
     )
 SELECT
-    si.id /* 店铺编号 */,
-    sar.shop_name /* 店铺名称 */,
-    sar.contact_name /* 店铺负责人 */,
-    sar.contact_phone /* 店铺电话 */,
-    sar.shop_address /* 店铺位置 */,
-    sar.longitude /* 经度 */,
-    sar.latitude /* 纬度 */,
-    sar.operating_area /* 面积 */,
-    sar.business_hours /* 营业时间 */,
-    sar.rating /* 店铺星级 */,
-    sar.storefront_photo /* 店铺门头照 */,
-    sar.storefront_front_photo /* 店铺门头照正面 */,
-    sar.storefront_back_photo /* 店铺门头照背面 */,
-    sar.state /* 认证状态 */,
-    COALESCE(cc.coach_total, 0) /* 技师总数 */ AS coach_total,
-    COALESCE(sc.service_total, 0) /* 服务项目总数 */ AS service_total
+    si.id as shop_id /* 店铺编号 */,
+    sar.shop_name as shop_name /* 店铺名称 */,
+    sar.contact_name as contact_name /* 店铺负责人 */,
+    sar.contact_phone as contact_phone /* 店铺电话 */,
+    sar.shop_address as shop_address /* 店铺位置 */,
+    sar.longitude as longitude /* 经度 */,
+    sar.latitude as latitude /* 纬度 */,
+    sar.operating_area as operating_area /* 面积 */,
+    sar.business_hours as business_hours /* 营业时间 */,
+    sar.rating as rating /* 店铺星级 */,
+    sar.storefront_photo as storefront_photo /* 店铺门头照 */,
+    sar.storefront_front_photo as storefront_front_photo /* 店铺门头照正面 */,
+    sar.storefront_back_photo as storefront_back_photo /* 店铺门头照背面 */,
+    sar.state as state /* 认证状态 */,
+    COALESCE(cc.coach_total, 0) as coach_total /* 技师总数 */,
+    COALESCE(sc.service_total, 0) as service_total /* 服务项目总数 */
 FROM
     shop_infos si
     LEFT JOIN shop_auth_records sar ON si.auth_record_id = sar.id

+ 11 - 9
doc/系统设计/数据库设计/物理模型/分析后台设计增加/06业务员列表-增加的表.sql

@@ -7,6 +7,8 @@
 3. wallet 和 member_users通过判断owner_type和owner_id关联
 4. wallet_withdraw_records和wallet通过wallet_id关联
 */
+DROP TABLE IF EXISTS report_agent_list;
+CREATE TABLE report_agent_list AS
 /* 代理信息统计查询 */
 WITH agent_withdraw AS (
     SELECT 
@@ -20,15 +22,15 @@ WITH agent_withdraw AS (
     GROUP BY w.owner_id
 )
 SELECT 
-    mu.nickname /* 代理昵称 */,
-    ai.created_at /* 申请时间 */,
-    mu.gender /* 性别 */,
-    mu.avatar /* 头像 */,
-    mu.mobile /* 联系电话 */,
-    ai.area_code /* 代理地区 */,
-    COALESCE(w.total_income, 0) /* 总收益金额 */,
-    COALESCE(aw.total_withdraw_amount, 0) /* 提现金额 */,
-    COALESCE(w.available_balance, 0) /* 余额 */
+    mu.nickname as agent_nickname /* 代理昵称 */,
+    ai.created_at as apply_time /* 申请时间 */,
+    mu.gender as gender /* 性别 */,
+    mu.avatar as avatar /* 头像 */,
+    mu.mobile as mobile /* 联系电话 */,
+    ai.area_code as area /* 代理地区 */,
+    COALESCE(w.total_income, 0) as total_income /* 总收益金额 */,
+    COALESCE(aw.total_withdraw_amount, 0) as withdraw_amount /* 提现金额 */,
+    COALESCE(w.available_balance, 0) as balance /* 余额 */
 FROM agent_infos ai
 INNER JOIN member_users mu ON ai.user_id = mu.id
 LEFT JOIN wallet w ON w.owner_id = ai.id 

+ 24 - 30
doc/系统设计/数据库设计/物理模型/分析后台设计增加/08订单列表-增加的字段.sql

@@ -1,9 +1,5 @@
 -- Active: xiaoding_test@@192.168.110.85@3306@xiaoding_test
 
-/* 
-* 订单详情统计查询
-*/
-
 /* 
 订单编号是order表的id,项目名称是order表通过service_id与project表关联查询出项目名称title,
 用户名称是order表通过user_id和member_users表关联查询出用户姓名nickname,
@@ -20,6 +16,8 @@
 
 先不要了没设计: 营销类型  砍价减免金额  打赏金额  悬赏金额  跟单客服是系统表里的
 */
+DROP TABLE IF EXISTS report_order_list;
+CREATE TABLE report_order_list AS
 WITH
     order_status AS (
         SELECT
@@ -35,36 +33,32 @@ WITH
         FROM order_records
     )
 SELECT
-    o.id /* 订单编号 */,
-    p.title /* 项目名称 */,
-    mu.nickname /* 用户名称 */,
-    o.created_at /* 下单时间 */,
-    o.total_amount /* 支付金额 */,
-    os_state.state /* 服务状态 */,
-    CASE o.order_source
-        WHEN 'PLATFORM' THEN CONCAT('技师-', coach_mu.nickname)
-        ELSE CONCAT('店铺-', sa.shop_name)
-    END /* 技师/店铺 */,
-    os_accept.created_at /* 技师/店铺接单时间 */,
-    o.area_code /* 区域 */,
-    o.address /* 地址 */,
-    o.remark /* 备注 */,
-    o.order_source /* 订单来源 */,
-    os_arrive.created_at /* 到达时间 */,
+    o.id as order_id /* 订单编号 */,
+    p.title as project_title /* 项目名称 */,
+    mu.nickname as user_name /* 用户名称 */,
+    o.created_at as order_time /* 下单时间 */,
+    o.total_amount as total_amount /* 支付金额 */,
+    os_state.state as service_state /* 服务状态 */,
+    os_accept.created_at as accept_time /* 技师/店铺接单时间 */,
+    o.area_code as area_code /* 区域 */,
+    o.address as address /* 地址 */,
+    o.remark as remark /* 备注 */,
+    o.order_source as order_source /* 订单来源 */,
+    os_arrive.created_at as arrive_time /* 到达时间 */,
     TIMESTAMPDIFF(
         MINUTE,
         NOW(),
         os_arrive.created_at
-    ) /* 订单倒计时 */,
-    os_start.created_at /* 服务开始时间 */,
-    mc_platform.discount_value /* 平台优惠券 */,
-    cp.discount_amount /* 技师减免 */,
-    mc_shop.discount_value /* 商铺代金券 */,
-    wpr.payment_method /* 支付方式 */,
-    o.traffic_amount /* 路费 */,
-    o.order_type /* 订单类型 */,
-    os_user_leave.created_at /* 用户确认撤离时间 */,
-    os_coach_leave.created_at /* 技师确认离开时间 */
+    ) as countdown /* 订单倒计时 */,
+    os_start.created_at as start_time /* 服务开始时间 */,
+    mc_platform.discount_value as platform_discount /* 平台优惠券 */,
+    cp.discount_amount as coach_discount /* 技师减免 */,
+    mc_shop.discount_value as shop_discount /* 商铺代金券 */,
+    wpr.payment_method as payment_method /* 支付方式 */,
+    o.traffic_amount as traffic_amount /* 路费 */,
+    o.order_type as order_type /* 订单类型 */,
+    os_user_leave.created_at as user_leave_time /* 用户确认撤离时间 */,
+    os_coach_leave.created_at as coach_leave_time /* 技师确认离开时间 */
 FROM
     `order` o
     LEFT JOIN project p ON o.service_id = p.id /* 关联项目表 */

+ 15 - 13
doc/系统设计/数据库设计/物理模型/分析后台设计增加/09异常订单.sql

@@ -18,24 +18,26 @@
 
 不查询字段:跟单客服是系统表获取的
 */
+DROP TABLE IF EXISTS report_order_exception;
+CREATE TABLE report_order_exception AS
 SELECT 
-    oer.order_id /* 订单编号 */,
-    p.title /* 项目名称 */,
-    mu.nickname /* 用户名称 */,
-    orr.created_at /* 下单时间 */,
-    wpr.actual_amount /* 支付金额 */,
-    wpr.payment_method /* 支付方式 */,
-    orr.state /* 服务状态 */,
+    oer.order_id as order_id /* 订单编号 */,
+    p.title as project_title /* 项目名称 */,
+    mu.nickname as user_name /* 用户名称 */,
+    orr.created_at as order_time /* 下单时间 */,
+    wpr.actual_amount as payment_amount /* 支付金额 */,
+    wpr.payment_method as payment_method /* 支付方式 */,
+    orr.state as service_state /* 服务状态 */,
     CASE 
         WHEN o.order_source = 'coach' THEN u_coach.nickname /* 技师昵称 */
         WHEN o.order_source = 'shop' THEN sar.shop_name /* 店铺名称 */
         ELSE NULL
-    END /* 技师/店铺 */,
-    orr.created_at /* 技师/店铺接单时间 */,
-    o.area_code /* 区域 */,
-    o.address /* 地址 */,
-    o.remark /* 备注 */,
-    o.order_source /* 订单来源 */
+    END as accept_name /* 技师/店铺 */,
+    orr.created_at as accept_time /* 技师/店铺接单时间 */,
+    o.area_code as area_code /* 区域 */,
+    o.address as address /* 地址 */,
+    o.remark as remark /* 备注 */,
+    o.order_source as order_source /* 订单来源 */
 FROM 
     order_exc_records oer
 LEFT JOIN 

+ 15 - 13
doc/系统设计/数据库设计/物理模型/分析后台设计增加/10报警订单.sql

@@ -21,6 +21,8 @@
 /* 
 查询订单编号、项目名称、用户名称、下单时间、支付金额、服务状态、技师、技师接单时间、区域、地址、备注、代理商、代理商电话
 */
+DROP TABLE IF EXISTS report_alarm_order;
+CREATE TABLE report_alarm_order AS
 WITH order_create_time AS (
     /* 获取下单时间 */
     SELECT 
@@ -50,19 +52,19 @@ coach_accept_time AS (
     )
 )
 SELECT 
-    ca.order_id /* 订单编号 */,
-    p.title /* 项目名称 */,
-    mu1.nickname /* 用户名称 */,
-    oct.created_at /* 下单时间 */,
-    wpr.actual_amount /* 支付金额 */,
-    orr.state /* 服务状态 */,
-    mu2.nickname /* 技师昵称 */,
-    cat.created_at /* 技师接单时间 */,
-    t1.area_code /* 区域 */,
-    t1.address /* 地址 */,
-    t1.remark /* 备注 */,
-    mu3.nickname /* 代理商 */,
-    mu3.mobile /* 代理商电话 */
+    ca.order_id as order_id /* 订单编号 */,
+    p.title as project_title /* 项目名称 */,
+    mu1.nickname as user_name /* 用户名称 */,
+    oct.created_at as order_time /* 下单时间 */,
+    wpr.actual_amount as payment_amount /* 支付金额 */,
+    orr.state as service_state /* 服务状态 */,
+    mu2.nickname as coach_name /* 技师昵称 */,
+    cat.created_at as coach_accept_time /* 技师接单时间 */,
+    t1.area_code as area_code /* 区域 */,
+    t1.address as address /* 地址 */,
+    t1.remark as remark /* 备注 */,
+    mu3.nickname as agent_name /* 代理商 */,
+    mu3.mobile as agent_mobile /* 代理商电话 */
 FROM coach_alerts ca
 LEFT JOIN `order` t1 ON ca.order_id = t1.id
 LEFT JOIN project p ON t1.service_id = p.id

+ 12 - 10
doc/系统设计/数据库设计/物理模型/分析后台设计增加/11店铺订单.sql

@@ -13,6 +13,8 @@
 /* 
 基础订单信息与分账记录统计查询
 */
+DROP TABLE IF EXISTS report_shop_order;
+CREATE TABLE report_shop_order AS
 WITH order_arrival AS (
     /* 获取订单到店记录 */
     SELECT 
@@ -47,20 +49,20 @@ split_amounts AS (
     GROUP BY order_id
 )
 SELECT 
-    o.order_source /* 用户类型 */,
+    o.order_source as order_source /* 用户类型 */,
     CASE 
         WHEN o.order_source = 'USER' THEN mu.nickname 
         WHEN o.order_source = 'SHOP' THEN sar.shop_name 
         ELSE NULL 
-    END AS source_name /* 用户昵称/店铺名称 */,
-    o.order_type /* 订单类型 */,
-    ss.name AS service_name /* 项目名称 */,
-    o.total_amount /* 订单金额 */,
-    oa.arrival_time /* 到店时间 */,
-    los.latest_state /* 订单状态 */,
-    COALESCE(sa.shop_amount, 0) AS shop_amount /* 店铺分成 */,
-    COALESCE(sa.promotion_amount, 0) AS promotion_amount /* 推广分成 */,
-    COALESCE(sa.platform_amount, 0) AS platform_amount /* 平台抽成 */
+    END as source_name /* 用户昵称/店铺名称 */,
+    o.order_type as order_type /* 订单类型 */,
+    ss.name as service_name /* 项目名称 */,
+    o.total_amount as total_amount /* 订单金额 */,
+    oa.arrival_time as arrival_time /* 到店时间 */,
+    los.latest_state as latest_state /* 订单状态 */,
+    COALESCE(sa.shop_amount, 0) as shop_amount /* 店铺分成 */,
+    COALESCE(sa.promotion_amount, 0) as promotion_amount /* 推广分成 */,
+    COALESCE(sa.platform_amount, 0) as platform_amount /* 平台抽成 */
 FROM `order` o
 LEFT JOIN member_users mu ON o.user_id = mu.id /* 关联用户信息 */
 LEFT JOIN shop_auth_records sar ON o.shop_id = sar.shop_id /* 关联店铺信息 */

+ 15 - 13
doc/系统设计/数据库设计/物理模型/分析后台设计增加/12店铺应急订单统计.sql

@@ -22,6 +22,8 @@ AI一般会出现的问题 用户表是member_users表  技师名称最终实在
 店铺名称、项目名称、下单时间、下单金额、技师名称、到达时间、区域、位置、
 店铺联系电话、技师联系方式、距离、平台收入
 */
+DROP TABLE IF EXISTS report_shop_emergency_order;
+CREATE TABLE report_shop_emergency_order AS
 WITH order_times AS (
     SELECT 
         order_id,
@@ -32,19 +34,19 @@ WITH order_times AS (
     GROUP BY order_id
 )
 SELECT 
-    ord.id /* 订单编号 */,
-    COALESCE(sar.shop_name, '') /* 店铺名称 */,
-    COALESCE(ss.name, '') /* 项目名称 */,
-    ot.submit_time /* 下单时间 */,
-    ord.total_amount /* 下单金额 */,
-    COALESCE(mu.nickname, '') /* 技师名称 */,
-    ot.arrive_time /* 到达时间 */,
-    ord.area_code /* 区域 */,
-    ord.address /* 位置 */,
-    COALESCE(sar.contact_phone, '') /* 店铺联系电话 */,
-    COALESCE(mu.mobile, '') /* 技师联系方式 */,
-    ord.distance /* 距离 */,
-    COALESCE(wsr.split_amount, 0.00) /* 平台收入 */
+    ord.id as order_id /* 订单编号 */,
+    COALESCE(sar.shop_name, '') as shop_name /* 店铺名称 */,
+    COALESCE(ss.name, '') as service_name /* 项目名称 */,
+    ot.submit_time as submit_time /* 下单时间 */,
+    ord.total_amount as total_amount /* 下单金额 */,
+    COALESCE(mu.nickname, '') as coach_name /* 技师名称 */,
+    ot.arrive_time as arrive_time /* 到达时间 */,
+    ord.area_code as area_code /* 区域 */,
+    ord.address as address /* 位置 */,
+    COALESCE(sar.contact_phone, '') as shop_phone /* 店铺联系电话 */,
+    COALESCE(mu.mobile, '') as coach_phone /* 技师联系方式 */,
+    ord.distance as distance /* 距离 */,
+    COALESCE(wsr.split_amount, 0.00) as platform_income /* 平台收入 */
 FROM `order` ord /* 使用反引号避免关键字冲突,使用别名ord */
 LEFT JOIN shop_auth_records sar ON ord.shop_id = sar.shop_id /* 关联店铺认证信息 */
 LEFT JOIN shop_services ss ON ord.service_id = ss.id /* 关联店铺服务 */

+ 8 - 6
doc/系统设计/数据库设计/物理模型/分析后台设计增加/13平台总收入-增加字段.sql

@@ -8,13 +8,15 @@
 */
 
 /* 查询平台收入明细 */
+DROP TABLE IF EXISTS report_platform_income;
+CREATE TABLE report_platform_income AS
 SELECT 
-    trans_time /* 交易时间 */,
-    owner_type /* 收入渠道 */,
-    province /* 省份 */,
-    city /* 城市 */,
-    district /* 地区 */,
-    amount /* 平台收入 */
+    trans_time as trans_time /* 交易时间 */,
+    owner_type as owner_type /* 收入渠道 */,
+    province as province /* 省份 */,
+    city as city /* 城市 */,
+    district as district /* 地区 */,
+    amount as amount /* 平台收入 */
 FROM 
     wallet_trans_records wtr /* 钱包交易记录表 */
 WHERE 

+ 13 - 11
doc/系统设计/数据库设计/物理模型/分析后台设计增加/14提现管理.sql

@@ -21,6 +21,8 @@
 
 */
 
+DROP TABLE IF EXISTS report_withdraw_management;
+CREATE TABLE report_withdraw_management AS
 WITH withdraw_detail AS (
     SELECT 
         wwr.id /* 提现记录ID */,
@@ -70,16 +72,16 @@ WITH withdraw_detail AS (
         wallet w ON w.id = wwr.wallet_id /* 钱包表 */
 )
 SELECT 
-    username /* 用户名称 */,
-    owner_type /* 提现角色/渠道 */,
-    amount /* 提现金额 */,
-    created_at /* 申请时间 */,
-    withdraw_type /* 提现方式 */,
-    fee /* 提现手续费 */,
-    auditor /* 审核人 */,
-    withdraw_time /* 提现时间 */,
-    audit_state /* 提现状态 */,
-    area_code /* 区/县 */,
-    available_balance /* 剩余金额 */
+    username as username /* 用户名称 */,
+    owner_type as owner_type /* 提现角色/渠道 */,
+    amount as amount /* 提现金额 */,
+    created_at as created_at /* 申请时间 */,
+    withdraw_type as withdraw_type /* 提现方式 */,
+    fee as fee /* 提现手续费 */,
+    auditor as auditor /* 审核人 */,
+    withdraw_time as withdraw_time /* 提现时间 */,
+    audit_state as audit_state /* 提现状态 */,
+    area_code as area_code /* 区/县 */,
+    available_balance as available_balance /* 剩余金额 */
 FROM 
     withdraw_detail /* 提现详情临时表 */

+ 19 - 17
doc/系统设计/数据库设计/物理模型/分析后台设计增加/15平台订单收入.sql

@@ -14,25 +14,27 @@
 wallet_split_records表split_type分账类型是:技师分成  业务员分成  代理商分成  市场经费  平台分成   渠道分成  店铺分成
 */
 
+DROP TABLE IF EXISTS report_platform_order_income;
+CREATE TABLE report_platform_order_income AS
 /* 使用WITH子句定义多个查询因子 */
 SELECT 
-    base.area_code /* 区域 */,
-    base.id /* 订单编号 */,
-    tech_info.coach_name /* 技师名称 */,
-    shop_info.shop_name /* 店铺名称 */,
-    muser.nickname /* 用户名称 */,
-    base.total_amount /* 订单金额 */,
-    agent_info.agent_name /* 代理商 */,
-    accept_time.accept_time /* 接单时间 */,
-    base.created_at /* 下单时间 */,
-    split_info.coach_amount /* 技师分成 */,
-    split_info.shop_amount /* 店铺分成 */,
-    base.traffic_amount /* 路费 */,
-    split_info.channel_amount /* 渠道分成 */,
-    split_info.salesman_amount /* 业务员分成 */,
-    split_info.agent_amount /* 代理商分成 */,
-    split_info.market_amount /* 市场经费 */,
-    split_info.platform_amount /* 平台分成 */
+    base.area_code as area_code /* 区域 */,
+    base.id as order_id /* 订单编号 */,
+    tech_info.coach_name as coach_name /* 技师名称 */,
+    shop_info.shop_name as shop_name /* 店铺名称 */,
+    muser.nickname as user_name /* 用户名称 */,
+    base.total_amount as total_amount /* 订单金额 */,
+    agent_info.agent_name as agent_name /* 代理商 */,
+    accept_time.accept_time as accept_time /* 接单时间 */,
+    base.created_at as created_at /* 下单时间 */,
+    split_info.coach_amount as coach_amount /* 技师分成 */,
+    split_info.shop_amount as shop_amount /* 店铺分成 */,
+    base.traffic_amount as traffic_amount /* 路费 */,
+    split_info.channel_amount as channel_amount /* 渠道分成 */,
+    split_info.salesman_amount as salesman_amount /* 业务员分成 */,
+    split_info.agent_amount as agent_amount /* 代理商分成 */,
+    split_info.market_amount as market_amount /* 市场经费 */,
+    split_info.platform_amount as platform_amount /* 平台分成 */
 FROM (
     SELECT 
         ord.id /* 订单编号 */,

+ 8 - 6
doc/系统设计/数据库设计/物理模型/分析后台设计增加/16角色充值.sql

@@ -8,6 +8,8 @@
 
 
 /* 区域、交易时间、代理商、代理商分账、平台分账、市场经费统计 */
+DROP TABLE IF EXISTS report_agent_income;
+CREATE TABLE report_agent_income AS
 WITH trans_base AS (
     SELECT 
         wtr.district /* 区域 */,
@@ -21,12 +23,12 @@ WITH trans_base AS (
         AND wtr.deleted_at IS NULL
 )
 SELECT 
-    tb.district /* 区域 */,
-    tb.trans_time /* 交易时间 */,
-    mu.nickname /* 代理商昵称 */,
-    tb.amount /* 代理商分账 */,
-    tb.amount /* 平台分账 */,
-    tb.amount / 2 /* 市场经费 */
+    tb.district as district /* 区域 */,
+    tb.trans_time as trans_time /* 交易时间 */,
+    mu.nickname as nickname /* 代理商昵称 */,
+    tb.amount as agent_amount /* 代理商分账 */,
+    tb.amount as platform_amount /* 平台分账 */,
+    tb.amount / 2 as market_amount /* 市场经费 */
 FROM trans_base tb
 INNER JOIN agent_infos ai ON ai.id = tb.owner_id AND ai.deleted_at IS NULL
 INNER JOIN member_users mu ON mu.id = ai.user_id AND mu.deleted_at IS NULL

+ 74 - 0
doc/系统设计/数据库设计/物理模型/分析后台设计增加/30订单设置-增加表.sql

@@ -0,0 +1,74 @@
+-- Active: xiaoding_tes@@192.168.110.85@3306@xiaoding_test
+
+
+/* 删除设置相关表 */
+DROP TABLE IF EXISTS `setting_values`;
+DROP TABLE IF EXISTS `setting_permissions`;
+DROP TABLE IF EXISTS `setting_items`;
+DROP TABLE IF EXISTS `setting_groups`;
+
+/* 创建设置组表 */
+CREATE TABLE `setting_groups` (
+    `id` bigint unsigned NOT NULL AUTO_INCREMENT /* 主键ID */,
+    `code` varchar(50) NOT NULL /* 设置组编码 */,
+    `name` varchar(50) NOT NULL /* 设置组名称 */,
+    `description` varchar(255) DEFAULT NULL /* 设置组描述 */,
+    `sort` int NOT NULL DEFAULT 0 /* 排序 */,
+    `created_at` timestamp NULL DEFAULT NULL /* 创建时间 */,
+    `updated_at` timestamp NULL DEFAULT NULL /* 更新时间 */,
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `uk_code` (`code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci /* 设置组表 */;
+
+/* 创建设置项表 */
+CREATE TABLE `setting_items` (
+    `id` bigint unsigned NOT NULL AUTO_INCREMENT /* 主键ID */,
+    `group_id` bigint unsigned NOT NULL /* 设置组ID */,
+    `code` varchar(50) NOT NULL /* 设置项编码 */,
+    `name` varchar(50) NOT NULL /* 设置项名称 */,
+    `description` varchar(255) DEFAULT NULL /* 设置项描述 */,
+    `value_type` varchar(20) NOT NULL /* 值类型:string,number,boolean,json */,
+    `default_value` text DEFAULT NULL /* 默认值 */,
+    `min_value` decimal(10,2) DEFAULT NULL /* 最⼩值(数值类型) */,
+    `max_value` decimal(10,2) DEFAULT NULL /* 最⼤值(数值类型) */,
+    `options` json DEFAULT NULL /* 可选值(json格式) */,
+    `sort` int NOT NULL DEFAULT 0 /* 排序 */,
+    `created_at` timestamp NULL DEFAULT NULL /* 创建时间 */,
+    `updated_at` timestamp NULL DEFAULT NULL /* 更新时间 */,
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `uk_code` (`code`),
+    KEY `idx_group_id` (`group_id`),
+    CONSTRAINT `fk_setting_items_group_id` FOREIGN KEY (`group_id`) REFERENCES `setting_groups` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci /* 设置项表 */;
+
+/* 创建设置权限表 */
+CREATE TABLE `setting_permissions` (
+    `id` bigint unsigned NOT NULL AUTO_INCREMENT /* 主键ID */,
+    `item_id` bigint unsigned NOT NULL /* 设置项ID */,
+    `object_type` varchar(20) NOT NULL /* 业务对象类型:PLATFORM,AGENT,SHOP,COACH */,
+    `can_edit` tinyint(1) NOT NULL DEFAULT 0 /* 是否可编辑 */,
+    `min_value` decimal(10,2) DEFAULT NULL /* 最⼩值限制 */,
+    `max_value` decimal(10,2) DEFAULT NULL /* 最⼤值限制 */,
+    `options` json DEFAULT NULL /* 可选值限制 */,
+    `created_at` timestamp NULL DEFAULT NULL /* 创建时间 */,
+    `updated_at` timestamp NULL DEFAULT NULL /* 更新时间 */,
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `uk_item_object` (`item_id`,`object_type`),
+    KEY `idx_item_id` (`item_id`),
+    CONSTRAINT `fk_setting_permissions_item_id` FOREIGN KEY (`item_id`) REFERENCES `setting_items` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci /* 设置权限表 */;
+
+/* 创建设置值表 */
+CREATE TABLE `setting_values` (
+    `id` bigint unsigned NOT NULL AUTO_INCREMENT /* 主键ID */,
+    `item_id` bigint unsigned NOT NULL /* 设置项ID */,
+    `object_type` varchar(20) NOT NULL /* 业务对象类型:PLATFORM,AGENT,SHOP,COACH */,
+    `object_id` bigint unsigned NOT NULL /* 业务对象ID */,
+    `value` text NOT NULL /* 设置值 */,
+    `created_at` timestamp NULL DEFAULT NULL /* 创建时间 */,
+    `updated_at` timestamp NULL DEFAULT NULL /* 更新时间 */,
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `uk_item_object` (`item_id`,`object_type`,`object_id`),
+    KEY `idx_object` (`object_type`,`object_id`),
+    CONSTRAINT `fk_setting_values_item_id` FOREIGN KEY (`item_id`) REFERENCES `setting_items` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci /* 设置值表 */;

+ 0 - 0
doc/系统设计/数据库设计/物理模型/分析后台设计增加/fix.sql