public async Task <ResponseWrapper <string> > GetConfig(ConfigRequest request) { var response = new ResponseWrapper <string>(); if (string.IsNullOrWhiteSpace(request.AppId) || string.IsNullOrWhiteSpace(request.EnvId) || string.IsNullOrWhiteSpace(request.Version) || !request.Type.HasValue || string.IsNullOrWhiteSpace(request.ConfigName)) { response.Error = new ErrorResponse(); } else { var configsCache = DisconfigCache.Get(request.AppId + request.Version + request.EnvId); if (configsCache == null) { var list = await _configRepository.GetConfigs(request.AppId, request.Version, request.EnvId, null, null); var responseList = PackList(list); DisconfigCache.Set(request.AppId + request.Version + request.EnvId, responseList); response.Result = GetConfigValue(responseList, request.Type, request.ConfigName); } else { response.Result = GetConfigValue((Dictionary <int, Dictionary <string, string> >)configsCache, request.Type, request.ConfigName); } } return(response); }
/// <summary> /// /// </summary> /// <param name="templateId"></param> /// <param name="value"></param> /// <param name="version"></param> /// <param name="name"></param> /// <param name="type"></param> /// <returns></returns> public async Task <JsonResult> UpdateConfig(long?templateId, string value, string version, string name, int type) { var result = new QueryResult <long>(); if (!templateId.HasValue) { result.IsSuccess = false; result.ErrorMsg = "错误,请重新进入编辑页面"; } else { var log = new OperationLog(); var condition = new ConfigCondition { EnvId = EnvId, TemplateId = templateId }; value = value == null ? string.Empty : value.Trim(); var list = await _configService.GetList(condition); if (list != null && list.ToList().Count > 0) { var obj = list.FirstOrDefault(); obj.Value = value; log.Content = "更新配置 请求内容:更新" + obj.Value + "变更为" + value; obj.Mtime = DateTime.Now; result.IsSuccess = await _configService.Update(obj); DisconfigCache.UpdateCache(AppId + version + EnvId, value, type, name); } else { var obj = new Configs { TemplateId = templateId.Value, EnvId = EnvId, Value = value }; log.Content = "启用配置 请求内容:启用;" + value; result.IsSuccess = await _configService.Insert(obj); DisconfigCache.AddCache(AppId + version + EnvId, value, type, name); } ConfigLog(log); result.Data = EnvId; var appName = await _appService.GetAppNameById(AppId); var envName = await _envService.GetEnvNameById(EnvId); var path = DisconfWatcher.GetPath(name, appName, version, envName, type); DisconfWatcher.AddOrSetData(path); } return(Json(result, JsonRequestBehavior.AllowGet)); }
public async Task <JsonResult> Delete(long id) { var config = await _configService.Get(id); var tem = await _templateService.Get(config.TemplateId); DisconfigCache.DeleteCache(AppId + tem.Version + EnvId, tem.Type, tem.Name); var log = new OperationLog(); log.Content = "删除配置 请求内容:删除;" + config.Value; ConfigLog(log); return(Json(await _configService.Delete(id), JsonRequestBehavior.AllowGet)); }