searchmodel
This commit is contained in:
31
Yi.Framework/Yi.Framework.Model/Search/Goods.cs
Normal file
31
Yi.Framework/Yi.Framework.Model/Search/Goods.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using Nest;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Model.Search
|
||||
{
|
||||
[ElasticsearchType(IdProperty = "id")]//主键声明,且主键必须是属性
|
||||
public class Goods
|
||||
{
|
||||
public long id { get; set; }
|
||||
|
||||
|
||||
public spu spu { get; set; }
|
||||
public string all; //所有需要被搜索的信息,包括品牌,分类,标题
|
||||
public string subtitle; //子标题
|
||||
public brand brand;
|
||||
public category cid1;
|
||||
public category cid2;
|
||||
public category cid3;
|
||||
public DateTime? createTime;
|
||||
|
||||
|
||||
public HashSet<double> price = new HashSet<double>(); //是所有sku的价格集合。方便根据价格进行筛选过滤
|
||||
public List<sku> skus; //sku信息的json结构数据
|
||||
public Dictionary<string, object> specs = new Dictionary<string, object>(); //可搜索的规格参数,key是参数名,值是参数值
|
||||
}
|
||||
}
|
||||
20
Yi.Framework/Yi.Framework.Model/Search/PageResult.cs
Normal file
20
Yi.Framework/Yi.Framework.Model/Search/PageResult.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Yi.Framework.Model.Search
|
||||
{
|
||||
public class PageResult<T>
|
||||
{
|
||||
public static readonly long serialVersionUID = 4612105649493688532L;
|
||||
public long total; // 总记录数
|
||||
public int totalPages; //总页数
|
||||
public List<T> rows; // 每页显示的数据集合
|
||||
|
||||
public PageResult(long total, List<T> rows)
|
||||
{
|
||||
this.total = total;
|
||||
this.rows = rows;
|
||||
}
|
||||
}
|
||||
}
|
||||
39
Yi.Framework/Yi.Framework.Model/Search/SearchRequest.cs
Normal file
39
Yi.Framework/Yi.Framework.Model/Search/SearchRequest.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Model.Search
|
||||
{
|
||||
public class SearchRequest
|
||||
{
|
||||
public static readonly int DEFAULT_PAGE = 1;
|
||||
public static readonly int DEFAULT_SIZE = 20;
|
||||
public string key { get; set; }
|
||||
public int page { get; set; }
|
||||
//排序字段
|
||||
public string sortBy { get; set; }
|
||||
//是否降序
|
||||
public bool descending { get; set; }
|
||||
//过滤字段
|
||||
public Dictionary<string, string> filter = new Dictionary<string, string>();
|
||||
|
||||
public int getPage()
|
||||
{
|
||||
if (page == 0)
|
||||
{
|
||||
return DEFAULT_PAGE;
|
||||
}
|
||||
// 获取页码时做一些校验,不能小于1
|
||||
return Math.Max(DEFAULT_PAGE, page);
|
||||
}
|
||||
|
||||
public int getSize()
|
||||
{
|
||||
return DEFAULT_SIZE;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
31
Yi.Framework/Yi.Framework.Model/Search/SearchResult.cs
Normal file
31
Yi.Framework/Yi.Framework.Model/Search/SearchResult.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.Models;
|
||||
|
||||
namespace Yi.Framework.Model.Search
|
||||
{
|
||||
public class SearchResult<Goods> : PageResult<Goods>
|
||||
{
|
||||
public List<brand> brands = new List<brand>();
|
||||
public List<category> categories = new List<category>();
|
||||
//规格参数过滤条件
|
||||
public List<Dictionary<string, object>> specs = new List<Dictionary<string, object>>();
|
||||
public SearchResult(long total,
|
||||
int totalPage,
|
||||
List<Goods> items,
|
||||
List<category> categories,
|
||||
List<brand> brands,
|
||||
List<Dictionary<string, object>> specs) : base
|
||||
(total, items)
|
||||
{
|
||||
|
||||
this.categories = categories;
|
||||
this.brands = brands;
|
||||
this.specs = specs;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user