119 lines
6.7 KiB
PHP
119 lines
6.7 KiB
PHP
<?php
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| 店铺违规信息预警:统一表头与映射
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| 页面、导入、导出共用同一套列顺序和字段键;各平台上游/导出文件的表头
|
||
| 通过 header_aliases 映射到统一列。违规分类按 category_rules 关键词
|
||
| 从上到下匹配,未命中归入 default_category。
|
||
*/
|
||
|
||
return [
|
||
// 统一表头(顺序即页面、导出、导入模板的列顺序)
|
||
// auto=自动计算列(导入忽略、导出可见);virtual=查询时计算;system=系统回写(导入忽略)。
|
||
'columns' => [
|
||
['key' => 'shop_name', 'label' => '店铺名'],
|
||
['key' => 'alert_level', 'label' => '预警级别', 'auto' => true],
|
||
['key' => 'violation_type', 'label' => '违规类型'],
|
||
['key' => 'violation_category', 'label' => '违规分类'],
|
||
['key' => 'violation_reason', 'label' => '违规原因'],
|
||
['key' => 'disposition', 'label' => '处置方式'],
|
||
['key' => 'violation_no', 'label' => '违规单号'],
|
||
['key' => 'violation_date', 'label' => '违规日期'],
|
||
['key' => 'points_deducted', 'label' => '扣分'],
|
||
['key' => 'owner_name', 'label' => '责任人', 'auto' => true],
|
||
['key' => 'status', 'label' => '状态'],
|
||
['key' => 'penalty_date', 'label' => '处罚日期'],
|
||
['key' => 'appeal_deadline', 'label' => '申诉截止日期'],
|
||
['key' => 'handling_deadline', 'label' => '处理截止', 'auto' => true],
|
||
['key' => 'is_overdue', 'label' => '是否超时', 'virtual' => true],
|
||
['key' => 'push_status', 'label' => '推送状态', 'system' => true],
|
||
['key' => 'handling_status', 'label' => '处理状态'],
|
||
['key' => 'ignore_reason', 'label' => '忽略原因'],
|
||
],
|
||
|
||
// 页面平台页签;source_values 为上游/导入文件中平台字段的取值
|
||
'platforms' => [
|
||
'taobao' => ['label' => '淘系', 'icon' => 'shopping_bag', 'source_values' => ['淘宝', '天猫', '淘系', 'taobao', 'tmall']],
|
||
'alibaba' => ['label' => '阿里巴巴', 'icon' => 'inventory_2', 'source_values' => ['阿里巴巴', '1688', 'alibaba']],
|
||
'jd' => ['label' => '京东', 'icon' => 'local_mall', 'source_values' => ['京东', 'jd', 'jingdong']],
|
||
'jingxi' => ['label' => '京喜', 'icon' => 'storefront', 'source_values' => ['京喜', 'jingxi']],
|
||
'pinduoduo' => ['label' => '拼多多', 'icon' => 'grid_view', 'source_values' => ['拼多多', 'pdd', 'pinduoduo']],
|
||
'douyin' => ['label' => '抖音', 'icon' => 'play_circle', 'source_values' => ['抖音', 'douyin']],
|
||
],
|
||
|
||
// 处理状态(本地维护)
|
||
'handling_statuses' => ['未处理', '处理中', '处理完成', '已忽略'],
|
||
'default_handling_status' => '未处理',
|
||
// 历史取值兼容:导入时归一化到新四档
|
||
'handling_status_legacy' => ['已处理' => '处理完成', '无需处理' => '已忽略'],
|
||
|
||
// 预警级别(页面标签颜色)与处理时效默认(违规日期起算的天数,当天 23:59:59 到期)
|
||
'alert_levels' => [
|
||
'P0' => ['label' => 'P0-严重', 'tone' => 'is-danger'],
|
||
'P1' => ['label' => 'P1-较重', 'tone' => 'is-warning'],
|
||
'P2' => ['label' => 'P2-提醒', 'tone' => 'is-success'],
|
||
],
|
||
'alert_default_days' => ['P0' => 1, 'P1' => 2, 'P2' => 3],
|
||
|
||
// 推送状态
|
||
'push_statuses' => ['未推送', '已推送', '推送失败'],
|
||
|
||
// 默认视图:只展示需提醒且未处理的记录,其余数据只入库不打扰
|
||
'default_view' => ['needs_alert' => true, 'handling_status' => '未处理'],
|
||
|
||
// 群机器人推送(先留接口,配置后启用;窗口从每天 09:00 开始)
|
||
'push' => [
|
||
'enabled' => false,
|
||
'channel' => 'dingtalk_robot',
|
||
'webhook' => '',
|
||
'secret' => '',
|
||
'window_start' => '09:00',
|
||
'window_end' => '21:00',
|
||
'instant_levels' => ['P0', 'P1'],
|
||
'digest_time' => '10:00',
|
||
'at_all' => false,
|
||
],
|
||
|
||
// 导入表头别名 → 统一列键(不区分大小写、忽略空格)
|
||
'header_aliases' => [
|
||
'shop_name' => ['店铺名', '店铺名称', '店铺', '商家名称', '商家', 'shop_name', 'shopname'],
|
||
'violation_type' => ['违规类型', '违规内容', '违规行为', '违规描述', 'violation_type'],
|
||
'violation_category' => ['违规分类', '违规类别', '分类', 'violation_category'],
|
||
'violation_reason' => ['违规原因', '违规说明', '违规详情', 'violation_reason', 'reason'],
|
||
'disposition' => ['处置方式', '处置措施', '处置结果', '处理方式', 'disposition', 'handling_method'],
|
||
'alert_level' => ['预警级别', '预警等级', 'alert_level'],
|
||
'owner_name' => ['责任人', '店铺负责人', '运营负责人', 'owner_name'],
|
||
'handling_deadline' => ['处理截止', '处理截止时间', '处理时限', 'handling_deadline'],
|
||
'is_overdue' => ['是否超时', '是否逾期', 'is_overdue'],
|
||
'push_status' => ['推送状态', 'push_status'],
|
||
'ignore_reason' => ['忽略原因', '忽略理由', 'ignore_reason'],
|
||
'violation_no' => ['违规单号', '违规编号', '违规id', '违规ID', '单号', 'violation_no'],
|
||
'violation_date' => ['违规日期', '违规时间', '违规发生时间', 'violation_date'],
|
||
'points_deducted' => ['扣分', '扣分数', '扣除分数', '罚分', 'points_deducted'],
|
||
'status' => ['状态', '平台状态', '处罚状态', '违规状态', 'status'],
|
||
'penalty_date' => ['处罚日期', '处罚时间', 'penalty_date'],
|
||
'appeal_deadline' => ['申诉截止日期', '申诉截止时间', '申诉期限', '申诉截止', 'appeal_deadline'],
|
||
'handling_status' => ['处理状态', '我方处理状态', '处理进度', 'handling_status'],
|
||
],
|
||
|
||
// 违规分类规则:命中顺序从上到下
|
||
'category_rules' => [
|
||
'发货履约' => ['发货', '缺货', '无货', '揽收', '出库', '延迟', '物流轨迹'],
|
||
'物流异常' => ['物流', '轨迹', '签收', '少件', '错件', '快递', '虚假轨迹'],
|
||
'交易违规' => ['虚假交易', '销量', '评价', '虚假发货', '刷单', '虚假服务'],
|
||
'商品合规' => ['商品属性', '商品信息', '质量', '劣质', '不合格', '标题', '卖点', '描述不符', '空包'],
|
||
'服务体验' => ['服务', '投诉', '差评', '售后', '客服', '负面反馈'],
|
||
'发票与考核' => ['发票', '考核', '工单', '及时率', '上传率'],
|
||
],
|
||
'default_category' => '其他',
|
||
|
||
// 导入限制
|
||
'import' => [
|
||
'max_rows' => 20000,
|
||
'max_kilobytes' => 10240,
|
||
],
|
||
];
|