feat: 购物车及订单增加会员价

This commit is contained in:
张松
2024-11-06 10:01:09 +08:00
parent 5285a0875f
commit 7bbc7de1f8

View File

@@ -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<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
@@ -200,6 +180,9 @@ public class CartService {
queryWrapper.eq(TbCashierCart::getUserId, userId);
}
BigDecimal amount = BigDecimal.ZERO;
BigDecimal memberAmount = BigDecimal.ZERO;
List<TbCashierCart> 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<TbCashierCart> 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) {