diff --git a/src/main/java/com/zjyr/beidouservice/mapper/SensorTaskMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/SensorTaskMapper.java index 5070bb4..9395289 100644 --- a/src/main/java/com/zjyr/beidouservice/mapper/SensorTaskMapper.java +++ b/src/main/java/com/zjyr/beidouservice/mapper/SensorTaskMapper.java @@ -13,4 +13,8 @@ public interface SensorTaskMapper { int addNewSensorTaskData(@Param("sensor") SensorTask sensorTask); int addNewSensorTaskDatas(@Param("taskLists") List taskLists); + + int countTaskResponseSensor(@Param("taskId") Integer taskId); + + int countTaskResponseSuccessedSensor(@Param("taskId") Integer taskId); } diff --git a/src/main/java/com/zjyr/beidouservice/service/SensorTaskService.java b/src/main/java/com/zjyr/beidouservice/service/SensorTaskService.java index 7292459..da82dda 100644 --- a/src/main/java/com/zjyr/beidouservice/service/SensorTaskService.java +++ b/src/main/java/com/zjyr/beidouservice/service/SensorTaskService.java @@ -4,4 +4,8 @@ import com.zjyr.beidouservice.pojo.vo.binary.SensorTaskAck; public interface SensorTaskService { void addSensorTaskResponse(Long controlId, SensorTaskAck sensorTaskAck); + + int getRespSensors(int taskId); + + int getRespSuccessedSensors(int taskId); } diff --git a/src/main/java/com/zjyr/beidouservice/service/impl/SensorTaskServiceImpl.java b/src/main/java/com/zjyr/beidouservice/service/impl/SensorTaskServiceImpl.java index ec88878..9bc295b 100644 --- a/src/main/java/com/zjyr/beidouservice/service/impl/SensorTaskServiceImpl.java +++ b/src/main/java/com/zjyr/beidouservice/service/impl/SensorTaskServiceImpl.java @@ -26,12 +26,26 @@ public class SensorTaskServiceImpl implements SensorTaskService { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (var v : sensorTaskAck.getSensorStatus()) { - sensorTasks.add(SensorTask.builder().taskId(sensorTaskAck.getTaskId()) - .deviceId(controlId) - .sensorId((long) v.getSensorId()).deviceId(0L).taskResult( - v.getTaskResult()).reportTime(sdf.format(timeStamp)).build()); + sensorTasks.add(SensorTask.builder() + .taskId(sensorTaskAck.getTaskId()) + .deviceId(controlId) + .sensorId((long) v.getSensorId()) + .deviceId(0L) + .taskResult(v.getTaskResult()) + .reportTime(sdf.format(timeStamp)) + .build()); } sensorTaskMapper.addNewSensorTaskDatas(sensorTasks); } + + @Override + public int getRespSensors(int taskId) { + return sensorTaskMapper.countTaskResponseSensor(taskId); + } + + @Override + public int getRespSuccessedSensors(int taskId) { + return sensorTaskMapper.countTaskResponseSuccessedSensor(taskId); + } } diff --git a/src/main/resources/mappers/SensorTask.xml b/src/main/resources/mappers/SensorTask.xml index 4db6f55..2f7b9f9 100644 --- a/src/main/resources/mappers/SensorTask.xml +++ b/src/main/resources/mappers/SensorTask.xml @@ -50,4 +50,17 @@ TIMESTAMP(#{itme.reportTime})) + + + + \ No newline at end of file diff --git a/src/test/java/com/zjyr/beidouservice/mapper/ControlDeviceMapperTest.java b/src/test/java/com/zjyr/beidouservice/mapper/ControlDeviceMapperTest.java index f6836e7..12dbec8 100644 --- a/src/test/java/com/zjyr/beidouservice/mapper/ControlDeviceMapperTest.java +++ b/src/test/java/com/zjyr/beidouservice/mapper/ControlDeviceMapperTest.java @@ -8,14 +8,16 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.annotation.Rollback; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @Slf4j @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) -//@Transactional -//@Rollback +@Transactional +@Rollback public class ControlDeviceMapperTest { @Resource private ControlDeviceMapper controlDeviceMapper; diff --git a/src/test/java/com/zjyr/beidouservice/mapper/SensorTaskMapperTest.java b/src/test/java/com/zjyr/beidouservice/mapper/SensorTaskMapperTest.java new file mode 100644 index 0000000..1176434 --- /dev/null +++ b/src/test/java/com/zjyr/beidouservice/mapper/SensorTaskMapperTest.java @@ -0,0 +1,37 @@ +package com.zjyr.beidouservice.mapper; + +import com.zjyr.beidouservice.pojo.entry.ControlDevice; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.annotation.Rollback; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@Slf4j +@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) +@Transactional +@Rollback +public class SensorTaskMapperTest { + @Resource + SensorTaskMapper sensorTaskMapper; + + @Test + public void a1_countTaskResponseSensor() { + int nResponse = sensorTaskMapper.countTaskResponseSensor(0); + Assertions.assertNotEquals(nResponse, 0); + log.info("Total Response Sensor: {}", nResponse); + } + + @Test + public void a2_countTaskResponseSuccessedSensor() { + int nResponseOK = sensorTaskMapper.countTaskResponseSuccessedSensor(0); + Assertions.assertNotEquals(nResponseOK, 0); + log.info("Total Response OK Sensor: {}", nResponseOK); + } +}