diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index fc97e49..ad36013 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -153,7 +153,6 @@ public class CartService { String tableId = jsonObject.getString("tableId"); String shopId = jsonObject.getString("shopId"); Integer userId = jsonObject.getInteger("userId"); - BigDecimal amount = BigDecimal.ZERO; JSONArray array = new JSONArray(); ShopEatTypeInfoDTO shopEatTypeInfoDTO = shopUtils.getEatModel(tableId, shopId); @@ -166,25 +165,6 @@ public class CartService { boolean ignoreTableFee = shopInfo.getIsTableFee() != null && shopInfo.getIsTableFee() == 1; TbCashierCart seatCartInfo = null; -// if (redisUtil.exists(tableCartKey)) { -// JSONArray jsonArray = JSON.parseArray(redisUtil.getMessage(tableCartKey)); -// for (int i = 0; i < jsonArray.size(); i++) { -// JSONObject object = array.getJSONObject(i); -// TbCashierCart cashierCart = JSONUtil.parseJSONStr2T(object.toJSONString(), TbCashierCart.class); -// if ((!TableConstant.CART_SEAT_ID.equals(cashierCart.getProductId()) || !ignoreTableFee) && cashierCart.getNumber() > 0) { -// amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee()))); -// } -// -// if (TableConstant.CART_SEAT_ID.equals(cashierCart.getProductId())) { -// seatCartInfo = cashierCart; -// if (!ignoreTableFee) { -// array.add(cashierCart); -// } -// }else { -// array.add(cashierCart); -// } -// } -// } else { // 查询购物车所有信息 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() @@ -200,6 +180,9 @@ public class CartService { queryWrapper.eq(TbCashierCart::getUserId, userId); } + + BigDecimal amount = BigDecimal.ZERO; + BigDecimal memberAmount = BigDecimal.ZERO; List tbCashierCarts = mpCashierCartMapper.selectList(queryWrapper); if (!CollectionUtils.isEmpty(tbCashierCarts)) { for (TbCashierCart cashierCart : tbCashierCarts) { @@ -210,7 +193,8 @@ public class CartService { } if (cashierCart.getIsVip().equals((byte) 1)) continue; if ((!TableConstant.CART_SEAT_ID.equals(cashierCart.getProductId()) || !ignoreTableFee) && cashierCart.getNumber() > 0) { - amount = amount.add(cashierCart.getTotalAmount()); + amount = amount.add(cashierCart.getSalePrice().multiply(BigDecimal.valueOf(cashierCart.getTotalNumber())).add(cashierCart.getPackFee())); + memberAmount = memberAmount.add(cashierCart.getMemberPrice().multiply(BigDecimal.valueOf(cashierCart.getTotalNumber())).add(cashierCart.getPackFee())); } } redisUtil.saveMessage(tableCartKey, array.toString(), 60 * 60 * 12L); @@ -229,6 +213,7 @@ public class CartService { jsonObject1.put("type", "addCart"); jsonObject1.put("data", array); jsonObject1.put("amount", amount); + jsonObject1.put("memberAmount", memberAmount); PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), tableCartKey, "", false); } @@ -358,6 +343,7 @@ public class CartService { JSONArray jsonArray = new JSONArray(); ArrayList cashierCartArrayList = new ArrayList<>(); BigDecimal amount = BigDecimal.ZERO; + BigDecimal memberAmount = BigDecimal.ZERO; try { if (redisUtil.exists(tableCartKey)) { JSONArray array = JSON.parseArray(redisUtil.getMessage(tableCartKey)); @@ -369,6 +355,7 @@ public class CartService { cashierCart.setPlaceNum(cashierCart.getPlaceNum() == null ? 0 : cashierCart.getPlaceNum()); cashierCartArrayList.add(cashierCart); amount = amount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee()))); + memberAmount = memberAmount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getMemberPrice().add(cashierCart.getPackFee()))); } } else { @@ -424,6 +411,7 @@ public class CartService { jsonArray.add(cashierCart); cashierCartArrayList.add(cashierCart); amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee()))); + memberAmount = memberAmount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getMemberPrice().add(cashierCart.getPackFee()))); if ("-999".equals(cashierCart.getProductId())) { hasSeat = true; @@ -435,6 +423,8 @@ public class CartService { jsonObject.getInteger("userId"), buyNum, tableId, shopId, isVip, note, shopEatTypeInfoDTO.isTakeout()); jsonArray.add(cashierCart); amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee()))); + memberAmount = memberAmount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getMemberPrice().add(cashierCart.getPackFee()))); + } } @@ -449,6 +439,8 @@ public class CartService { cashierCartArrayList.add(cashierCart); if (isVip != 1) { amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee()))); + memberAmount = memberAmount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getMemberPrice().add(cashierCart.getPackFee()))); + } } } @@ -469,6 +461,7 @@ public class CartService { data.put("data", jsonArray); data.put("seatFee", BeanUtil.copyProperties(seatCost, TbCashierCart.class)); data.put("amount", amount); + data.put("memberAmount", memberAmount); data.put("reqData", jsonObject); PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(JSONObject.toJSONString(data), tableCartKey, "", false); } catch (Exception e) {