265 行
9.4 KiB
PHP
265 行
9.4 KiB
PHP
<?php
|
|
/**
|
|
* 酒类商品两级分类层级数据生成器
|
|
* 基于现有分类结构,生成标准的两级分类数据
|
|
*/
|
|
|
|
// 数据库配置
|
|
$host = '127.0.0.1';
|
|
$dbname = 'mss_nahaichuan_c';
|
|
$username = 'mss_nahaichuan_c';
|
|
$password = 'MyNmyAaRj9yWKPKH';
|
|
|
|
// 酒类两级分类层级数据结构
|
|
$alcohol_categories = [
|
|
// 一级分类:白酒
|
|
[
|
|
'id' => 1001,
|
|
'class_name' => '白酒',
|
|
'pid' => 0,
|
|
'type' => 1, // 1表示一级分类
|
|
'status' => 1,
|
|
'code' => 1001,
|
|
'is_recommend' => 1,
|
|
'subcategories' => [
|
|
['id' => 1101, 'class_name' => '浓香型白酒', 'pid' => 1001, 'type' => 2, 'code' => 1101],
|
|
['id' => 1102, 'class_name' => '酱香型白酒', 'pid' => 1001, 'type' => 2, 'code' => 1102],
|
|
['id' => 1103, 'class_name' => '清香型白酒', 'pid' => 1001, 'type' => 2, 'code' => 1103],
|
|
['id' => 1104, 'class_name' => '米香型白酒', 'pid' => 1001, 'type' => 2, 'code' => 1104],
|
|
['id' => 1105, 'class_name' => '兼香型白酒', 'pid' => 1001, 'type' => 2, 'code' => 1105]
|
|
]
|
|
],
|
|
|
|
// 一级分类:红酒
|
|
[
|
|
'id' => 1002,
|
|
'class_name' => '红酒',
|
|
'pid' => 0,
|
|
'type' => 1,
|
|
'status' => 1,
|
|
'code' => 1002,
|
|
'is_recommend' => 1,
|
|
'subcategories' => [
|
|
['id' => 1201, 'class_name' => '干红葡萄酒', 'pid' => 1002, 'type' => 2, 'code' => 1201],
|
|
['id' => 1202, 'class_name' => '半干红葡萄酒', 'pid' => 1002, 'type' => 2, 'code' => 1202],
|
|
['id' => 1203, 'class_name' => '半甜红葡萄酒', 'pid' => 1002, 'type' => 2, 'code' => 1203],
|
|
['id' => 1204, 'class_name' => '甜红葡萄酒', 'pid' => 1002, 'type' => 2, 'code' => 1204]
|
|
]
|
|
],
|
|
|
|
// 一级分类:啤酒
|
|
[
|
|
'id' => 1003,
|
|
'class_name' => '啤酒',
|
|
'pid' => 0,
|
|
'type' => 1,
|
|
'status' => 1,
|
|
'code' => 1003,
|
|
'is_recommend' => 1,
|
|
'subcategories' => [
|
|
['id' => 1301, 'class_name' => '淡色啤酒', 'pid' => 1003, 'type' => 2, 'code' => 1301],
|
|
['id' => 1302, 'class_name' => '浓色啤酒', 'pid' => 1003, 'type' => 2, 'code' => 1302],
|
|
['id' => 1303, 'class_name' => '黑啤酒', 'pid' => 1003, 'type' => 2, 'code' => 1303],
|
|
['id' => 1304, 'class_name' => '小麦啤酒', 'pid' => 1003, 'type' => 2, 'code' => 1304],
|
|
['id' => 1305, 'class_name' => '精酿啤酒', 'pid' => 1003, 'type' => 2, 'code' => 1305]
|
|
]
|
|
],
|
|
|
|
// 一级分类:洋酒
|
|
[
|
|
'id' => 1004,
|
|
'class_name' => '洋酒',
|
|
'pid' => 0,
|
|
'type' => 1,
|
|
'status' => 1,
|
|
'code' => 1004,
|
|
'is_recommend' => 1,
|
|
'subcategories' => [
|
|
['id' => 1401, 'class_name' => '威士忌', 'pid' => 1004, 'type' => 2, 'code' => 1401],
|
|
['id' => 1402, 'class_name' => '白兰地', 'pid' => 1004, 'type' => 2, 'code' => 1402],
|
|
['id' => 1403, 'class_name' => '伏特加', 'pid' => 1004, 'type' => 2, 'code' => 1403],
|
|
['id' => 1404, 'class_name' => '朗姆酒', 'pid' => 1004, 'type' => 2, 'code' => 1404]
|
|
]
|
|
],
|
|
|
|
// 一级分类:黄酒
|
|
[
|
|
'id' => 1005,
|
|
'class_name' => '黄酒',
|
|
'pid' => 0,
|
|
'type' => 1,
|
|
'status' => 1,
|
|
'code' => 1005,
|
|
'is_recommend' => 0,
|
|
'subcategories' => [
|
|
['id' => 1501, 'class_name' => '绍兴黄酒', 'pid' => 1005, 'type' => 2, 'code' => 1501],
|
|
['id' => 1502, 'class_name' => '客家黄酒', 'pid' => 1005, 'type' => 2, 'code' => 1502],
|
|
['id' => 1503, 'class_name' => '福建老酒', 'pid' => 1005, 'type' => 2, 'code' => 1503],
|
|
['id' => 1504, 'class_name' => '江西封缸酒', 'pid' => 1005, 'type' => 2, 'code' => 1504]
|
|
]
|
|
],
|
|
|
|
// 一级分类:果酒
|
|
[
|
|
'id' => 1006,
|
|
'class_name' => '果酒',
|
|
'pid' => 0,
|
|
'type' => 1,
|
|
'status' => 1,
|
|
'code' => 1006,
|
|
'is_recommend' => 0,
|
|
'subcategories' => [
|
|
['id' => 1601, 'class_name' => '苹果酒', 'pid' => 1006, 'type' => 2, 'code' => 1601],
|
|
['id' => 1602, 'class_name' => '梅子酒', 'pid' => 1006, 'type' => 2, 'code' => 1602],
|
|
['id' => 1603, 'class_name' => '桃花酒', 'pid' => 1006, 'type' => 2, 'code' => 1603],
|
|
['id' => 1604, 'class_name' => '荔枝酒', 'pid' => 1006, 'type' => 2, 'code' => 1604],
|
|
['id' => 1605, 'class_name' => '葡萄果酒', 'pid' => 1006, 'type' => 2, 'code' => 1605]
|
|
]
|
|
]
|
|
];
|
|
|
|
// 生成数据统计
|
|
function generateCategoryStats($categories) {
|
|
$stats = [
|
|
'total_level1' => count($categories),
|
|
'total_level2' => 0,
|
|
'total_categories' => 0,
|
|
'category_details' => []
|
|
];
|
|
|
|
foreach ($categories as $category) {
|
|
$subcategory_count = count($category['subcategories']);
|
|
$stats['total_level2'] += $subcategory_count;
|
|
$stats['category_details'][] = [
|
|
'name' => $category['class_name'],
|
|
'subcategory_count' => $subcategory_count
|
|
];
|
|
}
|
|
|
|
$stats['total_categories'] = $stats['total_level1'] + $stats['total_level2'];
|
|
return $stats;
|
|
}
|
|
|
|
// 生成SQL插入语句
|
|
function generateInsertSQL($categories) {
|
|
$sql_statements = [];
|
|
|
|
foreach ($categories as $category) {
|
|
// 一级分类SQL
|
|
$level1_sql = sprintf(
|
|
"INSERT INTO ls_retail_goods_class (id, class_name, pid, type, status, code, is_recommend, addtime, merchantid, store_id, industry_id, add_type, banner_id) VALUES (%d, '%s', %d, %d, %d, %d, %d, %d, 1, 0, 0, 1, 0);",
|
|
$category['id'],
|
|
$category['class_name'],
|
|
$category['pid'],
|
|
$category['type'],
|
|
$category['status'],
|
|
$category['code'],
|
|
$category['is_recommend'],
|
|
time()
|
|
);
|
|
$sql_statements[] = $level1_sql;
|
|
|
|
// 二级分类SQL
|
|
foreach ($category['subcategories'] as $subcategory) {
|
|
$level2_sql = sprintf(
|
|
"INSERT INTO ls_retail_goods_class (id, class_name, pid, type, status, code, is_recommend, addtime, merchantid, store_id, industry_id, add_type, banner_id) VALUES (%d, '%s', %d, %d, 1, %d, 0, %d, 1, 0, 0, 1, 0);",
|
|
$subcategory['id'],
|
|
$subcategory['class_name'],
|
|
$subcategory['pid'],
|
|
$subcategory['type'],
|
|
$subcategory['code'],
|
|
time()
|
|
);
|
|
$sql_statements[] = $level2_sql;
|
|
}
|
|
}
|
|
|
|
return $sql_statements;
|
|
}
|
|
|
|
// 生成JSON格式数据
|
|
function generateJSONData($categories) {
|
|
$json_data = [];
|
|
|
|
foreach ($categories as $category) {
|
|
$category_data = [
|
|
'id' => $category['id'],
|
|
'class_name' => $category['class_name'],
|
|
'pid' => $category['pid'],
|
|
'type' => $category['type'],
|
|
'status' => $category['status'],
|
|
'code' => $category['code'],
|
|
'is_recommend' => $category['is_recommend'],
|
|
'children' => []
|
|
];
|
|
|
|
foreach ($category['subcategories'] as $subcategory) {
|
|
$category_data['children'][] = [
|
|
'id' => $subcategory['id'],
|
|
'class_name' => $subcategory['class_name'],
|
|
'pid' => $subcategory['pid'],
|
|
'type' => $subcategory['type'],
|
|
'status' => 1,
|
|
'code' => $subcategory['code'],
|
|
'is_recommend' => 0
|
|
];
|
|
}
|
|
|
|
$json_data[] = $category_data;
|
|
}
|
|
|
|
return $json_data;
|
|
}
|
|
|
|
// 输出结果
|
|
echo "=== 酒类商品两级分类层级数据 ===\n\n";
|
|
|
|
// 统计信息
|
|
$stats = generateCategoryStats($alcohol_categories);
|
|
echo "📊 分类统计:\n";
|
|
echo "- 一级分类数量: {$stats['total_level1']}\n";
|
|
echo "- 二级分类数量: {$stats['total_level2']}\n";
|
|
echo "- 分类总数量: {$stats['total_categories']}\n\n";
|
|
|
|
echo "📋 分类详情:\n";
|
|
foreach ($stats['category_details'] as $detail) {
|
|
echo "- {$detail['name']}: {$detail['subcategory_count']} 个子分类\n";
|
|
}
|
|
|
|
echo "\n=== 数据结构展示 ===\n\n";
|
|
|
|
// 展示层级结构
|
|
foreach ($alcohol_categories as $category) {
|
|
echo "🍷 {$category['class_name']} (ID: {$category['id']}, Code: {$category['code']})\n";
|
|
foreach ($category['subcategories'] as $subcategory) {
|
|
echo " └── {$subcategory['class_name']} (ID: {$subcategory['id']}, Code: {$subcategory['code']})\n";
|
|
}
|
|
echo "\n";
|
|
}
|
|
|
|
echo "=== SQL插入语句 ===\n\n";
|
|
$sql_statements = generateInsertSQL($alcohol_categories);
|
|
foreach ($sql_statements as $sql) {
|
|
echo $sql . "\n";
|
|
}
|
|
|
|
echo "\n=== JSON格式数据 ===\n\n";
|
|
$json_data = generateJSONData($alcohol_categories);
|
|
echo json_encode($json_data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
|
|
|
echo "\n\n=== 数据表字段说明 ===\n";
|
|
echo "- id: 分类唯一标识\n";
|
|
echo "- class_name: 分类名称\n";
|
|
echo "- pid: 父级分类ID (0表示一级分类)\n";
|
|
echo "- type: 分类层级 (1=一级分类, 2=二级分类)\n";
|
|
echo "- status: 状态 (1=启用, 0=禁用)\n";
|
|
echo "- code: 分类编码\n";
|
|
echo "- is_recommend: 是否推荐 (1=是, 0=否)\n";
|
|
echo "- addtime: 添加时间戳\n";
|
|
echo "- merchantid: 商户ID\n";
|
|
echo "- store_id: 店铺ID\n";
|
|
echo "- industry_id: 行业ID\n";
|
|
echo "- add_type: 添加类型\n";
|
|
echo "- banner_id: 横幅ID\n";
|
|
|
|
?>
|