| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.zswl.dataservice.dao.mqtt.impl;
- import com.zswl.dataservice.dao.mqtt.extend.GateWayInfoDaoExtend;
- import com.zswl.dataservice.domain.mqtt.GateWayInfo;
- import com.zswl.dataservice.helper.DBHelper;
- import com.zswl.dataservice.model.mqtt.GateWayInfoSearchParam;
- import org.apache.commons.lang3.ObjectUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.domain.Page;
- import org.springframework.data.domain.Pageable;
- import org.springframework.data.domain.Sort;
- import org.springframework.data.mongodb.core.MongoTemplate;
- import org.springframework.data.mongodb.core.query.Criteria;
- import org.springframework.data.mongodb.core.query.Query;
- import org.springframework.util.CollectionUtils;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.regex.Pattern;
- /**
- * @Author TRX
- * @CreateDate: 2023/4/12
- * @Version: 1.0
- */
- public class GateWayInfoDaoImpl implements GateWayInfoDaoExtend {
- @Autowired
- private MongoTemplate mongoTemplate;
- @Autowired
- private DBHelper dbHelper;
- @Override
- public Page<GateWayInfo> page(Pageable pageable, GateWayInfoSearchParam param) {
- Criteria criteria = new Criteria();
- if (StringUtils.isNotEmpty(param.getGateWayId())) {
- criteria.and("gateWayId").is(param.getGateWayId());
- }
- if (StringUtils.isNotEmpty(param.getEpId())) {
- criteria.and("epId").is(param.getEpId());
- }
- // 模糊搜索
- List<Criteria> criterias = new ArrayList<>();
- if (StringUtils.isNotEmpty(param.getGateWayName())) {
- Pattern pattern = Pattern.compile("^.*" + param.getGateWayName() + ".*$");
- criterias.add(Criteria.where("gateWayName").is(pattern));
- }
- if (!CollectionUtils.isEmpty(criterias)) {
- criteria.andOperator(criterias.toArray(new Criteria[]{}));
- }
- criteria.and("isDelete").is(Boolean.FALSE);
- Sort sort = param.getSort();
- if (ObjectUtils.isEmpty(sort)) {
- sort = Sort.by(Sort.Order.desc("createTime"));
- }
- Query query = Query.query(criteria);
- query.with(sort);
- return dbHelper.pages(query, pageable, GateWayInfo.class);
- }
- }
|