-- =============================================
-- 会员生日日历功能菜单配置SQL
-- 功能说明：为系统添加"会员生日日历"菜单，支持查看未来30天过生日的会员
-- 创建时间：2026-01-08
-- =============================================

-- 说明：
-- 1. 请根据实际情况修改 F_ParentId（父菜单ID）
-- 2. 请根据实际情况修改 F_SortCode（排序码）
-- 3. 菜单ID使用固定值，如需修改请同步修改按钮配置中的 F_ParentId

-- =============================================
-- 1. 添加菜单
-- =============================================
-- 假设父菜单ID为客户管理模块的ID，请根据实际情况修改
-- 查询客户管理模块ID的SQL：SELECT F_Id, F_FullName FROM base_module WHERE F_FullName LIKE '%客户%' OR F_EnCode LIKE '%khxx%';

INSERT INTO `base_module` (
    `F_Id`,
    `F_ParentId`,
    `F_Layers`,
    `F_EnCode`,
    `F_FullName`,
    `F_Icon`,
    `F_UrlAddress`,
    `F_Target`,
    `F_IsMenu`,
    `F_AllowExpand`,
    `F_IsPublic`,
    `F_AllowEdit`,
    `F_AllowDelete`,
    `F_SortCode`,
    `F_DeleteMark`,
    `F_EnabledMark`,
    `F_CreateTime`,
    `F_CreateUserId`,
    `F_Type`,
    `F_Category`,
    `F_Description`
) VALUES (
    '1876543210987654321',  -- 菜单ID（固定值）
    'YOUR_PARENT_MODULE_ID',  -- 父菜单ID，请修改为实际的客户管理模块ID
    2,  -- 层级，根据实际父菜单层级+1
    'lqKhxxBirthday',  -- 编码
    '会员生日日历',  -- 菜单名称
    'el-icon-date',  -- 图标
    '/lqKhxxBirthday',  -- 路由地址
    'iframe',  -- 目标
    1,  -- 是否菜单（1=是）
    1,  -- 允许展开
    0,  -- 是否公开
    0,  -- 允许编辑
    0,  -- 允许删除
    999,  -- 排序码，请根据实际情况修改
    NULL,  -- 删除标记
    1,  -- 启用标记（1=启用）
    NOW(),  -- 创建时间
    'admin',  -- 创建用户ID
    1,  -- 类型
    1,  -- 分类
    '查看未来30天过生日的会员，支持按门店筛选，按会员等级显示不同颜色(0=D,1=C,2=B,3=A,4=A+,5=A++)'  -- 描述
);

-- =============================================
-- 2. 添加功能按钮（可选）
-- =============================================
-- 查看按钮
INSERT INTO `base_module` (
    `F_Id`,
    `F_ParentId`,
    `F_Layers`,
    `F_EnCode`,
    `F_FullName`,
    `F_Icon`,
    `F_UrlAddress`,
    `F_Target`,
    `F_IsMenu`,
    `F_AllowExpand`,
    `F_IsPublic`,
    `F_AllowEdit`,
    `F_AllowDelete`,
    `F_SortCode`,
    `F_DeleteMark`,
    `F_EnabledMark`,
    `F_CreateTime`,
    `F_CreateUserId`,
    `F_Type`,
    `F_Category`,
    `F_Description`
) VALUES (
    '1876543210987654322',  -- 按钮ID
    '1876543210987654321',  -- 父菜单ID（会员生日日历）
    3,  -- 层级
    'btn_detail',  -- 编码
    '查看详情',  -- 按钮名称
    'el-icon-view',  -- 图标
    NULL,  -- 路由地址
    NULL,  -- 目标
    0,  -- 是否菜单（0=否，按钮）
    NULL,  -- 允许展开
    0,  -- 是否公开
    0,  -- 允许编辑
    0,  -- 允许删除
    1,  -- 排序码
    NULL,  -- 删除标记
    1,  -- 启用标记（1=启用）
    NOW(),  -- 创建时间
    'admin',  -- 创建用户ID
    2,  -- 类型（2=按钮）
    1,  -- 分类
    '查看会员生日详细信息'  -- 描述
);

-- 刷新按钮
INSERT INTO `base_module` (
    `F_Id`,
    `F_ParentId`,
    `F_Layers`,
    `F_EnCode`,
    `F_FullName`,
    `F_Icon`,
    `F_UrlAddress`,
    `F_Target`,
    `F_IsMenu`,
    `F_AllowExpand`,
    `F_IsPublic`,
    `F_AllowEdit`,
    `F_AllowDelete`,
    `F_SortCode`,
    `F_DeleteMark`,
    `F_EnabledMark`,
    `F_CreateTime`,
    `F_CreateUserId`,
    `F_Type`,
    `F_Category`,
    `F_Description`
) VALUES (
    '1876543210987654323',  -- 按钮ID
    '1876543210987654321',  -- 父菜单ID（会员生日日历）
    3,  -- 层级
    'btn_refresh',  -- 编码
    '刷新',  -- 按钮名称
    'el-icon-refresh',  -- 图标
    NULL,  -- 路由地址
    NULL,  -- 目标
    0,  -- 是否菜单（0=否，按钮）
    NULL,  -- 允许展开
    0,  -- 是否公开
    0,  -- 允许编辑
    0,  -- 允许删除
    2,  -- 排序码
    NULL,  -- 删除标记
    1,  -- 启用标记（1=启用）
    NOW(),  -- 创建时间
    'admin',  -- 创建用户ID
    2,  -- 类型（2=按钮）
    1,  -- 分类
    '刷新会员生日数据'  -- 描述
);

-- =============================================
-- 3. 授权给管理员角色（可选）
-- =============================================
-- 查询管理员角色ID：SELECT F_Id, F_FullName FROM base_role WHERE F_FullName LIKE '%管理员%';

-- 为管理员角色授权菜单
INSERT INTO `base_authorize` (
    `F_Id`,
    `F_ItemType`,
    `F_ItemId`,
    `F_ObjectType`,
    `F_ObjectId`,
    `F_SortCode`,
    `F_CreateTime`,
    `F_CreateUserId`
) VALUES (
    REPLACE(UUID(), '-', ''),  -- 授权ID
    1,  -- 项目类型（1=菜单）
    '1876543210987654321',  -- 菜单ID
    1,  -- 对象类型（1=角色）
    'YOUR_ADMIN_ROLE_ID',  -- 角色ID，请修改为实际的管理员角色ID
    0,  -- 排序码
    NOW(),  -- 创建时间
    'admin'  -- 创建用户ID
);

-- 为管理员角色授权查看详情按钮
INSERT INTO `base_authorize` (
    `F_Id`,
    `F_ItemType`,
    `F_ItemId`,
    `F_ObjectType`,
    `F_ObjectId`,
    `F_SortCode`,
    `F_CreateTime`,
    `F_CreateUserId`
) VALUES (
    REPLACE(UUID(), '-', ''),  -- 授权ID
    2,  -- 项目类型（2=按钮）
    '1876543210987654322',  -- 按钮ID
    1,  -- 对象类型（1=角色）
    'YOUR_ADMIN_ROLE_ID',  -- 角色ID，请修改为实际的管理员角色ID
    0,  -- 排序码
    NOW(),  -- 创建时间
    'admin'  -- 创建用户ID
);

-- 为管理员角色授权刷新按钮
INSERT INTO `base_authorize` (
    `F_Id`,
    `F_ItemType`,
    `F_ItemId`,
    `F_ObjectType`,
    `F_ObjectId`,
    `F_SortCode`,
    `F_CreateTime`,
    `F_CreateUserId`
) VALUES (
    REPLACE(UUID(), '-', ''),  -- 授权ID
    2,  -- 项目类型（2=按钮）
    '1876543210987654323',  -- 按钮ID
    1,  -- 对象类型（1=角色）
    'YOUR_ADMIN_ROLE_ID',  -- 角色ID，请修改为实际的管理员角色ID
    0,  -- 排序码
    NOW(),  -- 创建时间
    'admin'  -- 创建用户ID
);

-- =============================================
-- 使用说明
-- =============================================
-- 1. 执行前请先备份数据库
-- 2. 根据实际情况修改以下内容：
--    - YOUR_PARENT_MODULE_ID：父菜单ID（客户管理模块）
--    - YOUR_ADMIN_ROLE_ID：管理员角色ID
--    - F_SortCode：排序码
--    - F_Layers：层级
-- 3. 执行完成后，清除缓存或重新登录系统以查看新菜单
-- 4. 如需删除菜单，执行：
--    DELETE FROM base_module WHERE F_Id IN ('1876543210987654321', '1876543210987654322', '1876543210987654323');
--    DELETE FROM base_authorize WHERE F_ItemId IN ('1876543210987654321', '1876543210987654322', '1876543210987654323');
