站端预约订单 开始换电功能 订单过期

This commit is contained in:
tzy 2025-04-04 11:36:34 +08:00
parent 08ba470b87
commit 8e8fb5c4f8
5 changed files with 62 additions and 0 deletions

View File

@ -3,6 +3,9 @@ package com.evotech.hd.cloud.controller;
import java.util.List;
import java.util.Map;
import com.evotech.hd.cloud.entity.request.BatterySwapRequest;
import com.evotech.hd.cloud.entity.request.BatterySwapResponse;
import com.evotech.hd.cloud.mqtt.message.handle.RequestMessageService;
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -26,6 +29,7 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
@Tag(name = "换电站")
@ApiSupport(order = 11)
@RestController
@ -34,6 +38,8 @@ public class BatteryStationController {
@Resource
private BatteryStationService batteryStationService;
@Resource
private RequestMessageService pro;
@Operation(summary = "增加")
@PostMapping("/add")

View File

@ -2,6 +2,8 @@ package com.evotech.hd.cloud.controller.order;
import java.util.List;
import com.evotech.hd.cloud.entity.request.BatterySwapRequest;
import com.evotech.hd.cloud.entity.request.BatterySwapResponse;
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -151,5 +153,18 @@ public class OrderSwapBatteryController {
public Result<Integer> cancelOrder(@NotNull String orderNo) {
return orderSwapBatteryService.cancelOrder(orderNo, null);
}
@Operation(summary = "开始换电")
@GetMapping("/start")
@ApiOperationSupport(order = 8)
public Result<BatterySwapResponse> startSwap(@ParameterObject BatterySwapRequest battyreq ) {
// 创建换电请求对象
orderSwapBatteryService.startSwap(battyreq);
// 通过 MQTT 发送开始换电的消息
//pro.request();
// 等待换电站的回复
return null;
}
}

View File

@ -0,0 +1,9 @@
package com.evotech.hd.cloud.entity.request;
import lombok.Data;
@Data
public class BatterySwapRequest {
private String userId; // 用户ID
private String plateNum; // 车牌号
}

View File

@ -0,0 +1,13 @@
package com.evotech.hd.cloud.entity.request;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(name = "开始换电接收参数")
public class BatterySwapResponse {
private boolean success; // 是否成功
private String errorMessage; // 错误信息如果有
}

View File

@ -8,6 +8,8 @@ import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.evotech.hd.cloud.entity.request.BatterySwapRequest;
import com.evotech.hd.cloud.entity.request.BatterySwapResponse;
import com.evotech.hd.common.redis.utils.RedisUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -450,4 +452,21 @@ public class OrderSwapBatteryServiceImpl implements OrderSwapBatteryService {
}
}
@Override
public Result<BatterySwapResponse> startSwap(BatterySwapRequest battyreq) {
//获取用户wuid
String wuid = battyreq.getUserId();
LambdaQueryWrapper<OrderSwapBattery> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrderSwapBattery::getOrderPreUid,wuid)
.eq(OrderSwapBattery::getPlateNum,battyreq.getPlateNum());
OrderSwapBattery orderSwap = orderSwapBatteryDao.selectOne(wrapper);
if (orderSwap!=null){
//发送消息给站端
//
}
return null;
}
}