fix: 数据同步更新时间展示等问题

This commit is contained in:
meilin.huang
2024-01-23 09:27:05 +08:00
parent 9efd20f1b9
commit 76cb991282
6 changed files with 16 additions and 10 deletions

View File

@@ -1,7 +1,6 @@
package api
import (
"context"
"encoding/base64"
"mayfly-go/internal/db/api/form"
"mayfly-go/internal/db/api/vo"
@@ -73,7 +72,7 @@ func (d *DataSyncTask) DeleteTask(rc *req.Ctx) {
func (d *DataSyncTask) ChangeStatus(rc *req.Ctx) {
form := &form.DataSyncTaskStatusForm{}
task := ginx.BindJsonAndCopyTo[*entity.DataSyncTask](rc.GinCtx, form, new(entity.DataSyncTask))
_ = d.DataSyncTaskApp.UpdateById(context.Background(), task)
_ = d.DataSyncTaskApp.UpdateById(rc.MetaCtx, task)
if task.Status == entity.DataSyncTaskStatusEnable {
task, err := d.DataSyncTaskApp.GetById(new(entity.DataSyncTask), task.Id)
@@ -99,7 +98,7 @@ func (d *DataSyncTask) Stop(rc *req.Ctx) {
task := new(entity.DataSyncTask)
task.Id = taskId
task.RunningState = entity.DataSyncTaskRunStateStop
_ = d.DataSyncTaskApp.UpdateById(context.Background(), task)
_ = d.DataSyncTaskApp.UpdateById(rc.MetaCtx, task)
}
func (d *DataSyncTask) GetTask(rc *req.Ctx) {

View File

@@ -98,9 +98,13 @@ func (d *dbAppImpl) SaveDb(ctx context.Context, dbEntity *entity.Db, tagIds ...u
// 比较新旧数据库列表,需要将移除的数据库相关联的信息删除
_, delDb, _ := collx.ArrayCompare(newDbs, oldDbs)
for _, v := range delDb {
// 先简单关闭可能存在的旧库连接可能改了关联标签导致DbConn.Info.TagPath与修改后的标签不一致、导致操作权限校验出错
for _, v := range oldDbs {
// 关闭数据库连接
dbm.CloseDb(dbEntity.Id, v)
}
for _, v := range delDb {
// 删除该库关联的所有sql记录
d.DbSqlRepo.DeleteByCond(ctx, &entity.DbSql{DbId: dbId, Db: v})
}

View File

@@ -122,6 +122,11 @@ func (d *DbConn) GetDialect() Dialect {
return d.Info.Meta.GetDialect(d)
}
// 返回数据库连接状态
func (d *DbConn) Stats(ctx context.Context, execSql string, args ...any) sql.DBStats {
return d.db.Stats()
}
// 关闭连接
func (d *DbConn) Close() {
if d.db != nil {

View File

@@ -197,9 +197,7 @@ func (br *RepoImpl[T]) GetModel() T {
// 从上下文获取登录账号信息,并赋值至实体
func (br *RepoImpl[T]) fillBaseInfo(ctx context.Context, e T) T {
if la := contextx.GetLoginAccount(ctx); la != nil {
// 默认使用数据库id策略, 若要改变则实体结构体自行覆盖FillBaseInfo方法。可参考 sys/entity.Resource
e.FillBaseInfo(model.IdGenTypeNone, la)
}
// 默认使用数据库id策略, 若要改变则实体结构体自行覆盖FillBaseInfo方法。可参考 sys/entity.Resource
e.FillBaseInfo(model.IdGenTypeNone, contextx.GetLoginAccount(ctx))
return e
}