|
|
package DataaccessDAO
|
|
|
|
|
|
import (
|
|
|
"dsSupport/MyModel/MySwagger"
|
|
|
"dsSupport/Utils/CommonUtil"
|
|
|
"dsSupport/Utils/DbUtil"
|
|
|
"dsSupport/Utils/ErrorConst"
|
|
|
"dsSupport/Utils/LogUtil"
|
|
|
"dsSupport/models"
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
)
|
|
|
|
|
|
// 数据库
|
|
|
var db = DbUtil.Engine
|
|
|
|
|
|
func GetDataaccessRow(id string) (bool, string, map[string]interface{}, error) {
|
|
|
sql := "SELECT * FROM t_dataex_dataaccess WHERE id = '" + id + "'"
|
|
|
|
|
|
var dataaccess models.TDataexDataaccess
|
|
|
has, _ := DbUtil.Engine.SQL(sql).Get(&dataaccess)
|
|
|
if has == true {
|
|
|
m := make(map[string]interface{})
|
|
|
j, _ := json.Marshal(dataaccess)
|
|
|
json.Unmarshal(j, &m)
|
|
|
|
|
|
return true, "数据获取成功", m, nil
|
|
|
} else {
|
|
|
return false, "数据获取失败,数据源不存在", nil, nil
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func GetDataaccessResults(query MySwagger.DataaccessQuery) (bool, string, int, []map[string]interface{}, error) {
|
|
|
//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
|
|
|
|
|
|
sql := "SELECT * FROM t_dataex_dataaccess WHERE 1 = 1" + query.Conditions + " ORDER BY create_time DESC, change_time DESC"
|
|
|
//接收传入参数
|
|
|
var limit = 100
|
|
|
var offset = (query.Page - 1) * limit
|
|
|
|
|
|
//条件查询语句
|
|
|
conditionSql := fmt.Sprintf("%s", " limit ? offset ? ")
|
|
|
//分页的语句
|
|
|
pageSql := fmt.Sprintf("%s %s", sql, conditionSql)
|
|
|
//数据条数
|
|
|
count, _ := DbUtil.Engine.SQL(sql).Query().Count()
|
|
|
//分页数据
|
|
|
list, _ := DbUtil.Engine.SQL(pageSql, limit, offset).Query().List()
|
|
|
if list != nil {
|
|
|
listJson, _ :=json.Marshal(list)
|
|
|
|
|
|
sql1 := "SELECT * FROM t_dataex_datasource WHERE 1 = 1"
|
|
|
//var offset1 = (query.Page - 1) * 10
|
|
|
//conditionSql1 := fmt.Sprintf("%s", " limit ? offset ? ")
|
|
|
//pageSql1 := fmt.Sprintf("%s %s", sql1, conditionSql1)
|
|
|
joinList1, _ := DbUtil.Engine.SQL(sql1).Query().List()
|
|
|
joinListJson1, _ := json.Marshal(joinList1)
|
|
|
mergedList1 := CommonUtil.ListMerge(string(listJson), string(joinListJson1), "datasource_id", "id", "source_systemid", "system_id")
|
|
|
|
|
|
sql2 := "SELECT * FROM t_dataex_datasource WHERE 1 = 1"
|
|
|
//var offset2 = (query.Page - 1) * 10
|
|
|
//conditionSql2 := fmt.Sprintf("%s", " limit ? offset ? ")
|
|
|
//pageSql2 := fmt.Sprintf("%s %s", sql2, conditionSql2)
|
|
|
joinList2, _ := DbUtil.Engine.SQL(sql2).Query().List()
|
|
|
joinListJson2, _ := json.Marshal(joinList2)
|
|
|
mergedList2 := CommonUtil.ListMerge(mergedList1, string(joinListJson2), "datasource_id", "id", "datasource_name", "datasource_name")
|
|
|
|
|
|
sql3 := "SELECT * FROM t_app_base WHERE 1 = 1"
|
|
|
//var offset3 = (query.Page - 1) * 10
|
|
|
//conditionSql3 := fmt.Sprintf("%s", " limit ? offset ? ")
|
|
|
//pageSql3 := fmt.Sprintf("%s %s", sql3, conditionSql3)
|
|
|
joinList3, _ := DbUtil.Engine.SQL(sql3).Query().List()
|
|
|
joinListJson3, _ := json.Marshal(joinList3)
|
|
|
mergedList3 := CommonUtil.ListMerge(mergedList2, string(joinListJson3), "source_systemid", "app_code", "source_systemname", "app_name")
|
|
|
|
|
|
sql4 := "SELECT * FROM t_app_base WHERE 1 = 1"
|
|
|
//var offset4 = (query.Page - 1) * 10
|
|
|
//conditionSql4 := fmt.Sprintf("%s", " limit ? offset ? ")
|
|
|
//pageSql4 := fmt.Sprintf("%s %s", sql4, conditionSql4)
|
|
|
joinList4, _ := DbUtil.Engine.SQL(sql4).Query().List()
|
|
|
joinListJson4, _ := json.Marshal(joinList4)
|
|
|
mergedList4 := CommonUtil.ListMerge(mergedList3, string(joinListJson4), "consume_systemid", "app_code", "consume_systemname", "app_name")
|
|
|
|
|
|
|
|
|
//通过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)
|
|
|
|
|
|
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
|
|
|
}
|
|
|
|
|
|
func GetDataaccessCountByDatasourceCodeAndConsumeSystemId(datasourceCode string, consumeSystemId string) int64 {
|
|
|
business := new(models.TDataexDataaccess)
|
|
|
total, err := db.Where("datasource_code =? and consume_systemid =?", datasourceCode, consumeSystemId).Count(business)
|
|
|
if err != nil {
|
|
|
LogUtil.Error(ErrorConst.SqlQueryError, "数据库操作发生严重错误:"+err.Error())
|
|
|
}
|
|
|
return total
|
|
|
}
|
|
|
|
|
|
func IsDataaccessExistsByDatasourceCodeAndConsumeSystemId(datasourceCode string, consumeSystemId string) bool {
|
|
|
if GetDataaccessCountByDatasourceCodeAndConsumeSystemId(datasourceCode, consumeSystemId) > 0 {
|
|
|
return true
|
|
|
}
|
|
|
return false
|
|
|
}
|