diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java index 215fb84..e2d2340 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java @@ -34,7 +34,7 @@ public class OrderController { String userId = jsonObject.getString("accountId"); return orderService.createCart(cartVo.getMasterId(),cartVo.getProductId(),cartVo.getShopId(), cartVo.getSkuId(),cartVo.getNumber(),userId,clientType,cartVo.getCartId(),cartVo.getIsGift(), - cartVo.getIsPack(),cartVo.getUuid(),cartVo.getType(), cartVo.getTableId()); + cartVo.getIsPack(),cartVo.getUuid(),cartVo.getType(), cartVo.getTableId(), cartVo.getVipUserId()); } @MyLog(value = "查询购物车信息", tag = LogTag.CART) @@ -43,13 +43,14 @@ public class OrderController { @RequestHeader("loginName") String loginName, @RequestHeader("clientType") String clientType, @RequestParam(value = "masterId", required = false) String masterId, - @RequestParam(required = false) String tableId, + @RequestParam(required = false) Integer tableId, + @RequestParam(required = false) Integer vipUserId, @RequestParam("shopId") String shopId ){ if (tableId == null && StrUtil.isBlank(masterId)) { - return Result.fail("masterId和tableId不能同时为空"); + return Result.fail("masterId和tableId不能同 时为空"); } - return orderService.queryCart(masterId,shopId, tableId); + return orderService.queryCart(masterId,shopId, tableId, vipUserId); } @@ -57,11 +58,10 @@ public class OrderController { public Result delCart(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName, @RequestHeader("clientType") String clientType, - @RequestParam(required = false) String tableId, @RequestParam(value = "masterId", required = false) String masterId, @RequestParam("cartId") Integer cartId ){ - return orderService.delCart(masterId,cartId, tableId); + return orderService.delCart(masterId,cartId); } @GetMapping("/createCode") public Result createCode(@RequestHeader("token") String token, diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbCashierCartMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbCashierCartMapper.java index bc36128..f9ad3e5 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbCashierCartMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbCashierCartMapper.java @@ -30,8 +30,8 @@ public interface TbCashierCartMapper { TbCashierCart selectByDetail(@Param("masterId") String masterId, @Param("productId") String productId, @Param("shopId") String shopId, @Param("skuId") String skuId, @Param("day") String day,@Param("uuid") String uuid); - TbCashierCart selectDetailByQrcode(@Param("tableId") String tableId, @Param("productId") String productId, - @Param("shopId") String shopId, @Param("skuId") String skuId, @Param("uuid") String uuid); + TbCashierCart selectDetailByQrcode(@Param("tableId") Integer tableId, @Param("productId") String productId, + @Param("shopId") String shopId, @Param("skuId") String skuId, @Param("userId") Integer userId); List selectByMaskerId(@Param("masterId")String masterId, @Param("shopId")Integer shopId,@Param("status") String status,@Param("day") String day); @@ -45,7 +45,12 @@ public interface TbCashierCartMapper { @Param("status") String status, @Param("day") String day, @Param("uuid") String uuid); List selectAllCreateOrder(@Param("masterId") String masterId, @Param("shopId") Integer shopId, - @Param("day") String day, @Param("status") String status,@Param("uuid") String uuid); + @Param("day") String day, @Param("status") String status, + @Param("uuid") String uuid); + + List selectAllCreateOrder2(@Param("masterId") String masterId, @Param("shopId") Integer shopId, + @Param("day") String day, @Param("status") String status, + @Param("uuid") String uuid, @Param("tableId") Integer tableId, @Param("vipUserId") Integer vipUserId); List selectCartList( @Param("cartId") String shopId); int updateByOrderId(@Param("orderId") String orderId,@Param("status") String status); @@ -64,7 +69,7 @@ public interface TbCashierCartMapper { List selectByOrderId(@Param("orderId") String orderId,@Param("status") String status); - List selectActivateByQrcode(@Param("tableId") String tableId, @Param("shopId") Integer shopId); + List selectActivateByQrcode(@Param("tableId") Integer tableId, @Param("shopId") Integer shopId, @Param("userId") Integer userId); - QueryCartPo selectProductNumByQrcode(@Param("qrcode") String qrcode, @Param("shopId") Integer shopId); + QueryCartPo selectProductNumByQrcode(@Param("tableId") Integer tableId, @Param("shopId") Integer shopId, @Param("vipUserId") Integer vipUserId); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/vo/CartVo.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/vo/CartVo.java index a4e701c..0c7117e 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/vo/CartVo.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/vo/CartVo.java @@ -8,7 +8,8 @@ public class CartVo { // orderId不为空为代客下单 private String masterId; - private String tableId; + private Integer tableId; + private Integer vipUserId; private String shopId; private Integer skuId; private Integer number; diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 800528c..1a0b106 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -92,7 +92,7 @@ public class OrderService { @Transactional(rollbackFor = Exception.class) public Result createCart(String masterId, String productId, String shopId, Integer skuId, Integer number, - String userId, String clientType, Integer cartId, String isGift, String isPack, String uuid, String type, String qrcode) { + String userId, String clientType, Integer cartId, String isGift, String isPack, String uuid, String type, Integer tableId, Integer vipId) { if (Objects.isNull(number) || number < 0) { return Result.fail(CodeEnum.NUMBER); } @@ -129,7 +129,7 @@ public class OrderService { // 低于起售,删除商品 }else if (exists != null && skuWithBLOBs.getSuit() != null && skuWithBLOBs.getSuit() != 0 && number < skuWithBLOBs.getSuit()){ redisUtil.deleteByKey(RedisCst.ORDER_CART_EXISTS + cartId); - delCart(masterId, cartId, qrcode); + delCart(masterId, cartId); return Result.success(CodeEnum.SUCCESS, masterId); } @@ -145,7 +145,6 @@ public class OrderService { } } - if (qrcode == null && StringUtils.isEmpty(masterId)) { boolean flag = redisUtil.exists("SHOP:CODE:" + clientType + ":" + shopId); if (flag) { String code = redisUtil.getMessage("SHOP:CODE:" + clientType + ":" + shopId).toString(); @@ -157,7 +156,6 @@ public class OrderService { redisUtil.saveMessage("SHOP:CODE:" + clientType + ":" + shopId, "1"); masterId = "#" + String.format("%03d", 1); } - } TbCashierCart cart = cashierCartMapper.selectByPrimaryKey(cartId); @@ -182,11 +180,11 @@ public class OrderService { cashierCartMapper.updateByPrimaryKeySelective(cart); } else { - List list = StrUtil.isNotBlank(masterId) ? cashierCartMapper.selectALlByMasterId(masterId, "create") - : cashierCartMapper.selectActivateByQrcode(qrcode, Integer.valueOf(shopId)); + List list = userId == null && tableId == null ? cashierCartMapper.selectALlByMasterId(masterId, "create") + : cashierCartMapper.selectActivateByQrcode(tableId, Integer.valueOf(shopId), vipId); - TbCashierCart cashierCart = StrUtil.isNotBlank(masterId) ? cashierCartMapper.selectByDetail(masterId, productId, shopId, skuId.toString(), DateUtils.getDay(), uuid) - : cashierCartMapper.selectDetailByQrcode(qrcode, productId, shopId, skuId.toString(), uuid); + TbCashierCart cashierCart = userId == null && tableId == null ? cashierCartMapper.selectByDetail(masterId, productId, shopId, skuId.toString(), DateUtils.getDay(), uuid) + : cashierCartMapper.selectDetailByQrcode(tableId, productId, shopId, skuId.toString(), vipId); if (number > 0) { if (Objects.isNull(cashierCart)) { @@ -194,10 +192,9 @@ public class OrderService { cashierCart.setCoverImg(product.getCoverImg()); cashierCart.setCreatedAt(System.currentTimeMillis()); cashierCart.setIsSku(product.getTypeEnum()); - if (qrcode != null) { - cashierCart.setTableId(qrcode); - }else { - cashierCart.setMasterId(masterId); + cashierCart.setMasterId(masterId); + if (tableId != null) { + cashierCart.setTableId(String.valueOf(tableId)); } cashierCart.setUuid(uuid); cashierCart.setMerchantId(userId); @@ -210,6 +207,7 @@ public class OrderService { cashierCart.setStatus("create"); cashierCart.setIsPack(isPack); cashierCart.setIsGift(isGift); + cashierCart.setUserId(vipId == null ? Integer.valueOf(userId) : vipId); if (isGift.equals("false")) { cashierCart.setTotalAmount(new BigDecimal(number).multiply(skuWithBLOBs.getSalePrice())); } else { @@ -223,7 +221,6 @@ public class OrderService { } cashierCart.setTotalNumber(number); - cashierCart.setUserId(Integer.valueOf(userId)); cashierCart.setNumber(number); cashierCart.setUuid(uuid); cashierCart.setCategoryId(product.getCategoryId()); @@ -303,15 +300,15 @@ public class OrderService { } } - public Result queryCart(String masterId, String shopId, String qrcode) { + public Result queryCart(String masterId, String shopId, Integer tableId, Integer vipUserId) { if (StringUtils.isEmpty(shopId)) { return Result.fail(CodeEnum.SHOPINFONOEXIST); } String day = DateUtils.getDay(); List list; - if (StrUtil.isBlank(masterId)) { - list = cashierCartMapper.selectActivateByQrcode(qrcode, Integer.valueOf(shopId)); + if (tableId != null) { + list = cashierCartMapper.selectActivateByQrcode(tableId, Integer.valueOf(shopId), vipUserId); }else { list = cashierCartMapper.selectByMaskerId(masterId, Integer.valueOf(shopId),"create",day); } @@ -362,10 +359,10 @@ public class OrderService { } QueryCartPo queryCartPo; - if (StrUtil.isNotBlank(masterId)) { + if (tableId == null) { queryCartPo = cashierCartMapper.selectProductNumByMarketId(day, shopId, masterId); }else { - queryCartPo = cashierCartMapper.selectProductNumByQrcode(qrcode, Integer.valueOf(shopId)); + queryCartPo = cashierCartMapper.selectProductNumByQrcode(tableId, Integer.valueOf(shopId), vipUserId); } queryCartPo.setPackAmount(packAmount); queryCartPo.setTotalAmount(totalAmount); @@ -377,7 +374,7 @@ public class OrderService { } @Transactional(rollbackFor = Exception.class) - public Result delCart(String masterId, Integer cartId, String qrcode) { + public Result delCart(String masterId, Integer cartId) { TbCashierCart cashierCart=cashierCartMapper.selectByPrimaryKey(cartId); @@ -409,7 +406,7 @@ public class OrderService { List skuIds=new ArrayList<>(); skuIds.add(cashierCart.getSkuId()); - cashierCartMapper.deleteByCartIdOrTableId(masterId, cartId, qrcode); + cashierCartMapper.deleteByCartIdOrTableId(masterId, cartId, null); return Result.success(CodeEnum.SUCCESS); } @@ -854,7 +851,8 @@ public class OrderService { @Transactional(rollbackFor = Exception.class) public Result clearCart(CartVo cartVo) { String day = DateUtils.getDay(); - List list = cashierCartMapper.selectAllCreateOrder(cartVo.getMasterId(), Integer.valueOf(cartVo.getShopId()), day, "create", cartVo.getUuid()); + List list = cashierCartMapper.selectAllCreateOrder2( + cartVo.getMasterId(), Integer.valueOf(cartVo.getShopId()), day, "create", cartVo.getUuid(), cartVo.getTableId(), cartVo.getVipUserId()); int orderId = 0; List productSkuPos=new ArrayList<>(); List skuIds=new ArrayList<>(); diff --git a/src/main/resources/mapper/TbCashierCartMapper.xml b/src/main/resources/mapper/TbCashierCartMapper.xml index a86be1a..e317bbf 100644 --- a/src/main/resources/mapper/TbCashierCartMapper.xml +++ b/src/main/resources/mapper/TbCashierCartMapper.xml @@ -65,8 +65,8 @@ from tb_cashier_cart where table_id = #{tableId} and product_id = #{productId} and shop_id = #{shopId} and sku_id = #{skuId} - - and uuid = #{uuid} + + and user_id = #{userId} + + @@ -408,13 +429,22 @@