From 862d245b4e9af4e8f37c1c5704d5b70980a45b2b Mon Sep 17 00:00:00 2001 From: "925116093-qq.com" <925116093@qq.com> Date: Fri, 25 Jul 2025 17:46:41 +0800 Subject: [PATCH] 202507251746 --- .../system/controllerUtil/CartOrderUtil.java | 81 ++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/CartOrderUtil.java b/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/CartOrderUtil.java index 3452bd7..2d57c8e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/CartOrderUtil.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/CartOrderUtil.java @@ -118,6 +118,13 @@ public class CartOrderUtil { result.put("orderId", order.getOrderId()); result.put("productName", serviceGoods.getTitle()); result.put("allprice", itemPrice.toString()); + PayBeforeUtil payBeforeUtil = new PayBeforeUtil(); + //一口价金额大于0的时候进行支付 + + if (order.getTotalPrice().compareTo(BigDecimal.ZERO)>0){ + String payBeforeId = payBeforeUtil.createPayBefore(user, itemPrice, order.getOrderId(), null, order.getProductId(), cart.getOrdertype(), order.getSku(), null, null, null, null,1L, null, null); + } + return result; } catch (Exception e) { logger.error("服务类购物车下单异常:", e); @@ -126,7 +133,76 @@ public class CartOrderUtil { return result; } } - + /** + * 商品类购物车下单 + * @param user 用户 + * @param serviceGoods 商品 + * @param userAddress 地址 + * @param goodsOrderService 商品订单service + * @return 下单结果Map + */ + public static Map createGoodsOrderFromOnes(Users user, String sku,int num, String reamk,ServiceGoods serviceGoods, UserAddress userAddress, IGoodsOrderService goodsOrderService,String maincorid) { + Map result = new HashMap<>(); + try { + BigDecimal itemPrice=BigDecimal.ZERO; + String skuStr = sku; + if (skuStr != null && !skuStr.trim().isEmpty()) { + try { + JSONObject skuJson = JSONObject.parseObject(skuStr); + if (skuJson.containsKey("price")) { + BigDecimal skuPrice = new BigDecimal(skuJson.getString("price")); + itemPrice = skuPrice.multiply(BigDecimal.valueOf(num)); + } else { + // 没有price字段,回退用商品price + itemPrice = serviceGoods.getPrice().multiply(BigDecimal.valueOf(num)); + } + } catch (Exception e) { + // 解析失败,回退用商品price + itemPrice = serviceGoods.getPrice().multiply(BigDecimal.valueOf(num)); + } + } else { + // sku为空,直接用商品price + itemPrice = serviceGoods.getPrice().multiply(BigDecimal.valueOf(num)); + } + GoodsOrder goodsOrder = new GoodsOrder(); + goodsOrder.setType(2); + goodsOrder.setOrderId(GenerateCustomCode.generCreateOrder("B")); + goodsOrder.setUid(user.getId()); + goodsOrder.setUname(user.getName()); + goodsOrder.setProductId(serviceGoods.getId()); + goodsOrder.setProductName(serviceGoods.getTitle()); + goodsOrder.setNum((long) num); + goodsOrder.setSku(sku); + goodsOrder.setIsforservice(serviceGoods.getIsforservice()); + goodsOrder.setForserviceid(serviceGoods.getForserviceid()); + goodsOrder.setMark(reamk); + goodsOrder.setAddressId(userAddress.getId()); + goodsOrder.setName(userAddress.getName()); + goodsOrder.setPhone(userAddress.getPhone()); + goodsOrder.setAddress(userAddress.getAddressInfo()); + goodsOrder.setTotalPrice(itemPrice); + goodsOrder.setGoodPrice(serviceGoods.getPrice()); + goodsOrder.setPayPrice(itemPrice); + goodsOrder.setStatus(1L); // 待支付 + goodsOrder.setMainOrderId(maincorid); + int insertResult = goodsOrderService.insertGoodsOrder(goodsOrder); + if (insertResult <= 0) { + result.put("success", false); + result.put("msg", "商品订单创建失败"); + return result; + } + result.put("success", true); + result.put("orderId", goodsOrder.getOrderId()); + result.put("productName", serviceGoods.getTitle()); + result.put("allprice", itemPrice.toString()); + return result; + } catch (Exception e) { + logger.error("商品类购物车下单异常:", e); + result.put("success", false); + result.put("msg", "商品类购物车下单异常:" + e.getMessage()); + return result; + } + } /** * 商品类购物车下单 * @param user 用户 @@ -190,6 +266,9 @@ public class CartOrderUtil { result.put("orderId", goodsOrder.getOrderId()); result.put("productName", serviceGoods.getTitle()); result.put("allprice", itemPrice.toString()); + PayBeforeUtil payBeforeUtil = new PayBeforeUtil(); + String payBeforeId = payBeforeUtil.createPayBefore(user, itemPrice, goodsOrder.getOrderId(), null, goodsOrder.getProductId(), 11L, goodsOrder.getSku(), null, null, null, null,2L, null, null); + return result; } catch (Exception e) { logger.error("商品类购物车下单异常:", e);