public _广告商品() { 商品 = new 商品链接(); }
public _物资或服务条目() { 商品链接 = new 商品链接(); }
/// <summary> /// /// </summary> /// <param name="writer"></param> /// <param name="model"></param> private void AddIndex_gys(IndexWriter writer, 供应商 model) { try { Document doc = new Document(); doc.Add(new Field("NumId", model.Id.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 if (model.所属地域.省份 != null) { Field f = new Field("Province", model.所属地域.省份, Field.Store.YES, Field.Index.ANALYZED);//所属省份 f.SetBoost(3F); doc.Add(f); } if (model.所属地域.城市 != null) { Field f = new Field("City", model.所属地域.城市, Field.Store.YES, Field.Index.ANALYZED);//所属城市 f.SetBoost(3F); doc.Add(f); } if (model.所属地域.区县 != null) { Field f = new Field("Area", model.所属地域.区县, Field.Store.YES, Field.Index.ANALYZED);//所属区县 f.SetBoost(3F); doc.Add(f); } if (model.企业联系人信息 != null && model.企业联系人信息.联系人固定电话 != null) { doc.Add(new Field("Telephone", model.企业联系人信息.联系人固定电话, Field.Store.YES, Field.Index.NOT_ANALYZED));//注册地址 存储不索引 } if (model.企业联系人信息 != null && model.企业联系人信息.联系人姓名 != null) { doc.Add(new Field("P_Name", model.企业联系人信息.联系人姓名, Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 } if (model.企业基本信息 != null && model.企业基本信息.所属行业 != null) { Field f = new Field("Industry", model.企业基本信息.所属行业, Field.Store.YES, Field.Index.ANALYZED);//所属行业 f.SetBoost(3F); doc.Add(f); } //if (model.可提供产品类别列表 != null && model.可提供产品类别列表.Any()) //{ // var pro_industry = ""; // foreach (var item in model.可提供产品类别列表) // { // pro_industry += item.一级分类 + ";"; // } // Field f = new Field("Pro_Industry", pro_industry, Field.Store.YES, Field.Index.ANALYZED);//可提供产品分类 // doc.Add(f); //} if (model.可提供产品类别列表 != null && model.可提供产品类别列表.Any()) { var pro_industry = ""; foreach (var item in model.可提供产品类别列表) { foreach (var it in item.二级分类) { pro_industry += it + ";"; } } Field f = new Field("Pro_Industry", pro_industry, Field.Store.YES, Field.Index.ANALYZED);//可提供产品分类 doc.Add(f); } if (model.企业基本信息.企业名称 != null) { Field f = new Field("Name", model.企业基本信息.企业名称, Field.Store.YES, Field.Index.ANALYZED);//企业名称 f.SetBoost(5F); doc.Add(f); } var 认证级别 = ((int)model.供应商用户信息.认证级别).ToString(); doc.Add(new Field("Rzjb", 认证级别.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 //各图标字符串组合,顺序 :年检、应急、协议、入库 var 图标 = ""; if (model.供应商用户信息.年检列表 != null && model.供应商用户信息.年检列表.Any() && model.供应商用户信息.年检列表.ContainsKey(DateTime.Now.Year.ToString())) { 图标 += "1,"; } else { 图标 += "0,"; } if (model.供应商用户信息.应急供应商) { 图标 += "1,"; } else { 图标 += "0,"; } if (model.供应商用户信息.协议供应商) { 图标 += "1,"; } else { 图标 += "0,"; } 图标 += ((int)model.供应商用户信息.入库级别).ToString(); Field f1 = new Field("Level_Flage", 图标, Field.Store.YES, Field.Index.NOT_ANALYZED); doc.Add(f1); //各图标字符串组合,顺序 :认证、年检、应急、协议、入库 //员工人数 doc.Add(new Field("People_Count", model.企业基本信息.员工人数.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 //商品总数 var pro_count = 商品管理.计数供应商商品(model.Id, 0, 0, Query<商品>.EQ(o => o.审核数据.审核状态, 审核状态.审核通过), false); doc.Add(new Field("Pro_Count", pro_count.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 //历史参标次数 var history_count = model.历史参标记录.Count(); doc.Add(new Field("History_Count", history_count.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 //资质证书 var zzzs = model.资质证书列表.Any() && model.资质证书列表[0].资质证书电子扫描件.Any() && !string.IsNullOrWhiteSpace(model.资质证书列表[0].资质证书电子扫描件[0].路径) ? model.资质证书列表[0].资质证书电子扫描件[0].路径 : ""; doc.Add(new Field("Zzzs_Pic", zzzs, Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 //厂房及设备图 var gyspic = model.供应商用户信息.供应商图片.Any() ? model.供应商用户信息.供应商图片.Last() : ""; doc.Add(new Field("Gys_Pic", gyspic, Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 //右边商品展示 var showprostr = ""; var showpropic = new List<商品链接>(); if (增值服务记录 != null) { var 广告商品B1_1 = 增值服务记录.已开通的服务.Where(o => o.所申请项目名.Contains("企业推广服务B1-1位置") && o.结束时间 > DateTime.Now); var 广告商品B1_2 = 增值服务记录.已开通的服务.Where(o => o.所申请项目名.Contains("企业推广服务B1-2位置") && o.结束时间 > DateTime.Now); var 商务会员 = 增值服务记录.已开通的服务.Where(o => o.所申请项目名.Contains("商务会员") && o.结束时间 > DateTime.Now); var 标准会员 = 增值服务记录.已开通的服务.Where(o => o.所申请项目名.Contains("标准会员") && o.结束时间 > DateTime.Now); var 广告商品数 = (广告商品B1_2.Any() || 商务会员.Any()) ? 6 : (广告商品B1_1.Any() || 标准会员.Any()) ? 3 : 0; if (广告商品数 == 6) { if (model.供应商用户信息.广告商品.ContainsKey("企业推广服务B1-2位置")) { showpropic = model.供应商用户信息.广告商品["企业推广服务B1-2位置"].Select(o => o.商品).ToList(); } else if (model.供应商用户信息.广告商品.ContainsKey("商务会员")) { showpropic = model.供应商用户信息.广告商品["商务会员"].Select(o => o.商品).ToList(); } } if (广告商品数 == 3) { if (model.供应商用户信息.广告商品.ContainsKey("企业推广服务B1-1位置")) { showpropic = model.供应商用户信息.广告商品["企业推广服务B1-1位置"].Select(o => o.商品).ToList(); } else if (model.供应商用户信息.广告商品.ContainsKey("标准会员")) { showpropic = model.供应商用户信息.广告商品["标准会员"].Select(o => o.商品).ToList(); } } //没有选择展示商品,默认选取审核通过的前3/6个商品作为展示 if (广告商品数 > 0 && showpropic.Count < 广告商品数) { var sp = 商品管理.查询供应商商品(model.Id, 0, 广告商品数 - showpropic.Count, Query<商品>.EQ(o => o.审核数据.审核状态, 审核状态.审核通过), includeDisabled: false); foreach (var s in sp) { 商品链接 p = new 商品链接(); p.商品ID = s.Id; showpropic.Add(p); } } if (showpropic.Any()) { foreach (var itemlist in showpropic) { var item = itemlist.商品; //图片 if (item.商品信息.商品图片.Any()) { showprostr += item.商品信息.商品图片[0] + "****"; } else { showprostr += "/Images/noimage.jpg****"; } //名称 showprostr += item.商品信息.商品名 + "****"; //价格 showprostr += item.销售信息.价格 + "****"; //ID showprostr += item.Id + "****||||"; } } } doc.Add(new Field("Show_Product", showprostr, Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 //经营类型 doc.Add(new Field("Management", model.企业基本信息.经营类型 + "/" + model.企业基本信息.经营子类型, Field.Store.YES, Field.Index.NOT_ANALYZED));//存储不索引 writer.AddDocument(doc); } catch { return; } }