|
|
package DatasourceDAO
|
|
|
|
|
|
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 GetDatasourceRow(query string) (bool, string, map[string]interface{}, error) {
|
|
|
sql := "SELECT * FROM t_dataex_datasource WHERE 1 = 1 " + query
|
|
|
|
|
|
var datasource models.TDataexDatasource
|
|
|
has, _ := DbUtil.Engine.SQL(sql).Get(&datasource)
|
|
|
if has == true {
|
|
|
m := make(map[string]interface{})
|
|
|
j, _ := json.Marshal(datasource)
|
|
|
json.Unmarshal(j, &m)
|
|
|
|
|
|
return true, "数据获取成功", m, nil
|
|
|
} else {
|
|
|
return false, "数据获取失败,数据源不存在", nil, nil
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func GetDatasourceResults(query MySwagger.DatasourceQuery) (bool, string, int, []map[string]interface{}, error) {
|
|
|
sql := "SELECT * FROM t_dataex_datasource 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, err := DbUtil.Engine.SQL(pageSql, limit, offset).Query().List()
|
|
|
if list != nil {
|
|
|
listJson, _ :=json.Marshal(list)
|
|
|
|
|
|
sql1 := "SELECT * FROM t_dataex_orgtree WHERE id IN (SELECT provide_orgid FROM t_dataex_datasource WHERE 1 = 1" + query.Conditions + ")"
|
|
|
//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)
|
|
|
mergedList := CommonUtil.ListMerge(string(listJson), string(joinListJson1), "provide_orgid", "id", "provide_orgname", "org_name")
|
|
|
var datas []map[string]interface{}
|
|
|
|
|
|
json.Unmarshal([]byte(mergedList), &datas)
|
|
|
return true, "数据获取成功", count, datas, err
|
|
|
} else {
|
|
|
return false, "数据获取失败,数据源不存在", count, nil, nil
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func GetAllDatasourceResults(query string) (bool, string, int, []map[string]interface{}, error) {
|
|
|
sql := "SELECT * FROM t_dataex_datasource WHERE 1 = 1 " + query + " ORDER BY create_time DESC, change_time DESC"
|
|
|
|
|
|
// 数量
|
|
|
count, _ := DbUtil.Engine.SQL(sql).Query().Count()
|
|
|
// 数据条数
|
|
|
list, err := DbUtil.Engine.SQL(sql).Query().List()
|
|
|
if list != nil {
|
|
|
return true, "数据获取成功", count, list, err
|
|
|
} else {
|
|
|
return false, "数据获取失败,数据源不存在", count, nil, nil
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func CreateDatasource(model *models.TDataexDatasource) (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 UpdateDatasource(id string, model *models.TDataexDatasource) (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 RemoveDatasource(id string, model *models.TDataexDatasource) (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 GetDatasourceCountByCode(code string) int64 {
|
|
|
business := new(models.TDataexDatasource)
|
|
|
total, err := db.Where("datasource_code =?", code).Count(business)
|
|
|
if err != nil {
|
|
|
LogUtil.Error(ErrorConst.SqlQueryError, "数据库操作发生严重错误:"+err.Error())
|
|
|
}
|
|
|
return total
|
|
|
}
|
|
|
|
|
|
func IsDatasourceExistsByCode(code string) bool {
|
|
|
if GetDatasourceCountByCode(code) > 0 {
|
|
|
return true
|
|
|
}
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
func GetDatasourceIdByCode(code string) (bool, string, interface{}, error) {
|
|
|
sql := "SELECT id FROM t_dataex_datasource WHERE datasource_code=?"
|
|
|
|
|
|
var id int
|
|
|
has, _ := DbUtil.Engine.SQL(sql, code).Get(&id)
|
|
|
if has == true {
|
|
|
return true, "数据获取成功", id, nil
|
|
|
} else {
|
|
|
return false, "数据获取失败,数据源不存在", nil, nil
|
|
|
}
|
|
|
}
|