ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3ChargingController.java
@@ -1,6 +1,7 @@ package com.sandu.ximon.admin.controller; import com.sandu.common.domain.ResponseVO; import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.security.annotation.AnonymousAccess; import com.sandu.common.util.ResponseUtil; @@ -56,11 +57,14 @@ // } /** * 充电结束 * 充电结束——小程序用户结束,不需要token,需要openId */ @PostMapping("/finishCharging") public ResponseVO<Object> finishCharging(@RequestBody C3ChargingParam c3ChargingParam) { String result = c3ChargingService.finishCharging(c3ChargingParam.getC3Mac()); if (c3ChargingParam.getC3Mac() == null || c3ChargingParam.getOpenId() == null) { throw new BusinessException("参数错误!"); } String result = c3ChargingService.finishCharging(c3ChargingParam.getC3Mac(), c3ChargingParam.getOpenId()); if ("操作成功".equals(result)) { return ResponseUtil.success(result); ximon-admin/src/main/java/com/sandu/ximon/admin/param/C3ChargingParam.java
@@ -49,4 +49,7 @@ //二维码数据 private String qrCodeData; //小程序用户openId private String openId; } ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -349,7 +349,21 @@ * @param c3Mac */ @Transactional(rollbackFor = Exception.class) public String finishCharging(String c3Mac) { public String finishCharging(String c3Mac, String openId) { //查询 if (openId.isEmpty()) { throw new BusinessException("openId不能为空"); } //查询该充电桩最近的订单 C3mOrder order = SpringContextHolder.getBean(C3mOrderService.class).getOne(Wrappers.lambdaQuery(C3mOrder.class) .eq(C3mOrder::getC3Mac, c3Mac).eq(C3mOrder::getChargingStates, 0).last("limit 1")); if (order == null) { throw new BusinessException("充电桩没有进行中的订单"); } if (!openId.equals(order.getOrderId())) { throw new BusinessException("不能操作不属于您的订单"); } C3FinishChargingReqInnerFrame c3FinishChargingReqInnerFrame = new C3FinishChargingReqInnerFrame(c3Mac);