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) sql1 := "SELECT id FROM t_dataex_datasource WHERE 1 = 1" joinList1, _, _ := CacheUtil.Page(sql1, 10000, 0) joinListJson1, _ := json.Marshal(joinList1) mergedList1 := CommonUtil.ListMerge(string(listJson), string(joinListJson1), "datasource_id", "id", "source_systemid", "system_id") sql2 := "SELECT id FROM t_dataex_datasource WHERE 1 = 1" joinList2, _, _ := CacheUtil.Page(sql2, 10000, 0) joinListJson2, _ := json.Marshal(joinList2) mergedList2 := CommonUtil.ListMerge(mergedList1, string(joinListJson2), "datasource_id", "id", "datasource_name", "datasource_name") sql3 := "SELECT app_id FROM t_app_base WHERE 1 = 1" joinList3, _, _ := CacheUtil.Page(sql3, 10000, 0) joinListJson3, _ := json.Marshal(joinList3) mergedList3 := CommonUtil.ListMerge(mergedList2, string(joinListJson3), "source_systemid", "app_id", "source_systemname", "app_name") sql4 := "SELECT app_id FROM t_app_base WHERE 1 = 1" joinList4, _, _ := CacheUtil.Page(sql4, 10000, 0) joinListJson4, _ := json.Marshal(joinList4) mergedList4 := CommonUtil.ListMerge(mergedList3, string(joinListJson4), "consume_systemid", "app_id", "consume_systemname", "app_name") fmt.Println(mergedList4) var datas []map[string]interface{} json.Unmarshal([]byte(mergedList4), &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 }