package DataaccessService import ( "dsSupport/MyModel/AccessSystem/AccessSystemDao" "dsSupport/MyModel/DataAccess/DataaccessDAO" "dsSupport/MyModel/DataSource/DatasourceDAO" "dsSupport/MyModel/DataSource/DatasourceService" "dsSupport/MyModel/MySwagger" "dsSupport/MyModel/OrgTree/OrgtreeService" "dsSupport/Utils/CacheUtil" "dsSupport/Utils/CommonUtil" "dsSupport/models" "html" "strconv" "strings" "time" ) func GetDataaccessResults(swag MySwagger.DataaccessSwag) (bool, string, int32, []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.SourceSystemid != "" { var query MySwagger.DatasourceQuery query.Conditions = "system_id=" + "'" + html.EscapeString(swag.SourceSystemid) + "'" result, _, _, datasources, _ := DatasourceDAO.GetDatasourceResults(query) if result == true { var SourceSystemIdString string for k, v := range datasources { if k == 0 { SourceSystemIdString = "'" + v["id"].(string) + "'" } else { SourceSystemIdString += ", '" + v["id"].(string) + "'" } } conditions = append(conditions, "datasource_id in "+"("+html.EscapeString(SourceSystemIdString)+")") } } 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, "set_flag="+"'"+strconv.Itoa(swag.SetFlag)+"'") } if swag.ConsumeType != 0 { conditions = append(conditions, "consume_type="+"'"+strconv.Itoa(swag.ConsumeType)+"'") } if swag.ConsumeOrgid != "" { conditions = append(conditions, "consume_orgid="+"'"+html.EscapeString(swag.ConsumeOrgid)+"'") } if swag.DeleteFlag != 0 { conditions = append(conditions, "delete_flag="+"'"+strconv.Itoa(swag.DeleteFlag)+"'") } else { conditions = append(conditions, "delete_flag='-1'") } if swag.EnableFlag != 0 { conditions = append(conditions, "enable_flag="+"'"+strconv.Itoa(swag.EnableFlag)+"'") } else { conditions = append(conditions, "enable_flag='1'") } 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, count, data, failResult := DataaccessDAO.GetDataaccessResults(query) return result, message, count, data, failResult } func CreateDataaccess(model models.TDataexDataaccess) (bool, string, error) { if !DatasourceService.IsDatasourceExistsById(model.DatasourceId) { return false, "DatasourceId不存在", nil } _, e := AccessSystemDao.GetApp(model.ConsumeSystemid) if e != nil { 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 } _, e := AccessSystemDao.GetApp(model.ConsumeSystemid) if e != nil { 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 }