提到 SQL 作为程序员肯定都不陌生,在平常工作中,CRUD 都离不开写 SQL。在一些公司,在生产环境执行 DDL、DML 都需要走工单流程。
今天给大家推荐一款开箱即用的 MYSQL SQL 审核工具 -- yearning 。
功能特性
-
高性能,使用 go+vue 流畅的界面和强大的性能
-
支持自定义 SQL 审核流程
-
SQL 语法检测,根据 MySQL 语法树自动审查语法规范,并根据配置的规则检查 SQL 语句合规性
-
SQL 查询自动补全,智能提示
-
自动生成 DDL/DML 回滚语句
-
查询结果脱敏
-
钉钉 webhook 机器人工单推送
-
基于用户细粒度权限,权限分为 DDL 权限、DML 权限、Query 权限
-
支持的数据库:MYSQL、TiDB、Aliyun-RDS、AWS-RDS
安装使用
下载安装包
下载地址 https://github.com/cookieY/Yearning/releases
修改配置文件
cat conf.toml
[Mysql]
Db = "Yearning"
Host = "127.0.0.1"
Port = "3306"
Password = "xxxx"
User = "xxx"
[General] #数据库加解密key,只可更改一次。
SecretKey = "dbcjqheupqjsuwsm"
初始化及安装
./Yearning install
启动服务
./Yearning run
浏览器访问
打开浏览器 http://127.0.0.1:8000
默认账号/密码:admin/Yearning_admin
配置工单流程
在一般场景中实现以下的审批流程:
开发人员 -> DBA审核并执
当业务不断扩大部门层级增多后希望拥有多层级的审批流程:
开发人员 -> 开发主管审批 -> 项目负责人审批-> DBA审核并执 (多层级)
对于以上的需求及场景均可通过自定义流程功能实现。
配置数据源应用到流程:
工单提交
跟据实际提单需求选择 DML/DDL/Query 中的某一类进行工单提交。
选择对应数据源卡片进入工单提交页面,在编辑 SQL 时,支持 SQL 语法高亮、自动补全, SQL检测 可以进行SQL语句检测或通过 SQL美化 按钮进行SQL语句美化。
工单审核
进入 【审核】->【工单】 页面选择需要审批的工单点击详情按钮进入该工单审核详情页。
同意按钮只有在检测语句 错误等级 均为0时才会激活,当流程最后节点人员通过后将会自动执行该工单。
审核流程:
Yearning 采用二级/多级的审核模式,执行人角色必须在开启多级审核之后才可指定,如果需要将多级审核改为二级审核,请先确保所有多级审核的工单都已确认执行。否则未执行工单将无法找回。
二级审核流程:
-
申请人向对应的工单提交单元(DDL、DML)提交工单
-
管理员收到消息后在审核工单页面审核该工单请求并执行/驳回
多级审核流程:
-
申请人向对应的工单提交单元(DDL、DML)提交工单
-
执行人收到工单后, 执行/驳回该工单,根据配置流程,继续下一个节点的审批,一直到最后一个节点
-
执行记录将会记录在该执行人用户下
项目地址
https://gitee.com/cookieYe/Yearning
更多其他的使用功能、细节,感兴趣的小伙伴可以自行去项目中寻找答案~
写在最后(私活源码)
项目介绍
Jeepay是一套适合互联网企业使用的开源支付系统,支持多渠道服务商和普通商户模式。已对接微信支付,支付宝,云闪付官方接口,支持聚合码支付。
Jeepay使用Spring Boot和Ant Design Vue开发,集成Spring Security实现权限管理功能,是一套非常实用的web开发框架。
项目特点
· 支持多渠道对接,支付网关自动路由
· 已对接微信服务商和普通商户接口,支持V2和V3接口
· 已对接支付宝服务商和普通商户接口,支持RSA和RSA2签名
· 已对接云闪付服务商接口,可选择多家支付机构
· 提供http形式接口,提供各语言的sdk实现,方便对接
· 接口请求和响应数据采用签名机制,保证交易安全可靠
· 系统安全,支持分布式部署,高并发
· 管理端包括运营平台和商户系统
· 管理平台操作界面简洁、易用
· 支付平台到商户系统的订单通知使用MQ实现,保证了高可用,消息可达
· 支付渠道的接口参数配置界面自动化生成
· 使用spring security实现权限管理
· 前后端分离架构,方便二次开发
· 由原XxPay团队开发,有着多年支付系统开发经验
系统架构
Jeepay计全支付系统架构图
核心技术栈
软件名称 | 描述 | 版本 |
Jdk | Java环境 | 1.8 |
Spring Boot | 开发框架 | 2.4.5 |
Redis | 分布式缓存 | 3.2.8 或 高版本 |
MySQL | 数据库 | 5.7.X 或 8.0 高版本 |
MQ | 消息中间件 | ActiveMQ 或 RabbitMQ 或 RocketMQ |
Ant Design Vue | Ant Design的Vue实现,前端开发使用 | 2.1.2 |
MyBatis-Plus | MyBatis增强工具 | 3.4.2 |
WxJava | 微信开发Java SDK | 4.1.0 |
Hutool | Java工具类库 | 5.6.6 |
开发部署
· 系统开发:https://docs.jeequan.com/docs/jeepay/dev_serv
· 通道对接:https://docs.jeequan.com/docs/jeepay/dev_channel
· 线上部署:https://docs.jeequan.com/docs/jeepay/deploy
· 接口文档:https://docs.jeequan.com/docs/jeepay/payment_api
功能模块
Jeepay运营平台功能
Jeepay商户系统功能
系统截图
以下截图是从实际已完成功能界面截取
开源地址
扫码关注本号,后台回复 支付
扫码关注本号,后台回复 支付
持续关注本号,分享更多项目源码