From 7f626fdefd47fd4b0326246f8ef9374c84c89e6a Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 23 Apr 2025 19:36:31 +0800 Subject: [PATCH] 11 --- .../impl/HardBroadcastServiceImpl.java | 8 +- .../service/impl/HardDoorFlowServiceImpl.java | 174 ++++-------------- .../impl/order/HardOrderServiceImpl.java | 6 +- .../dto/hard/HardTakeFoodBroadcastMsg.java | 7 +- .../bsd/pjcloud/mqtt/service/MqttService.java | 3 +- 5 files changed, 54 insertions(+), 144 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardBroadcastServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardBroadcastServiceImpl.java index ea55921eb..6c5eb19ab 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardBroadcastServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardBroadcastServiceImpl.java @@ -106,7 +106,7 @@ public class HardBroadcastServiceImpl extends ServiceImpl videoList = dto.getVideoList().stream().map(DoorVideoCallbackDto.Video::getVideoUrl).toList(); // 提交柜子商品信息 @@ -293,8 +290,6 @@ public class HardDoorFlowServiceImpl extends ServiceImpl { - updateObj.setRequestOpenDto(JSONUtil.toJsonStr(dto)); - updateObj.setRequestOpenVo(JSONUtil.toJsonStr(vo)); - updateObj.setRequestOpenTime(LocalDateTime.now()); - if (ObjectUtil.isNotEmpty(flow.getAuthId())) { - updateObj.setAuthId(flow.getAuthId()); - } - if (ObjectUtil.isNotEmpty(flow.getHardId())) { - updateObj.setHardId(flow.getHardId()); - } - if (ObjectUtil.isNotEmpty(flow.getHardDoorId())) { - updateObj.setHardDoorId(flow.getHardDoorId()); - } - if (ObjectUtil.isNotEmpty(flow.getCabinetNo())) { - updateObj.setCabinetNo(flow.getCabinetNo()); - } - if (ObjectUtil.isNotEmpty(error)) { - updateObj.setErrorDesc("智能柜申请开门错误"); - } - break; - } - // 智能柜开门响应 - case FLOW_CALLBACK_OPEN -> { - updateObj.setOpenCallbackVo(JSONUtil.toJsonStr(vo)); - updateObj.setOpenCallbackTime(LocalDateTime.now()); - if (ObjectUtil.isNotEmpty(flow.getIsOpen())) { - updateObj.setIsOpen(flow.getIsOpen()); - } - if (ObjectUtil.isNotEmpty(flow.getOrderId())) { - updateObj.setOrderId(flow.getOrderId()); - } - if (ObjectUtil.isNotEmpty(error)) { - updateObj.setErrorDesc("智能柜开门响应错误"); - } - break; - } - // 智能柜视频回调 - case FLOW_CALLBACK_VIDEO -> { - updateObj.setVideoCallbackVo(JSONUtil.toJsonStr(vo)); - updateObj.setVideoCallbackTime(LocalDateTime.now()); - if (ObjectUtil.isNotEmpty(error)) { - updateObj.setErrorDesc("智能柜视频回调错误"); - } - break; - } - // 商品提交识别提交 - case FLOW_SUBMIT_RECOGNITION -> { - updateObj.setSkuSubmitDto(JSONUtil.toJsonStr(dto)); - updateObj.setSkuSubmitVo(JSONUtil.toJsonStr(vo)); - updateObj.setSkuSubmitTime(LocalDateTime.now()); - if (ObjectUtil.isNotEmpty(flow.getSkuSubmitRecogId())) { - updateObj.setSkuSubmitRecogId(flow.getSkuSubmitRecogId()); - } - if (ObjectUtil.isNotEmpty(error)) { - updateObj.setErrorDesc("商品提交识别提交错误"); - } - break; - } - // 商品识别响应 - case FLOW_CALLBACK_RECOGNITION -> { - updateObj.setSkuCallbackVo(JSONUtil.toJsonStr(vo)); - updateObj.setSkuCallbackTime(LocalDateTime.now()); - if (ObjectUtil.isNotEmpty(error)) { - updateObj.setErrorDesc("商品识别响应错误"); - } - break; - } - case FLOW_PAY_ORDER -> { - updateObj.setPayTime(LocalDateTime.now()); - if (ObjectUtil.isNotEmpty(error)) { - updateObj.setErrorDesc("商品识别响应错误"); - } - break; - } - } - baseMapper.updateById(updateObj); - } - private void disposeList(List list, HardDoorFlowDto dto) { if (ObjectUtil.isEmpty(list)) return; // 设备 diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index 70c4c54d5..869c1be6f 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -15,6 +15,7 @@ import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.admin.api.utils.DataUtil; import com.bsd.pjcloud.canteen.api.feign.RemoteOnlineCanteenSpuService; import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO; +import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.CollectionUtils; @@ -303,7 +304,7 @@ public class HardOrderServiceImpl extends ServiceImpl 0) throw new RuntimeException("您有" + reserveCount + "笔未核销的预约订单,请先核销"); + if (reserveCount > 100) throw new RuntimeException("您有" + reserveCount + "笔未核销的预约订单,请先核销"); // 钱包 WalletManageEntity wallet = remoteWalletService.getWallet(dto.getUserId(), dto.getWalletType()).getData(); if (ObjectUtil.isEmpty(wallet)) throw new RuntimeException("用户钱包不存在"); @@ -831,9 +832,10 @@ public class HardOrderServiceImpl extends ServiceImpl() .eq(HardOrderEntity::getUserId, userId) + .eq(HardOrderEntity::getMerchantType, MerchantTypeEnum.CANTEEN.getType()) .eq(HardOrderEntity::getSysType, HardTypeEnum.CANTEEN.getType()) .eq(HardOrderEntity::getOrderType, HardOrderTypeEnum.RESERVE.getType()) - .ne(HardOrderEntity::getOrderStatus, HardOrderStatusEnum.CANCEL.getType()) + .eq(HardOrderEntity::getOrderStatus, HardOrderStatusEnum.PAY.getType()) ); } diff --git a/pjcloud-mqtt/pjcloud-mqtt-api/src/main/java/com/bsd/pjcloud/mqtt/dto/hard/HardTakeFoodBroadcastMsg.java b/pjcloud-mqtt/pjcloud-mqtt-api/src/main/java/com/bsd/pjcloud/mqtt/dto/hard/HardTakeFoodBroadcastMsg.java index 4f79a1f62..ade86a1a9 100644 --- a/pjcloud-mqtt/pjcloud-mqtt-api/src/main/java/com/bsd/pjcloud/mqtt/dto/hard/HardTakeFoodBroadcastMsg.java +++ b/pjcloud-mqtt/pjcloud-mqtt-api/src/main/java/com/bsd/pjcloud/mqtt/dto/hard/HardTakeFoodBroadcastMsg.java @@ -19,7 +19,7 @@ public class HardTakeFoodBroadcastMsg extends MqttHardBaseMsg { /** * 预定用户名 */ - private String userName; + private String username; /** * 预定用户手机号 @@ -56,4 +56,9 @@ public class HardTakeFoodBroadcastMsg extends MqttHardBaseMsg { */ private Integer payPrice; + /** + * 预定时间类型 + */ + private String hourType; + } diff --git a/pjcloud-mqtt/pjcloud-mqtt-biz/src/main/java/com/bsd/pjcloud/mqtt/service/MqttService.java b/pjcloud-mqtt/pjcloud-mqtt-biz/src/main/java/com/bsd/pjcloud/mqtt/service/MqttService.java index 9f71cb93a..5195d6570 100644 --- a/pjcloud-mqtt/pjcloud-mqtt-biz/src/main/java/com/bsd/pjcloud/mqtt/service/MqttService.java +++ b/pjcloud-mqtt/pjcloud-mqtt-biz/src/main/java/com/bsd/pjcloud/mqtt/service/MqttService.java @@ -10,6 +10,7 @@ import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; import org.springframework.stereotype.Component; import org.springframework.validation.annotation.Validated; +import java.nio.charset.StandardCharsets; import java.util.Objects; @Validated @@ -96,7 +97,7 @@ public class MqttService { MqttMessage message = new MqttMessage(); message.setQos(qos); message.setRetained(retained); - message.setPayload(pushMessage.getBytes()); + message.setPayload(pushMessage.getBytes(StandardCharsets.UTF_8)); MqttTopic mTopic = MqttService.getClient().getTopic(topic); MqttDeliveryToken token; try {