public override string FileName(TaskEntity taskEntity)
        {
            if (!string.IsNullOrEmpty(fileName))
            {
                return(fileName);
            }

            if (taskEntity.FileInfo == null || string.IsNullOrEmpty(taskEntity.FileInfo.NormalFilePath))
            {
                throw new ArgumentNullException("生成压缩文件时,一般文件地址为空,无法生成压缩文件");
            }

            if (!File.Exists(taskEntity.FileInfo.NormalFilePath))
            {
                throw new Exception(string.Format("生成压缩文件时,一般文件[{0}]指定路径下不存在,无法生成压缩文件", taskEntity.FileInfo.NormalFilePath));
            }

            string compressPath               = FileHelper.GetDirectoryName(taskEntity.FileInfo.NormalFilePath);
            string compressFileName           = FileHelper.GetFileName(taskEntity.FileInfo.NormalFilePath);
            string compressFileNameWithoutExt = FileHelper.GetFileNameWithoutExtension(taskEntity.FileInfo.NormalFilePath);

            if (!normalFileValidateReg.IsMatch(compressFileName))
            {
                throw new Exception(string.Format("生成压缩文件时,一般文件名[{0}]格式不符合要求", compressFileName));
            }

            string encryptKey = Common.GetEncryptKey();

            if (string.IsNullOrEmpty(encryptKey))
            {
                throw new Exception("生成压缩文件时,配置中未读取密钥串");
            }

            string fileMd5 = MD5Utils.GetMD5HashFromFile(taskEntity.FileInfo.NormalFilePath);

            string fileAndKeyMd5 = MD5Utils.GetMD5(fileMd5 + encryptKey);

            //文件校验位 按照规则前三个字符和后三个字符拼接组成6个字符作为校验码
            string fileDataCode = fileAndKeyMd5.PreNChar(3) + fileAndKeyMd5.AfterNChar(3);

            if (string.IsNullOrEmpty(fileDataCode) || fileDataCode.Length != 6)
            {
                throw new Exception("生成压缩文件时,计算文件校验位时出现异常");
            }


            compressFileNameWithoutExt += "_" + fileDataCode;

            string fileNameMd5 = MD5Utils.GetMD5(compressFileNameWithoutExt + "_" + encryptKey);

            //生成文件校验位 按照规则取后2个字符和前4个字符拼接成6个字符为校验位
            string fileNameCode = fileNameMd5.AfterNChar(2) + fileNameMd5.PreNChar(4);


            if (string.IsNullOrEmpty(fileNameCode) || fileNameCode.Length != 6)
            {
                throw new Exception("生成压缩文件时,计算文件名校验位时出现异常");
            }

            fileName = compressFileNameWithoutExt + "_" + fileNameCode + ".jl" + ".zip";
            return(fileName);
        }