package DataaccessDAO import ( "dsSupport/MyModel/MySwagger" "dsSupport/Utils/CacheUtil" "dsSupport/Utils/CommonUtil" "dsSupport/Utils/DbUtil" "dsSupport/Utils/ErrorConst" "dsSupport/Utils/LogUtil" "dsSupport/models" "encoding/json" "fmt" ) // 数据库 var db = DbUtil.Engine func GetDataaccessResults(query MySwagger.DataaccessQuery) (bool, string, int32, []map[string]interface{}, error) { sql := "SELECT id FROM t_dataex_dataaccess WHERE 1 = 1" + query.Conditions //sql := "SELECT ls.id source_systemid, ls.system_name source_systemname, ls1.system_name consume_systemname, da.* FROM t_dataex_dataaccess da LEFT JOIN t_dataex_datasource ds ON da.datasource_id = ds.id LEFT JOIN t_dataex_linksystem ls ON ls.id = ds.system_id LEFT JOIN t_dataex_linksystem ls1 ON ls1.id = da.consume_systemid" + query.Conditions fmt.Println("sql=", sql) //通过SQL获取带缓存的数据 list, count, _ := CacheUtil.Page(sql, 100, query.Page) listJson, _ :=json.Marshal(list) sql = "SELECT id FROM t_dataex_datasource WHERE 1 = 1" joinList, _, _ := CacheUtil.Page(sql, 10000, 1) joinListJson, _ := json.Marshal(joinList) mergedList := CommonUtil.ListMerge(string(listJson), string(joinListJson), "datasource_id", "id", "source_systemid", "system_id") sql = "SELECT id FROM t_app_base WHERE 1 = 1" joinList, _, _ = CacheUtil.Page(sql, 10000, 1) joinListJson, _ = json.Marshal(joinList) mergedList = CommonUtil.ListMerge(mergedList, string(joinListJson), "system_id", "app_id", "source_systemname", "app_name") sql = "SELECT id FROM t_app_base WHERE 1 = 1" joinList, _, _ = CacheUtil.Page(sql, 10000, 1) joinListJson, _ = json.Marshal(joinList) mergedList = CommonUtil.ListMerge(mergedList, string(joinListJson), " consume_systemid", "app_id", "consume_systemname", "app_name") fmt.Println(mergedList) var datas []map[string]interface{} json.Unmarshal([]byte(mergedList), &datas) fmt.Println(datas) if count > 0 { return true, "数据获取成功", count, datas, nil } else { return false, "数据获取失败,数据不存在", count, nil, nil } } func CreateDataaccess(model *models.TDataexDataaccess) (bool, string, error) { _, err := db.Insert(model) if err != nil { fmt.Println("err=", err) LogUtil.Error(ErrorConst.SqlUpdateError, "接入系统authToken Update,数据库操作发生严重错误:"+err.Error()) return false, "数据库操作失败", err } return true, "创建成功!", nil } func UpdateDataaccess(id string, model *models.TDataexDataaccess) (bool, string, error) { _, err := db.Where(" id = ?", id).Update(model) if err != nil { LogUtil.Error(ErrorConst.SqlUpdateError, "接入系统authToken Update,数据库操作发生严重错误:"+err.Error()) return false, "数据库操作失败", err } return true, "修改成功!", nil } func RemoveDataaccess(id string, model *models.TDataexDataaccess) (bool, string, error) { _, err := db.Where(" id = ?", id).Update(model) if err != nil { LogUtil.Error(ErrorConst.SqlUpdateError, "接入系统authToken Update,数据库操作发生严重错误:"+err.Error()) return false, "数据库操作失败", err } return true, "删除成功!", nil }