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.

159 lines
5.0 KiB

package MetadataService
import (
"dsDataex/GenXorm/models"
"dsDataex/MyModel/DataSource/DatasourceService"
"dsDataex/MyModel/JYT2012/Jyt2012Service"
"dsDataex/MyModel/MetaData/MetadataDAO"
"dsDataex/MyModel/MySwagger"
"dsDataex/Utils/CacheUtil"
"dsDataex/Utils/CommonUtil"
"html"
"strconv"
"strings"
"time"
)
func GetMetadataResults (swag MySwagger.MetadataSwag) (bool,string, []map[string]interface{}, error) {
var condition string
var conditions []string
var page int
var query MySwagger.MetadataQuery
if swag.DatasourceId != "" {
conditions = append(conditions, "datasource_id=" + "'" + html.EscapeString(swag.DatasourceId) + "'")
}
if swag.ItemName != "" {
conditions = append(conditions, "item_name=" + "'" + html.EscapeString(swag.ItemName) + "'")
}
if swag.DicId != "" {
conditions = append(conditions, "dic_id=" + "'" + html.EscapeString(swag.DicId) + "'")
}
if swag.ItemLength != 0 {
conditions = append(conditions, "item_length=" + "'" + strconv.Itoa(swag.ItemLength) + "'")
}
if swag.ItemPattern != "" {
conditions = append(conditions, "item_pattern=" + "'" + html.EscapeString(swag.ItemPattern) + "'")
}
if swag.ItemInfo != "" {
conditions = append(conditions, "item_info=" + "'" + html.EscapeString(swag.ItemInfo) + "'")
}
if swag.CheckName != 0 {
conditions = append(conditions, "check_name=" + "'" + strconv.Itoa(swag.CheckName) + "'")
}
if swag.CheckDic != 0 {
conditions = append(conditions, "check_dic=" + "'" + strconv.Itoa(swag.CheckDic) + "'")
}
if swag.CheckType != 0 {
conditions = append(conditions, "check_type=" + "'" + strconv.Itoa(swag.CheckType) + "'")
}
if swag.CheckPattern != 0 {
conditions = append(conditions, "check_pattern=" + "'" + strconv.Itoa(swag.CheckPattern) + "'")
}
if swag.CheckExist != 0 {
conditions = append(conditions, "check_exist=" + "'" + strconv.Itoa(swag.CheckExist) + "'")
}
if swag.EnableFlag != 0 {
conditions = append(conditions, "enable_flag=" + "'" + 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:= MetadataDAO.GetMetadataResults(query)
return result,message,data,failResult
}
func CreateMetadata (model models.TDataexMetadata) (bool, string, error) {
if ! DatasourceService.IsDatasourceExistsById(model.DatasourceId) {
return false, "DatasourceId不存在", nil
}
if ! Jyt2012Service.IsJyt2012ExistsById(model.DicId) {
return false, "DicId不存在", nil
}
business := new(models.TDataexMetadata)
business.Id = CommonUtil.GetUUID()
business.DatasourceId = html.EscapeString(model.DatasourceId)
business.ItemName = html.EscapeString(model.ItemName)
business.DicId = html.EscapeString(model.DicId)
business.ItemType = model.ItemType
business.ItemLength = model.ItemLength
business.ItemPattern = html.EscapeString(model.ItemPattern)
business.ItemInfo = html.EscapeString(model.ItemInfo)
business.CheckName = model.CheckName
business.CheckDic = model.CheckDic
business.CheckType = model.CheckType
business.CheckPattern = model.CheckPattern
business.CheckExist = model.CheckExist
business.CreateTime = time.Now()
business.DeleteFlag = -1
business.EnableFlag = 1
result, message, error:= MetadataDAO.CreateMetadata(business)
return result, message, error
}
func UpdateMetadata (id string, model models.TDataexMetadata) (bool, string, error) {
if ! DatasourceService.IsDatasourceExistsById(model.DatasourceId) {
return false, "DatasourceId不存在", nil
}
if ! Jyt2012Service.IsJyt2012ExistsById(model.DicId) {
return false, "DicId不存在", nil
}
business := new(models.TDataexMetadata)
//清除Redis缓存
var ids = []string{id}
var selector = CacheUtil.GetBean("t_dataex_metadata")
CacheUtil.DeleteCacheByIds(ids, selector)
business.ChangeTime = time.Now()
business.DatasourceId = html.EscapeString(model.DatasourceId)
business.ItemName = html.EscapeString(model.ItemName)
business.DicId = html.EscapeString(model.DicId)
business.ItemType = model.ItemType
business.ItemLength = model.ItemLength
business.ItemPattern = html.EscapeString(model.ItemPattern)
business.ItemInfo = html.EscapeString(model.ItemInfo)
business.CheckName = model.CheckName
business.CheckDic = model.CheckDic
business.CheckType = model.CheckType
business.CheckPattern = model.CheckPattern
business.CheckExist = model.CheckExist
result, message, error:= MetadataDAO.UpdateMetadata(id, business)
return result, message, error
}
func RemoveMetadata (id string) (bool, string, error) {
business := new(models.TDataexMetadata)
//清除Redis缓存
var ids = []string{id}
var selector = CacheUtil.GetBean("t_dataex_metadata")
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:= MetadataDAO.RemoveMetadata(id, business)
return result, message, error
}