Exemple #1
0
        public async Task <IActionResult> ExportData(string ids)//
        {
            var result = new ResultContract <ResultContract <string> >()
            {
                Code = 0, Msg = "导出成功"
            };

            try
            {
                DataTable  tblDatas = new DataTable("Datas");
                DataColumn dc       = null;
                dc = tblDatas.Columns.Add("序号", Type.GetType("System.Int32"));
                dc.AutoIncrement     = true;  //自动增加
                dc.AutoIncrementSeed = 1;     //起始为1
                dc.AutoIncrementStep = 1;     //步长为1
                dc.AllowDBNull       = false; //

                dc = tblDatas.Columns.Add("来源", Type.GetType("System.String"));
                dc = tblDatas.Columns.Add("所属系统", Type.GetType("System.String"));
                dc = tblDatas.Columns.Add("时间", Type.GetType("System.String"));
                dc = tblDatas.Columns.Add("图片", Type.GetType("System.String"));
                List <string> idList = ids.Split(",").ToList();
                foreach (var id in idList)
                {
                    var        returnResult = logic.GetTagsInfo(id);
                    EsContract contract     = SerializeHelper.deserializeToObject <EsContract>(returnResult.Data.ToString());
                    DataRow    newRow;
                    newRow       = tblDatas.NewRow();
                    newRow["来源"] = contract.orgName;
                    ApplicationContract appContract = new ApplicationContract();
                    appContract.Id = Guid.Parse(contract.appId);
                    var applist = applicationService.GetApplication(appContract);
                    newRow["所属系统"] = applist.Count > 0 ? applist[0].AppName : "";
                    DateTime time = (DateTime)contract.uploadTime;
                    newRow["时间"] = time.ToString("yyyy-MM-dd hh:mm:ss");
                    newRow["图片"] = contract.url;
                    tblDatas.Rows.Add(newRow);
                }

                MemoryStream ms = ExportHelper.RenderDataTableToExcel(tblDatas) as MemoryStream;

                return(File(ms.ToArray(), "application/vnd.ms-excel", "ExportImage.xls"));
            }
            catch (Exception e)
            {
                LogHelper.logError("查询ES失败:" + e.StackTrace);
                result.Code = -1;
                result.Msg  = e.StackTrace;
            }
            return(null);
        }
 /// <summary>
 /// ES批量新增数据
 /// </summary>
 /// <param name="contract"></param>
 /// <returns></returns>
 public bool InsertESList(List <UploadContract> contractlist)
 {
     try
     {
         List <EsContract> list = new List <EsContract>();
         foreach (var contract in contractlist)
         {
             EsContract data = new EsContract
             {
                 fileId       = contract.FileId,
                 userId       = contract.UserId,
                 orgId        = contract.OrgId,
                 appId        = contract.AppId,
                 orgName      = contract.OrgName,
                 fileName     = contract.FileName,
                 newFileName  = contract.NewFileName,
                 upload       = contract.IsUpload,
                 url          = contract.Url,
                 thumbnailUrl = contract.ThumbnailUrl,
                 tags         = contract.Tags,
                 uploadTime   = contract.UploadTime,
                 insertTime   = DateTime.Now,
                 displayName  = contract.DisplayName,
                 fileType     = contract.FileType,
                 groupId      = contract.GroupId,
                 remark       = contract.Remark,
                 order        = contract.Order,
                 themeType    = contract.ThemeType
             };
             list.Add(data);
         }
         LogHelper.logInfo("批量添加:" + SerializeHelper.serializeToString(list));
         var result = HttpHelper.HttpPost(SerializeHelper.serializeToString(list), ESAddress + "/document/addTagsinfo?index=themevideo&type=tagsinfo");
         ResultContract <object> res = SerializeHelper.deserializeToObject <ResultContract <object> >(result);
         if (res.Code == 200)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception e)
     {
         LogHelper.logInfo("ES批量新增数据异常:" + e.ToString());
         return(false);
     }
 }
 /// <summary>
 /// ES新增数据
 /// </summary>
 /// <param name="contract"></param>
 /// <returns></returns>
 public bool InsertES(UploadContract contract)
 {
     try
     {
         var data = new EsContract()
         {
             fileId       = contract.FileId,
             userId       = contract.UserId,
             orgId        = contract.OrgId,
             appId        = contract.AppId,
             orgName      = contract.OrgName,
             fileName     = contract.FileName,
             thumbnailUrl = contract.ThumbnailUrl,
             newFileName  = contract.NewFileName,
             upload       = contract.IsUpload,
             url          = contract.Url,
             tags         = contract.Tags,
             uploadTime   = contract.UploadTime,
             insertTime   = DateTime.Now,
             displayName  = contract.DisplayName,
             fileType     = contract.FileType,
             groupId      = contract.GroupId,
             remark       = contract.Remark,
             order        = contract.Order,
             themeType    = contract.ThemeType
         };
         LogHelper.logInfo("单个添加:" + SerializeHelper.serializeToString(data));
         var result = HttpHelper.HttpPost(SerializeHelper.serializeToString(data), ESAddress + "/document/addTaginfo");
         ResultContract <object> res = SerializeHelper.deserializeToObject <ResultContract <object> >(result);
         if (res.Code == 200)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception e)
     {
         LogHelper.logInfo("单个添加异常:" + e.ToString());
         return(false);
     }
 }