批量换电

This commit is contained in:
attiya 2025-08-05 16:07:37 +08:00
parent 5690462966
commit eb7eaa2d83
3 changed files with 21 additions and 10 deletions

View File

@ -4,6 +4,7 @@ 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
@ -42,8 +43,8 @@ public class EbikeOrderController {
* 批量领取换电工单
* @return 结果
*/
@GetMapping("receiveBatchBatteryOrder")
public JsonResult<?> receiveBatchBatteryOrder(@RequestBody BatchBatteryOrderVo batteryOrderVo) {
@PostMapping("receiveBatchBatteryOrder")
public JsonResult<?> receiveBatchBatteryOrder(@RequestBody @Validated BatchBatteryOrderVo batteryOrderVo) {
ebikeBikeOrderService.receiveBatchBatteryOrder(batteryOrderVo.getBikeIds());
return JsonResult.success();
}

View File

@ -1,5 +1,7 @@
package com.cdzy.ebikemaintenance.model.dto.request;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.util.List;
@ -10,5 +12,8 @@ import java.util.List;
*/
@Data
public class BatchBatteryOrderVo {
@NotNull(message = "车辆ID集合不能为空")
@Size(min = 1,message = "车辆ID集合最小Size为1")
private List<String> bikeIds;
}

View File

@ -48,6 +48,9 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
.leftJoin(EBIKE_ECU_INFO).on(EBIKE_ECU_INFO.ECU_ID.eq(EBIKE_BIKE_INFO.ECU_ID))
.where(EBIKE_ECU_INFO.ECU_SN.eq(ecuSn));
EbikeBikeInfo ebikeBikeInfo = infoMapper.selectOneByQuery(queryWrapper);
if (ebikeBikeInfo == null) {
throw new RuntimeException("该车辆不存在");
}
queryWrapper.clear();
queryWrapper.where(EBIKE_BIKE_ORDER.BIKE_ID.eq(ebikeBikeInfo.getBikeId()))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq("2"))
@ -114,17 +117,19 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
}
Long staffId = jsonResult.getData().getStaffId();
QueryWrapper queryWrapper = QueryWrapper.create()
.select(EBIKE_BIKE_ORDER.ORDER_ID)
.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<EbikeBikeOrder> list = this.mapper.selectListByQuery(queryWrapper);
List<String> strings = list.stream().map(EbikeBikeOrder::getOrderId).toList();
List<String> list = this.mapper.selectListByQueryAs(queryWrapper,String.class);
if (list != null && !list.isEmpty()){
UpdateChain.of(EBIKE_BIKE_ORDER)
.set(EBIKE_BIKE_ORDER.RECEIVER_ID,staffId)
.where(EBIKE_BIKE_ORDER.ORDER_ID.in(strings))
.where(EBIKE_BIKE_ORDER.ORDER_ID.in(list))
.where(EBIKE_BIKE_ORDER.RECEIVER_ID.isNull())
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq("2"))
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq("0"));
}
}
}