| | |
| | | package com.java110.acct.payment.business.reserve; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.acct.payment.IPaymentBusiness; |
| | |
| | | BigDecimal money = new BigDecimal(0); |
| | | for (int goodsIndex = 0; goodsIndex < goodss.size(); goodsIndex++) { |
| | | goodsInfo = goodss.getJSONObject(goodsIndex); |
| | | assertGoodsAndComputeMoney(goodsInfo); |
| | | assertGoodsAndComputeMoney(reqJson,goodsInfo); |
| | | money = money.add(new BigDecimal(goodsInfo.getDoubleValue("moneyDec"))); |
| | | } |
| | | |
| | |
| | | return paymentOrderDto; |
| | | } |
| | | |
| | | private void assertGoodsAndComputeMoney(JSONObject reqJson) { |
| | | private void assertGoodsAndComputeMoney(JSONObject reqJson, JSONObject goodsInfo) { |
| | | |
| | | ReserveGoodsDto reserveGoodsDto = new ReserveGoodsDto(); |
| | | reserveGoodsDto.setGoodsId(reqJson.getString("goodsId")); |
| | | reserveGoodsDto.setGoodsId(goodsInfo.getString("goodsId")); |
| | | List<ReserveGoodsDto> reserveGoodsDtos = reserveGoodsV1InnerServiceSMOImpl.queryReserveGoodss(reserveGoodsDto); |
| | | if ("1001".equals(reqJson.getString("type"))) { |
| | | if ("1001".equals(goodsInfo.getString("type"))) { |
| | | Assert.listOnlyOne(reserveGoodsDtos, "就餐不存在"); |
| | | } else { |
| | | Assert.listOnlyOne(reserveGoodsDtos, "服务不存在"); |
| | |
| | | |
| | | checkAppointmentTime(reqJson, reserveGoodsDtos.get(0)); |
| | | |
| | | if (!reqJson.containsKey("hours")) { |
| | | if (!goodsInfo.containsKey("hours")) { |
| | | throw new IllegalArgumentException("未包含 预约时间"); |
| | | } |
| | | |
| | | JSONArray hours = reqJson.getJSONArray("hours"); |
| | | JSONArray hours = goodsInfo.getJSONArray("hours"); |
| | | |
| | | if (hours == null || hours.size() < 1) { |
| | | throw new IllegalArgumentException("未包含 预约时间"); |
| | |
| | | ReserveGoodsOrderTimeDto reserveGoodsOrderTimeDto = null; |
| | | int flag = 0; |
| | | int quantity = 0; |
| | | quantity = Integer.parseInt(reqJson.getString("quantity")); |
| | | quantity = Integer.parseInt(goodsInfo.getString("quantity")); |
| | | for (int timeIndex = 0; timeIndex < hours.size(); timeIndex++) { |
| | | reserveGoodsOrderTimeDto = new ReserveGoodsOrderTimeDto(); |
| | | reserveGoodsOrderTimeDto.setCommunityId(reqJson.getString("communityId")); |
| | | reserveGoodsOrderTimeDto.setAppointmentTime(reqJson.getString("appointmentTime")); |
| | | reserveGoodsOrderTimeDto.setHours(hours.getString(timeIndex)); |
| | | reserveGoodsOrderTimeDto.setGoodsId(reqJson.getString("goodsId")); |
| | | reserveGoodsOrderTimeDto.setGoodsId(goodsInfo.getString("goodsId")); |
| | | flag = reserveGoodsOrderTimeV1InnerServiceSMOImpl.queryReserveGoodsOrderTimesCount(reserveGoodsOrderTimeDto); |
| | | if (flag > 0) { |
| | | throw new CmdException(reqJson.getString("appointmentTime") + "," + hours.getString(timeIndex) + "已经被预约"); |