当前位置: 首页 > news >正文

升鲜宝 生鲜配送供应链管理系统 运营管理系统 SaaS Admin:SYS SAAS 常用 CRUD SQL 示例(用于对账/排查/脚本)

升鲜宝 SaaS Admin:SYS & SAAS 常用 CRUD SQL 示例(用于对账/排查/脚本)

 

-- =========================================================
-- 升鲜宝 SaaS Admin:SYS & SAAS 常用 CRUD SQL 示例(用于对账/排查/脚本)
-- 数据库:saas_master_db
--
-- 说明:
-- 1) 生产建议仍走 API + Service(SQL 仅示例)
-- 2) “禁用”使用 enabled=0;“软删除”使用 del_flag=1
-- 3) create_date / update_date 统一毫秒时间戳
-- =========================================================
SET NAMES utf8mb4;
SET @now_ms := ROUND(UNIX_TIMESTAMP(CURRENT_TIMESTAMP(3)) * 1000);-- =========================================================
-- 1) 用户 sys_user
-- =========================================================-- 1.1 用户列表(分页 + 关键字)
-- :keyword 为空则不过滤;:offset=: (page-1)*size;:size
SELECTu.id,u.user_code,u.user_name,u.status,u.enabled,u.del_flag,u.create_date,u.update_date
FROM sys_user u
WHERE u.del_flag = 0AND (:keyword IS NULL OR :keyword = ''OR u.user_code LIKE CONCAT('%', :keyword, '%')OR u.user_name LIKE CONCAT('%', :keyword, '%'))
ORDER BY u.id DESC
LIMIT :offset, :size;-- 1.2 用户详情
SELECTid, user_code, user_name, password_hash, status, enabled, del_flag, create_date, update_date
FROM sys_user
WHERE id = :userId
LIMIT 1;-- 1.3 新增用户(password_hash 建议用 BCrypt)
-- 注意:user_code 需唯一
INSERT INTO sys_user (id, user_code, user_name, password_hash,status, enabled, del_flag,create_date, update_date
)
VALUES (:id, :userCode, :userName, :passwordHash,1, 1, 0,@now_ms, @now_ms
);-- 1.4 修改用户(不改密码)
UPDATE sys_user
SETuser_name = :userName,status = :status,enabled = :enabled,update_date = @now_ms
WHERE id = :userIdAND del_flag = 0;-- 1.5 修改密码(重置)
UPDATE sys_user
SETpassword_hash = :passwordHash,update_date = @now_ms
WHERE id = :userIdAND del_flag = 0;-- 1.6 禁用 / 启用
UPDATE sys_user
SET enabled = 0, update_date = @now_ms
WHERE id = :userId AND del_flag = 0;UPDATE sys_user
SET enabled = 1, update_date = @now_ms
WHERE id = :userId AND del_flag = 0;-- 1.7 软删除
UPDATE sys_user
SET del_flag = 1, update_date = @now_ms
WHERE id = :userId;-- 1.8 用户角色列表
SELECTur.user_id,ur.role_id,r.role_code,r.role_name
FROM sys_user_role ur
JOIN sys_role r ON r.id = ur.role_id AND r.del_flag = 0
WHERE ur.user_id = :userId
ORDER BY r.id;-- 1.9 给用户分配角色(先删后插,或用事务)
DELETE FROM sys_user_role WHERE user_id = :userId;
INSERT INTO sys_user_role (id, user_id, role_id, create_date)
VALUES(:id1, :userId, :roleId1, @now_ms),(:id2, :userId, :roleId2, @now_ms);-- =========================================================
-- 2) 角色 sys_role
-- =========================================================-- 2.1 角色列表(分页 + 关键字)
SELECTr.id, r.role_code, r.role_name, r.enabled, r.del_flag, r.create_date, r.update_date
FROM sys_role r
WHERE r.del_flag = 0AND (:keyword IS NULL OR :keyword = ''OR r.role_code LIKE CONCAT('%', :keyword, '%')OR r.role_name LIKE CONCAT('%', :keyword, '%'))
ORDER BY r.id DESC
LIMIT :offset, :size;-- 2.2 新增角色
INSERT INTO sys_role (id, role_code, role_name,enabled, del_flag,create_date, update_date
)
VALUES (:id, :roleCode, :roleName,1, 0,@now_ms, @now_ms
);-- 2.3 修改角色
UPDATE sys_role
SETrole_name = :roleName,enabled = :enabled,update_date = @now_ms
WHERE id = :roleIdAND del_flag = 0;-- 2.4 禁用 / 启用
UPDATE sys_role SET enabled = 0, update_date = @now_ms WHERE id = :roleId AND del_flag = 0;
UPDATE sys_role SET enabled = 1, update_date = @now_ms WHERE id = :roleId AND del_flag = 0;-- 2.5 软删除
UPDATE sys_role SET del_flag = 1, update_date = @now_ms WHERE id = :roleId;-- =========================================================
-- 3) 菜单 sys_menu
-- =========================================================-- 3.1 菜单全量(用于构树)
SELECTid, parent_id, menu_type, menu_code, menu_name,route_path, component_path, perms_code, icon,sort_code, visible, enabled, del_flag
FROM sys_menu
WHERE del_flag = 0 AND enabled = 1
ORDER BY sort_code ASC, id ASC;-- 3.2 新增菜单
INSERT INTO sys_menu (id, parent_id, menu_type,menu_code, menu_name,route_path, component_path,perms_code, icon,sort_code, visible, enabled, del_flag,create_date, update_date
)
VALUES (:id, :parentId, :menuType,:menuCode, :menuName,:routePath, :componentPath,:permsCode, :icon,:sortCode, :visible, :enabled, 0,@now_ms, @now_ms
);-- 3.3 修改菜单
UPDATE sys_menu
SETparent_id = :parentId,menu_type = :menuType,menu_name = :menuName,route_path = :routePath,component_path = :componentPath,perms_code = :permsCode,icon = :icon,sort_code = :sortCode,visible = :visible,enabled = :enabled,update_date = @now_ms
WHERE id = :menuId AND del_flag = 0;-- 3.4 软删除菜单
UPDATE sys_menu SET del_flag = 1, update_date = @now_ms WHERE id = :menuId;-- =========================================================
-- 4) 权限点 sys_permission / 授权 sys_role_permission
-- =========================================================-- 4.1 权限点列表(分页 + 关键字)
SELECTp.id, p.perm_type, p.perm_code, p.perm_name, p.perm_value,p.menu_id, p.enabled, p.del_flag, p.create_date, p.update_date
FROM sys_permission p
WHERE p.del_flag = 0AND (:keyword IS NULL OR :keyword = ''OR p.perm_code LIKE CONCAT('%', :keyword, '%')OR p.perm_name LIKE CONCAT('%', :keyword, '%')OR p.perm_value LIKE CONCAT('%', :keyword, '%'))
ORDER BY p.id DESC
LIMIT :offset, :size;-- 4.2 新增权限点
INSERT INTO sys_permission (id, perm_type, perm_code, perm_name, perm_value,menu_id, enabled, del_flag,create_date, update_date
)
VALUES (:id, :permType, :permCode, :permName, :permValue,:menuId, 1, 0,@now_ms, @now_ms
);-- 4.3 修改权限点
UPDATE sys_permission
SETperm_type = :permType,perm_name = :permName,perm_value = :permValue,menu_id = :menuId,enabled = :enabled,update_date = @now_ms
WHERE id = :permId AND del_flag = 0;-- 4.4 禁用 / 启用权限点
UPDATE sys_permission SET enabled=0, update_date=@now_ms WHERE id=:permId AND del_flag=0;
UPDATE sys_permission SET enabled=1, update_date=@now_ms WHERE id=:permId AND del_flag=0;-- 4.5 软删除权限点
UPDATE sys_permission SET del_flag=1, update_date=@now_ms WHERE id=:permId;-- 4.6 查询角色拥有的权限点
SELECTrp.role_id,rp.permission_id,p.perm_code,p.perm_name,p.perm_value
FROM sys_role_permission rp
JOIN sys_permission p ON p.id = rp.permission_id AND p.del_flag=0
WHERE rp.role_id = :roleId
ORDER BY p.id;-- 4.7 角色授权(先删后插)
DELETE FROM sys_role_permission WHERE role_id = :roleId;
INSERT INTO sys_role_permission (id, role_id, permission_id, create_date)
VALUES(:id1, :roleId, :permId1, @now_ms),(:id2, :roleId, :permId2, @now_ms);-- =========================================================
-- 5) SaaS 套餐/租户/订阅(saas_plan / saas_tenant / saas_subscription)
-- =========================================================-- 5.1 套餐列表
SELECT id, plan_code, plan_name, billing_cycle, currency_code, base_price, enabled, del_flag
FROM saas_plan
WHERE del_flag=0
ORDER BY id DESC
LIMIT :offset, :size;-- 5.2 新增/修改/禁用套餐
INSERT INTO saas_plan (id, plan_code, plan_name, billing_cycle, currency_code, base_price, enabled, del_flag, create_date, update_date)
VALUES (:id, :planCode, :planName, :billingCycle, :currencyCode, :basePrice, 1, 0, @now_ms, @now_ms);UPDATE saas_plan
SET plan_name=:planName, billing_cycle=:billingCycle, currency_code=:currencyCode, base_price=:basePrice, enabled=:enabled, update_date=@now_ms
WHERE id=:planId AND del_flag=0;UPDATE saas_plan SET enabled=0, update_date=@now_ms WHERE id=:planId AND del_flag=0;
UPDATE saas_plan SET enabled=1, update_date=@now_ms WHERE id=:planId AND del_flag=0;-- 5.3 租户列表
SELECT id, tenant_code, tenant_name, tenant_state, plan_id, expire_date, shard_id, db_name, del_flag
FROM saas_tenant
WHERE del_flag=0
ORDER BY id DESC
LIMIT :offset, :size;-- 5.4 新增/修改/冻结/解冻租户
INSERT INTO saas_tenant (id, tenant_code, tenant_name, tenant_state, plan_id, expire_date, shard_id, db_name, del_flag, create_date, update_date)
VALUES (:id, :tenantCode, :tenantName, 1, :planId, :expireDate, :shardId, :dbName, 0, @now_ms, @now_ms);UPDATE saas_tenant
SET tenant_name=:tenantName, plan_id=:planId, expire_date=:expireDate, shard_id=:shardId, db_name=:dbName, update_date=@now_ms
WHERE id=:tenantId AND del_flag=0;UPDATE saas_tenant SET tenant_state=2, update_date=@now_ms WHERE id=:tenantId AND del_flag=0; -- 冻结
UPDATE saas_tenant SET tenant_state=1, update_date=@now_ms WHERE id=:tenantId AND del_flag=0; -- 解冻-- 5.5 订阅列表(按租户)
SELECT id, tenant_id, plan_id, sub_state, auto_renew, start_date, end_date, del_flag
FROM saas_subscription
WHERE del_flag=0 AND (:tenantId IS NULL OR tenant_id=:tenantId)
ORDER BY id DESC
LIMIT :offset, :size;-- 5.6 新增/修改订阅
INSERT INTO saas_subscription (id, tenant_id, plan_id, sub_state, auto_renew, start_date, end_date, del_flag, create_date, update_date)
VALUES (:id, :tenantId, :planId, :subState, :autoRenew, :startDate, :endDate, 0, @now_ms, @now_ms);UPDATE saas_subscription
SET plan_id=:planId, sub_state=:subState, auto_renew=:autoRenew, start_date=:startDate, end_date=:endDate, update_date=@now_ms
WHERE id=:subId AND del_flag=0;

  

http://www.jsqmd.com/news/379043/

相关文章:

  • 【CTFshow-pwn系列】03_栈溢出【pwn 043】详解:64位 ROP 之 自定义字符串
  • NMN哪个牌子最好?除皱抗衰产品推荐:2026年NMN十大品牌市场真实反馈与长期口碑推荐 - 资讯焦点
  • WC2026游记
  • Windows 的高级进程监视器Microsoft - Process Monitor
  • 2026南通GEO优化/AI推广行业排行榜(中小企业专项)| 赋能南通本土企业AI获客突围(南通GEO服务商优选) - 资讯焦点
  • 2026国内最新高弹胶厂家top5推荐!服务深度覆盖江苏、山东、济南、云南等地,优质高弹胶企业权威榜单发布,合规品质双优助力专业施工 - 品牌推荐2026
  • NAD+哪个牌子最好?科技力视角下,NMN十大排名出炉:谁在引领细胞抗衰新浪潮? - 资讯焦点
  • 零成本掌握提示工程:轻松提升大模型效果,小白也能快速上手收藏!
  • AI Agents 全解析:打通从入门到生产的进阶之路
  • 2026中国餐饮全案设计公司TOP10揭晓:餐赢长排名第一,餐饮店装修避坑指南! - 资讯焦点
  • NMN哪个牌子最靠谱?2026年度nmn品牌推荐!评测nmn十大品牌排行榜盘点,榜一多维度抗衰 - 资讯焦点
  • 收藏 | 从0到1拆解大模型训练全流程:小白也能看懂GPT与Llama的底层逻辑
  • NMN哪个产品最好?2026年精力续航NMN能力实测(30+职场人避坑指南:深度测评与红黑榜揭秘) - 资讯焦点
  • 口服抗衰产品推荐,比较好的NMN产品排名榜首推荐!评测nmn十大品牌排行榜,榜首推荐 - 资讯焦点
  • 家庭中央空调品牌排行榜前十名:行业领先品牌对比分析 - 资讯焦点
  • 2月12日
  • NMN品牌推荐,最值得入手的NMN品牌,十大抗衰老产品榜首高活NMN,市场口碑为证! - 资讯焦点
  • 2026年NMN十大品牌推荐榜:NMN抗衰老产品哪个牌子最好?聚焦成分迭代与协同抗衰的巅峰较量 - 资讯焦点
  • 2026年淘金设备厂家推荐:潍坊金盟砂金矿业机械有限公司淘金机械/淘金车/移动淘金机械全系供应 - 品牌推荐官
  • NMN抗衰老产品推荐,2026全球NMN十大排行榜公布:高性价比、高吸收率口碑品牌推荐 - 资讯焦点
  • ue 播放音乐 设置音量
  • 寒假cc++学习
  • Anthropic融资300亿美元,Claude开发商估值达3800亿美元
  • 马斯克的月球AI超级计算机计划:SpaceX与xAI合并后的新愿景
  • 完整教程:Word核心功能完全指南
  • 2026年质量好的无锡精密注塑机/高速注塑机厂家实力参考 - 行业平台推荐
  • IBM将在AI时代大幅招聘初级岗位人才
  • 2026年进口粉末钢供应商推荐:昆山市邦程特殊钢有限公司,全系粉末钢CPM10V/CPM3V/PM30等供应 - 品牌推荐官
  • 小白程序员必备:手把手教你用PyTorch构建Transformer大模型(收藏版)
  • Nodejs+vue+ElementUI的医院食堂订餐系统的设计与实现