From b5ef1a23a99f11e5c9649f516327925713084b44 Mon Sep 17 00:00:00 2001
From: phpcjl <phpcjl@gmail.com>
Date: 星期二, 10 十二月 2024 14:33:24 +0800
Subject: [PATCH] 1.
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 39 ++++++++++++++++++++++++++++++---------
1 files changed, 30 insertions(+), 9 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 199cf75..d0dad92 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();
}
@@ -367,7 +368,22 @@
*/
@Override
public ConfirmOrderVo confirmOrder(ConfirmOrder confirmOrder) {
+ Integer position = confirmOrder.getPosition();
Long userid = tokenService.getLoginUserApplet().getUserid();
+ //直接购买商品
+ if(2 == position){
+ //先加入购物车
+ String goodsJson = confirmOrder.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);
+ confirmOrder.setGoodsJson("[{\"id\": " + shoppingCarId + ", \"num\": " + num1 + "}]");
+ }
AppUser appUser = appUserClient.getAppUserById(userid);
Integer shopId = confirmOrder.getShopId();
Shop shop = shopClient.getShopById(shopId).getData();
@@ -412,6 +428,7 @@
confirmOrderVo.setResidualPoint(appUser.getLavePoint().intValue());
//获取默认收货地址
UserAddress userAddress = userAddressClient.getDefaultUserAddress(userid).getData();
+ userAddress.setIdStr(userAddress.getId().toString());
confirmOrderVo.setUserAddress(userAddress);
confirmOrderVo.setPaymentType(confirmOrder.getPaymentType());
//获取用户优惠券,用户全部优惠券,不能使用的需要标识出来置灰展示
@@ -530,7 +547,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);
@@ -629,12 +646,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 + "不能在该门店核销");
+ }
}
//开始构建支付信息
//现金支付的订单金额
@@ -792,7 +812,7 @@
order.setGoodName(goodName.substring(0, goodName.length() - 1));
Goods goods = goodsClient.getGoodsById(goodsList.get(0).getGoodsId()).getData();
order.setOrderType(goods.getType());
- order.setOrderStatus(1);
+ order.setOrderStatus(goods.getType() == 1 ? 3 : 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
order.setOrderNumber("QJS" + getNumber(3) + sdf.format(new Date()));
order.setTotalAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN));
@@ -854,10 +874,11 @@
}
for (int i = 0; i < objects.size(); i++) {
Long id = objects.getJSONObject(i).getLong("id");
- if(myShoppingCartVo.getId().equals(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(myShoppingCartVo.getGoodsId()).getData();
+ Goods goods1 = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
orderGood.setGoodJson(JSON.toJSONString(goods1));
break;
}
@@ -1035,7 +1056,7 @@
this.removeBatchByIds(ids);
}
}
- return R.ok();
+ return R.ok(order.getId().toString());
}
--
Gitblit v1.7.1