package com.ruoyi.integration.mongodb.service.impl;
|
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.utils.StringUtils;
|
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
|
import com.ruoyi.integration.iotda.constant.IotConstant;
|
import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.domain.PageRequest;
|
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.stereotype.Service;
|
|
import java.util.List;
|
import java.util.Set;
|
|
@Service
|
public class UploadRealTimeMonitoringDataServiceImpl implements UploadRealTimeMonitoringDataService {
|
@Autowired
|
private MongoTemplate mongoTemplate;
|
|
@Override
|
public int create(UploadRealTimeMonitoringData uploadRealTimeMonitoringData) {
|
mongoTemplate.save(uploadRealTimeMonitoringData);
|
return IotConstant.SUCCESS;
|
}
|
|
@Override
|
public UploadRealTimeMonitoringData findById(String id) {
|
return mongoTemplate.findById(id, UploadRealTimeMonitoringData.class);
|
}
|
|
|
@Override
|
public List<UploadRealTimeMonitoringData> findAll() {
|
return mongoTemplate.findAll(UploadRealTimeMonitoringData.class);
|
}
|
|
|
/**
|
* 根据订单号查询监控数据
|
* @param code
|
* @return
|
*/
|
@Override
|
public List<UploadRealTimeMonitoringData> getDataByOrderCode(String code) {
|
Query query = new Query();
|
if(StringUtils.isNotEmpty(code)){
|
query.addCriteria(Criteria.where("transaction_serial_number").is(code));
|
}
|
List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
|
query.with(Sort.by("create_time"))
|
, UploadRealTimeMonitoringData.class);
|
return uploadRealTimeMonitoringData;
|
}
|
|
@Override
|
public List<UploadRealTimeMonitoringData> getDataAll(Set<String> values, Integer page, Integer size) {
|
Query query = new Query();
|
if (!values.isEmpty()){
|
query.addCriteria(Criteria.where("transaction_serial_number").in(values));
|
}
|
// 设置分页
|
Pageable pageable = PageRequest.of(page, size);
|
query.with(pageable);
|
|
List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
|
query.with(Sort.by("create_time"))
|
, UploadRealTimeMonitoringData.class);
|
return uploadRealTimeMonitoringData;
|
}
|
|
}
|