mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 08:20:25 +08:00 
			
		
		
		
	refactor: 使用泛型重构参数绑定等
This commit is contained in:
		@@ -77,7 +77,7 @@ func (d *Db) ReqConfs() *req.Confs {
 | 
			
		||||
 | 
			
		||||
// @router /api/dbs [get]
 | 
			
		||||
func (d *Db) Dbs(rc *req.Ctx) {
 | 
			
		||||
	queryCond := req.BindQuery[*entity.DbQuery](rc, new(entity.DbQuery))
 | 
			
		||||
	queryCond := req.BindQuery[*entity.DbQuery](rc)
 | 
			
		||||
 | 
			
		||||
	// 不存在可访问标签id,即没有可操作数据
 | 
			
		||||
	tags := d.tagApp.GetAccountTags(rc.GetLoginAccount().Id, &tagentity.TagTreeQuery{
 | 
			
		||||
@@ -115,9 +115,7 @@ func (d *Db) Dbs(rc *req.Ctx) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *Db) Save(rc *req.Ctx) {
 | 
			
		||||
	form := &form.DbForm{}
 | 
			
		||||
	db := req.BindJsonAndCopyTo[*entity.Db](rc, form, new(entity.Db))
 | 
			
		||||
 | 
			
		||||
	form, db := req.BindJsonAndCopyTo[*form.DbForm, *entity.Db](rc)
 | 
			
		||||
	rc.ReqParam = form
 | 
			
		||||
 | 
			
		||||
	biz.ErrIsNil(d.dbApp.SaveDb(rc.MetaCtx, db))
 | 
			
		||||
@@ -137,7 +135,7 @@ func (d *Db) DeleteDb(rc *req.Ctx) {
 | 
			
		||||
/**  数据库操作相关、执行sql等   ***/
 | 
			
		||||
 | 
			
		||||
func (d *Db) ExecSql(rc *req.Ctx) {
 | 
			
		||||
	form := req.BindJsonAndValid(rc, new(form.DbSqlExecForm))
 | 
			
		||||
	form := req.BindJsonAndValid[*form.DbSqlExecForm](rc)
 | 
			
		||||
 | 
			
		||||
	ctx, cancel := context.WithTimeout(rc.MetaCtx, time.Duration(config.GetDbms().SqlExecTl)*time.Second)
 | 
			
		||||
	defer cancel()
 | 
			
		||||
@@ -351,8 +349,7 @@ func (d *Db) GetSchemas(rc *req.Ctx) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *Db) CopyTable(rc *req.Ctx) {
 | 
			
		||||
	form := &form.DbCopyTableForm{}
 | 
			
		||||
	copy := req.BindJsonAndCopyTo[*dbi.DbCopyTable](rc, form, new(dbi.DbCopyTable))
 | 
			
		||||
	form, copy := req.BindJsonAndCopyTo[*form.DbCopyTableForm, *dbi.DbCopyTable](rc)
 | 
			
		||||
 | 
			
		||||
	conn, err := d.dbApp.GetDbConn(rc.MetaCtx, form.Id, form.Db)
 | 
			
		||||
	biz.ErrIsNilAppendErr(err, "copy table error: %s")
 | 
			
		||||
 
 | 
			
		||||
@@ -50,22 +50,21 @@ func (d *DataSyncTask) ReqConfs() *req.Confs {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DataSyncTask) Tasks(rc *req.Ctx) {
 | 
			
		||||
	queryCond := req.BindQuery[*entity.DataSyncTaskQuery](rc, new(entity.DataSyncTaskQuery))
 | 
			
		||||
	queryCond := req.BindQuery[*entity.DataSyncTaskQuery](rc)
 | 
			
		||||
	res, err := d.dataSyncTaskApp.GetPageList(queryCond)
 | 
			
		||||
	biz.ErrIsNil(err)
 | 
			
		||||
	rc.ResData = model.PageResultConv[*entity.DataSyncTask, *vo.DataSyncTaskListVO](res)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DataSyncTask) Logs(rc *req.Ctx) {
 | 
			
		||||
	queryCond := req.BindQuery(rc, new(entity.DataSyncLogQuery))
 | 
			
		||||
	queryCond := req.BindQuery[*entity.DataSyncLogQuery](rc)
 | 
			
		||||
	res, err := d.dataSyncTaskApp.GetTaskLogList(queryCond)
 | 
			
		||||
	biz.ErrIsNil(err)
 | 
			
		||||
	rc.ResData = model.PageResultConv[*entity.DataSyncLog, *vo.DataSyncLogListVO](res)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DataSyncTask) SaveTask(rc *req.Ctx) {
 | 
			
		||||
	form := &form.DataSyncTaskForm{}
 | 
			
		||||
	task := req.BindJsonAndCopyTo[*entity.DataSyncTask](rc, form, new(entity.DataSyncTask))
 | 
			
		||||
	form, task := req.BindJsonAndCopyTo[*form.DataSyncTaskForm, *entity.DataSyncTask](rc)
 | 
			
		||||
 | 
			
		||||
	// 解码base64 sql
 | 
			
		||||
	sqlStr, err := utils.AesDecryptByLa(task.DataSql, rc.GetLoginAccount())
 | 
			
		||||
@@ -89,8 +88,7 @@ func (d *DataSyncTask) DeleteTask(rc *req.Ctx) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DataSyncTask) ChangeStatus(rc *req.Ctx) {
 | 
			
		||||
	form := &form.DataSyncTaskStatusForm{}
 | 
			
		||||
	task := req.BindJsonAndCopyTo[*entity.DataSyncTask](rc, form, new(entity.DataSyncTask))
 | 
			
		||||
	form, task := req.BindJsonAndCopyTo[*form.DataSyncTaskStatusForm, *entity.DataSyncTask](rc)
 | 
			
		||||
	_ = d.dataSyncTaskApp.UpdateById(rc.MetaCtx, task)
 | 
			
		||||
 | 
			
		||||
	if task.Status == entity.DataSyncTaskStatusEnable {
 | 
			
		||||
 
 | 
			
		||||
@@ -55,7 +55,7 @@ func (d *Instance) ReqConfs() *req.Confs {
 | 
			
		||||
// Instances 获取数据库实例信息
 | 
			
		||||
// @router /api/instances [get]
 | 
			
		||||
func (d *Instance) Instances(rc *req.Ctx) {
 | 
			
		||||
	queryCond := req.BindQuery(rc, new(entity.InstanceQuery))
 | 
			
		||||
	queryCond := req.BindQuery[*entity.InstanceQuery](rc)
 | 
			
		||||
 | 
			
		||||
	tags := d.tagApp.GetAccountTags(rc.GetLoginAccount().Id, &tagentity.TagTreeQuery{
 | 
			
		||||
		TypePaths:     collx.AsArray(tagentity.NewTypePaths(tagentity.TagTypeDbInstance, tagentity.TagTypeAuthCert)),
 | 
			
		||||
@@ -90,17 +90,14 @@ func (d *Instance) Instances(rc *req.Ctx) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *Instance) TestConn(rc *req.Ctx) {
 | 
			
		||||
	form := &form.InstanceForm{}
 | 
			
		||||
	instance := req.BindJsonAndCopyTo[*entity.DbInstance](rc, form, new(entity.DbInstance))
 | 
			
		||||
 | 
			
		||||
	form, instance := req.BindJsonAndCopyTo[*form.InstanceForm, *entity.DbInstance](rc)
 | 
			
		||||
	biz.ErrIsNil(d.instanceApp.TestConn(rc.MetaCtx, instance, form.AuthCerts[0]))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SaveInstance 保存数据库实例信息
 | 
			
		||||
// @router /api/instances [post]
 | 
			
		||||
func (d *Instance) SaveInstance(rc *req.Ctx) {
 | 
			
		||||
	form := &form.InstanceForm{}
 | 
			
		||||
	instance := req.BindJsonAndCopyTo[*entity.DbInstance](rc, form, new(entity.DbInstance))
 | 
			
		||||
	form, instance := req.BindJsonAndCopyTo[*form.InstanceForm, *entity.DbInstance](rc)
 | 
			
		||||
 | 
			
		||||
	rc.ReqParam = form
 | 
			
		||||
	id, err := d.instanceApp.SaveDbInstance(rc.MetaCtx, &dto.SaveDbInstance{
 | 
			
		||||
@@ -135,8 +132,7 @@ func (d *Instance) DeleteInstance(rc *req.Ctx) {
 | 
			
		||||
 | 
			
		||||
// 获取数据库实例的所有数据库名
 | 
			
		||||
func (d *Instance) GetDatabaseNames(rc *req.Ctx) {
 | 
			
		||||
	form := &form.InstanceDbNamesForm{}
 | 
			
		||||
	instance := req.BindJsonAndCopyTo[*entity.DbInstance](rc, form, new(entity.DbInstance))
 | 
			
		||||
	form, instance := req.BindJsonAndCopyTo[*form.InstanceDbNamesForm, *entity.DbInstance](rc)
 | 
			
		||||
	res, err := d.instanceApp.GetDatabases(rc.MetaCtx, instance, form.AuthCert)
 | 
			
		||||
	biz.ErrIsNil(err)
 | 
			
		||||
	rc.ResData = res
 | 
			
		||||
 
 | 
			
		||||
@@ -30,8 +30,7 @@ func (d *DbSql) ReqConfs() *req.Confs {
 | 
			
		||||
 | 
			
		||||
// @router /api/db/:dbId/sql [post]
 | 
			
		||||
func (d *DbSql) SaveSql(rc *req.Ctx) {
 | 
			
		||||
	dbSqlForm := &form.DbSqlSaveForm{}
 | 
			
		||||
	req.BindJsonAndValid(rc, dbSqlForm)
 | 
			
		||||
	dbSqlForm := req.BindJsonAndValid[*form.DbSqlSaveForm](rc)
 | 
			
		||||
	rc.ReqParam = dbSqlForm
 | 
			
		||||
 | 
			
		||||
	dbId := getDbId(rc)
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@ func (d *DbSqlExec) ReqConfs() *req.Confs {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DbSqlExec) DbSqlExecs(rc *req.Ctx) {
 | 
			
		||||
	queryCond := req.BindQuery(rc, new(entity.DbSqlExecQuery))
 | 
			
		||||
	queryCond := req.BindQuery[*entity.DbSqlExecQuery](rc)
 | 
			
		||||
	if statusStr := rc.Query("status"); statusStr != "" {
 | 
			
		||||
		queryCond.Status = collx.ArrayMap[string, int8](strings.Split(statusStr, ","), func(val string) int8 {
 | 
			
		||||
			return cast.ToInt8(val)
 | 
			
		||||
 
 | 
			
		||||
@@ -61,7 +61,7 @@ func (d *DbTransferTask) ReqConfs() *req.Confs {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DbTransferTask) Tasks(rc *req.Ctx) {
 | 
			
		||||
	queryCond := req.BindQuery(rc, new(entity.DbTransferTaskQuery))
 | 
			
		||||
	queryCond := req.BindQuery[*entity.DbTransferTaskQuery](rc)
 | 
			
		||||
 | 
			
		||||
	res, err := d.dbTransferTask.GetPageList(queryCond)
 | 
			
		||||
	biz.ErrIsNil(err)
 | 
			
		||||
@@ -78,8 +78,7 @@ func (d *DbTransferTask) Tasks(rc *req.Ctx) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DbTransferTask) SaveTask(rc *req.Ctx) {
 | 
			
		||||
	reqForm := &form.DbTransferTaskForm{}
 | 
			
		||||
	task := req.BindJsonAndCopyTo[*entity.DbTransferTask](rc, reqForm, new(entity.DbTransferTask))
 | 
			
		||||
	reqForm, task := req.BindJsonAndCopyTo[*form.DbTransferTaskForm, *entity.DbTransferTask](rc)
 | 
			
		||||
 | 
			
		||||
	rc.ReqParam = reqForm
 | 
			
		||||
	biz.ErrIsNil(d.dbTransferTask.Save(rc.MetaCtx, task))
 | 
			
		||||
@@ -98,8 +97,7 @@ func (d *DbTransferTask) DeleteTask(rc *req.Ctx) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DbTransferTask) ChangeStatus(rc *req.Ctx) {
 | 
			
		||||
	form := &form.DbTransferTaskStatusForm{}
 | 
			
		||||
	task := req.BindJsonAndCopyTo[*entity.DbTransferTask](rc, form, new(entity.DbTransferTask))
 | 
			
		||||
	form, task := req.BindJsonAndCopyTo[*form.DbTransferTaskStatusForm, *entity.DbTransferTask](rc)
 | 
			
		||||
	_ = d.dbTransferTask.UpdateById(rc.MetaCtx, task)
 | 
			
		||||
 | 
			
		||||
	task, err := d.dbTransferTask.GetById(task.Id)
 | 
			
		||||
@@ -122,7 +120,7 @@ func (d *DbTransferTask) Stop(rc *req.Ctx) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DbTransferTask) Files(rc *req.Ctx) {
 | 
			
		||||
	queryCond := req.BindQuery(rc, new(entity.DbTransferFileQuery))
 | 
			
		||||
	queryCond := req.BindQuery[*entity.DbTransferFileQuery](rc)
 | 
			
		||||
 | 
			
		||||
	res, err := d.dbTransferFile.GetPageList(queryCond)
 | 
			
		||||
	biz.ErrIsNil(err)
 | 
			
		||||
@@ -142,7 +140,7 @@ func (d *DbTransferTask) FileDel(rc *req.Ctx) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *DbTransferTask) FileRun(rc *req.Ctx) {
 | 
			
		||||
	fm := req.BindJsonAndValid(rc, &form.DbTransferFileRunForm{})
 | 
			
		||||
	fm := req.BindJsonAndValid[*form.DbTransferFileRunForm](rc)
 | 
			
		||||
 | 
			
		||||
	rc.ReqParam = fm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -277,7 +277,7 @@ func (d *dbSqlExecAppImpl) FlowBizHandle(ctx context.Context, bizHandleParam *fl
 | 
			
		||||
		return nil, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	execSqlBizForm, err := jsonx.To(procinst.BizForm, new(FlowDbExecSqlBizForm))
 | 
			
		||||
	execSqlBizForm, err := jsonx.To[*FlowDbExecSqlBizForm](procinst.BizForm)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, errorx.NewBiz("failed to parse the business form information: %s", err.Error())
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user