215 lines
9.4 KiB
Plaintext
215 lines
9.4 KiB
Plaintext
DROP TABLE IF EXISTS wanshifu_dw.ai_training_order_bidding_snapshot;
|
|
CREATE TABLE IF NOT EXISTS wanshifu_dw.ai_training_order_bidding_snapshot (
|
|
global_order_trace_id STRING COMMENT '订单全局id',
|
|
order_no STRING COMMENT '订单编号',
|
|
order_submit_time STRING COMMENT '订单创建时间',
|
|
order_cancel_time STRING COMMENT '订单取消时间',
|
|
goods_level_1_name STRING COMMENT '订单商品一级类目名称',
|
|
order_goods_cnt BIGINT COMMENT '订单商品数量',
|
|
order_serve_type_name STRING COMMENT '订单服务类型名称',
|
|
order_business_line_name STRING COMMENT '订单业务线名称',
|
|
order_business_line_type STRING COMMENT '订单业务线类型',
|
|
order_appoint_type_name STRING COMMENT '指派类型',
|
|
order_etp_flag STRING COMMENT '下单总包标识:0不是,1是',
|
|
user_id STRING COMMENT '用户id',
|
|
user_name STRING COMMENT '用户名称',
|
|
address STRING COMMENT '经营详情地址',
|
|
business_full_name STRING COMMENT '企业全称',
|
|
company_type STRING COMMENT '企业类型(e_commerce:电商、offline_store:线下门店、factory:工厂、logistics:物流)',
|
|
user_type STRING COMMENT '用户类型(1:普通 2:企业 3:新版企业用户 4:小程序用户 5:个人)',
|
|
order_onsite_sign_time STRING COMMENT '上门时间',
|
|
mst_serve_complete_last_time STRING COMMENT '完工时间',
|
|
goods_level_2_name STRING COMMENT '订单商品二级类目名称',
|
|
goods_level_3_name STRING COMMENT '订单商品三级类目名称',
|
|
order_total_amount DOUBLE COMMENT '订单总金额',
|
|
order_unit_price DOUBLE COMMENT '订单单价',
|
|
is_urgent_flag STRING COMMENT '是否加急',
|
|
city_name STRING COMMENT '城市名称',
|
|
offer_mst_cnt BIGINT COMMENT '报价量(人次)',
|
|
view_mst_cnt BIGINT COMMENT '查看量(人次)',
|
|
fifth_offer_duration_second BIGINT COMMENT '满5人报价时长(第5人报价时间 - 下单时间)',
|
|
tenth_offer_duration_second BIGINT COMMENT '满10人报价时长(第10人报价时间 - 下单时间)',
|
|
attention_cnt BIGINT COMMENT '商家师傅关注数',
|
|
merchant_total_orders BIGINT COMMENT '商家下的总订单量',
|
|
merchant_total_aftersales BIGINT COMMENT '商家产生的总售后单量',
|
|
ignore_cnt BIGINT COMMENT '商家被拉黑次数',
|
|
buyer_note STRING COMMENT '订单备注'
|
|
)
|
|
STORED AS ALIORC
|
|
TBLPROPERTIES (
|
|
'comment' = 'AI训练用报价招标订单快照表(非分区表)'
|
|
);
|
|
|
|
|
|
INSERT OVERWRITE TABLE wanshifu_dw.ai_training_order_bidding_snapshot
|
|
SELECT t1.global_order_trace_id -- 订单全局id
|
|
,t1.order_no -- 订单编号
|
|
,t1.order_submit_time -- 订单创建时间
|
|
,t1.order_cancel_time -- 订单取消时间
|
|
,t3.goods_level_1_name -- 订单商品一级类目名称
|
|
,CAST(t1.order_goods_cnt AS BIGINT) AS order_goods_cnt -- 订单商品数量
|
|
,t1.order_serve_type_name -- 订单服务类型名称
|
|
,t1.order_business_line_name -- 订单业务线名称
|
|
,t1.order_business_line_type -- 订单业务线类型
|
|
,t1.order_appoint_type_name --指派类型
|
|
,t1.order_etp_flag -- 下单总包标识:0不是,1是
|
|
,t1.user_id -- 用户id
|
|
,t2.user_name -- 用户名称
|
|
,t2.address -- 经营详情地址
|
|
,t2.business_full_name -- 企业全称
|
|
,t2.company_type -- 企业类型(e_commerce:电商、offline_store:线下门店、factory:工厂、logistics:物流)
|
|
,t2.user_type -- 用户类型(1:普通 2:企业 3:新版企业用户 4:小程序用户5:个人)
|
|
,order_onsite_sign_time --上门时间
|
|
,mst_serve_complete_last_time --完工时间
|
|
,t3.goods_level_2_name -- 订单商品二级类目名称
|
|
,t3.goods_level_3_name -- 订单商品三级类目名称
|
|
--,init_order_amt --初始主订单金额
|
|
--,init_total_amt --初始订单总金额(主订单+子订单)
|
|
--,settle_amt --订单结算金额(服务费用)
|
|
,t9.init_serve_fee as order_total_amount --订单总金额
|
|
,(t9.init_serve_fee/t1.order_goods_cnt) as order_unit_price --订单单价
|
|
--,t4.order_label --订单种类(加急单、夜间单等等)
|
|
,CASE WHEN t4.order_label LIKE '%加急%' THEN '是'
|
|
ELSE '否'
|
|
END AS is_urgent_flag --是否加急
|
|
,t10.city_name --城市名称
|
|
,NVL(t5.offer_mst_cnt,0) AS offer_mst_cnt --报价量(人次)
|
|
,NVL(t6.view_mst_cnt,0) AS view_mst_cnt --查看量(人次)
|
|
,NVL(t7.fifth_offer_duration_second,0) AS fifth_offer_duration_second --满5人报价时长(第5人报价时间 - 下单时间)
|
|
,NVL(t7.tenth_offer_duration_second,0) AS tenth_offer_duration_second --满10人报价时长(第10人报价时间 - 下单时间)
|
|
,NVL(t8.attention_cnt,0) AS attention_cnt --商家师傅关注数
|
|
,merchant_total_orders --- 商家下的总订单量
|
|
,merchant_total_aftersales --- 商家产生的总售后单量
|
|
,ignore_cnt --商家被拉黑次数
|
|
,t10.buyer_note -- 订单备注
|
|
FROM wanshifu_dw.dws_order_d t1
|
|
LEFT JOIN wanshifu_dw.dim_usr_info_v t2
|
|
ON t1.user_id = t2.user_id
|
|
|
|
JOIN (
|
|
SELECT t1.global_order_trace_id
|
|
,t1.goods_level_1_name
|
|
,t1.goods_level_2_name
|
|
,t1.goods_level_3_name
|
|
FROM wanshifu_dw.dwm_order_goods_info_d_v t1
|
|
JOIN (
|
|
SELECT global_order_trace_id
|
|
FROM wanshifu_dw.dwm_order_goods_info_d_v
|
|
WHERE stat_date IS NOT NULL
|
|
GROUP BY global_order_trace_id
|
|
HAVING COUNT(*) = 1
|
|
) t2
|
|
ON t1.global_order_trace_id = t2.global_order_trace_id
|
|
WHERE stat_date IS NOT NULL
|
|
) t3 --去掉多类目商品
|
|
ON t1.global_order_trace_id = t3.global_order_trace_id
|
|
|
|
LEFT JOIN (
|
|
SELECT global_order_trace_id
|
|
,CONCAT_WS(',',COLLECT_SET(business_type_name)) AS order_label
|
|
FROM wanshifu_dw.dwd_bas_accounting_trade_settlement_flow_fee_detail_d_v
|
|
WHERE etl_date >= '20250101'
|
|
AND business_type_code IN ('emergency_order_settlement','fee_subsidy_settlement','fittings_order_settlement','night_order_settlement','order_settlement','price_diff_subsidy_settlement','rate_award_settlement','service_satisfy_award_settlement','toc_order_settlement')
|
|
GROUP BY global_order_trace_id
|
|
) t4
|
|
ON t1.global_order_trace_id = t4.global_order_trace_id
|
|
LEFT JOIN (
|
|
SELECT global_order_trace_id
|
|
,COUNT(DISTINCT master_id) AS offer_mst_cnt
|
|
FROM wanshifu_dw.dwd_mst_order_offer_price_d_v
|
|
WHERE etl_date >= '20250101'
|
|
GROUP BY global_order_trace_id
|
|
) t5
|
|
ON t1.global_order_trace_id = t5.global_order_trace_id
|
|
LEFT JOIN (
|
|
SELECT global_order_trace_id
|
|
,COUNT(DISTINCT IF(first_view_time IS NOT NULL,master_id,NULL)) AS view_mst_cnt
|
|
FROM wanshifu_dw.dwm_mst_order_push_d
|
|
WHERE etl_date >= '20250101'
|
|
GROUP BY global_order_trace_id
|
|
) t6
|
|
ON t1.global_order_trace_id = t6.global_order_trace_id
|
|
LEFT JOIN (
|
|
SELECT global_order_trace_id
|
|
,SUM(IF(rn = 5,DATEDIFF(offer_time,order_submit_time,'ss'),0)) AS fifth_offer_duration_second
|
|
,SUM(IF(rn = 10,DATEDIFF(offer_time,order_submit_time,'ss'),0)) AS tenth_offer_duration_second
|
|
FROM (
|
|
SELECT global_order_trace_id
|
|
,order_submit_time
|
|
,offer_time
|
|
,ROW_NUMBER() OVER (PARTITION BY global_order_trace_id ORDER BY offer_time ASC ) rn
|
|
FROM wanshifu_dw.dwd_mst_order_offer_price_d_v
|
|
WHERE etl_date >= '20250101'
|
|
)
|
|
WHERE rn IN (5,10)
|
|
GROUP BY global_order_trace_id
|
|
) t7
|
|
ON t1.global_order_trace_id = t7.global_order_trace_id
|
|
|
|
LEFT JOIN (
|
|
SELECT account_id
|
|
,COUNT(master_id) AS attention_cnt --商家师傅关注数
|
|
FROM wanshifu_dw.ods_mst_info_mst_interaction_d_v
|
|
WHERE etl_date = '20250618' --此日期不可修改
|
|
AND attention_status = '1'
|
|
GROUP BY account_id
|
|
) t8
|
|
ON t1.user_id = t8.account_id
|
|
|
|
LEFT JOIN (
|
|
SELECT account_id
|
|
,COUNT(master_id) AS ignore_cnt --商家被拉黑次数
|
|
FROM wanshifu_dw.ods_mst_info_mst_interaction_d_v
|
|
WHERE etl_date = '20250618' --此日期不可修改
|
|
AND ignore_his_order_status = '1'
|
|
GROUP BY account_id
|
|
) t88
|
|
ON t1.user_id = t88.account_id
|
|
|
|
LEFT JOIN wanshifu_dw.dwd_usr_order_trade_info t9
|
|
on t9.global_order_trace_id = t1.global_order_trace_id
|
|
LEFT JOIN wanshifu_dw.dim_order_info_v t10
|
|
on t10.global_order_trace_id = t1.global_order_trace_id
|
|
|
|
left JOIN
|
|
(
|
|
SELECT user_id,COUNT(distinct global_order_trace_id) as merchant_total_orders
|
|
FROM wanshifu_dw.dws_order_d t1
|
|
WHERE SUBSTR(t1.stat_date,1,6) BETWEEN '202501' AND '202506'
|
|
AND t1.order_cancel_time IS NULL
|
|
and t1.mst_serve_complete_last_time is not null
|
|
GROUP BY user_id
|
|
) a
|
|
on t1.user_id = a.user_id
|
|
left JOIN
|
|
(
|
|
SELECT tt2.user_id,count(distinct tt1.global_order_trace_id) as merchant_total_aftersales
|
|
FROM (
|
|
SELECT global_order_trace_id
|
|
FROM wanshifu_dw.dwd_iop_work_order_work_order_infos_v
|
|
WHERE work_order_type IN ('complaint','secondline') --投诉,二线
|
|
AND TO_CHAR(work_order_create_time,'yyyymmdd') >= '20250101'
|
|
and TO_CHAR(work_order_create_time,'yyyymmdd') <= '20250630'
|
|
GROUP BY global_order_trace_id
|
|
UNION ALL
|
|
SELECT global_order_trace_id
|
|
FROM wanshifu_dw.dwm_order_arbitration_info --仲裁
|
|
WHERE TO_CHAR(create_time,'yyyymmdd') >= '20250101'
|
|
AND TO_CHAR(create_time,'yyyymmdd') <= '20250630'
|
|
GROUP BY global_order_trace_id
|
|
) tt1
|
|
LEFT JOIN wanshifu_dw.dim_order_info_v tt2
|
|
on tt1.global_order_trace_id = tt2.global_order_trace_id
|
|
GROUP BY tt2.user_id
|
|
) b
|
|
on t1.user_id = b.user_id
|
|
|
|
WHERE SUBSTR(t1.stat_date,1,6) BETWEEN '202501' AND '202506'
|
|
AND t1.order_goods_lv1_name IN ('家具')
|
|
AND t1.order_business_line_type = 'tob'
|
|
AND t1.order_etp_flag = '0'
|
|
AND t1.order_cancel_time IS NULL
|
|
AND t1.order_appoint_type_name = '报价招标'
|
|
AND t1.order_2nd_onsite_time IS NULL --去掉二次上门
|
|
and t10.city_name IN ('西安市','南京市','天津市','成都市','珠海市','佛山市','合肥市','青岛市','郑州市','长沙市','武汉市','宁波市','苏州市','东莞市','重庆市')
|
|
; |