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

需要做网站的企业资源用网站做的人工智能

需要做网站的企业资源,用网站做的人工智能,如何借助织梦制作一个简单的网站,服装高级定制品牌文章目录 1. 构造 keyword 的查询条件2. 构造 threatSubType 的查询条件3. 相应的实体类 /*** 查询白名单详情** param offset 第几页开始* param limit 每页显示的最大值* param keyword 模糊搜索值* param order 排序方式#xff08;升序/降序… 文章目录 1. 构造 keyword 的查询条件2. 构造 threatSubType 的查询条件3. 相应的实体类 /*** 查询白名单详情** param offset 第几页开始* param limit 每页显示的最大值* param keyword 模糊搜索值* param order 排序方式升序/降序* param sortKey 排序的字段* param threatSubType 告警类型* return 白名单实体列表*/ ListAlertWhiteEntity findListByKeyword(Integer offset, Integer limit, String keyword, String order,String sortKey, ListString threatSubType );Override public ListAlertWhiteEntity findListByKeyword(Integer offset, Integer limit, String keyword, String order,String sortKey,ListString threatSubType ) {// 开始构造查询条件Query query new Query();// 1. 构造 keyword 的查询条件if (!StringUtils.isEmpty(keyword)) {query.addCriteria(dealKeyword(keyword));}// 2. 构造排序规则默认是降序排序 Sort.Order orderSort Sort.Order.desc(sortKey);if (Objects.equals(order, ASC)) {orderSort Sort.Order.asc(sortKey);}// 3. 构造 threatSubType 的查询条件getThreatSubTypeFilter(threatSubType, query);// 4. 对status按照指定排序规则排序query.with(Sort.by(Sort.Order.desc(status), orderSort));// 5. 分页查询query.skip((long) (offset - 1) * limit).limit(limit);// 执行查询return incidentMongoTemplate.find(query, AlertWhiteEntity.class); }1. 构造 keyword 的查询条件 private CriteriaDefinition dealKeyword(String keyword) {// Java的正则表达式库创建了一个正则表达式模式对象匹配任意位置包含指定关键字的字符串并且不区分大小写。Pattern pattern Pattern.compile(^.* keyword .*$, Pattern.CASE_INSENSITIVE);Criteria criteria new Criteria();Criteria[] criteriaArray null;String fullIp ;// ruleList.ruleList 中存在一个元素该元素满足以下条件type字段等于srcIp或dstIp,value字段匹配给定的正则表达式pattern// creator 字段匹配给定的正则表达式pattern// name 字段匹配给定的正则表达式pattern// ruleList.ipRange 中存在一个元素该元素的value满足以下条件 startIp字段小于等于给定的fullIp,endIp字段大于等于给定的fullIpif (IpUtil.judgeLegalIp(keyword)) {if (IpUtil.judgeIpv6(keyword)) {fullIp IpUtil.formatIpv6Full(keyword);} else if (IpUtil.judgeIpv4(keyword)) {fullIp IpUtil.formatIpv4Full(keyword);}criteriaArray new Criteria[] {new Criteria().and(ruleList.ruleList).elemMatch(new Criteria().andOperator(new Criteria().orOperator(new Criteria().and(type).is(srcIp), new Criteria().and(type).is(dstIp)), new Criteria().and(value).regex(pattern))),new Criteria().and(creator).regex(pattern),new Criteria().and(name).regex(pattern),new Criteria().and(ruleList.ipRange).elemMatch(new Criteria().and(value).elemMatch(new Criteria().andOperator(Criteria.where(startIp).lte(fullIp), Criteria.where(endIp).gte(fullIp))))};// 查询ruleList.ruleList中满足以下条件的元素type字段等于srcIp或者type字段等于dstIp,value字段匹配正则表达式pattern// 查询creator字段匹配正则表达式pattern的文档// 查询name字段匹配正则表达式pattern的文档} else {criteriaArray new Criteria[] {new Criteria().and(ruleList.ruleList).elemMatch(new Criteria().andOperator(new Criteria().orOperator(new Criteria().and(type).is(srcIp), new Criteria().and(type).is(dstIp)), new Criteria().and(value).regex(pattern))),new Criteria().and(creator).regex(pattern),new Criteria().and(name).regex(pattern)};}criteria.orOperator(criteriaArray);return criteria; }2. 构造 threatSubType 的查询条件 private void getThreatSubTypeFilter(ListString threatSubType, Query query) {// 如果threatSubType不为null或者列表不为空将“all”添加为列表代表需要值为查询“全部”的文档if (threatSubType ! null threatSubType.size() ! 0) {if (!threatSubType.contains(ALL)) {threatSubType.add(ALL);}// 查询threatSubTypeId在threatSubType列表中的文档query.addCriteria(Criteria.where(threatSubTypeId).in(threatSubType));}// 查询 deleted 为false 的文档query.addCriteria(Criteria.where(deleted).is(false)); }3. 相应的实体类 Data Document(t_alert_white_rules) public class AlertWhiteEntity {JsonProperty(_id)MongoIdApiModelProperty(value 元api id)JsonSerialize(using ObjectIdSerializer.class)private ObjectId id;Field(whiteId)ApiModelProperty(value 白名单id)private String whiteId;Field(alertType)ApiModelProperty(value 告警类型前端使用控制展示哪种模板)private String alertType;ApiModelProperty(value 告警类型前端使用控制渲染告警类型)private String originAlertType;Field(threatSubType)ApiModelProperty(value 攻击小类数量, example {[\label\:\aaaa\,\value\:\1_2_3\]})private ListWhiteScreenEntity threatSubType;Field(threatSubTypeView)ApiModelProperty(value 攻击小类展示数组, example [\aaa\])private ListString threatSubTypeView;Field(threatSubTypeId)ApiModelProperty(value 攻击小类ID数组, example [\1_2_3\])private ListString threatSubTypeId;Field(hostIp)ApiModelProperty(value 生效主机, example 1.1.1.1)private ListString hostIp;Field(isHostAll)ApiModelProperty(value 是否勾选全部)private Boolean isHostAll;Field(repeatMd5)ApiModelProperty(value 用于判断是否重复md5)private String repeatMd5;Field(status)ApiModelProperty(value 状态, notes 启用enable | 禁用disable)private String status;Field(name)ApiModelProperty(value 规则名称)private String name;Field(isUnlimited)ApiModelProperty(value 是否永久生效, notes 永久生效1 | 自定义0)private Integer isUnlimited;Field(sort_status)ApiModelProperty(value 分类状态, notes status是enable时1 | status是disable时0)private Integer sortStatus;Field(reason)ApiModelProperty(value 备注)private String reason;Field(ruleList)ApiModelProperty(value 规则列表)private RuleEntity ruleList;Field(creator)ApiModelProperty(value 创建人)private String creator;Field(creatorId)ApiModelProperty(value 创建人Id)private String creatorId;Field(startTime)ApiModelProperty(value 开始时间)private Long startTime;Field(endTime)ApiModelProperty(value 结束时间)private Long endTime;Field(createTime)ApiModelProperty(value 创建时间)private long createTime;Field(updateTime)ApiModelProperty(value 更新时间)private long updateTime;Field(deleted)ApiModelProperty(value 是否删除, notes 否0 | 是1)private boolean deleted; }Data public class RuleEntity {ApiModelProperty(value 规则列表)private ListRuleInfoEntityString ruleList;ApiModelProperty(value IP范围)private ListRuleInfoEntityIpInfoEntity ipRange;ApiModelProperty(value IOA类型)private ListListRuleInfoEntityString ioaRuleList;}AllArgsConstructor NoArgsConstructor Data JsonInclude(JsonInclude.Include.NON_NULL) ApiModel(description 匹配规则) public class RuleInfoEntityT implements ValidateAble {ApiModelProperty(value 匹配字段, required true, example srcIp)private String type;/**** 该值用于处理view进行转换不接收来自调用者*/ApiModelProperty(value 匹配值, required true)private ListT value;ApiModelProperty(value TMG匹配值, required true)private ListT tmgValue;ApiModelProperty(value 中文名称, example srcIp)private String title;ApiModelProperty(value 匹配模式, required true, example IN)private String mode;ApiModelProperty(value 匹配值)private ListString view;ApiModelProperty(value 是否忽略大小写)private Boolean isIgnorecase; }Data public class IpInfoEntity {ApiModelProperty(value 开始IP)private String startIp;ApiModelProperty(value 结束ip)private String endIp;}
http://www.hkea.cn/news/14486047/

相关文章:

  • 网站建设佳木斯编程到底是学些什么
  • 南京网络营销外包价格南京seo网络优化公司
  • 深圳高端网站制作价格wordpress主题the7中文汉化版
  • 网站建设分析泽库县wap网站建设公司
  • 织梦网站栏目调用济南市住房建设网站
  • 一个网站怎么做pc和移动端网页内容
  • 动态交互图网站做国外零售做什么网站
  • 建立网站该怎样做2016网站建设总结
  • 网站建设制作细节大型网站的标准
  • 常营网站建设凡科做的网站如何绑定域名
  • 黑龙江做网站的公司有哪些后台做网站的题
  • 中江网站建设深圳网站设计 三把火科技
  • 网站策划书基本项目自己做淘宝客登录网站
  • seo网站优化对象wordpress插件免费
  • 计算机网站建设论文总结淘宝客网站如何做推广方案
  • 一些建筑设计网站wordpress前台发文积分
  • 南京电商网站开发网络策划营销方案
  • 做社交网站要注册哪类商标临邑网页设计
  • 郑州专业的网站建设服务专业建设
  • 增加网站点击量网站开发亿玛酷给力5
  • 屏蔽右键网站百度收录量
  • 小牛门户网站网页设计实训报告格式
  • 太原网站建设方案服务代理网址上网
  • 多少钱网站设计长沙有什么好玩的
  • 苏州大学网站建设目标养老网站建设方案
  • 四川省建设监理协会网站如何建立一个自己的网址
  • 国外游戏代码网站中山网站建设解决方案
  • 建设银行网站怎么短信转账江苏建设集团公司官网
  • 网站更换空间教程7网站建设1
  • 郑州代理记账网站建设山东住房城乡建设厅网站