You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
4.5 KiB
147 lines
4.5 KiB
package DataaccessService
|
|
|
|
import (
|
|
"dsDataex/GenXorm/models"
|
|
"dsDataex/MyModel/DataAccess/DataaccessDAO"
|
|
"dsDataex/MyModel/DataSource/DatasourceService"
|
|
"dsDataex/MyModel/LinkSystem/LinksystemService"
|
|
"dsDataex/MyModel/MySwagger"
|
|
"dsDataex/MyModel/OrgTree/OrgtreeService"
|
|
"dsDataex/Utils/CacheUtil"
|
|
"dsDataex/Utils/CommonUtil"
|
|
"html"
|
|
"strconv"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
func GetDataaccessResults (swag MySwagger.DataaccessSwag) (bool,string, []map[string]interface{}, error) {
|
|
var condition string
|
|
var conditions []string
|
|
var page int
|
|
var query MySwagger.DataaccessQuery
|
|
|
|
if swag.DatasourceId != "" {
|
|
conditions = append(conditions, "datasource_id=" + "'" + html.EscapeString(swag.DatasourceId) + "'")
|
|
}
|
|
if swag.ConsumeSystemid != "" {
|
|
conditions = append(conditions, "consume_systemid=" + "'" + html.EscapeString(swag.ConsumeSystemid) + "'")
|
|
}
|
|
if swag.QueryFlag != 0 {
|
|
conditions = append(conditions, "query_flag=" + "'" + strconv.Itoa(swag.QueryFlag) + "'")
|
|
}
|
|
if swag.SetFlag != 0 {
|
|
conditions = append(conditions, "item_length=" + "'" + strconv.Itoa(swag.SetFlag) + "'")
|
|
}
|
|
if swag.ConsumeType != 0 {
|
|
conditions = append(conditions, "item_pattern=" + "'" + strconv.Itoa(swag.ConsumeType) + "'")
|
|
}
|
|
if swag.ConsumeOrgid != "" {
|
|
conditions = append(conditions, "item_info=" + "'" + html.EscapeString(swag.ConsumeOrgid) + "'")
|
|
}
|
|
if swag.DeleteFlag != 0 {
|
|
conditions = append(conditions, "delete_flag=" + "'" + strconv.Itoa(swag.DeleteFlag) + "'")
|
|
}
|
|
if swag.EnableFlag != 0 {
|
|
conditions = append(conditions, "check_dic=" + "'" + strconv.Itoa(swag.EnableFlag) + "'")
|
|
}
|
|
if swag.Page != 0 {
|
|
page = swag.Page
|
|
query.Page = (page -1) * 100
|
|
} else {
|
|
query.Page = 0
|
|
}
|
|
|
|
if len(conditions) > 0 {
|
|
condition = " AND " + strings.Join(conditions, " AND ")
|
|
} else {
|
|
condition = ""
|
|
}
|
|
query.Conditions = condition
|
|
|
|
|
|
result,message,data,failResult:= DataaccessDAO.GetDataaccessResults(query)
|
|
|
|
return result,message,data,failResult
|
|
}
|
|
|
|
|
|
func CreateDataaccess (model models.TDataexDataaccess) (bool, string, error) {
|
|
if ! DatasourceService.IsDatasourceExistsById(model.DatasourceId) {
|
|
return false, "DatasourceId不存在", nil
|
|
}
|
|
if ! LinksystemService.IsLinksystemExistsById(model.ConsumeSystemid) {
|
|
return false, "SystemId不存在", nil
|
|
}
|
|
if ! OrgtreeService.IsOrgtreeExistsById(model.ConsumeOrgid) {
|
|
return false, "OrgId不存在", nil
|
|
}
|
|
|
|
business := new(models.TDataexDataaccess)
|
|
business.Id = CommonUtil.GetUUID()
|
|
business.DatasourceId = html.EscapeString(model.DatasourceId)
|
|
business.ConsumeSystemid = html.EscapeString(model.ConsumeSystemid)
|
|
business.QueryFlag = model.QueryFlag
|
|
business.SetFlag = model.SetFlag
|
|
business.ConsumeType = model.ConsumeType
|
|
business.ConsumeOrgid = html.EscapeString(model.ConsumeOrgid)
|
|
business.CreateTime = time.Now()
|
|
business.DeleteFlag = -1
|
|
business.EnableFlag = 1
|
|
|
|
result, message, error:= DataaccessDAO.CreateDataaccess(business)
|
|
|
|
return result, message, error
|
|
}
|
|
|
|
func UpdateDataaccess (id string, model models.TDataexDataaccess) (bool, string, error) {
|
|
if ! DatasourceService.IsDatasourceExistsById(model.DatasourceId) {
|
|
return false, "DatasourceId不存在", nil
|
|
}
|
|
if ! LinksystemService.IsLinksystemExistsById(model.ConsumeSystemid) {
|
|
return false, "SystemId不存在", nil
|
|
}
|
|
if ! OrgtreeService.IsOrgtreeExistsById(model.ConsumeOrgid) {
|
|
return false, "OrgId不存在", nil
|
|
}
|
|
|
|
business := new(models.TDataexDataaccess)
|
|
|
|
//清除Redis缓存
|
|
var ids = []string{id}
|
|
var selector = CacheUtil.GetBean("t_dataex_dataaccess")
|
|
CacheUtil.DeleteCacheByIds(ids, selector)
|
|
|
|
business.ChangeTime = time.Now()
|
|
business.DatasourceId = html.EscapeString(model.DatasourceId)
|
|
business.ConsumeSystemid = html.EscapeString(model.ConsumeSystemid)
|
|
business.QueryFlag = model.QueryFlag
|
|
business.SetFlag = model.SetFlag
|
|
business.ConsumeType = model.ConsumeType
|
|
business.ConsumeOrgid = html.EscapeString(model.ConsumeOrgid)
|
|
business.CreateTime = time.Now()
|
|
business.DeleteFlag = -1
|
|
business.EnableFlag = 1
|
|
result, message, error:= DataaccessDAO.UpdateDataaccess(id, business)
|
|
|
|
return result, message, error
|
|
}
|
|
|
|
func RemoveDataaccess (id string) (bool, string, error) {
|
|
business := new(models.TDataexDataaccess)
|
|
|
|
//清除Redis缓存
|
|
var ids = []string{id}
|
|
var selector = CacheUtil.GetBean("t_dataex_dataaccess")
|
|
CacheUtil.DeleteCacheByIds(ids, selector)
|
|
|
|
business.Id = html.EscapeString(id)
|
|
business.ChangeTime = time.Now()
|
|
business.DeleteTime = time.Now()
|
|
business.DeleteFlag = 1
|
|
business.EnableFlag = -1
|
|
|
|
result, message, error:= DataaccessDAO.RemoveDataaccess(id, business)
|
|
|
|
return result, message, error
|
|
} |