当前位置: 首页 > wzjs >正文

苏州网站设计制作广州番禺怎么样

苏州网站设计制作,广州番禺怎么样,上海平台有限公司,wordpress 帮助 主题背景 最近在做一个权限可见的功能。每一个订单都有创建人和创建人部门,而查询订单时可以查看自己的或者自己可见部门的。 比如你可以看电商组下的订单,那么自然可以看到电商A组下的订单。 使用ES写一个demo 搭建ES及数据初始化 docker run -p 9200:9…

背景

最近在做一个权限可见的功能。每一个订单都有创建人和创建人部门,而查询订单时可以查看自己的或者自己可见部门的。
比如你可以看电商组下的订单,那么自然可以看到电商A组下的订单。

使用ES写一个demo

搭建ES及数据初始化

docker run -p 9200:9200 -p 9300:9300 --name es-container -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:8.10.3

ES索引的映射

{"order": {"mappings": {"properties": {"createrId": {"type": "keyword"},"department": {"type": "keyword"},"departmentTree": {  "type": "keyword"},"id": {"type": "keyword"},"name": {"type": "text"}}}}
}

其中数据如下
在这里插入图片描述

方案1

场景:你可以看电商组(departMentId = 1)下的订单,那么自然可以看到电商A组下(departMentId = 2,3)的订单。

我通过查询你的权限可以获取大部门电商组(departMentId = 1),然后查询大部门的子部门,从而拿到了部门的全集。

代码略,不推荐,因为部门ID多。

方案2

场景:你可以看电商组(departMentId = 1)下的订单,那么自然可以看到电商A组下(departMentId = 2,3)的订单。

但是我在订单上存储的是这个人的部门链,如下图departmentTree
在这里插入图片描述

实操

<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.17.3</version></dependency>
import org.apache.http.HttpHost;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;import java.io.IOException;/*** @author chaird* @create 2020-08-27 21:42*/
public class Start {public static void main(String[] args) throws Exception {// 创建 REST 高级客户端RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("101.200.123.220", 9200, "http")));try {// 创建搜索请求SearchRequest searchRequest = new SearchRequest("order");SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();//id = 1//boolQueryBuilder.filter(QueryBuilders.termQuery("id", 1));//department = 1//boolQueryBuilder.filter(QueryBuilders.termQuery("department", 1));// id in (1,2)//boolQueryBuilder.filter(QueryBuilders.termsQuery("id", Arrays.asList(1,2)));// db departmentTree =[1,2,3]  命中一个就行,部门查询boolQueryBuilder.filter(QueryBuilders.termQuery("departmentTree", 1));// where id = 1 or department = 3
//            BoolQueryBuilder orFilter = QueryBuilders.boolQuery();
//            orFilter.should(QueryBuilders.termQuery("id", 1));
//            orFilter.should(QueryBuilders.termQuery("department", 3));
//            boolQueryBuilder.filter(orFilter);searchSourceBuilder.query(boolQueryBuilder);//System.out.println(searchSourceBuilder.toString());searchRequest.source(searchSourceBuilder);// 执行搜索请求SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);// 处理搜索结果for (SearchHit hit : searchResponse.getHits().getHits()) {System.out.println(hit.getSourceAsString());}} catch (IOException e) {e.printStackTrace();} finally {try {// 关闭客户端client.close();} catch (IOException e) {e.printStackTrace();}}}
}

在这里插入图片描述


文章转载自:

http://kkMLP1Rx.ymprn.cn
http://Yx7p3a5B.ymprn.cn
http://OemezwH3.ymprn.cn
http://RCTaVHsJ.ymprn.cn
http://mTwRTR9l.ymprn.cn
http://yecNkSRG.ymprn.cn
http://deG07UkA.ymprn.cn
http://TaB8FU0T.ymprn.cn
http://mjYAGACd.ymprn.cn
http://xXT4RcLJ.ymprn.cn
http://bXoscoUT.ymprn.cn
http://1jDEBVGK.ymprn.cn
http://4bbKVGdJ.ymprn.cn
http://AwZQqdqF.ymprn.cn
http://34sshlqu.ymprn.cn
http://PsUZVXda.ymprn.cn
http://430dzQHY.ymprn.cn
http://se8hprRg.ymprn.cn
http://BAG5fS98.ymprn.cn
http://E7ISRUWM.ymprn.cn
http://rUubjUZZ.ymprn.cn
http://R2Hvrpjr.ymprn.cn
http://QC916ift.ymprn.cn
http://9SQby4jB.ymprn.cn
http://TRcUkcxt.ymprn.cn
http://ERM7KN0W.ymprn.cn
http://jt8GLech.ymprn.cn
http://uymuAL2G.ymprn.cn
http://o2YISMyk.ymprn.cn
http://ymJ6M8TY.ymprn.cn
http://www.dtcms.com/wzjs/687075.html

相关文章:

  • 贵阳网站优化排名胖小七网站建设
  • 众筹网站功能云南旅游
  • 没有营业执照怎么样做百度企业网站江苏省建设厅网站
  • 网上推广哪个平台好乐陵seo
  • 淄网站做网站wordpress vs dedecms
  • 做论坛网站如何赚钱创建网站制作首页
  • 帮人家做家务的网站家具东莞网站建设技术支持
  • 哪些网站可以做画赚钱东莞网站建设功能
  • 做网站电话号码电商网站开发环境怎么写
  • js调用wordpress系统优化开关在哪里
  • 电脑网站怎样给网页做适配wordpress+qq微信登陆
  • 做p2p网站案例广州专业做网站公司有哪些
  • 长沙做网站seo建筑英才网首页
  • wordpress如何建企业站菏泽哪里有做网站的
  • 网站定制公司报价网站里的注册怎么做
  • 在什么网站可以做硬件项目微信推广是什么意思
  • 潍坊做网站哪个公司好网站开发创意设计
  • 大兴区网站建设公司济南网站推广¥做下拉去118cr
  • 外汇110网站上做的这些曝光义乌联合加工网
  • 韶山网站建设杭州国外网站推广公司
  • 成都网站seo排名儿童故事网站建设
  • php的网站有哪些开鲁视频
  • 哪些网站是用php开发的网站模板可以自己做
  • 青岛网站模板wordpress推送到公众号
  • 哪家做的网站有利于百度推广wordpress做文字站
  • 专门做2手手机的网站wordpress 静态内容
  • 公司网站建设注册电子商务公司管理制度
  • 用自己的电脑做网站分销商家
  • 自己做模板网站360移动建站
  • 关于门户网站建设的整改报告wordpress 火车头 作者