| | |
| | | package com.ruoyi.integration.mongodb.service.impl; |
| | | |
| | | import com.mongodb.client.result.DeleteResult; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.integration.iotda.constant.IotConstant; |
| | | import com.ruoyi.integration.api.model.Ping; |
| | | import com.ruoyi.integration.mongodb.service.PingService; |
| | |
| | | import org.springframework.data.mongodb.core.query.Query; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | |
| | | public void delPing() { |
| | | mongoTemplate.remove(new Query().addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusDays(1))), Ping.class); |
| | | } |
| | | |
| | | @Override |
| | | public void save(Ping ping) { |
| | | Query query = new Query(); |
| | | if (StringUtils.isNotEmpty(ping.getCharging_pile_code())) { |
| | | query.addCriteria(Criteria.where("charging_pile_code").is(ping.getCharging_pile_code())); |
| | | } |
| | | if (StringUtils.isNotEmpty(ping.getCharging_gun_code())){ |
| | | query.addCriteria(Criteria.where("charging_gun_code").is(ping.getCharging_gun_code())); |
| | | } |
| | | List<Ping> pings = mongoTemplate.find(query, Ping.class); |
| | | if(pings.size() > 0){ |
| | | Ping ping1 = pings.get(0); |
| | | ping1.setLast_time(new Date()); |
| | | ping1.setCharging_gun_status(ping.getCharging_gun_status()); |
| | | mongoTemplate.save(ping1); |
| | | }else{ |
| | | mongoTemplate.save(ping); |
| | | } |
| | | } |
| | | } |