From 56904629664cc1b2559bbe621ce90aa6513a0a1e Mon Sep 17 00:00:00 2001 From: attiya <2413103649@qq.com> Date: Tue, 5 Aug 2025 14:09:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=8D=A2=E7=94=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EbikeOrderController.java | 16 ++++++++--- .../dto/request/BatchBatteryOrderVo.java | 14 ++++++++++ .../service/EbikeBikeOrderService.java | 8 ++++++ .../impl/EbikeBikeOrderServiceImpl.java | 28 +++++++++++++++++++ 4 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/model/dto/request/BatchBatteryOrderVo.java diff --git a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/controller/EbikeOrderController.java b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/controller/EbikeOrderController.java index 77f403a2..1e289939 100644 --- a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/controller/EbikeOrderController.java +++ b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/controller/EbikeOrderController.java @@ -1,12 +1,10 @@ package com.cdzy.ebikemaintenance.controller; import com.cdzy.common.model.JsonResult; +import com.cdzy.ebikemaintenance.model.dto.request.BatchBatteryOrderVo; import com.cdzy.ebikemaintenance.service.EbikeBikeOrderService; import jakarta.annotation.Resource; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * 工单控制层 @@ -39,4 +37,14 @@ public class EbikeOrderController { ebikeBikeOrderService.receiveBatteryOrder(bikeId); return JsonResult.success(); } + + /** + * 批量领取换电工单 + * @return 结果 + */ + @GetMapping("receiveBatchBatteryOrder") + public JsonResult receiveBatchBatteryOrder(@RequestBody BatchBatteryOrderVo batteryOrderVo) { + ebikeBikeOrderService.receiveBatchBatteryOrder(batteryOrderVo.getBikeIds()); + return JsonResult.success(); + } } diff --git a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/model/dto/request/BatchBatteryOrderVo.java b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/model/dto/request/BatchBatteryOrderVo.java new file mode 100644 index 00000000..fd716b2c --- /dev/null +++ b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/model/dto/request/BatchBatteryOrderVo.java @@ -0,0 +1,14 @@ +package com.cdzy.ebikemaintenance.model.dto.request; + +import lombok.Data; + +import java.util.List; + +/** + * @author attiya + * @since 2025-08-05 + */ +@Data +public class BatchBatteryOrderVo { + private List bikeIds; +} diff --git a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/EbikeBikeOrderService.java b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/EbikeBikeOrderService.java index 97a84729..b3a1cf8b 100644 --- a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/EbikeBikeOrderService.java +++ b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/EbikeBikeOrderService.java @@ -3,6 +3,8 @@ package com.cdzy.ebikemaintenance.service; import com.cdzy.ebikemaintenance.model.pojo.EbikeBikeOrder; import com.mybatisflex.core.service.IService; +import java.util.List; + /** * 工单信息 服务层。 * @@ -29,4 +31,10 @@ public interface EbikeBikeOrderService extends IService { * @param bikeId 车辆ID */ void receiveBatteryOrder(Long bikeId); + + /** + * 批量领取换电工单 + * @param bikeIds 车辆ID列表 + */ + void receiveBatchBatteryOrder(List bikeIds); } diff --git a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeOrderServiceImpl.java b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeOrderServiceImpl.java index ee0ec834..742feb26 100644 --- a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeOrderServiceImpl.java +++ b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeOrderServiceImpl.java @@ -12,11 +12,13 @@ import com.ebike.feign.clients.StaffFeignClient; import com.ebike.feign.model.rsp.StaffFeign; import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator; import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.core.update.UpdateChain; import com.mybatisflex.spring.service.impl.ServiceImpl; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; import java.util.Objects; import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeBikeInfoTableDef.EBIKE_BIKE_INFO; @@ -96,7 +98,33 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl bikeIds) { + String tokenValue = StpUtil.getTokenValue(); + JsonResult jsonResult = staffFeignClient.getInfoByToken(tokenValue); + if (jsonResult.getCode() == Code.SUCCESS){ + throw new RuntimeException("获取用户信息失败"); + } + Long staffId = jsonResult.getData().getStaffId(); + QueryWrapper queryWrapper = QueryWrapper.create() + .where(EBIKE_BIKE_ORDER.BIKE_ID.in(bikeIds)) + .where(EBIKE_BIKE_ORDER.RECEIVER_ID.isNull()) + .where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq("2")) + .where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq("0")); + List list = this.mapper.selectListByQuery(queryWrapper); + List strings = list.stream().map(EbikeBikeOrder::getOrderId).toList(); + UpdateChain.of(EBIKE_BIKE_ORDER) + .set(EBIKE_BIKE_ORDER.RECEIVER_ID,staffId) + .where(EBIKE_BIKE_ORDER.ORDER_ID.in(strings)) + .where(EBIKE_BIKE_ORDER.RECEIVER_ID.isNull()) + .where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq("2")) + .where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq("0")); + } }