169 lines
15 KiB
SQL
169 lines
15 KiB
SQL
-- 数据库升级脚本
|
||
-- 生成时间: 自动生成
|
||
-- 描述: 根据niushop_database.sql更新init.sql的表结构和数据
|
||
|
||
USE shop_mallnew;
|
||
|
||
-- 表结构升级语句
|
||
|
||
ALTER TABLE `lucky_cashier_auth_group` ADD COLUMN `store_id` int NOT NULL DEFAULT '0' COMMENT '门店id 0为全部门店';
|
||
ALTER TABLE `lucky_cashier_auth_group` ADD COLUMN `store_name` varchar(255) NOT NULL DEFAULT '' COMMENT '门店名称';
|
||
ALTER TABLE `lucky_cashier_auth_group` ADD COLUMN `create_user_data` varchar(500) NOT NULL DEFAULT '[]' COMMENT '创建用户数据 json格式';
|
||
ALTER TABLE `lucky_cashier_auth_group` ADD COLUMN `create_uid` int NOT NULL DEFAULT '0' COMMENT '创建用户id';
|
||
ALTER TABLE `lucky_cron` ADD COLUMN `error_num` int NOT NULL DEFAULT 0 COMMENT '错误次数' AFTER `create_time`;
|
||
ALTER TABLE `lucky_cron` ADD COLUMN `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态 0待执行 1执行中' AFTER `error_num`;
|
||
ALTER TABLE `lucky_express_delivery_package` ADD COLUMN `trace` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '物流轨迹' AFTER `template_name`;
|
||
ALTER TABLE `lucky_fenxiao_withdraw` ADD COLUMN `fail_reason` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '失败原因' AFTER `applet_type`;
|
||
ALTER TABLE `lucky_goods` ADD COLUMN is_reserve int NOT NULL DEFAULT 0 COMMENT '服务是否需要预约,0:否,1:是';
|
||
ALTER TABLE `lucky_goods` ADD COLUMN service_mode varchar(255) NOT NULL DEFAULT '' COMMENT '服务模式:onsite:上门服务,in_store:到店服务';
|
||
ALTER TABLE `lucky_goods` ADD COLUMN service_price_way varchar(255) NOT NULL DEFAULT '' COMMENT '上门服务费用方式,reserve_price:预约价格,fixed_price:一口价格';
|
||
ALTER TABLE `lucky_group` ADD COLUMN `create_user_data` varchar(500) NOT NULL DEFAULT '[]' COMMENT '创建用户数据 json格式';
|
||
ALTER TABLE `lucky_group` ADD COLUMN `create_uid` int NOT NULL DEFAULT '0' COMMENT '创建用户id';
|
||
ALTER TABLE `lucky_member_goods_card` ADD COLUMN `invalid_reason` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '失效原因' AFTER `store_id`;
|
||
ALTER TABLE `lucky_order` ADD COLUMN delivery_start_time int NOT NULL DEFAULT 0 COMMENT '配送开始时间';
|
||
ALTER TABLE `lucky_order` ADD COLUMN delivery_end_time int NOT NULL DEFAULT 0 COMMENT '配送结束时间';
|
||
ALTER TABLE `lucky_order_goods` ADD COLUMN shop_active_refund_no VARCHAR(50) NOT NULL DEFAULT '' COMMENT '商家主动退款编号';
|
||
ALTER TABLE `lucky_order_goods` ADD COLUMN shop_active_refund_remark VARCHAR(255) NOT NULL DEFAULT '' COMMENT '商家主动退款说明';
|
||
ALTER TABLE `lucky_order_goods` ADD COLUMN shop_active_refund_money DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '商家主动退款金额';
|
||
ALTER TABLE `lucky_order_goods` ADD COLUMN shop_active_refund_money_type INT(11) NOT NULL DEFAULT 1 COMMENT '商家主动退款方式 1 原路退款 2线下退款3退款到余额';
|
||
ALTER TABLE `lucky_order_goods` ADD COLUMN `refund_images` varchar(3000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '退款图片 最多五张' AFTER `refund_remark`;
|
||
ALTER TABLE `lucky_pay` ADD COLUMN `is_delete` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除 1是 0否' AFTER `pay_json`;
|
||
ALTER TABLE `lucky_pay` ADD COLUMN `relate_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '关联id' AFTER `is_delete`;
|
||
ALTER TABLE `lucky_poster` ADD COLUMN `param_md5` varchar(255) NOT NULL DEFAULT '' COMMENT '参数md5值' AFTER `create_time`;
|
||
ALTER TABLE `lucky_poster` ADD COLUMN `file_path` varchar(1000) NOT NULL DEFAULT '' COMMENT '文件路径' AFTER `param_md5`;
|
||
ALTER TABLE `lucky_promotion_coupon` ADD COLUMN use_channel varchar(50) NOT NULL DEFAULT 'all' COMMENT '使用渠道 all 线上线下使用 online 线上使用 offline线下使用';
|
||
ALTER TABLE `lucky_promotion_coupon` ADD COLUMN use_store varchar(5000) NOT NULL DEFAULT 'all' COMMENT '适用门店 all 全部门店 ,门店id,门店id, 部分门店';
|
||
ALTER TABLE `lucky_promotion_coupon_type` ADD COLUMN use_channel varchar(50) NOT NULL DEFAULT 'all' COMMENT '使用渠道 all 线上线下使用 online 线上使用 offline线下使用';
|
||
ALTER TABLE `lucky_promotion_coupon_type` ADD COLUMN use_store varchar(5000) NOT NULL DEFAULT 'all' COMMENT '适用门店 all 全部门店 ,门店id,门店id, 部分门店';
|
||
ALTER TABLE `lucky_promotion_coupon_type` ADD COLUMN store_id int NOT NULL DEFAULT 0 COMMENT '所属门店id';
|
||
ALTER TABLE `lucky_promotion_coupon_type` ADD COLUMN `goods_names` varchar(3000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '适用商品名称' AFTER `goods_ids`;
|
||
ALTER TABLE `lucky_promotion_coupon_type` ADD COLUMN `give_count` int NOT NULL DEFAULT 0 COMMENT '发放数量(营销活动发放和直接发放)' AFTER `used_count`;
|
||
ALTER TABLE `lucky_promotion_jielong` ADD COLUMN `take_start_time` int(11) NOT NULL DEFAULT 0 COMMENT '自提开始时间';
|
||
ALTER TABLE `lucky_promotion_jielong` ADD COLUMN `take_end_time` int(11) NOT NULL DEFAULT 0 COMMENT '自提结束时间';
|
||
ALTER TABLE `lucky_promotion_presale_order` ADD COLUMN delivery_start_time int NOT NULL COMMENT '配送开始时间';
|
||
ALTER TABLE `lucky_promotion_presale_order` ADD COLUMN delivery_end_time int NOT NULL COMMENT '配送结束时间';
|
||
ALTER TABLE `lucky_stock_allot` ADD COLUMN refuse_reason varchar(255) NOT NULL DEFAULT '' COMMENT '拒绝理由';
|
||
ALTER TABLE `lucky_stock_inventory` ADD COLUMN action_time int NOT NULL DEFAULT 0 COMMENT '盘点时间';
|
||
ALTER TABLE `lucky_store` ADD COLUMN `open_date_config` varchar(1000) NOT NULL DEFAULT '[]' COMMENT '营业时间配置 json格式' AFTER `store_introduce`;
|
||
ALTER TABLE `lucky_store` ADD COLUMN `out_open_date_o2o_pay` tinyint(1) NOT NULL DEFAULT 1 COMMENT '非营业时间能否下同城配送单 1:能 0:不能' AFTER `open_date_config`;
|
||
ALTER TABLE `lucky_store` ADD COLUMN `close_show` tinyint(1) NOT NULL DEFAULT 0 COMMENT '门店休息是否前台展示' AFTER `out_open_date_o2o_pay`;
|
||
ALTER TABLE `lucky_store` ADD COLUMN `close_desc` varchar(255) NULL DEFAULT '' COMMENT '门店休息说明' AFTER `close_show`;
|
||
ALTER TABLE `lucky_store_goods_sku` ADD COLUMN `is_delivery_restrictions` int NOT NULL DEFAULT 1 COMMENT '是否有起送限制 1 有 0 没有' AFTER `real_stock`;
|
||
ALTER TABLE `lucky_user` ADD COLUMN `create_user_data` varchar(500) NOT NULL DEFAULT '[]' COMMENT '创建用户数据 json格式';
|
||
ALTER TABLE `lucky_user` ADD COLUMN `create_uid` int NOT NULL DEFAULT '0' COMMENT '创建用户id';
|
||
|
||
|
||
-- 数据升级语句
|
||
USE shop_mallnew;
|
||
INSERT INTO `lucky_cashier_auth_group` (`group_name`, `menu_array`, `keyword`, `site_id`, `desc`) VALUES ('门店管理员', '', 'admin', 1, '');
|
||
INSERT INTO `lucky_cashier_auth_group` (`group_name`, `menu_array`, `keyword`, `site_id`, `desc`) VALUES ('收银员', 'cashier,billing,buycard,recharge', '', 1, '');
|
||
INSERT INTO `lucky_cashier_auth_group` (`group_name`, `menu_array`, `keyword`, `site_id`, `desc`) VALUES ('核销员', 'verify_manage,verify_index,verify_record,verify_code_info,verify', '', 1, '');
|
||
INSERT INTO `lucky_store` (`store_name`,`site_id`,`status`,`stock_type`,`is_default`) VALUES ('默认总店',1,1,'store', 1);
|
||
INSERT INTO `lucky_cron` (`type`, `period`, `period_type`, `name`, `event`, `execute_time`, `relate_id`, `create_time`) VALUES (2, 2, 0, '店铺统计更新(按时)', 'CronStatShopHour', 1700447491, 0, 0);
|
||
INSERT INTO `lucky_cron` (`type`, `period`, `period_type`, `name`, `event`, `execute_time`, `relate_id`, `create_time`) VALUES (2, 2, 0, '门店统计更新(按时)', 'CronStatStoreHour', 1700447491, 0, 0);
|
||
INSERT INTO `lucky_cron` (`type`, `period`, `period_type`, `name`, `event`, `execute_time`, `relate_id`, `create_time`) VALUES (2, 2, 0, '店铺统计更新(按日)', 'CronStatShop', 1700447491, 0, 0);
|
||
INSERT INTO `lucky_cron` (`type`, `period`, `period_type`, `name`, `event`, `execute_time`, `relate_id`, `create_time`) VALUES (2, 2, 0, '门店统计更新(按日)', 'CronStatStore', 1700447491, 0, 0);
|
||
|
||
-- 相关插件
|
||
INSERT INTO `lucky_addon` (`name`, `type`, `icon`, `title`, `description`, `status`, `author`, `version`, `version_no`, `content`, `create_time`) VALUES ('offlinepay', 'system', 'addon/offlinepay/icon.png', '线下支付', '线下支付功能', 1, '', '5.5.2', '552250604001', '', 1764398910);
|
||
INSERT INTO `lucky_addon` (`name`, `type`, `icon`, `title`, `description`, `status`, `author`, `version`, `version_no`, `content`, `create_time`) VALUES ('huaweipay', 'system', 'addon/huaweipay/icon.png', '华为支付', '华为支付功能', 1, '', '5.3.1', '525231212001', '', 1717865208);
|
||
INSERT INTO `lucky_addon` (`name`, `type`, `icon`, `title`, `description`, `status`, `author`, `version`, `version_no`, `content`, `create_time`) VALUES ('aikefu', 'system', 'addon/aikefu/icon.png', '智能客服', '基于Dify的智能客服系统', 1, '', '1.0.0', '525231212001', '', 1717865208);
|
||
|
||
-- 智能客服插件菜单
|
||
INSERT INTO `lucky_menu` (`app_module`, `addon`, `title`, `name`, `parent`, `level`, `url`, `is_show`, `sort`, `desc`, `is_icon`, `picture`, `picture_select`, `is_control`, `type`) VALUES ('shop', '', '智能客服', 'CONFIG_BASE_AIKEFU', 'CONFIG_BASE', 3, 'aikefu://shop/kefu/index', 1, 88, '', 0, '', '', 1, 'page');
|
||
|
||
|
||
-- 智能客服插件安装脚本
|
||
-- 1. 智能客服插件使用系统配置表存储配置信息,无需创建独立数据表
|
||
-- 2. 会话和消息数据存储在独立数据表中
|
||
|
||
-- 创建智能客服会话表
|
||
CREATE TABLE IF NOT EXISTS `lucky_aikefu_conversation` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`site_id` int(11) NOT NULL COMMENT '站点ID',
|
||
`user_id` varchar(50) NOT NULL COMMENT '用户ID',
|
||
`conversation_id` varchar(100) NOT NULL COMMENT 'Dify会话ID',
|
||
`name` varchar(255) NOT NULL COMMENT '会话名称',
|
||
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态:1活跃,0结束',
|
||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `site_id` (`site_id`),
|
||
KEY `user_id` (`user_id`),
|
||
KEY `conversation_id` (`conversation_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='智能客服会话表';
|
||
-- 索引
|
||
ALTER TABLE `lucky_aikefu_conversation`
|
||
ADD INDEX `idx_status` (`status`);
|
||
|
||
-- 创建智能客服消息表
|
||
CREATE TABLE IF NOT EXISTS `lucky_aikefu_message` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`site_id` int(11) NOT NULL COMMENT '站点ID',
|
||
`user_id` varchar(50) NOT NULL COMMENT '用户ID',
|
||
`conversation_id` varchar(100) NOT NULL COMMENT '会话ID',
|
||
`message_id` varchar(100) NOT NULL COMMENT '消息ID',
|
||
`role` varchar(20) NOT NULL COMMENT '角色:user用户,assistant助手',
|
||
`content` text NOT NULL COMMENT '消息内容',
|
||
`status` varchar(20) NOT NULL DEFAULT 'completed' COMMENT '消息状态:streaming(流式中), completed(已完成), failed(失败)',
|
||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `site_id` (`site_id`),
|
||
KEY `user_id` (`user_id`),
|
||
KEY `conversation_id` (`conversation_id`),
|
||
KEY `message_id` (`message_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='智能客服消息表';
|
||
-- 索引
|
||
ALTER TABLE `lucky_aikefu_message`
|
||
ADD INDEX `idx_status` (`status`);
|
||
|
||
-- 修改数据库字符集
|
||
ALTER DATABASE shop_mallnew CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
|
||
|
||
-- 修改表字符集
|
||
ALTER TABLE lucky_aikefu_conversation CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
ALTER TABLE lucky_aikefu_message CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
|
||
|
||
-- 创建视频号表
|
||
CREATE TABLE IF NOT EXISTS `lucky_personnel_channel`
|
||
(
|
||
`channel_id` int unsigned NOT NULL AUTO_INCREMENT,
|
||
`site_id` int unsigned NOT NULL DEFAULT 0 COMMENT '站点ID',
|
||
`create_time` int unsigned NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||
`channel_type` varchar(30) NOT NULL DEFAULT 'wechat' COMMENT '视频号类型:wechat-微信视频号,douyin-抖音,kuaishou-快手,redbook-小红书,bilibili-B站',
|
||
`channel_name` varchar(200) NOT NULL DEFAULT '' COMMENT '视频号ID',
|
||
`feed_id` varchar(500) NOT NULL DEFAULT '' COMMENT '视频号内容ID',
|
||
`feed_token` varchar(255) NOT NULL DEFAULT '' COMMENT '视频号视频的标识',
|
||
`avatar_image_type` varchar(20) NOT NULL DEFAULT 'upload' COMMENT '头像类型:upload-上传图片,url-URL',
|
||
`avatar_url` varchar(500) NOT NULL DEFAULT '' COMMENT '头像URL',
|
||
`video_title` varchar(500) NOT NULL DEFAULT '' COMMENT '视频标题',
|
||
`cover_image_type` varchar(20) NOT NULL DEFAULT 'upload' COMMENT '封面类型:upload-上传图片,url-URL',
|
||
`cover_url` varchar(500) NOT NULL DEFAULT '' COMMENT '封面URL',
|
||
`view_count` int unsigned NOT NULL DEFAULT 0 COMMENT '视频观看次数',
|
||
`show_view_count` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示视频观看次数:0-不显示,1-显示',
|
||
`show_follow` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示关注按钮:0-不显示,1-显示',
|
||
`is_show` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否显示:0-隐藏,1-显示',
|
||
`sort` int NOT NULL DEFAULT 0 COMMENT '排序,数值越小越靠前',
|
||
PRIMARY KEY (`channel_id`),
|
||
KEY `idx_site_id` (`site_id`),
|
||
KEY `idx_channel_type` (`channel_type`),
|
||
KEY `idx_is_show` (`is_show`),
|
||
KEY `idx_sort` (`sort`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='电子名片视频号资源表';
|
||
|
||
-- 插入视频号菜单权限(使用 IGNORE 避免重复插入报错)
|
||
INSERT IGNORE INTO `lucky_menu` (`app_module`, `addon`, `title`, `name`, `parent`, `level`, `url`, `is_show`, `sort`, `desc`, `is_icon`, `picture`, `picture_select`, `is_control`)
|
||
VALUES
|
||
('shop', 'personnel', '视频号', 'PERSONNEL_CHANNEL_LIST', 'PERSONNEL_ROOT', 4, 'personnel://shop/enterprise/channellists', 1, 4, '', 0, '', '', 1),
|
||
('shop', 'personnel', '添加视频号', 'PERSONNEL_CHANNEL_ADD', 'PERSONNEL_CHANNEL_LIST', 5, 'personnel://shop/enterprise/channeladd', 0, 1, '', 0, '', '', 1),
|
||
('shop', 'personnel', '编辑视频号', 'PERSONNEL_CHANNEL_EDIT', 'PERSONNEL_CHANNEL_LIST', 5, 'personnel://shop/enterprise/channeledit', 0, 1, '', 0, '', '', 1),
|
||
('shop', 'personnel', '删除视频号', 'PERSONNEL_CHANNEL_DELETE', 'PERSONNEL_CHANNEL_LIST', 5, 'personnel://shop/enterprise/channeldelete', 0, 2, '', 0, '', '', 1);
|
||
|
||
-- 微信视频号组件
|
||
-- 仅当WechatChannel不存在时添加记录
|
||
INSERT INTO lucky_diy_view_util (`name`, `title`, `type`, `value`, `addon_name`, `sort`, `support_diy_view`, `max_count`, `is_delete`, `icon`, `icon_type`)
|
||
SELECT 'WechatChannel', '微信视频号', 'SYSTEM', '{ "list": [{ "channelName":"", "finderUserName": "", "avatarImageType": "url", "avatarUrl": "", "videoTitle": "", "coverImageType": "url", "coverUrl": "", "feedId": "", "feedToken": "", "viewCount": 0, "showViewCount": true, "embedMode": false, "channelType":"wechat" }], "rowCount": 2, "showStyle": "fixed", "aspectRatio":"16:9", "titleLineClamp": 1, "showPlayBtn": true}', '', 100110, '', 0, 0, '/public/static/img/svg/xuanxiangka.svg', 0
|
||
WHERE NOT EXISTS (
|
||
SELECT 1 FROM lucky_diy_view_util WHERE name = 'WechatChannel'
|
||
); |