From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 六月 2025 11:54:00 +0800
Subject: [PATCH] 6.9新增登录失败冻结逻辑

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderBargainServiceImpl.java |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderBargainServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderBargainServiceImpl.java
index d99d248..dee84a8 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderBargainServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderBargainServiceImpl.java
@@ -58,16 +58,14 @@
     private ComBatteryCommodityOrderBargainRecordMapper orderBargainRecordMapper;
     @Value("${min.app.isTest}")
     private Boolean isTest;
-    @Value("${min.app.isRefundTest}")
-    private Boolean isRefundTest;
     @Value("${min.app.appid}")
     private String appid;
     @Value("${min.app.payKey}")
     private String payKey;
     @Value("${min.app.mchId}")
     private String mchId;
-    @Value("${min.app.currencyNotifyUrl}")
-    private String currencyNotifyUrl;
+//    @Value("${min.app.currencyNotifyUrl}")
+//    private String currencyNotifyUrl;
 
     /**
      * description  queryByPage  分页查询
@@ -202,7 +200,7 @@
             return R.fail("该商品库存不足,无法下单");
         }
         //查询用户信息
-        SysUser user = userMapper.selectById(orderDto.getUserId());
+        SysUser user = userMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,orderDto.getUserId()));
         if(user == null){
             return R.fail("未查询到用户信息");
         }
@@ -216,13 +214,18 @@
         Integer count = commodityOrderMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrder>()
                 .lambda().eq(ComBatteryCommodityOrder::getStatus,ComBatteryCommodityOrder.Status.DKJ)
                 .eq(ComBatteryCommodityOrder::getBargainStatus,ComBatteryCommodityOrder.BargainStatus.KJZ)
-                .eq(ComBatteryCommodityOrder::getIsDel,ComBatteryCommodityOrder.IsDel.NO));
+                .eq(ComBatteryCommodityOrder::getIsDel,ComBatteryCommodityOrder.IsDel.NO)
+                .eq(ComBatteryCommodityOrder::getActivityId,orderDto.getActivityId())
+                .eq(ComBatteryCommodityOrder::getUserId,orderDto.getUserId()));
         if(count > 0){
             return R.fail("您已存在正在砍价中的订单,不可再发起砍价订单");
         }
         ComBatteryCommodityOrder commodityOrder = getCreateOrder(commodity,userAddress,user,commoditySpecs,orderDto,nowDate,commodityActivity);
         Map<String,Object> resultMap = new HashMap<>(2);
         if(commodityOrderMapper.insert(commodityOrder) > 0){
+            //更新活动商品库存
+            commodityActivity.setCommoditySaleNum(commodityActivity.getCommoditySaleNum() + orderDto.getCount());
+            commodityActivityMapper.updateById(commodityActivity);
             //更新商品库存
             commoditySpecs.setStock(commoditySpecs.getStock() - orderDto.getCount());
             commoditySpecsMapper.updateById(commoditySpecs);
@@ -262,7 +265,7 @@
         commodityOrder.setActivityId(commodityActivity.getId());
         commodityOrder.setCommodityId(commodity.getId());
         commodityOrder.setSpecsId(commoditySpecs.getId());
-        commodityOrder.setOrderNo("PT" + Snowflake.getId());
+        commodityOrder.setOrderNo("KJ" + Snowflake.getId());
         commodityOrder.setActivityType(commodityActivity.getType());
         commodityOrder.setStatus(ComBatteryCommodityOrder.Status.DFK);
         commodityOrder.setPayStatus(ComBatteryCommodityOrder.PayStatus.WZF);
@@ -306,8 +309,8 @@
             money = BigDecimal.valueOf(0.01);
         }
         // 调用wx支付
-        result = WxPayUtils.getUnifiedorder(appid, mchId, payKey, currencyNotifyUrl + PayCpmstant.BATTERY_STORE_ACTIVITY_PAY_NOTIFY_URL
-                , remark, openId, orderNo, money,type);
+//        result = WxPayUtils.getUnifiedorder(appid, mchId, payKey, currencyNotifyUrl + PayCpmstant.BATTERY_STORE_ACTIVITY_PAY_NOTIFY_URL
+//                , remark, openId, orderNo, money,type);
         log.info("用户购买商品微信支付返回参数:" + result);
         return result;
     }
@@ -346,6 +349,12 @@
                 return R.fail("该砍价活动已结束");
             }
         }
+        Integer count = orderBargainRecordMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderBargainRecord>().lambda()
+                .eq(ComBatteryCommodityOrderBargainRecord::getBargainId,orderDto.getBargainId())
+                .eq(ComBatteryCommodityOrderBargainRecord::getUserId,orderDto.getUserId()));
+        if(count > 0){
+            return R.fail("您已经参加此砍价,不可重复参加");
+        }
         //商品原价
         BigDecimal originalPrice = orderBargain.getOriginalPrice();
         //商品目标价格
@@ -360,7 +369,7 @@
         BigDecimal minPrice = originalPrice.subtract(targetPrice).multiply(BigDecimal.valueOf(0.05));
         BigDecimal randomNumber = MathUtils.getRandomNumber(maxPrice,minPrice);
         if(randomNumber.compareTo(surplusPrice) > 0){
-            randomNumber = currentPrice;
+            randomNumber = surplusPrice;
         }
         //初始化用户帮砍价记录
         ComBatteryCommodityOrderBargainRecord orderBargainRecord = getOrderBargainRecord(orderBargain.getId()

--
Gitblit v1.7.1