| | |
| | | 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("未查询到用户信息"); |
| | | } |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | 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(); |
| | | //商品目标价格 |
| | |
| | | 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() |