From 7affe8533d23df9ea512d291f2947eaea7e04a28 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 31 五月 2023 14:46:20 +0800
Subject: [PATCH] optimize dining
---
service-store/src/main/java/com/java110/store/cmd/reserveOrder/DoDiningCmd.java | 64 +++++++++++++++++++++++++++++---
1 files changed, 58 insertions(+), 6 deletions(-)
diff --git a/service-store/src/main/java/com/java110/store/cmd/reserveOrder/DoDiningCmd.java b/service-store/src/main/java/com/java110/store/cmd/reserveOrder/DoDiningCmd.java
index 31d8379..c1a3ed0 100644
--- a/service-store/src/main/java/com/java110/store/cmd/reserveOrder/DoDiningCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/reserveOrder/DoDiningCmd.java
@@ -9,6 +9,7 @@
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.community.CommunitySpacePersonTimeDto;
+import com.java110.dto.owner.OwnerDto;
import com.java110.dto.reserve.ReserveGoodsConfirmOrderDto;
import com.java110.dto.reserve.ReserveGoodsDto;
import com.java110.dto.reserve.ReserveGoodsOrderDto;
@@ -18,6 +19,7 @@
import com.java110.intf.store.IReserveGoodsOrderTimeV1InnerServiceSMO;
import com.java110.intf.store.IReserveGoodsOrderV1InnerServiceSMO;
import com.java110.intf.store.IReserveGoodsV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
import com.java110.intf.user.IUserV1InnerServiceSMO;
import com.java110.po.reserveGoodsConfirmOrder.ReserveGoodsConfirmOrderPo;
import com.java110.po.reserveGoodsOrder.ReserveGoodsOrderPo;
@@ -57,12 +59,66 @@
@Autowired
private IReserveGoodsConfirmOrderV1InnerServiceSMO reserveGoodsConfirmOrderV1InnerServiceSMOImpl;
+ @Autowired
+ private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖�");
Assert.hasKeyAndValue(reqJson, "qrCode", "鏈寘鍚簩缁寸爜");
Assert.hasKeyAndValue(reqJson, "goodsId", "鏈寘鍚晢鍝�");
+ String userId = userV1InnerServiceSMOImpl.getUserIdByQrCode(reqJson.getString("qrCode"));
+
+ if (StringUtil.isEmpty(userId)) {
+ throw new CmdException("浜岀淮鐮佽繃鏈�");
+ }
+
+ UserDto userDto = new UserDto();
+ userDto.setUserId(reqJson.getString("userId"));
+ List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+
+ Assert.listOnlyOne(userDtos, "鐢ㄦ埛涓嶅瓨鍦�");
+
+ // todo 鍒ゆ柇鐢ㄦ埛鏄惁涓鸿繖涓皬鍖轰笟涓�
+ OwnerDto ownerDto = new OwnerDto();
+ ownerDto.setCommunityId(reqJson.getString("communityId"));
+ ownerDto.setLink(userDtos.get(0).getTel());
+ int count = ownerV1InnerServiceSMOImpl.queryOwnersCount(ownerDto);
+ if (count < 1) {
+ throw new CmdException("涓氫富涓嶅瓨鍦�");
+ }
+ reqJson.put("userId", userId);
+
+ ReserveGoodsDto reserveGoodsDto = new ReserveGoodsDto();
+ reserveGoodsDto.setGoodsId(reqJson.getString("goodsId"));
+ List<ReserveGoodsDto> reserveGoodsDtos = reserveGoodsV1InnerServiceSMOImpl.queryReserveGoodss(reserveGoodsDto);
+ Assert.listOnlyOne(reserveGoodsDtos, "灏遍涓嶅瓨鍦�");
+
+ ReserveGoodsOrderTimeDto reserveGoodsOrderTimeDto = null;
+ int flag = 0;
+ int quantity = 0;
+ Calendar calendar = Calendar.getInstance();
+ reserveGoodsOrderTimeDto = new ReserveGoodsOrderTimeDto();
+ reserveGoodsOrderTimeDto.setCommunityId(reqJson.getString("communityId"));
+ reserveGoodsOrderTimeDto.setAppointmentTime(DateUtil.getFormatTimeStringB(DateUtil.getCurrentDate()));
+ reserveGoodsOrderTimeDto.setHours(calendar.get(Calendar.HOUR) + "");
+ reserveGoodsOrderTimeDto.setGoodsId(reqJson.getString("goodsId"));
+ reserveGoodsOrderTimeDto.setPersonTel(userDtos.get(0).getTel());
+ flag = reserveGoodsOrderTimeV1InnerServiceSMOImpl.queryReserveGoodsOrderTimesCount(reserveGoodsOrderTimeDto);
+ if (flag > 0) {
+ throw new CmdException(reserveGoodsOrderTimeDto.getAppointmentTime() + "," + reserveGoodsOrderTimeDto.getHours() + "宸茬粡灏遍");
+ }
+
+ reserveGoodsOrderTimeDto = new ReserveGoodsOrderTimeDto();
+ reserveGoodsOrderTimeDto.setCommunityId(reqJson.getString("communityId"));
+ reserveGoodsOrderTimeDto.setAppointmentTime(DateUtil.getFormatTimeStringB(DateUtil.getCurrentDate()));
+ reserveGoodsOrderTimeDto.setGoodsId(reqJson.getString("goodsId"));
+ quantity = reserveGoodsOrderTimeV1InnerServiceSMOImpl.queryReserveGoodsOrderTimesCount(reserveGoodsOrderTimeDto);
+
+ if (quantity > Integer.parseInt(reserveGoodsDtos.get(0).getHoursMaxQuantity())) {
+ throw new CmdException("灏遍鏁伴噺瓒呰繃璁惧畾鏁伴噺");
+ }
}
@@ -75,18 +131,14 @@
List<ReserveGoodsDto> reserveGoodsDtos = reserveGoodsV1InnerServiceSMOImpl.queryReserveGoodss(reserveGoodsDto);
Assert.listOnlyOne(reserveGoodsDtos, "灏遍涓嶅瓨鍦�");
- String userId = userV1InnerServiceSMOImpl.getUserIdByQrCode(reqJson.getString("qrCode"));
-
- if(StringUtil.isEmpty(userId)){
- throw new CmdException("浜岀淮鐮佽繃鏈�");
- }
UserDto userDto = new UserDto();
- userDto.setUserId(userId);
+ userDto.setUserId(reqJson.getString("userId"));
List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
Assert.listOnlyOne(userDtos, "鐢ㄦ埛涓嶅瓨鍦�");
+
ReserveGoodsOrderPo reserveGoodsOrderPo = new ReserveGoodsOrderPo();
reserveGoodsOrderPo.setOrderId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
reserveGoodsOrderPo.setGoodsId(reqJson.getString("goodsId"));
--
Gitblit v1.8.0