This commit is contained in:
wanghai
2026-04-10 18:21:41 +08:00
parent b29c28858b
commit d04912e815
14 changed files with 548 additions and 19 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "laravel/lumen",
"version": "4.4.2",
"version": "4.4.3",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",

View File

@@ -1927,6 +1927,114 @@ build_vshop() {
fi
}
# ===========================================
# 导入 Demo 数据
# ===========================================
import_demo_data() {
if [ -z "$SELECTED_PLATFORM" ]; then
log_info "未选择业务模式,跳过 Demo 数据导入"
return 0
fi
local demo_dir="/data/httpd/ECShopX/docker-dev/demo"
# 检查数据库中 items 表是否已有数据
local item_count
item_count=$(docker exec "$CONTAINER_NAME" sh -c \
"mysql -u$MYSQL_USER -p'$MYSQL_PASSWORD' -h127.0.0.1 $MYSQL_DATABASE -sN -e 'SELECT COUNT(*) FROM items;'" 2>/dev/null)
if [ -n "$item_count" ] && [ "$item_count" -gt 0 ] 2>/dev/null; then
log_info "数据库中已存在商品数据items 表有 ${item_count} 条记录),跳过 Demo 数据导入"
return 0
fi
local sql_file=""
if [ "$SELECTED_PLATFORM" = "platform" ]; then
# BBC 模式,只有一个 bbc.sql
sql_file="bbc.sql"
echo ""
echo -n "是否导入 BBC Demo 数据? [Y/n]: "
read -r import_answer < /dev/tty
if [ -n "$import_answer" ] && [ "$import_answer" != "Y" ] && [ "$import_answer" != "y" ] && [ "$import_answer" != "yes" ] && [ "$import_answer" != "YES" ]; then
log_info "跳过 Demo 数据导入"
return 0
fi
elif [ "$SELECTED_PLATFORM" = "standard" ]; then
# B2C 模式,让用户选择行业
echo ""
log_info "请选择要导入的 B2C Demo 数据(行业):"
log_info " 1) 美妆"
log_info " 2) 运动"
log_info " 3) 包袋"
log_info " 0) 跳过,不导入"
echo ""
while true; do
read -r -p "请输入选项 (0-3默认: 0): " DEMO_CHOICE < /dev/tty
DEMO_CHOICE=${DEMO_CHOICE:-0}
case "$DEMO_CHOICE" in
0)
log_info "跳过 Demo 数据导入"
return 0
;;
1)
sql_file="bc_beauty.sql"
break
;;
2)
sql_file="b2c_sports.sql"
break
;;
3)
sql_file="b2c_bags.sql"
break
;;
*)
log_error "无效的选项,请输入 0-3"
;;
esac
done
fi
if [ -z "$sql_file" ]; then
return 0
fi
# 检查容器内 SQL 文件是否存在
if ! docker exec "$CONTAINER_NAME" sh -c "test -f '$demo_dir/$sql_file'" 2>/dev/null; then
log_error "Demo 数据文件不存在: $demo_dir/$sql_file"
return 1
fi
log_info "正在导入 Demo 数据: $sql_file ..."
docker exec "$CONTAINER_NAME" sh -c \
"mysql -u$MYSQL_USER -p'$MYSQL_PASSWORD' -h127.0.0.1 $MYSQL_DATABASE < '$demo_dir/$sql_file'" > /tmp/demo_import.log 2>&1 &
local import_pid=$!
local spinstr='|/-\'
while kill -0 $import_pid 2>/dev/null; do
local temp=${spinstr#?}
printf "\r${CYAN}[INFO]${NC} 导入 Demo 数据中 ${spinstr:0:1}"
spinstr=$temp${spinstr%"$temp"}
sleep 0.2
done
wait $import_pid
local import_exit=$?
if [ $import_exit -ne 0 ]; then
printf "\r${RED}[ERROR]${NC} Demo 数据导入失败"
printf "%50s" ""
echo ""
cat /tmp/demo_import.log 2>/dev/null | tail -20
return 1
else
printf "\r${GREEN}[SUCCESS]${NC} Demo 数据导入完成($sql_file"
printf "%50s" ""
echo ""
fi
}
# ===========================================
# 显示完成信息
# ===========================================
@@ -2032,6 +2140,9 @@ main() {
build_vshop || log_warning "移动商城ECShopX_mobile-frontend编译未完成"
build_pc || log_warning "PC商城ECShopX_desktop-frontend编译未完成"
# 导入 Demo 数据
import_demo_data || log_warning "Demo 数据导入未完成"
# Show success info
show_success_info
}

View File

@@ -0,0 +1,56 @@
INSERT INTO `goods_items_rel_cats` (`item_id`, `category_id`, `company_id`, `created`, `updated`) VALUES
(1,6,1,1773754102,1773754102),
(2,6,1,1773754137,1773754137),
(3,5,1,1773754217,1773754217),
(4,5,1,1773754251,1773754251),
(5,4,1,1773754298,1773754298),
(6,4,1,1773754330,1773754330);
INSERT INTO `items` (`item_id`, `item_type`, `item_category`, `consume_type`, `item_name`, `item_bn`, `barcode`, `brief`, `company_id`, `price`, `cost_price`, `item_unit`, `special_type`, `item_address_province`, `item_address_city`, `regions_id`, `store`, `sales`, `rebate_conf`, `rebate`, `rebate_type`, `approve_status`, `audit_status`, `audit_reason`, `market_price`, `goods_function`, `goods_series`, `goods_color`, `goods_brand`, `is_default`, `default_item_id`, `goods_id`, `nospec`, `weight`, `sort`, `templates_id`, `pics`, `pics_create_qrcode`, `video_type`, `videos`, `video_pic_url`, `intro`, `purchase_agreement`, `is_show_specimg`, `enable_agreement`, `date_type`, `begin_date`, `end_date`, `fixed_term`, `brand_logo`, `is_point`, `point`, `distributor_id`, `volume`, `item_source`, `brand_id`, `tax_rate`, `crossborder_tax_rate`, `profit_type`, `origincountry_id`, `taxstrategy_id`, `taxation_num`, `profit_fee`, `type`, `is_profit`, `created`, `updated`, `is_gift`, `is_package`, `tdk_content`, `is_epidemic`, `regions`, `supplier_id`, `is_market`, `goods_bn`, `supplier_goods_bn`, `audit_date`, `is_medicine`, `is_prescription`, `supplier_item_id`, `start_num`, `delivery_time`, `is_taobao`) VALUES
(1,'normal','3','every','黑色迷你手提包','KC26031700000030','','',1,300000,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,1,1,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/8c24eb6e3998e4fc486b0dc4aca72a751773754074420.迷你小包海报款---prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773754102,1773754102,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000024',NULL,1773754102,0,0,0,0,0,0),
(2,'normal','3','every','头层牛皮手提包','KC26031700000031','','',1,300000,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,2,2,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/8c24eb6e3998e4fc486b0dc4aca72a751773754074417.精致手提小包---prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773754136,1773754137,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000025',NULL,1773754136,0,0,0,0,0,0),
(3,'normal','3','every','黑色托特手提包','KC26031700000032','','',1,300000,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,3,3,'false',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/b13080e9fc2763d6b144aa51b11e71121773754179934.托特包黑色--prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773754217,1773754217,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000026',NULL,1773754217,0,0,0,0,0,0),
(4,'normal','3','every','棕色手提包','KC26031700000033','','',1,300000,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,4,4,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/b13080e9fc2763d6b144aa51b11e71121773754179926.经典包海报款---prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773754251,1773754251,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000027',NULL,1773754251,0,0,0,0,0,0),
(5,'normal','3','every','链条单肩包绿色','KC26031700000034','','',1,50000,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,5,5,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/3854221e8eb4c05b56fec727327580dd1773754280525.单肩包绿色----prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773754298,1773754298,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000028',NULL,1773754298,0,0,0,0,0,0),
(6,'normal','3','every','浅棕色单肩包','KC26031700000035','','',1,50000,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,6,6,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/7c6521a2fc8302150b9d3e69bf70c1481773754280522.单肩包卡其色---prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773754330,1773754330,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000029',NULL,1773754330,0,0,0,0,0,0);
INSERT INTO `items_attribute_values` (`attribute_value_id`, `attribute_id`, `company_id`, `shop_id`, `attribuattribute_valuete_name`, `sort`, `image_url`, `created`, `updated`, `oms_value_id`) VALUES
(1,2,1,0,'黑色','0','',1773753961,1773753961,NULL),
(2,2,1,0,'蓝色','1','',1773753961,1773753961,NULL),
(3,2,1,0,'白色','2','',1773753961,1773753961,NULL);
INSERT INTO `items_attributes` (`attribute_id`, `company_id`, `shop_id`, `attribute_type`, `attribute_name`, `attribute_memo`, `attribute_sort`, `distributor_id`, `is_show`, `is_image`, `image_url`, `created`, `updated`, `attribute_code`, `attribute_show`) VALUES
(1,1,0,'brand','品牌','','1',0,'true','true','',1773753966,1773753966,NULL,'select'),
(2,1,0,'item_spec','颜色','','1',0,'true','','',1773753961,1773753961,NULL,'select');
INSERT INTO `items_category` (`category_id`, `company_id`, `category_name`, `category_code`, `parent_id`, `category_level`, `is_main_category`, `path`, `distributor_id`, `sort`, `goods_params`, `goods_spec`, `image_url`, `crossborder_tax_rate`, `created`, `updated`, `customize_page_id`, `commission_ratio`, `category_id_taobao`, `parent_id_taobao`, `taobao_category_info`, `invoice_tax_rate_id`, `invoice_tax_rate`, `regionauth_id`, `is_show_front`) VALUES
(1,1,'包袋',NULL,0,1,1,'1',0,0,NULL,NULL,'',NULL,1773753927,1773753927,0,0,0,0,NULL,NULL,NULL,0,1),
(2,1,'品类',NULL,1,2,1,'1,2',0,0,NULL,NULL,'',NULL,1773753935,1773753935,0,0,0,0,NULL,NULL,NULL,0,1),
(3,1,'系列',NULL,2,3,1,'1,2,3',0,0,NULL,'[\"2\"]','',NULL,1773753940,1773754150,0,0,0,0,NULL,NULL,NULL,0,1),
(4,1,'单肩包',NULL,0,1,0,'4',0,0,NULL,NULL,'',NULL,1773753977,1773753977,0,0,0,0,NULL,NULL,NULL,0,1),
(5,1,'托特包',NULL,0,1,0,'5',0,0,NULL,NULL,'',NULL,1773753983,1773753983,0,0,0,0,NULL,NULL,NULL,0,1),
(6,1,'迷你包',NULL,0,1,0,'6',0,0,NULL,NULL,'',NULL,1773753987,1773753987,0,0,0,0,NULL,NULL,NULL,0,1);
INSERT INTO `items_rel_attributes` (`id`, `company_id`, `item_id`, `attribute_sort`, `attribute_id`, `attribute_type`, `attribute_value_id`, `custom_attribute_value`, `image_url`) VALUES
(1,1,1,NULL,1,'brand',NULL,NULL,NULL),
(2,1,2,NULL,1,'brand',NULL,NULL,NULL),
(3,1,3,0,2,'item_spec',1,NULL,NULL),
(4,1,3,NULL,1,'brand',NULL,NULL,NULL),
(5,1,4,NULL,1,'brand',NULL,NULL,NULL),
(6,1,5,NULL,1,'brand',NULL,NULL,NULL),
(7,1,6,NULL,1,'brand',NULL,NULL,NULL);
INSERT INTO `pages_template` (`pages_template_id`, `company_id`, `distributor_id`, `template_title`, `template_name`, `template_pic`, `template_type`, `element_edit_status`, `status`, `timer_status`, `timer_time`, `template_status_modify_time`, `weapp_pages`, `template_content`, `created_at`, `updated_at`, `deleted_at`, `lang`, `regionauth_id`) VALUES
(1,1,0,'包袋','yykweishop','https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/9e7e7ae4dce5f425cc38d1930a4941db1773754432750.b2c--logo.JPG',0,2,1,2,NULL,1773754440,'index','{\"content\":[{\"name\":\"page\",\"base\":{\"navigateBackgroundColor\":\"#fff\",\"navigateBackgroundImage\":\"\",\"titleStyle\":\"1\",\"titleColor\":\"#000\",\"titleBackgroundImage\":\"\",\"showSearchButton\":true,\"searchButtonColor\":{\"bgColor\":\"#FF6B35\",\"textColor\":\"#FFFFFF\"},\"pageBackgroundColor\":\"#f5f5f5\",\"pageBackgroundImage\":\"\",\"isImmersive\":false,\"immersiveScrollBgColor\":\"#ffffff\",\"pTitleHotSetting\":{\"type\":\"hotzone\",\"hotzone\":{\"imgUrl\":\"\",\"data\":[]}}},\"id\":\"1\"},{\"name\":\"slider\",\"base\":{\"outerMargin\":{\"paddedt\":0,\"paddedb\":0,\"paddedl\":0,\"paddedr\":0}},\"config\":{\"interval\":3000,\"dot\":true,\"dotLocation\":\"right\",\"dotColor\":\"dark\",\"shape\":\"circle\",\"dotCover\":false,\"rounded\":false,\"autoplay\":true,\"firstScreenWidth\":375,\"firstScreenHeight\":24},\"data\":[{\"imgUrl\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/ac631951cafe7b877690257a7bfc729c1773754501250.u5305u888b.png\",\"videoUrl\":\"\",\"media_type\":\"img\",\"hotData\":[],\"autoplay\":false,\"interact\":\"reset\",\"overlay\":\"\",\"overlayWidth\":100,\"overlaybuttom\":0,\"overlayLeft\":0,\"overlayHotData\":[]}],\"track\":\"\",\"tags\":{\"type\":\"2\",\"meber_tags\":[],\"no_meber_tags\":[]},\"tagsType\":\"2\",\"meber_tags\":[],\"no_meber_tags\":[],\"id\":\"2\"},{\"name\":\"goods\",\"base\":{\"outerMargin\":{\"paddedt\":0,\"paddedb\":0,\"paddedl\":0,\"paddedr\":0},\"innerPadding\":{\"paddedt\":32,\"paddedb\":32,\"paddedl\":32,\"paddedr\":32},\"track\":\"\",\"dataType\":\"items\",\"dataCount\":9,\"goodsLayout\":\"one\",\"titleText\":{\"type\":\"text\",\"text\":\"u65b0u54c1u63a8u8350\",\"image\":\"\"},\"titleColor\":\"#000000\",\"moreBtn\":{\"show\":true,\"color\":\"#000000\"},\"moreLink\":[]},\"data\":{\"id\":\"6,5,4,3,2,1\",\"info\":{\"length\":6,\"type\":\"group_id\"}},\"meber_tags\":[],\"no_meber_tags\":[],\"tagsType\":\"2\",\"id\":\"3\"}]}','2026-03-17 21:34:00','2026-03-17 21:36:01',NULL,NULL,0);
INSERT INTO `pages_template_set` (`id`, `company_id`, `index_type`, `is_enforce_sync`, `is_open_recommend`, `is_open_wechatapp_location`, `is_open_scan_qrcode`, `is_open_official_account`, `tab_bar`, `created_at`, `updated_at`, `pages_template_id`, `regionauth_id`) VALUES
(1,1,1,1,2,1,2,2,'{\"name\":\"tabs\",\"config\":{\"backgroundColor\":\"#ffffff\",\"color\":\"#646262\",\"selectedColor\":\"#111112\"},\"data\":[{\"pagePath\":\"/pages/index\",\"text\":\"首页\",\"name\":\"home\",\"iconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/f9e0632ccb54fc42b4045ff9f763fe131773754378387.首页1.png\",\"selectedIconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/f9e0632ccb54fc42b4045ff9f763fe131773754378386.截屏2026-01-17 13.00.39_副本.png\"},{\"pagePath\":\"/pages/category/index\",\"text\":\"分类\",\"name\":\"category\",\"iconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/f9e0632ccb54fc42b4045ff9f763fe131773754378382.分类1.png\",\"selectedIconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/b4e5c61803f4766bc83d01d3d8ee677b1773754378378.分类.png\"},{\"pagePath\":\"/pages/cart/espier-index\",\"text\":\"购物车\",\"name\":\"cart\",\"iconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/b4e5c61803f4766bc83d01d3d8ee677b1773754378385.购物车1.png\",\"selectedIconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/f9e0632ccb54fc42b4045ff9f763fe131773754378384.购物车.png\"},{\"pagePath\":\"/pages/member/index\",\"text\":\"我的\",\"name\":\"member\",\"iconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/b4e5c61803f4766bc83d01d3d8ee677b1773754378392.我的1.png\",\"selectedIconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/b4e5c61803f4766bc83d01d3d8ee677b1773754378389.我的.png\"}]}','2026-03-17 21:32:15','2026-03-17 21:33:39',0,0);
INSERT INTO `shipping_templates` (`template_id`, `company_id`, `name`, `is_free`, `distributor_id`, `valuation`, `protect`, `protect_rate`, `minprice`, `status`, `fee_conf`, `nopost_conf`, `free_conf`, `create_time`, `update_time`, `supplier_id`) VALUES
(1,1,'按件数','0',0,'2',NULL,NULL,NULL,1,'[{\"add_fee\":\"0\",\"add_standard\":\"1\",\"start_fee\":\"1\",\"start_standard\":\"1\"}]','[]','[{\"freetype\":\"1\",\"upquantity\":\"\",\"upmoney\":\"\"}]',1773754013,1773754013,0);
INSERT INTO `wechat_weapp_setting` (`id`, `template_name`, `company_id`, `page_name`, `name`, `version`, `params`, `pages_template_id`, `sort_by`) VALUES
(1,'yykweishop',1,'index','page','v1.0.2','a:3:{s:4:\"name\";s:4:\"page\";s:4:\"base\";a:12:{s:23:\"navigateBackgroundColor\";s:4:\"#fff\";s:23:\"navigateBackgroundImage\";s:0:\"\";s:10:\"titleStyle\";s:1:\"1\";s:10:\"titleColor\";s:4:\"#000\";s:20:\"titleBackgroundImage\";s:0:\"\";s:16:\"showSearchButton\";b:1;s:17:\"searchButtonColor\";a:2:{s:7:\"bgColor\";s:7:\"#FF6B35\";s:9:\"textColor\";s:7:\"#FFFFFF\";}s:19:\"pageBackgroundColor\";s:7:\"#f5f5f5\";s:19:\"pageBackgroundImage\";s:0:\"\";s:11:\"isImmersive\";b:0;s:22:\"immersiveScrollBgColor\";s:7:\"#ffffff\";s:16:\"pTitleHotSetting\";a:2:{s:4:\"type\";s:7:\"hotzone\";s:7:\"hotzone\";a:2:{s:6:\"imgUrl\";s:0:\"\";s:4:\"data\";a:0:{}}}}s:2:\"id\";s:1:\"1\";}',1,1),
(2,'yykweishop',1,'index','slider','v1.0.2','a:10:{s:4:\"name\";s:6:\"slider\";s:4:\"base\";a:1:{s:11:\"outerMargin\";a:4:{s:7:\"paddedt\";i:0;s:7:\"paddedb\";i:0;s:7:\"paddedl\";i:0;s:7:\"paddedr\";i:0;}}s:6:\"config\";a:10:{s:8:\"interval\";i:3000;s:3:\"dot\";b:1;s:11:\"dotLocation\";s:5:\"right\";s:8:\"dotColor\";s:4:\"dark\";s:5:\"shape\";s:6:\"circle\";s:8:\"dotCover\";b:0;s:7:\"rounded\";b:0;s:8:\"autoplay\";b:1;s:16:\"firstScreenWidth\";i:375;s:17:\"firstScreenHeight\";i:24;}s:4:\"data\";a:1:{i:0;a:11:{s:6:\"imgUrl\";s:153:\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/156/2026/03/17/ac631951cafe7b877690257a7bfc729c1773754501250.包袋.png\";s:8:\"videoUrl\";s:0:\"\";s:10:\"media_type\";s:3:\"img\";s:7:\"hotData\";a:0:{}s:8:\"autoplay\";b:0;s:8:\"interact\";s:5:\"reset\";s:7:\"overlay\";s:0:\"\";s:12:\"overlayWidth\";i:100;s:13:\"overlaybuttom\";i:0;s:11:\"overlayLeft\";i:0;s:14:\"overlayHotData\";a:0:{}}}s:5:\"track\";s:0:\"\";s:4:\"tags\";a:3:{s:4:\"type\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}s:8:\"tagsType\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}s:2:\"id\";s:1:\"2\";}',1,2),
(3,'yykweishop',1,'index','goods','v1.0.2','a:7:{s:4:\"name\";s:5:\"goods\";s:4:\"base\";a:10:{s:11:\"outerMargin\";a:4:{s:7:\"paddedt\";i:0;s:7:\"paddedb\";i:0;s:7:\"paddedl\";i:0;s:7:\"paddedr\";i:0;}s:12:\"innerPadding\";a:4:{s:7:\"paddedt\";i:32;s:7:\"paddedb\";i:32;s:7:\"paddedl\";i:32;s:7:\"paddedr\";i:32;}s:5:\"track\";s:0:\"\";s:8:\"dataType\";s:5:\"items\";s:9:\"dataCount\";i:9;s:11:\"goodsLayout\";s:3:\"one\";s:9:\"titleText\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"text\";s:12:\"新品推荐\";s:5:\"image\";s:0:\"\";}s:10:\"titleColor\";s:7:\"#000000\";s:7:\"moreBtn\";a:2:{s:4:\"show\";b:1;s:5:\"color\";s:7:\"#000000\";}s:8:\"moreLink\";a:0:{}}s:4:\"data\";a:2:{s:2:\"id\";s:11:\"6,5,4,3,2,1\";s:4:\"info\";a:2:{s:6:\"length\";i:6;s:4:\"type\";s:8:\"group_id\";}}s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}s:8:\"tagsType\";s:1:\"2\";s:2:\"id\";s:1:\"3\";}',1,3);

File diff suppressed because one or more lines are too long

81
docker-dev/demo/bbc.sql Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,62 @@
INSERT INTO `goods_items_rel_cats` (`item_id`, `category_id`, `company_id`, `created`, `updated`) VALUES
(1,5,1,1773753357,1773753357),
(2,5,1,1773753411,1773753411),
(3,6,1,1773753462,1773753462),
(4,6,1,1773753487,1773753487),
(5,7,1,1773753542,1773753542),
(6,6,1,1773753566,1773753566);
INSERT INTO `items` (`item_id`, `item_type`, `item_category`, `consume_type`, `item_name`, `item_bn`, `barcode`, `brief`, `company_id`, `price`, `cost_price`, `item_unit`, `special_type`, `item_address_province`, `item_address_city`, `regions_id`, `store`, `sales`, `rebate_conf`, `rebate`, `rebate_type`, `approve_status`, `audit_status`, `audit_reason`, `market_price`, `goods_function`, `goods_series`, `goods_color`, `goods_brand`, `is_default`, `default_item_id`, `goods_id`, `nospec`, `weight`, `sort`, `templates_id`, `pics`, `pics_create_qrcode`, `video_type`, `videos`, `video_pic_url`, `intro`, `purchase_agreement`, `is_show_specimg`, `enable_agreement`, `date_type`, `begin_date`, `end_date`, `fixed_term`, `brand_logo`, `is_point`, `point`, `distributor_id`, `volume`, `item_source`, `brand_id`, `tax_rate`, `crossborder_tax_rate`, `profit_type`, `origincountry_id`, `taxstrategy_id`, `taxation_num`, `profit_fee`, `type`, `is_profit`, `created`, `updated`, `is_gift`, `is_package`, `tdk_content`, `is_epidemic`, `regions`, `supplier_id`, `is_market`, `goods_bn`, `supplier_goods_bn`, `audit_date`, `is_medicine`, `is_prescription`, `supplier_item_id`, `start_num`, `delivery_time`, `is_taobao`) VALUES
(1,'normal','3','every','银色香氛','KC26031700000024','','',1,360000,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,1,1,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/17/6a6f6a5a3fa0455dfc86e689e025fd9a1773753266530.香水---prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773753357,1773753357,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000018',NULL,1773753357,0,0,0,0,0,0),
(2,'normal','3','every','蓝色立体香氛','KC26031700000025','','',1,320000,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,2,2,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/17/4e0661da5cc947131ebd8bcf382ce2a21773753377240.香水2.png\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773753411,1773753411,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000019',NULL,1773753411,0,0,0,0,0,0),
(3,'normal','4','every','眼线笔','KC26031700000026','','',1,9900,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,3,3,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/17/82183fd4090b61a7f71838a8cde91b921773753444146.眼线笔---prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773753462,1773753462,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000020',NULL,1773753461,0,0,0,0,0,0),
(4,'normal','4','every','睫毛刷','KC26031700000027','','',1,19900,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,4,4,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/17/859fe4d50b38cea103f4eb319cf6bd131773753444142.睫毛刷---prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773753487,1773753487,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000021',NULL,1773753487,0,0,0,0,0,0),
(5,'normal','4','every','口红银色','KC26031700000028','','',1,39900,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,5,5,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/17/1687a6821d560cd4e610bd765a37871a1773753520360.口红 --prd.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773753542,1773753542,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000022',NULL,1773753542,0,0,0,0,0,0),
(6,'normal','4','every','口红黑色','KC26031700000029','','',1,39900,0,'','normal','','','',1,NULL,NULL,0,'default','onsale','approved',NULL,0,NULL,NULL,NULL,NULL,1,6,6,'true',0,1,1,'[\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/17/1687a6821d560cd4e610bd765a37871a1773753520363.口红--prd2.jpg\"]','[false]','local','',NULL,'','',0,0,'',0,0,0,NULL,NULL,0,0,NULL,'mall',1,0,'',0,0,0,0,0,0,0,1773753566,1773753566,0,0,'{\"title\":\"\",\"mate_description\":\"\",\"mate_keywords\":\"\"}',0,'',0,0,'PC26031700000023',NULL,1773753566,0,0,0,0,0,0);
INSERT INTO `items_attribute_values` (`attribute_value_id`, `attribute_id`, `company_id`, `shop_id`, `attribuattribute_valuete_name`, `sort`, `image_url`, `created`, `updated`, `oms_value_id`) VALUES
(1,2,1,0,'1#','0','',1773469614,1773469614,NULL),
(2,2,1,0,'2#','1','',1773469614,1773469614,NULL),
(3,2,1,0,'3#','2','',1773469614,1773469614,NULL),
(4,2,1,0,'4#','3','',1773469614,1773469614,NULL);
INSERT INTO `items_attributes` (`attribute_id`, `company_id`, `shop_id`, `attribute_type`, `attribute_name`, `attribute_memo`, `attribute_sort`, `distributor_id`, `is_show`, `is_image`, `image_url`, `created`, `updated`, `attribute_code`, `attribute_show`) VALUES
(1,1,0,'brand','品牌','','1',0,'true','true','',1773469620,1773469620,NULL,'select'),
(2,1,0,'item_spec','色号','','1',0,'true','','',1773469614,1773469614,NULL,'select');
INSERT INTO `items_category` (`category_id`, `company_id`, `category_name`, `category_code`, `parent_id`, `category_level`, `is_main_category`, `path`, `distributor_id`, `sort`, `goods_params`, `goods_spec`, `image_url`, `crossborder_tax_rate`, `created`, `updated`, `customize_page_id`, `commission_ratio`, `category_id_taobao`, `parent_id_taobao`, `taobao_category_info`, `invoice_tax_rate_id`, `invoice_tax_rate`, `regionauth_id`, `is_show_front`) VALUES
(1,1,'护肤彩妆',NULL,0,1,1,'1',0,0,NULL,NULL,'',NULL,1773469631,1773469631,0,0,0,0,NULL,NULL,NULL,0,1),
(2,1,'品类',NULL,1,2,1,'1,2',0,0,NULL,NULL,'',NULL,1773469643,1773469643,0,0,0,0,NULL,NULL,NULL,0,1),
(3,1,'香氛',NULL,2,3,1,'1,2,3',0,0,NULL,NULL,'',NULL,1773469648,1773753305,0,0,0,0,NULL,NULL,NULL,0,1),
(4,1,'彩妆',NULL,2,3,1,'1,2,4',0,0,NULL,'[\"2\"]','',NULL,1773469654,1773469660,0,0,0,0,NULL,NULL,NULL,0,1),
(5,1,'香氛',NULL,0,1,0,'5',0,0,NULL,NULL,'',NULL,1773469678,1773753319,0,0,0,0,NULL,NULL,NULL,0,1),
(6,1,'眼部彩妆',NULL,0,1,0,'6',0,0,NULL,NULL,'',NULL,1773469684,1773469693,0,0,0,0,NULL,NULL,NULL,0,1),
(7,1,'唇部彩妆',NULL,0,1,0,'7',0,0,NULL,NULL,'',NULL,1773469690,1773469692,0,0,0,0,NULL,NULL,NULL,0,1);
INSERT INTO `items_rel_attributes` (`id`, `company_id`, `item_id`, `attribute_sort`, `attribute_id`, `attribute_type`, `attribute_value_id`, `custom_attribute_value`, `image_url`) VALUES
(1,1,1,NULL,1,'brand',NULL,NULL,NULL),
(2,1,2,NULL,1,'brand',NULL,NULL,NULL),
(3,1,3,NULL,1,'brand',NULL,NULL,NULL),
(4,1,4,NULL,1,'brand',NULL,NULL,NULL),
(5,1,5,NULL,1,'brand',NULL,NULL,NULL),
(6,1,6,NULL,1,'brand',NULL,NULL,NULL);
INSERT INTO `pages_template` (`pages_template_id`, `company_id`, `distributor_id`, `template_title`, `template_name`, `template_pic`, `template_type`, `element_edit_status`, `status`, `timer_status`, `timer_time`, `template_status_modify_time`, `weapp_pages`, `template_content`, `created_at`, `updated_at`, `deleted_at`, `lang`, `regionauth_id`) VALUES
(1,1,0,'美妆','yykweishop','https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/249cebc9f87d9e8482a85eeeb48dfa991773468016148.b2c--logo.JPG',0,2,1,2,NULL,1773468026,'index','{\"content\":[{\"id\":\"1\",\"name\":\"page\",\"base\":{\"navigateBackgroundColor\":\"#fff\",\"navigateBackgroundImage\":\"\",\"titleStyle\":\"3\",\"titleColor\":\"#000\",\"titleBackgroundImage\":\"\",\"showSearchButton\":true,\"searchButtonColor\":{\"bgColor\":\"#242322\",\"textColor\":\"#FFFFFF\"},\"pageBackgroundColor\":\"#f5f5f5\",\"pageBackgroundImage\":\"\",\"isImmersive\":false,\"immersiveScrollBgColor\":\"#ffffff\",\"pTitleHotSetting\":{\"type\":\"none\",\"hotzone\":{\"imgUrl\":\"\",\"data\":[]}}},\"tags\":{\"type\":\"2\",\"meber_tags\":[],\"no_meber_tags\":[]},\"tagsType\":\"2\",\"meber_tags\":[],\"no_meber_tags\":[]},{\"id\":\"2\",\"name\":\"imgHotzone\",\"base\":{\"animation\":\"horizontal\",\"imgHeight\":312,\"outerMargin\":{\"paddedt\":0,\"paddedb\":0,\"paddedl\":0,\"paddedr\":0}},\"config\":{\"imgUrl\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/24c340eecd3f552aaf58c72149c658eb1773468341057.u622au5c4f2026-01-18 17.46.16.png\",\"imgWidth\":750,\"imgHeight\":1156},\"data\":[],\"track\":\"\",\"tags\":{\"type\":\"2\",\"meber_tags\":[],\"no_meber_tags\":[]},\"tagsType\":\"2\",\"meber_tags\":[],\"no_meber_tags\":[]},{\"name\":\"goods\",\"base\":{\"outerMargin\":{\"paddedt\":0,\"paddedb\":0,\"paddedl\":0,\"paddedr\":0},\"innerPadding\":{\"paddedt\":32,\"paddedb\":32,\"paddedl\":32,\"paddedr\":32},\"track\":\"\",\"dataType\":\"items\",\"dataCount\":4,\"goodsLayout\":\"one\",\"titleText\":{\"type\":\"text\",\"text\":\"u65b0u54c1u63a8u8350\",\"image\":\"\"},\"titleColor\":\"#000000\",\"moreBtn\":{\"show\":true,\"color\":\"#000000\"},\"moreLink\":[]},\"data\":{\"id\":\"6,5,4,3,2,1\",\"info\":{\"length\":6,\"type\":\"group_id\"}},\"meber_tags\":[],\"no_meber_tags\":[],\"tagsType\":\"2\",\"id\":\"3\"}]}','2026-03-14 14:00:26','2026-03-17 21:20:46',NULL,NULL,0);
INSERT INTO `pages_template_set` (`id`, `company_id`, `index_type`, `is_enforce_sync`, `is_open_recommend`, `is_open_wechatapp_location`, `is_open_scan_qrcode`, `is_open_official_account`, `tab_bar`, `created_at`, `updated_at`, `pages_template_id`, `regionauth_id`) VALUES
(1,1,1,1,2,1,2,2,'{\"name\":\"tabs\",\"config\":{\"backgroundColor\":\"#ffffff\",\"color\":\"#938C8C\",\"selectedColor\":\"#100F10\"},\"data\":[{\"pagePath\":\"/pages/index\",\"text\":\"首页\",\"name\":\"home\",\"iconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/b850d2471c01a10156dc069baf003a131773468090966.首页1.png\",\"selectedIconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/b850d2471c01a10156dc069baf003a131773468090963.截屏2026-01-17 13.00.39_副本.png\"},{\"pagePath\":\"/pages/category/index\",\"text\":\"分类\",\"name\":\"category\",\"iconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/b850d2471c01a10156dc069baf003a131773468090955.分类1.png\",\"selectedIconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/b850d2471c01a10156dc069baf003a131773468090953.分类.png\"},{\"pagePath\":\"/pages/cart/espier-index\",\"text\":\"购物车\",\"name\":\"cart\",\"iconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/b850d2471c01a10156dc069baf003a131773468090962.购物车1.png\",\"selectedIconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/b850d2471c01a10156dc069baf003a131773468090958.购物车.png\"},{\"pagePath\":\"/pages/member/index\",\"text\":\"我的\",\"name\":\"member\",\"iconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/b850d2471c01a10156dc069baf003a131773468090976.我的1.png\",\"selectedIconPath\":\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/b850d2471c01a10156dc069baf003a131773468090968.我的.png\"}]}','2026-03-14 14:00:04','2026-03-14 14:02:01',0,0);
INSERT INTO `shipping_templates` (`template_id`, `company_id`, `name`, `is_free`, `distributor_id`, `valuation`, `protect`, `protect_rate`, `minprice`, `status`, `fee_conf`, `nopost_conf`, `free_conf`, `create_time`, `update_time`, `supplier_id`) VALUES
(1,1,'按件数','0',0,'2',NULL,NULL,NULL,1,'[{\"add_fee\":\"0\",\"add_standard\":\"1\",\"start_fee\":\"1\",\"start_standard\":\"1\"}]','[\"540000\",\"620000\",\"630000\",\"640000\",\"650000\",\"710000\",\"810000\",\"820000\"]','[]',1773650357,1773650357,0);
INSERT INTO `wechat_weapp_customize_page` (`id`, `template_name`, `company_id`, `page_name`, `page_description`, `page_share_title`, `page_share_desc`, `page_share_imageUrl`, `is_open`, `page_type`, `regionauth_id`) VALUES
(1,'yykweishop',1,'个人中心','个人中心','个人中心','','',1,'my',0);
INSERT INTO `wechat_weapp_setting` (`id`, `template_name`, `company_id`, `page_name`, `name`, `version`, `params`, `pages_template_id`, `sort_by`) VALUES
(1,'yykweishop',1,'index','page','v1.0.2','a:7:{s:2:\"id\";s:1:\"1\";s:4:\"name\";s:4:\"page\";s:4:\"base\";a:12:{s:23:\"navigateBackgroundColor\";s:4:\"#fff\";s:23:\"navigateBackgroundImage\";s:0:\"\";s:10:\"titleStyle\";s:1:\"3\";s:10:\"titleColor\";s:4:\"#000\";s:20:\"titleBackgroundImage\";s:0:\"\";s:16:\"showSearchButton\";b:1;s:17:\"searchButtonColor\";a:2:{s:7:\"bgColor\";s:7:\"#242322\";s:9:\"textColor\";s:7:\"#FFFFFF\";}s:19:\"pageBackgroundColor\";s:7:\"#f5f5f5\";s:19:\"pageBackgroundImage\";s:0:\"\";s:11:\"isImmersive\";b:0;s:22:\"immersiveScrollBgColor\";s:7:\"#ffffff\";s:16:\"pTitleHotSetting\";a:2:{s:4:\"type\";s:4:\"none\";s:7:\"hotzone\";a:2:{s:6:\"imgUrl\";s:0:\"\";s:4:\"data\";a:0:{}}}}s:4:\"tags\";a:3:{s:4:\"type\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}s:8:\"tagsType\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}',1,1),
(2,'yykweishop',1,'index','imgHotzone','v1.0.2','a:10:{s:2:\"id\";s:1:\"2\";s:4:\"name\";s:10:\"imgHotzone\";s:4:\"base\";a:3:{s:9:\"animation\";s:10:\"horizontal\";s:9:\"imgHeight\";i:312;s:11:\"outerMargin\";a:4:{s:7:\"paddedt\";i:0;s:7:\"paddedb\";i:0;s:7:\"paddedl\";i:0;s:7:\"paddedr\";i:0;}}s:6:\"config\";a:3:{s:6:\"imgUrl\";s:172:\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/24c340eecd3f552aaf58c72149c658eb1773468341057.截屏2026-01-18 17.46.16.png\";s:8:\"imgWidth\";i:750;s:9:\"imgHeight\";i:1156;}s:4:\"data\";a:0:{}s:5:\"track\";s:0:\"\";s:4:\"tags\";a:3:{s:4:\"type\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}s:8:\"tagsType\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}',1,2),
(3,'yykweishop',1,'index','goods','v1.0.2','a:7:{s:4:\"name\";s:5:\"goods\";s:4:\"base\";a:10:{s:11:\"outerMargin\";a:4:{s:7:\"paddedt\";i:0;s:7:\"paddedb\";i:0;s:7:\"paddedl\";i:0;s:7:\"paddedr\";i:0;}s:12:\"innerPadding\";a:4:{s:7:\"paddedt\";i:32;s:7:\"paddedb\";i:32;s:7:\"paddedl\";i:32;s:7:\"paddedr\";i:32;}s:5:\"track\";s:0:\"\";s:8:\"dataType\";s:5:\"items\";s:9:\"dataCount\";i:4;s:11:\"goodsLayout\";s:3:\"one\";s:9:\"titleText\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"text\";s:12:\"新品推荐\";s:5:\"image\";s:0:\"\";}s:10:\"titleColor\";s:7:\"#000000\";s:7:\"moreBtn\";a:2:{s:4:\"show\";b:1;s:5:\"color\";s:7:\"#000000\";}s:8:\"moreLink\";a:0:{}}s:4:\"data\";a:2:{s:2:\"id\";s:11:\"6,5,4,3,2,1\";s:4:\"info\";a:2:{s:6:\"length\";i:6;s:4:\"type\";s:8:\"group_id\";}}s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}s:8:\"tagsType\";s:1:\"2\";s:2:\"id\";s:1:\"3\";}',1,3),
(4,'yykweishop',1,'custom_1','page','v1.0.1','a:7:{s:2:\"id\";s:1:\"4\";s:4:\"name\";s:4:\"page\";s:4:\"base\";a:11:{s:23:\"navigateBackgroundColor\";s:4:\"#fff\";s:23:\"navigateBackgroundImage\";s:0:\"\";s:10:\"titleStyle\";s:1:\"1\";s:10:\"titleColor\";s:4:\"#000\";s:20:\"titleBackgroundImage\";s:0:\"\";s:16:\"showSearchButton\";b:1;s:17:\"searchButtonColor\";a:2:{s:7:\"bgColor\";s:7:\"#FF6B35\";s:9:\"textColor\";s:7:\"#FFFFFF\";}s:19:\"pageBackgroundColor\";s:7:\"#f5f5f5\";s:19:\"pageBackgroundImage\";s:0:\"\";s:11:\"isImmersive\";b:0;s:16:\"pTitleHotSetting\";a:2:{s:4:\"type\";s:7:\"hotzone\";s:7:\"hotzone\";a:2:{s:6:\"imgUrl\";s:0:\"\";s:4:\"data\";a:0:{}}}}s:4:\"tags\";a:3:{s:4:\"type\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}s:8:\"tagsType\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}',0,1),
(5,'yykweishop',1,'custom_1','imgHotzone','v1.0.1','a:10:{s:2:\"id\";s:1:\"5\";s:4:\"name\";s:10:\"imgHotzone\";s:4:\"base\";a:3:{s:9:\"animation\";s:10:\"horizontal\";s:9:\"imgHeight\";i:312;s:11:\"outerMargin\";a:4:{s:7:\"paddedt\";i:32;s:7:\"paddedb\";i:32;s:7:\"paddedl\";i:32;s:7:\"paddedr\";i:32;}}s:6:\"config\";a:3:{s:6:\"imgUrl\";s:168:\"https://shopex-onex-yundian-image.oss-cn-shanghai.aliyuncs.com/demo-ecshopx/image/151/2026/03/14/41c92f4ba7e00d2d9642b04abeaf66c11773468146159.个人中心菜单ALL.jpg\";s:8:\"imgWidth\";i:750;s:9:\"imgHeight\";i:570;}s:4:\"data\";a:10:{i:0;a:7:{s:9:\"heightPer\";d:0.2832;s:8:\"widthPer\";d:0.1755;s:7:\"leftPer\";d:0.0372;s:6:\"topPer\";d:0.0731;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:12:\"报名活动\";s:2:\"id\";s:14:\"registActivity\";}i:1;a:7:{s:9:\"heightPer\";d:0.2972;s:8:\"widthPer\";d:0.2074;s:7:\"leftPer\";d:0.2739;s:6:\"topPer\";d:0.0521;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:12:\"积分商城\";s:2:\"id\";s:9:\"pointShop\";}i:2;a:7:{s:9:\"heightPer\";d:0.2797;s:8:\"widthPer\";d:0.1702;s:7:\"leftPer\";d:0.5239;s:6:\"topPer\";d:0.0591;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:12:\"我的收藏\";s:2:\"id\";s:10:\"my_collect\";}i:3;a:7:{s:9:\"heightPer\";d:0.2867;s:8:\"widthPer\";d:0.1995;s:7:\"leftPer\";d:0.7739;s:6:\"topPer\";d:0.0556;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:6:\"客服\";s:2:\"id\";s:15:\"customerService\";}i:4;a:7:{s:9:\"heightPer\";d:0.2587;s:8:\"widthPer\";d:0.1862;s:7:\"leftPer\";d:0.0399;s:6:\"topPer\";d:0.3738;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:6:\"设置\";s:2:\"id\";s:8:\"settings\";}i:5;a:7:{s:9:\"heightPer\";d:0.2517;s:8:\"widthPer\";d:0.1729;s:7:\"leftPer\";d:0.2872;s:6:\"topPer\";d:0.3913;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:12:\"地址管理\";s:2:\"id\";s:7:\"address\";}i:6;a:7:{s:9:\"heightPer\";d:0.2622;s:8:\"widthPer\";d:0.1676;s:7:\"leftPer\";d:0.5426;s:6:\"topPer\";d:0.3738;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:12:\"限时团购\";s:2:\"id\";s:11:\"groups_list\";}i:7;a:7:{s:9:\"heightPer\";d:0.2765;s:8:\"widthPer\";d:0.1888;s:7:\"leftPer\";d:0.0426;s:6:\"topPer\";d:0.7235;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:12:\"自提订单\";s:2:\"id\";s:9:\"zitiOrder\";}i:8;a:7:{s:9:\"heightPer\";d:0.2692;s:8:\"widthPer\";d:0.1888;s:7:\"leftPer\";d:0.2739;s:6:\"topPer\";d:0.7305;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:12:\"种草列表\";s:2:\"id\";s:8:\"hottopic\";}i:9;a:7:{s:9:\"heightPer\";d:0.2695;s:8:\"widthPer\";d:0.1649;s:7:\"leftPer\";d:0.5479;s:6:\"topPer\";d:0.727;s:8:\"linkPage\";s:4:\"link\";s:5:\"title\";s:12:\"会员开通\";s:2:\"id\";s:9:\"vipgrades\";}}s:5:\"track\";s:0:\"\";s:4:\"tags\";a:3:{s:4:\"type\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}s:8:\"tagsType\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}',0,3),
(6,'yykweishop',1,'custom_1','orderNavigation','v1.0.1','a:9:{s:4:\"name\";s:15:\"orderNavigation\";s:4:\"base\";a:4:{s:11:\"outerMargin\";a:4:{s:7:\"paddedt\";i:32;s:7:\"paddedb\";i:32;s:7:\"paddedl\";i:32;s:7:\"paddedr\";i:32;}s:5:\"title\";s:0:\"\";s:6:\"padded\";b:1;s:10:\"titleColor\";s:4:\"#000\";}s:4:\"data\";a:4:{i:0;a:2:{s:7:\"content\";s:15:\"cff31093.818d78\";s:6:\"imgUrl\";s:0:\"\";}i:1;a:2:{s:7:\"content\";s:15:\"cff31093.4933ca\";s:6:\"imgUrl\";s:0:\"\";}i:2;a:2:{s:7:\"content\";s:15:\"cff31093.a48b28\";s:6:\"imgUrl\";s:0:\"\";}i:3;a:2:{s:7:\"content\";s:15:\"cff31093.59bd68\";s:6:\"imgUrl\";s:0:\"\";}}s:5:\"track\";s:0:\"\";s:4:\"tags\";a:3:{s:4:\"type\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}}s:8:\"tagsType\";s:1:\"2\";s:10:\"meber_tags\";a:0:{}s:13:\"no_meber_tags\";a:0:{}s:2:\"id\";s:1:\"6\";}',0,2);

View File

@@ -1009,6 +1009,7 @@ class Distributor extends Controller
* @SWG\Parameter( name="distribution_type", in="query", description="店铺类型:0自营;1加盟", required=false, type="string"),
* @SWG\Parameter( name="merchant_id", in="query", description="所属商家", required=false, type="string"),
* @SWG\Parameter( name="distributor_category_id", in="query", description="店铺分类id", required=false, type="string"),
* @SWG\Parameter( name="show_distributor_self", in="query", description="是否展示虚拟门店(distributor_self=1)传1或true时列表不过滤虚拟门店默认0不展示", required=false, type="string"),
* @SWG\Response( response=200, description="成功返回结构", @SWG\Schema(
* @SWG\Property( property="data", type="object",
* @SWG\Property( property="total_count", type="string", example="36", description=""),
@@ -1196,8 +1197,11 @@ class Distributor extends Controller
$filter['distributor_id'] = $staffRegionAuthDistributorIds;
}
}
// 虚拟门店不在列表做展示
$filter['distributor_self'] = 0;
// 虚拟门店distributor_self=1默认不在列表展示show_distributor_self=1/true 时允许展示
$showDistributorSelf = $request->input('show_distributor_self', 0);
if ($showDistributorSelf == 0) {
$filter['distributor_self'] = 0;
}
$distributorService = new DistributorService();
$data = $distributorService->getListByLang($filter, ["created" => "DESC"], $pageSize, $page);
$data['tagList'] = [];

View File

@@ -385,6 +385,10 @@ class Activity extends BaseController
$result['store_setting'] = $itemSettingService->getItemStoreSetting($companyId)['item_store_status'];
$result['distributor_id'] = $activity['distributor_id'];
// 与 Api Activity::getActivityItemList -> getActivityItemList 一致:主商品 + 规格行多语言
$localized = $activitiesService->applyMultiLangToActivityItemList([$result]);
$result = $localized[0];
return $this->response->array($result);
}

View File

@@ -20,6 +20,9 @@ namespace EmployeePurchaseBundle\Repositories;
use Doctrine\ORM\EntityRepository;
use EmployeePurchaseBundle\Entities\ActivityGoods;
use Dingo\Api\Exception\ResourceException;
use GoodsBundle\Entities\Items;
use GoodsBundle\Repositories\ItemsRepository;
use GoodsBundle\Services\MultiLang\MultiLangService;
class ActivityGoodsRepository extends EntityRepository
{
@@ -340,15 +343,38 @@ class ActivityGoodsRepository extends EntityRepository
$qb = $qb->andWhere($qb->expr()->eq('g.activity_id', $filter['activity_id']));
}
if (isset($filter['keywords']) && $filter['keywords']) {
$qb = $qb->andWhere($qb->expr()->orX(
$qb->expr()->like('i.item_name', $qb->expr()->literal('%'.$filter['keywords'].'%')),
$qb->expr()->like('i.item_bn', $qb->expr()->literal('%'.$filter['keywords'].'%'))
));
// 商品名称 / 关键字:与 GoodsBundle\Services\ItemsService::_filter 一致(多语言 item_name + 编号/条码)
$nameSearch = null;
if (isset($filter['item_name']) && $filter['item_name'] !== '') {
$nameSearch = trim((string) $filter['item_name']);
} elseif (isset($filter['keywords']) && $filter['keywords'] !== '') {
$nameSearch = trim((string) $filter['keywords']);
}
if (isset($filter['item_name']) && $filter['item_name']) {
$qb = $qb->andWhere($qb->expr()->like('i.item_name', $qb->expr()->literal('%'.$filter['item_name'].'%')));
if ($nameSearch !== null && $nameSearch !== '') {
/** @var ItemsRepository $itemsRepository */
$itemsRepository = app('registry')->getManager('default')->getRepository(Items::class);
$multiLangService = new MultiLangService();
$lang = $itemsRepository->getLang();
$langIds = $multiLangService->filterByLang($lang, 'item_name', $nameSearch, 'items');
$or = [
'or' => [
'item_bn|contains' => $nameSearch,
'barcode' => $nameSearch,
],
];
if (!empty($langIds)) {
$or['or']['item_id'] = $langIds;
}
$listBn = $itemsRepository->getItemsLists($or);
$idsBn = array_column($listBn, 'default_item_id');
$totalIds = array_unique(array_merge($idsBn, $langIds));
$totalIds = array_values(array_filter($totalIds, static function ($id) {
return $id !== null && $id !== '';
}));
if ($totalIds === []) {
return ['total_count' => 0, 'list' => []];
}
$qb = $qb->andWhere($qb->expr()->in('i.item_id', $totalIds));
}
if (isset($filter['item_bn']) && $filter['item_bn']) {
@@ -363,11 +389,13 @@ class ActivityGoodsRepository extends EntityRepository
}
}
if (isset($filter['category']) && $filter['category']) {
if (is_array($filter['category'])) {
$qb = $qb->andWhere($qb->expr()->in('c.category_id', $filter['category']));
// Api 使用 categoryFrontApi 使用 cat_id与 ItemsCategory 解析结果一致)
$saleCategoryIds = $filter['category'] ?? $filter['cat_id'] ?? null;
if ($saleCategoryIds) {
if (is_array($saleCategoryIds)) {
$qb = $qb->andWhere($qb->expr()->in('c.category_id', $saleCategoryIds));
} else {
$qb = $qb->andWhere($qb->expr()->eq('c.category_id', $filter['category']));
$qb = $qb->andWhere($qb->expr()->eq('c.category_id', $saleCategoryIds));
}
}

View File

@@ -22,9 +22,12 @@ use EmployeePurchaseBundle\Entities\Activities;
use EmployeePurchaseBundle\Entities\ActivityItems;
use EmployeePurchaseBundle\Entities\ActivityGoods;
use EmployeePurchaseBundle\Entities\ActivityEnterprises;
use GoodsBundle\Entities\Items;
use GoodsBundle\Repositories\ItemsRepository;
use GoodsBundle\Services\ItemsService;
use GoodsBundle\Services\ItemsCategoryService;
use GoodsBundle\Services\ItemsRelCatsService;
use GoodsBundle\Services\MultiLang\MultiLangService;
use DistributionBundle\Services\DistributorService;
use DistributionBundle\Services\DistributorItemsService;
use EmployeePurchaseBundle\Services\ActivityItemsService;
@@ -196,6 +199,38 @@ class ActivitiesService
return $result;
}
/**
* 活动商品列表行多语言(与 GoodsBundle\Repositories\ItemsRepository::list 一致)
*
* 前端展示名使用 itemName仅当行上已存在 itemName 时,用多语言后的 item_name 覆盖。
*
* @param array $list getActivityItemsList 返回的列表(可含 spec_items 子项)
* @return array
*/
public function applyMultiLangToActivityItemList(array $list)
{
if ($list === []) {
return $list;
}
/** @var ItemsRepository $itemsRepository */
$itemsRepository = app('registry')->getManager('default')->getRepository(Items::class);
$multiLangField = ['item_name', 'brief', 'intro'];
$table = 'items';
$lang = $itemsRepository->getLang();
$service = new MultiLangService();
$list = $service->getListAddLang($list, $multiLangField, $table, $lang, 'item_id');
foreach ($list as $k => $row) {
if ( isset($row['itemName']) ) {
$list[$k]['itemName'] = $list[$k]['item_name'] ?? '';
}
if (!empty($row['spec_items']) && is_array($row['spec_items'])) {
$list[$k]['spec_items'] = $service->getListAddLang($row['spec_items'], $multiLangField, $table, $lang, 'item_id');
}
}
return $list;
}
public function getActivityItemList($filter, $page, $pageSize, $itemSpec = false, $isDefault = false, $orderBy = ['item_id' => 'desc'])
{
$distributorId = $filter['distributor_id'] ?? 0;
@@ -223,6 +258,8 @@ class ActivitiesService
$row['store'] = $distributorItemsList[$row['item_id']]['store'] ?? 0;
}
}
unset($row);
$result['list'] = $this->applyMultiLangToActivityItemList($result['list']);
}
return $result;
}

View File

@@ -21,14 +21,51 @@ use EspierBundle\Entities\OfflineBankAccount;
class OfflineBankAccountService
{
public $subdistrictRepository;
/** @var \EspierBundle\Repositories\OfflineBankAccountRepository */
public $offlineBankAccountRepository;
public function __construct()
{
$this->offlineBankAccountRepository = app('registry')->getManager('default')->getRepository(OfflineBankAccount::class);
}
/**
* 线下转账列表中的 bank_name 为历史快照;按 bank_account_id 从收款账户取当前语言银行名(与 getLists 多语言一致)并覆盖。
*
* @param int $companyId
* @param array $rows offline_payment 列表行(引用 bank_account_id、bank_name
* @return array
*/
public function applyLocalizedBankNameToOfflinePaymentRows(int $companyId, array $rows): array
{
if ($rows === []) {
return $rows;
}
$bankAccountIds = array_unique(array_filter(array_map('intval', array_column($rows, 'bank_account_id'))));
if (!$bankAccountIds) {
return $rows;
}
$banks = $this->offlineBankAccountRepository->getLists(
['company_id' => $companyId, 'id' => $bankAccountIds],
'id,bank_name',
1,
-1,
[]
);
$bankNameById = [];
foreach ($banks as $bankRow) {
$bankNameById[(int) $bankRow['id']] = $bankRow['bank_name'] ?? '';
}
foreach ($rows as $k => $row) {
$bid = isset($row['bank_account_id']) ? (int) $row['bank_account_id'] : 0;
if ($bid && array_key_exists($bid, $bankNameById)) {
$rows[$k]['bank_name'] = $bankNameById[$bid];
}
}
return $rows;
}
public function createData($params)
{
// 如果is_default=1,其他的设置为0

View File

@@ -21,6 +21,7 @@ use AftersalesBundle\Services\AftersalesRefundService;
use App\Http\Controllers\Controller as Controller;
use Dingo\Api\Exception\ResourceException;
use EspierBundle\Jobs\ExportFileJob;
use EspierBundle\Services\OfflineBankAccountService;
use Illuminate\Http\Request;
use MembersBundle\Services\MemberService;
use OrdersBundle\Services\DeliveryProcessLogServices;
@@ -92,6 +93,10 @@ class OfflinePayment extends Controller
$this->__getFilter($params, $filter);
$offlinePaymentService = new OfflinePaymentService();
$result = $offlinePaymentService->repository->lists($filter, '*', $page, $pageSize, $orderBy);
if (!empty($result['list'])) {
$bankAccountService = new OfflineBankAccountService();
$result['list'] = $bankAccountService->applyLocalizedBankNameToOfflinePaymentRows($company_id, $result['list']);
}
return $this->response->array($result);
}
@@ -118,6 +123,11 @@ class OfflinePayment extends Controller
$params['company_id'] = app('auth')->user()->get('company_id');
$offlinePaymentService = new OfflinePaymentService();
$result = $offlinePaymentService->getDetail($params);
if (is_array($result) && $result !== []) {
$bankAccountService = new OfflineBankAccountService();
$localized = $bankAccountService->applyLocalizedBankNameToOfflinePaymentRows($params['company_id'], [$result]);
$result = $localized[0];
}
return $this->response->array($result);
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long