package com.ruoyi.jianguan.mongodb.service.impl;
|
|
import com.ruoyi.common.core.utils.StringUtils;
|
import com.ruoyi.integration.api.model.PlatformStartCharging;
|
import com.ruoyi.integration.api.model.PlatformStopChargingReply;
|
import com.ruoyi.integration.api.vo.GetPlatformStopChargingReply;
|
import com.ruoyi.jianguan.constant.IotConstant;
|
import com.ruoyi.jianguan.mongodb.service.PlatformStopChargingReplyService;
|
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.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Objects;
|
|
@Service
|
public class PlatformStopChargingReplyServiceImpl implements PlatformStopChargingReplyService {
|
@Autowired
|
private MongoTemplate mongoTemplate;
|
@Override
|
public int create(PlatformStopChargingReply platformStopChargingReply) {
|
mongoTemplate.save(platformStopChargingReply);
|
return IotConstant.SUCCESS;
|
}
|
|
@Override
|
public PlatformStopChargingReply findById(String id) {
|
return mongoTemplate.findById(id, PlatformStopChargingReply.class);
|
}
|
|
@Override
|
public List<PlatformStopChargingReply> findAll() {
|
return mongoTemplate.findAll(PlatformStopChargingReply.class);
|
}
|
|
|
/**
|
* 根据枪编号获取
|
* @return
|
*/
|
@Override
|
public PlatformStopChargingReply getPlatformStopChargingReply(GetPlatformStopChargingReply query) {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
List<PlatformStopChargingReply> platformStopChargingReplies = mongoTemplate.find(new Query().addCriteria(Criteria.where("charging_pile_code").is(query.getCharging_pile_code())
|
.and("charging_gun_code").is(query.getCharging_gun_code()).and("create_time").lte(sdf.format(new Date())).gte(query.getEnd_time())), PlatformStopChargingReply.class);
|
return platformStopChargingReplies.size() > 0 ? platformStopChargingReplies.get(0) : null;
|
}
|
|
@Override
|
public List<PlatformStopChargingReply> getRangeTimeData(Date startTime, Date endTime) {
|
Query query = new Query();
|
// 根据时间范围查询
|
if (Objects.nonNull(startTime) && Objects.nonNull(endTime)) {
|
query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
|
}
|
List<PlatformStopChargingReply> list = mongoTemplate.find(
|
query.with(Sort.by(Sort.Order.desc("create_time")))
|
, PlatformStopChargingReply.class);
|
return list;
|
}
|
}
|