/// <summary>
        /// 创建服务器,当名字不存在时
        /// </summary>
        /// <param name="servicerMac">Mac地址</param>
        /// <returns>项目信息</returns>
        public Task <ServicerInfo> AddWhenNotExistAsync(string servicerMac)
        {
            servicerMac.NotNull("Mac地址不能为空");
            var servicerInfo = new ServicerInfo
            {
                FCreateTime   = DateTimeUtil.Now,
                FIsDeleted    = false,
                FMacAddress   = servicerMac,
                FCreateUserID = -1
            };

            return(LockUtil.ExecuteWithLockAsync(Lock_ServicerModify, servicerMac, TimeSpan.FromMinutes(2), async() =>
            {
                var existServicerInfo = await _servicerRepository.GetInfoAsync(m => m.FIsDeleted == false && m.FMacAddress == servicerMac);
                if (existServicerInfo != null)
                {
                    return existServicerInfo;
                }
                else
                {
                    int servicerID = (await _servicerRepository.InsertOneAsync(servicerInfo, keyName: "FID", ignoreFields: IgnoreConstant.FID)).ToSafeInt32(0);
                    servicerInfo.FID = servicerID;
                    ServicerChanged(OperateType.Add, servicerID);
                    return servicerInfo;
                }
            }));
        }
        /// <summary>
        /// 根据Model创建服务器信息
        /// </summary>
        /// <param name="servicerModel">Model信息</param>
        /// <returns>服务器信息</returns>
        public ServicerInfo Create(ServicerModel servicerModel)
        {
            servicerModel.NotNull("服务器信息不能为空");
            var servicerInfo = new ServicerInfo
            {
                FComment      = servicerModel.FComment,
                FIP           = servicerModel.FIP,
                FIsDeleted    = false,
                FName         = servicerModel.FName,
                FID           = servicerModel.FID,
                FMacAddress   = servicerModel.FMacAddress,
                FCreateTime   = DateTimeUtil.Now,
                FCreateUserID = servicerModel.OperateUserID
            };

            if (servicerModel.FID > 0)
            {
                servicerInfo.FLastModifyTime   = DateTimeUtil.Now;
                servicerInfo.FLastModifyUserID = servicerModel.OperateUserID;
            }
            return(servicerInfo);
        }
        /// <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("名字已存在");
                }
            }
        }