liujie
2025-06-09 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb
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()