huanghongfa
2022-04-19 d89d4a28653657528dc0718f1aa55e1c84ad1e6f
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderBargainServiceImpl.java
@@ -216,7 +216,9 @@
        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("您已存在正在砍价中的订单,不可再发起砍价订单");
        }
@@ -262,7 +264,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);
@@ -346,6 +348,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 +368,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()