From 18ab5ec446dba843f7d7232bd606621f56355f16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=9C=B1?= <2671189764@qq.com> Date: Mon, 26 May 2025 15:38:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=8D=95=E4=B8=AA=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=BF=85=E4=BC=A0=20=E4=B8=8D=E8=83=BD=E4=B8=BA?= =?UTF-8?q?=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EbikeComponentController.java | 14 +++--- .../ResComponentOutRecordInfoDto.java | 2 + .../impl/EbikeComponentServiceImpl.java | 45 +++++++++++++++++++ 3 files changed, 55 insertions(+), 6 deletions(-) diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeComponentController.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeComponentController.java index 12f34d4a..8d469ed9 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeComponentController.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeComponentController.java @@ -10,7 +10,10 @@ import com.cdzy.ebikeoperate.model.pojo.EbikeHelmetEnterRecords; import com.cdzy.ebikeoperate.service.EbikeBikeQrcodeService; import com.cdzy.ebikeoperate.service.EbikeComponentService; import com.mybatisflex.core.paginate.Page; +import jakarta.validation.constraints.Null; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Map; @@ -44,7 +47,7 @@ public class EbikeComponentController { * @return */ @GetMapping("/invalidateDevicePart") - public JsonResult invalidateDevicePart(@RequestParam(name="componentEnterRecordId")String componentEnterRecordId) { + public JsonResult invalidateDevicePart(@RequestParam(name="componentEnterRecordId")@NotNull String componentEnterRecordId) { return ebikeComponentService.invalidateDevicePart(componentEnterRecordId); } /** @@ -53,7 +56,7 @@ public class EbikeComponentController { * @return */ @GetMapping("/cancelDevicePart") - public JsonResult cancelDevicePart(@RequestParam(name = "componentEnterRecordId") String componentEnterRecordId) { + public JsonResult cancelDevicePart(@RequestParam(name = "componentEnterRecordId")@NotNull String componentEnterRecordId) { return ebikeComponentService.cancelDevicePart(componentEnterRecordId); } @@ -73,7 +76,7 @@ public class EbikeComponentController { * @return */ @GetMapping("/cancelOutDevicePart") - public JsonResult cancelOutDevicePart(@RequestParam(name = "componentOutRecordId") String componentOutRecordId) { + public JsonResult cancelOutDevicePart(@RequestParam(name = "componentOutRecordId")@NotNull String componentOutRecordId) { return ebikeComponentService.cancelOutDevicePart(componentOutRecordId); } /** @@ -82,7 +85,7 @@ public class EbikeComponentController { * @return */ @GetMapping("/invalidateOutDevicePart") - public JsonResult invalidateOutDevicePart(@RequestParam(name="componentOutRecordId")String componentOutRecordId) { + public JsonResult invalidateOutDevicePart(@RequestParam(name="componentOutRecordId")@NotNull String componentOutRecordId) { return ebikeComponentService.invalidateOutDevicePart(componentOutRecordId); } @@ -116,8 +119,7 @@ public class EbikeComponentController { * @return ResComponentOutRecordInfoDto */ @GetMapping("/getComponentOutRecordInfo") - public JsonResult getComponentOutRecordInfo(@RequestParam(name="componentOutRecordId") String componentOutRecordId) { + public JsonResult getComponentOutRecordInfo(@RequestParam(name="componentOutRecordId") @NotNull String componentOutRecordId) { return ebikeComponentService.getComponentOutRecordInfo(componentOutRecordId); - } } diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResComponentOutRecordInfoDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResComponentOutRecordInfoDto.java index ed8382c0..41f35651 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResComponentOutRecordInfoDto.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResComponentOutRecordInfoDto.java @@ -2,9 +2,11 @@ package com.cdzy.ebikeoperate.model.dto.response; import com.cdzy.ebikeoperate.model.pojo.*; import com.mybatisflex.annotation.Id; +import lombok.Data; import java.util.List; +@Data public class ResComponentOutRecordInfoDto { /** diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeComponentServiceImpl.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeComponentServiceImpl.java index b7b71401..dc7de1de 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeComponentServiceImpl.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeComponentServiceImpl.java @@ -14,6 +14,7 @@ import com.ebike.feign.model.rsp.StaffFeign; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -674,6 +675,50 @@ public class EbikeComponentServiceImpl implements EbikeComponentService { public JsonResult getComponentOutRecordInfo(String componentOutRecordId) { QueryWrapper query = new QueryWrapper(); ResComponentOutRecordInfoDto resComponentOutRecordInfoDto = new ResComponentOutRecordInfoDto(); + query.eq("component_out_record_id", componentOutRecordId); + EbikeComponentOutRecords ebikeComponentOutRecords = ebikeComponentOutRecordsMapper.selectOneByQuery(query); + BeanUtils.copyProperties(ebikeComponentOutRecords, resComponentOutRecordInfoDto); + String componentType = ebikeComponentOutRecords.getComponentType(); + ComponentType componentTypeEnum = ComponentType.fromCode(componentType); + switch (componentTypeEnum) { + case BATTERY: // 电池 + List ebikeBatteryOutRecords = ebikeBatteryOutRecordsMapper.selectListWithRelationsByQuery(query); + resComponentOutRecordInfoDto.setEbikeBatteryOutRecords(ebikeBatteryOutRecords); + break; + case HELMET: // 头盔 + List ebikeHelmetOutRecords = ebikeHelmetOutRecordsMapper.selectListWithRelationsByQuery(query); + resComponentOutRecordInfoDto.setEbikeHelmetOutRecords(ebikeHelmetOutRecords); + break; + case ECU: // 中控 + List ebikeEcuOutRecords = ebikeEcuOutRecordsMapper.selectListWithRelationsByQuery(query); + resComponentOutRecordInfoDto.setEbikeEcuOutRecords(ebikeEcuOutRecords); + break; + } + //查询是否存在规划记录 + EbikeComponentEnterRecords ebikeComponentEnterRecords = ebikeComponentEnterRecordsMapper.selectOneByQuery(query); + if(ebikeComponentEnterRecords!=null){ + String componentEnterRecordId = ebikeComponentEnterRecords.getComponentEnterRecordId(); + query = new QueryWrapper(); + query.eq("component_enter_record_id", componentEnterRecordId); + String componentEnterType = ebikeComponentEnterRecords.getComponentType(); + ComponentType componentTypeEnumEnter = ComponentType.fromCode(componentEnterType); + switch (componentTypeEnumEnter) { + case BATTERY: // 电池 + List ebikeBatteryEnterRecords = ebikeBatteryEnterRecordsMapper.selectListWithRelationsByQuery(query); + resComponentOutRecordInfoDto.setEbikeBatteryEnterRecords(ebikeBatteryEnterRecords); + break; + case HELMET: // 头盔 + List ebikeHelmetEnterRecords = ebikeHelmetEnterRecordsMapper.selectListWithRelationsByQuery(query); + resComponentOutRecordInfoDto.setEbikeHelmetEnterRecords(ebikeHelmetEnterRecords); + break; + case ECU: // 中控 + List ebikeEcuEnterRecords = ebikeEcuEnterRecordsMapper.selectListWithRelationsByQuery(query); + resComponentOutRecordInfoDto.setEbikeEcuEnterRecords(ebikeEcuEnterRecords); + break; + } + } + + return JsonResult.success(resComponentOutRecordInfoDto); } public StaffFeign getStaffFeignInfo() {