Exemplo n.º 1
0
 public _广告商品()
 {
     商品 = new 商品链接();
 }
Exemplo n.º 2
0
 public _物资或服务条目() { 商品链接 = new 商品链接(); }
Exemplo n.º 3
0
        /// <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;
            }
        }