package com.ruoyi.integration.mongodb.service.impl; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.integration.iotda.constant.IotConstant; import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation; import com.ruoyi.integration.mongodb.service.BmsDemandAndChargerExportationService; import org.springframework.beans.factory.annotation.Autowired; 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.time.LocalDateTime; import java.util.List; @Service public class BmsDemandAndChargerExportationServiceImpl implements BmsDemandAndChargerExportationService { @Autowired private MongoTemplate mongoTemplate; @Override public int create(BmsDemandAndChargerExportation bmsDemandAndChargerExportation) { mongoTemplate.save(bmsDemandAndChargerExportation); return IotConstant.SUCCESS; } @Override public BmsDemandAndChargerExportation findById(String id) { return mongoTemplate.findById(id, BmsDemandAndChargerExportation.class); } @Override public List findAll() { return mongoTemplate.findAll(BmsDemandAndChargerExportation.class); } @Override public List getBmsDemandAndChargerExportation(String orderCode) { Query query = new Query(); if(StringUtils.isNotEmpty(orderCode)){ query.addCriteria(Criteria.where("transaction_serial_number").is(orderCode)); } List uploadRealTimeMonitoringData = mongoTemplate.find( query.with(Sort.by(Sort.Order.desc("create_time"))) , BmsDemandAndChargerExportation.class); return uploadRealTimeMonitoringData; } /** * 定时任务删除3个月前的数据 */ @Override public void taskDelete() { Query query = new Query(); query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2))); mongoTemplate.remove(query, BmsDemandAndChargerExportation.class); } }