背景:
同一个商品可以配置专属佣金率,也可配置普通佣金率,当用户有专属佣金时,取专属佣金,否则取普通佣金。
一个商品可以只配置普通佣金,也可只配置专属佣金,也可两个都配置。
数据结构-关键字段:
item_id商品ID,promoter_id用户ID(若0代表普通,普通对所有人生效),rate佣金率。
需求:用户查看可分销的商品列表,并展示佣金,且可根据佣金率、售价排序。
以用户ID10263604为例:
mysql语法为:
-- max(promoter_id)作用:若商品同时配置了普通和专属,取专属,即promoter_id大的那条记录。
SELECT max(promoter_id),item_id,promoter_id,rate FROM `shop_promoter_rate` where delete_mark=0 GROUP BY item_id ORDER BY rate desc
LIMIT 20;
ES语法:
#
GET /cdc_promoter/_search
{
"query": {
"bool": {
"should": [
{"term": {
"promoter_id": 0
}},
{"term": {
"promoter_id": 10263604
}}
],
"minimum_should_match": 1,
"must": [
{
"term": {
"delete_mark": 0
}
}
]
}
},
"size": 0,
"aggs": {
"count_item": {
"terms": {
"field": "item_id",
"size": 10000,
"order": {
"max_rate": "desc"
}
},
"aggs": {
"top_hits_promoter_id": {
"top_hits": {
"size": 1,
"sort": [{
"promoter_id": {
"order": "desc"
}
}]
}
},
"max_rate" : {
"max": {
"field": "rate"
}
},
"sort_page": {
"bucket_sort": {
"sort": [
{
"max_rate": {
"order": "desc"
}
}
],
"from": 4,
"size": 3
}
}
}
}
}
}
查询结果
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 245,
"max_score" : 0.0,
"hits" : [ ]
},
"aggregations" : {
"count_item" : {
"doc_count_error_upper_bound" : -1,
"sum_other_doc_count" : 243,
"buckets" : [
{
"key" : 346693,
"doc_count" : 1,
"top_hits_promoter_id" : {
"hits" : {
"total" : 1,
"max_score" : null,
"hits" : [
{
"_index" : "cdc_promoter_202206081400",
"_type" : "_doc",
"_id" : "158",
"_score" : null,
"_source" : {
"id" : 16,
"shop_id" : 105360,
"item_id" : 346693,
"promoter_id" : 0,
"rate_type" : 0,
"rate" : 10000,
"gmt_created" : "2022-06-08T13:53:03+08:00",
"gmt_modified" : "2022-06-08T15:45:31+08:00",
"delete_mark" : 0,
"delete_timestamp" : 0,
"audit_item_id" : null,
"__op" : "u",
"__null_ts_ms" : 1654739723658,
"sales_volume" : 0,
"seller_user_status" : 5,
"seller_user_delete_mark" : 0,
"seller_expire_time" : "2022-04-20T10:10:11+08:00"
},
"sort" : [
0
]
}
]
}
},
"max_rate" : {
"value" : 10000.0
}
},
{
"key" : 347088,
"doc_count" : 1,
"top_hits_promoter_id" : {
"hits" : {
"total" : 1,
"max_score" : null,
"hits" : [
{
"_index" : "cdc_promoter_202206081400",
"_type" : "_doc",
"_id" : "168",
"_score" : null,
"_source" : {
"id" : 16,
"shop_id" : 105360,
"item_id" : 347088,
"promoter_id" : 0,
"rate_type" : 0,
"rate" : 9000,
"gmt_created" : "2022-06-08T13:53:04+08:00",
"gmt_modified" : "2022-06-08T15:45:32+08:00",
"delete_mark" : 0,
"delete_timestamp" : 0,
"audit_item_id" : null,
"__op" : "u",
"__null_ts_ms" : 1654739723658,
"seller_user_status" : 5,
"seller_user_delete_mark" : 0,
"seller_expire_time" : "2022-04-20T10:10:11+08:00",
"sales_volume" : 0
},
"sort" : [
0
]
}
]
}
},
"max_rate" : {
"value" : 9000.0
}
}
]
}
}
}
版权声明:本文为joy_pan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。