Pārlūkot izejas kodu

fix(raw): 对账后隐性裁 4 字段保留入仓

- card_group_info: merchant_open
- panini_checklist_version_config: display_name_translations / sale_time / open_time

mask.ini 删隐性裁分组 + 头注释改"已对账保留"。
sync.ini reader/writer column 加回 + DDL 字段表加回。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
tianyu.chu 6 dienas atpakaļ
vecāks
revīzija
a5986a00de

+ 3 - 3
jobs/raw/prd/raw_prd_panini_checklist_version_config_inc_d.ini

@@ -6,13 +6,13 @@
 ;
 ; 配套 DDL:manual/ddl/raw/prd/raw_prd_panini_checklist_version_config_inc_d_create.sql
 ; 配套 mask 配置:jobs/raw/prd/raw_prd_panini_checklist_version_config_inc_d.mask.ini
-; 状态:第一版(与业务库后端对账)
+; 状态:第一版(与业务库后端对账)
 
 [reader]
 dataSource = postgresql/prd-poyee-aliyun
 database = hobby_stocks
 table = public.panini_checklist_version_config
-column = id,panini_list_id,set_version,carmichael_img_type,import_type,report_flag,base_config,base_price,min_reference_price,max_reference_price,num,use_num,status,remark,del_flg,create_time,create_by,update_time,update_by,prop1,prop2,prop3,prop4,tag,display_name,presale_time,max_box,league,issuing_time,issuing_price
+column = id,panini_list_id,set_version,carmichael_img_type,import_type,report_flag,base_config,base_price,min_reference_price,max_reference_price,num,use_num,status,remark,del_flg,create_time,create_by,update_time,update_by,prop1,prop2,prop3,prop4,tag,display_name,presale_time,max_box,league,issuing_time,issuing_price,display_name_translations,sale_time,open_time
 columnType =
 where = update_time >= '${start_date}' AND update_time < '${stop_date}'
 querySql =
@@ -22,7 +22,7 @@ fetchSize = 1000
 [writer]
 dataSource = hdfs/prd-hdfs-ha
 path = /user/hive/warehouse/raw.db/raw_prd_panini_checklist_version_config_inc_d/dt=${dt}/
-column = id,panini_list_id,set_version,carmichael_img_type,import_type,report_flag,base_config,base_price,min_reference_price,max_reference_price,num,use_num,status,remark,del_flg,create_time,create_by,update_time,update_by,prop1,prop2,prop3,prop4,tag,display_name,presale_time,max_box,league,issuing_time,issuing_price
+column = id,panini_list_id,set_version,carmichael_img_type,import_type,report_flag,base_config,base_price,min_reference_price,max_reference_price,num,use_num,status,remark,del_flg,create_time,create_by,update_time,update_by,prop1,prop2,prop3,prop4,tag,display_name,presale_time,max_box,league,issuing_time,issuing_price,display_name_translations,sale_time,open_time
 columnType =
 fileType = orc
 fileName = raw_prd_panini_checklist_version_config_inc_d

+ 1 - 6
jobs/raw/prd/raw_prd_panini_checklist_version_config_inc_d.mask.ini

@@ -8,7 +8,7 @@
 ;     method 映射:y → trim、y(hash) → md5、y(sync -month) → month_trunc。
 ;   - 隐性裁:PG 业务库有 / inbox 草稿无的字段(上游变更未通知下游,待与业务库后端对账)。
 ;
-; 2026-04-30 第一版:隐性裁字段先统一 trim,待对账后定夺
+; 2026-04-30 已对账:隐性裁字段(display_name_translations / sale_time / open_time)业务方确认保留入仓
 
 [mask]
 
@@ -19,8 +19,3 @@ tmp_is_new = trim
 i18n_tmp_download_url = trim
 i18n_tmp_is_new = trim
 product_images = trim
-
-; ---- 隐性裁(待对账)----
-display_name_translations = trim
-sale_time = trim
-open_time = trim

+ 3 - 3
jobs/raw/trd/raw_trd_card_group_info_inc_d.ini

@@ -6,13 +6,13 @@
 ;
 ; 配套 DDL:manual/ddl/raw/trd/raw_trd_card_group_info_inc_d_create.sql
 ; 配套 mask 配置:jobs/raw/trd/raw_trd_card_group_info_inc_d.mask.ini
-; 状态:第一版(与业务库后端对账)
+; 状态:第一版(与业务库后端对账)
 
 [reader]
 dataSource = postgresql/prd-poyee-aliyun
 database = hobby_stocks
 table = public.card_group_info
-column = id,merchant_id,appid,name,code,status,specs,type,random_type,total_price,copies,unit_price,sold_copies,release_time,cycle,show_applet,title,msg,remark,create_time,update_by,update_time,order_quota_min,order_quota_max,user_quota_max,start_time,marketing_info,reviewmsg,lock,commission_rate,year,sport,manufacturer,sets,act,config,info_config,total_num,banner_end_time,add_banner,finished_time,display_name,group_sets_no,close_payment_time,confirm_send_time,close_payment_status,open_card,close_payment_record,group_full_time,live_create_time,live_start_time,live_end_time,report_start_time,report_end_time,report_review_num,report_review_first_time,report_review_end_time,review_hold_time,review_approval_time,review_num,config_json,free_flag,group_info_search_index_col,mer_name,change_type,act_price,act_config_json,real_sold_num,weight,hot_type,team_first,prop1,prop2,prop3,point_rate,point_max,point_min,list_id,list_code,mix_copies,sub_type,act_point_type,payment_method,payment_total_price,payment_commission,payment_finished_price,payment_remain_price,payment_online_price,exclusive,has_bg,merchant_sort,del_flg,del_time,review_account,act_id,sold_end_time,panini_list_id,hot_type_config,goods_type,report_flag,use_coupon,user_level,custom,gift_card_id,group_show_name,min_card_num,act_type,waring_type,compensation_status,point_type,first_act_config,gift_config,version,extra_prop,use_member_discount
+column = id,merchant_id,appid,name,code,status,specs,type,random_type,total_price,copies,unit_price,sold_copies,release_time,cycle,show_applet,title,msg,remark,create_time,update_by,update_time,order_quota_min,order_quota_max,user_quota_max,start_time,marketing_info,reviewmsg,lock,commission_rate,year,sport,manufacturer,sets,act,config,info_config,total_num,banner_end_time,add_banner,finished_time,display_name,group_sets_no,close_payment_time,confirm_send_time,close_payment_status,open_card,close_payment_record,group_full_time,live_create_time,live_start_time,live_end_time,report_start_time,report_end_time,report_review_num,report_review_first_time,report_review_end_time,review_hold_time,review_approval_time,review_num,config_json,free_flag,group_info_search_index_col,mer_name,change_type,act_price,act_config_json,real_sold_num,weight,hot_type,team_first,prop1,prop2,prop3,point_rate,point_max,point_min,list_id,list_code,mix_copies,sub_type,act_point_type,payment_method,payment_total_price,payment_commission,payment_finished_price,payment_remain_price,payment_online_price,exclusive,has_bg,merchant_sort,del_flg,del_time,review_account,act_id,sold_end_time,panini_list_id,hot_type_config,goods_type,report_flag,use_coupon,user_level,custom,gift_card_id,group_show_name,min_card_num,act_type,waring_type,compensation_status,point_type,first_act_config,gift_config,version,extra_prop,use_member_discount,merchant_open
 columnType =
 where = update_time >= '${start_date}' AND update_time < '${stop_date}'
 querySql =
@@ -22,7 +22,7 @@ fetchSize = 1000
 [writer]
 dataSource = hdfs/prd-hdfs-ha
 path = /user/hive/warehouse/raw.db/raw_trd_card_group_info_inc_d/dt=${dt}/
-column = id,merchant_id,appid,name,code,status,specs,type,random_type,total_price,copies,unit_price,sold_copies,release_time,cycle,show_applet,title,msg,remark,create_time,update_by,update_time,order_quota_min,order_quota_max,user_quota_max,start_time,marketing_info,reviewmsg,lock,commission_rate,year,sport,manufacturer,sets,act,config,info_config,total_num,banner_end_time,add_banner,finished_time,display_name,group_sets_no,close_payment_time,confirm_send_time,close_payment_status,open_card,close_payment_record,group_full_time,live_create_time,live_start_time,live_end_time,report_start_time,report_end_time,report_review_num,report_review_first_time,report_review_end_time,review_hold_time,review_approval_time,review_num,config_json,free_flag,group_info_search_index_col,mer_name,change_type,act_price,act_config_json,real_sold_num,weight,hot_type,team_first,prop1,prop2,prop3,point_rate,point_max,point_min,list_id,list_code,mix_copies,sub_type,act_point_type,payment_method,payment_total_price,payment_commission,payment_finished_price,payment_remain_price,payment_online_price,exclusive,has_bg,merchant_sort,del_flg,del_time,review_account,act_id,sold_end_time,panini_list_id,hot_type_config,goods_type,report_flag,use_coupon,user_level,custom,gift_card_id,group_show_name,min_card_num,act_type,waring_type,compensation_status,point_type,first_act_config,gift_config,version,extra_prop,use_member_discount
+column = id,merchant_id,appid,name,code,status,specs,type,random_type,total_price,copies,unit_price,sold_copies,release_time,cycle,show_applet,title,msg,remark,create_time,update_by,update_time,order_quota_min,order_quota_max,user_quota_max,start_time,marketing_info,reviewmsg,lock,commission_rate,year,sport,manufacturer,sets,act,config,info_config,total_num,banner_end_time,add_banner,finished_time,display_name,group_sets_no,close_payment_time,confirm_send_time,close_payment_status,open_card,close_payment_record,group_full_time,live_create_time,live_start_time,live_end_time,report_start_time,report_end_time,report_review_num,report_review_first_time,report_review_end_time,review_hold_time,review_approval_time,review_num,config_json,free_flag,group_info_search_index_col,mer_name,change_type,act_price,act_config_json,real_sold_num,weight,hot_type,team_first,prop1,prop2,prop3,point_rate,point_max,point_min,list_id,list_code,mix_copies,sub_type,act_point_type,payment_method,payment_total_price,payment_commission,payment_finished_price,payment_remain_price,payment_online_price,exclusive,has_bg,merchant_sort,del_flg,del_time,review_account,act_id,sold_end_time,panini_list_id,hot_type_config,goods_type,report_flag,use_coupon,user_level,custom,gift_card_id,group_show_name,min_card_num,act_type,waring_type,compensation_status,point_type,first_act_config,gift_config,version,extra_prop,use_member_discount,merchant_open
 columnType =
 fileType = orc
 fileName = raw_trd_card_group_info_inc_d

+ 1 - 4
jobs/raw/trd/raw_trd_card_group_info_inc_d.mask.ini

@@ -8,7 +8,7 @@
 ;     method 映射:y → trim、y(hash) → md5、y(sync -month) → month_trunc。
 ;   - 隐性裁:PG 业务库有 / inbox 草稿无的字段(上游变更未通知下游,待与业务库后端对账)。
 ;
-; 2026-04-30 第一版:隐性裁字段先统一 trim,待对账后定夺
+; 2026-04-30 已对账:隐性裁字段(merchant_open)业务方确认保留入仓
 
 [mask]
 
@@ -21,6 +21,3 @@ sort_query = trim
 prop4 = trim
 carouses = trim
 group_show_imgs = trim
-
-; ---- 隐性裁(待对账)----
-merchant_open = trim

+ 34 - 31
manual/ddl/raw/prd/raw_prd_panini_checklist_version_config_inc_d_create.sql

@@ -2,7 +2,7 @@
 -- 日期:2026-04-30
 -- 工单:(无)
 -- 目的:raw 层贴源增量表,承接 PG public.panini_checklist_version_config 日常增量;全字段 STRING,按 dt 分区 ORC 存储
--- 状态:第一版(与业务库后端对账)
+-- 状态:第一版(与业务库后端对账)
 -- 备注:配套 sync ini = jobs/raw/prd/raw_prd_panini_checklist_version_config_inc_d.ini;
 --       配套 mask 配置 = jobs/raw/prd/raw_prd_panini_checklist_version_config_inc_d.mask.ini;
 --       字段决策溯源 = kb/24-raw建模.md
@@ -10,36 +10,39 @@
 DROP TABLE IF EXISTS raw.raw_prd_panini_checklist_version_config_inc_d;
 
 CREATE EXTERNAL TABLE IF NOT EXISTS raw.raw_prd_panini_checklist_version_config_inc_d (
-    id                     STRING COMMENT '',
-    panini_list_id         STRING COMMENT '基础库beseid',
-    set_version            STRING COMMENT '版本',
-    carmichael_img_type    STRING COMMENT '卡密图片适用类型:球员,球队,other,all',
-    import_type            STRING COMMENT '导入类型',
-    report_flag            STRING COMMENT '是否强制使用新版报告形式,默认0:非,1:强制',
-    base_config            STRING COMMENT '配置',
-    base_price             STRING COMMENT '指导价: 元/箱',
-    min_reference_price    STRING COMMENT '参考价范围-最小',
-    max_reference_price    STRING COMMENT '参考价范围-最大',
-    num                    STRING COMMENT 'list数量',
-    use_num                STRING COMMENT '使用次数',
-    status                 STRING COMMENT '状态',
-    remark                 STRING COMMENT '描述',
-    del_flg                STRING COMMENT '是否删除:0=正常,1=删除',
-    create_time            STRING COMMENT '',
-    create_by              STRING COMMENT '',
-    update_time            STRING COMMENT '',
-    update_by              STRING COMMENT '',
-    prop1                  STRING COMMENT '',
-    prop2                  STRING COMMENT '',
-    prop3                  STRING COMMENT '',
-    prop4                  STRING COMMENT '',
-    tag                    STRING COMMENT '标签,关键字',
-    display_name           STRING COMMENT '别名',
-    presale_time           STRING COMMENT '预售时间开播时间',
-    max_box                STRING COMMENT '规格限制:最多 盒',
-    league                 STRING COMMENT '联赛',
-    issuing_time           STRING COMMENT '发行日期',
-    issuing_price          STRING COMMENT '发行价格:单价元/箱'
+    id                           STRING COMMENT '',
+    panini_list_id               STRING COMMENT '基础库beseid',
+    set_version                  STRING COMMENT '版本',
+    carmichael_img_type          STRING COMMENT '卡密图片适用类型:球员,球队,other,all',
+    import_type                  STRING COMMENT '导入类型',
+    report_flag                  STRING COMMENT '是否强制使用新版报告形式,默认0:非,1:强制',
+    base_config                  STRING COMMENT '配置',
+    base_price                   STRING COMMENT '指导价: 元/箱',
+    min_reference_price          STRING COMMENT '参考价范围-最小',
+    max_reference_price          STRING COMMENT '参考价范围-最大',
+    num                          STRING COMMENT 'list数量',
+    use_num                      STRING COMMENT '使用次数',
+    status                       STRING COMMENT '状态',
+    remark                       STRING COMMENT '描述',
+    del_flg                      STRING COMMENT '是否删除:0=正常,1=删除',
+    create_time                  STRING COMMENT '',
+    create_by                    STRING COMMENT '',
+    update_time                  STRING COMMENT '',
+    update_by                    STRING COMMENT '',
+    prop1                        STRING COMMENT '',
+    prop2                        STRING COMMENT '',
+    prop3                        STRING COMMENT '',
+    prop4                        STRING COMMENT '',
+    tag                          STRING COMMENT '标签,关键字',
+    display_name                 STRING COMMENT '别名',
+    presale_time                 STRING COMMENT '预售时间开播时间',
+    max_box                      STRING COMMENT '规格限制:最多 盒',
+    league                       STRING COMMENT '联赛',
+    issuing_time                 STRING COMMENT '发行日期',
+    issuing_price                STRING COMMENT '发行价格:单价元/箱',
+    display_name_translations    STRING COMMENT '国际版配置 别名',
+    sale_time                    STRING COMMENT '预售上架时间',
+    open_time                    STRING COMMENT '最晚开拆时间'
 )
 COMMENT 'checklist 版本配置'
 PARTITIONED BY (dt STRING)

+ 3 - 2
manual/ddl/raw/trd/raw_trd_card_group_info_inc_d_create.sql

@@ -2,7 +2,7 @@
 -- 日期:2026-04-30
 -- 工单:(无)
 -- 目的:raw 层贴源增量表,承接 PG public.card_group_info 日常增量;全字段 STRING,按 dt 分区 ORC 存储
--- 状态:第一版(与业务库后端对账)
+-- 状态:第一版(与业务库后端对账)
 -- 备注:配套 sync ini = jobs/raw/trd/raw_trd_card_group_info_inc_d.ini;
 --       配套 mask 配置 = jobs/raw/trd/raw_trd_card_group_info_inc_d.mask.ini;
 --       字段决策溯源 = kb/24-raw建模.md
@@ -124,7 +124,8 @@ CREATE EXTERNAL TABLE IF NOT EXISTS raw.raw_trd_card_group_info_inc_d (
     gift_config                    STRING COMMENT '赠礼活动配置',
     version                        STRING COMMENT '',
     extra_prop                     STRING COMMENT '额外配置json信息',
-    use_member_discount            STRING COMMENT '参与会员折扣:默认0不参与 平台会员折扣 1 品牌会员折扣 2'
+    use_member_discount            STRING COMMENT '参与会员折扣:默认0不参与 平台会员折扣 1 品牌会员折扣 2',
+    merchant_open                  STRING COMMENT '支持商家代开卡密:默认0不支持,1支持'
 )
 COMMENT '拼团信息表'
 PARTITIONED BY (dt STRING)