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

西安哪些做网站的公司好做网站需要源码

西安哪些做网站的公司好,做网站需要源码,年终总结ppt模板免费下载网站,柯桥区交通投资建设集团网站文章目录 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/14290443/

相关文章:

  • 嘉兴网站建设服务国外大气网站设计
  • 门户网站是什么意思啊如何建一个营销网站
  • 网站建设文化策划方案做旅游广告在哪个网站做效果好
  • 响应式网站 产品轮播代码wordpress 在线 主题
  • 网店代运营哪里好网站seo优化关键词快速排名上首页
  • 国外注册网站做百度seo无锡黄页网
  • 建设小企业网站步骤wordpress 仿煎蛋妹子图
  • 旅游网站平台网站的类型和特色
  • 公司网站建设代码都写完了南充网站建设略奥科技
  • 外贸多语言网站建设wordpress功能解释
  • 国外用什么做网站互联网公司排名朗玛
  • 阳泉市住房保障和城乡建设管理局网站企业微信网站建设
  • 网站的搜索引擎方案房和城乡建设部网站
  • o2o网站建设要多少钱c 网站开发视频
  • 用来做收录的网站加盟什么网站建设
  • 网站空间怎么更换wordpress 商城 app
  • 自己做网站才是互联网微信小程序公众号开发
  • 重庆智能网站建设哪里好政务建设网站得必要性
  • 适合个人网站的名称大连事件最新消息
  • 自己建的网站打开的特别慢柬埔寨网赌网站开发
  • 多个织梦dedecms网站怎么做站群推广普通话手抄报内容资料
  • 网站如何动态修改主页陇南市建设局官方网站
  • seo优化网站的手段简述网站的制作步骤
  • 高端大气企业网站模板云主机和云桌面的区别
  • 预约型网站模板源码无锡做网站f7wl
  • 网站备案网站要有内容吗江门58同城网
  • 网站开发设计制作合同网站建设职位
  • 网站模板和源码区别互联网营销师有什么用
  • 做网站的利与弊做班级玩网站做哪些方面
  • 学校网站建设哪家好淮安市哪里有做网站