public async Task <IActionResult> Publish(ParamPublishConfig param) { return(await ActionWrapAsync(async() => { ResultData <bool> result = new ResultData <bool>(); result.Data = await _configService.Publish(param); return result; })); }
public async Task <bool> Add(ParamPublishConfig param) { if (param.Id > 0) { return(false); } var publishConfigs = await Context.Configs.AsNoTracking() .Where(x => x.AppId == param.AppId && x.EnvId == param.EnvId && x.Status == 0) .ToListAsync(); var lastConfig = publishConfigs.OrderByDescending(x => x.LastTimespan).FirstOrDefault(); if (!publishConfigs.Any()) { throw new Exception("没有配置无须发布"); } var isAlreadyPublish = await Context.Publishs.AnyAsync(x => x.AppId == param.AppId && x.EnvId == param.EnvId && x.PublishTimeSpan == lastConfig.LastTimespan); if (isAlreadyPublish) { throw new Exception("已经发布过最新了,无须再发布"); } var entity = new Publish() { AppId = param.AppId, EnvId = param.EnvId, PublishTimeSpan = lastConfig?.LastTimespan ?? 0L, Data = JsonConvert.SerializeObject(publishConfigs) }; Context.Publishs.Add(entity); return(await(Context.SaveChangesAsync()) > 0); }
public async Task <bool> Publish(ParamPublishConfig param) { return(await _publishRepository.Add(param)); }