From cd82e959bc407cc2a62a11b3ef9156cfd21d7e16 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 10 十二月 2024 10:04:14 +0800 Subject: [PATCH] 新增加管理后台接口和优化购物接口 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 44 +++++++++++++++++++++++++++++++++----------- 1 files changed, 33 insertions(+), 11 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java index 23e1522..b7ffd3c 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java @@ -327,10 +327,11 @@ @Override - public void addGoods(ShoppingCart shoppingCart) { + public Long addGoods(ShoppingCart shoppingCart) { Long userid = tokenService.getLoginUserApplet().getUserid(); shoppingCart.setAppUserId(userid); this.save(shoppingCart); + return shoppingCart.getId(); } @@ -530,7 +531,7 @@ goodsShop.setGoodsId(shoppingCart.getGoodsId()); goodsShop.setShopId(shopId); GoodsShop goodsShop1 = goodsShopClient.getGoodsShop(goodsShop).getData(); - vo.setVerifiable(null == goodsShop1 ? false : true); + vo.setVerifiable(goods.getAppointStore() == 1 && null == goodsShop1 ? false : true); //判断当前数量是否已经超出限购数量(需要计算已经购买的数量) if(null == goods.getPurchaseLimit() || -1 == goods.getPurchaseLimit()){ vo.setPurchaseLimit(false); @@ -570,7 +571,22 @@ */ @Override public R shoppingCartPayment(ShoppingCartPayment shoppingCartPayment) { + Integer position = shoppingCartPayment.getPosition(); Long userid = tokenService.getLoginUserApplet().getUserid(); + //直接购买商品 + if(2 == position){ + //先加入购物车 + String goodsJson = shoppingCartPayment.getGoodsJson(); + JSONArray objects = JSON.parseArray(goodsJson); + Long id = objects.getJSONObject(0).getLong("id"); + Integer num1 = objects.getJSONObject(0).getInteger("num"); + ShoppingCart shoppingCart = new ShoppingCart(); + shoppingCart.setAppUserId(userid); + shoppingCart.setGoodsId(id.intValue()); + shoppingCart.setNumber(num1); + Long shoppingCarId = addGoods(shoppingCart); + shoppingCartPayment.setGoodsJson("[{\"id\": " + shoppingCarId + ", \"num\": " + num1 + "}]"); + } AppUser appUser = appUserClient.getAppUserById(userid); Integer shopId = shoppingCartPayment.getShopId(); String goodsJson = shoppingCartPayment.getGoodsJson(); @@ -629,12 +645,15 @@ if(data.size() != goodsList.size()){ String goodsName = ""; for (Integer goodsId : goodsIds) { - if(!collect.contains(goodsId)){ - goodsName = goodsClient.getGoodsById(goodsId).getData().getName(); + Goods goods = goodsClient.getGoodsById(goodsId).getData(); + if(1 == goods.getAppointStore() && !collect.contains(goodsId)){ + goodsName = goods.getName(); break; } } - return R.fail(goodsName + "不能在该门店核销"); + if(StringUtils.isNotEmpty(goodsName)){ + return R.fail(goodsName + "不能在该门店核销"); + } } //开始构建支付信息 //现金支付的订单金额 @@ -853,12 +872,15 @@ orderGood.setSeckillJson(JSON.toJSONString(goodsSeckill)); } for (int i = 0; i < objects.size(); i++) { - Integer id = objects.getJSONObject(i).getInteger("id"); - Integer num1 = objects.getJSONObject(i).getInteger("num"); - orderGood.setNum(num1); - Goods goods1 = goodsClient.getGoodsById(id).getData(); - orderGood.setGoodJson(JSON.toJSONString(goods1)); - break; + Long id = objects.getJSONObject(i).getLong("id"); + if(myShoppingCartVo.getId().equals(id.toString())){ + ShoppingCart shoppingCart = this.getById(id); + Integer num1 = objects.getJSONObject(i).getInteger("num"); + orderGood.setNum(num1); + Goods goods1 = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData(); + orderGood.setGoodJson(JSON.toJSONString(goods1)); + break; + } } orderGood.setDelFlag(0); orderGood.setCreateTime(LocalDateTime.now()); -- Gitblit v1.7.1