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