/// <summary> /// 获取服务器信息 /// </summary> /// <param name="servicerMac">服务器Mac地址</param> /// <returns>服务器信息</returns> public Task <ServicerInfo> GetServicerInfoAsync(string servicerMac) { return(GetValueAsync(async() => { var servicerList = await RedisClient.HashValuesAsync <ServicerInfo>(Cache_ServicerList); return servicerList.FirstOrDefault(m => m.FMacAddress == servicerMac && m.FIsDeleted == false); }, async() => { return await _servicerRepository.GetInfoAsync(m => m.FMacAddress == servicerMac); }, memberName: "ServicerCache-GetProjectInfo")); }
/// <summary> /// 校验服务器信息 /// </summary> /// <param name="servicerInfo">服务器信息</param> /// <returns></returns> public async Task CheckAsync(ServicerInfo servicerInfo) { servicerInfo.NotNull("服务器信息不能为空"); //判断是否有存在相同的Mac地址 var existMacInfo = await _servicerRepository.GetInfoAsync(m => m.FMacAddress == servicerInfo.FMacAddress && m.FIsDeleted == false); if (existMacInfo != null) { if (existMacInfo.FID != servicerInfo.FID) { throw new BizException("Mac地址已存在"); } } var existsNameInfo = await _servicerRepository.GetInfoAsync(m => m.FName == servicerInfo.FName && m.FIsDeleted == false); if (existsNameInfo != null) { if (existsNameInfo.FID != servicerInfo.FID) { throw new BizException("名字已存在"); } } }