| | |
| | | |
| | | MallGoods mallGoods = mallGoodsMapper.selectById(sku.getGoodsId()); |
| | | // todo 纯积分商品一个账号限制购买一次 |
| | | // if (new BigDecimal(mallGoods.getPresentPrice()).compareTo(BigDecimal.ZERO) == 0) { |
| | | // List<MallOrderItem> items = mallOrderItemMapper.selectItemByGoodsIdUnCancel(mallGoods.getId(), member.getId()); |
| | | // if (CollUtil.isNotEmpty(items)) { |
| | | // throw new FebsException("积分商品一个账号只能购买一次"); |
| | | // } |
| | | // } |
| | | if (new BigDecimal(mallGoods.getPresentPrice()).compareTo(BigDecimal.ZERO) == 0) { |
| | | Integer cnt = item.getCnt(); |
| | | if(1 < cnt){ |
| | | throw new FebsException("积分商品限购一件"); |
| | | } |
| | | List<MallOrderItem> items = mallOrderItemMapper.selectItemByGoodsIdUnCancel(mallGoods.getId(), member.getId()); |
| | | if (CollUtil.isNotEmpty(items)) { |
| | | throw new FebsException("积分商品一个账号限购一次"); |
| | | } |
| | | } |
| | | |
| | | if (MallGoods.ISSALE_STATUS_DISABLED.equals(mallGoods.getIsSale())) { |
| | | throw new FebsException(mallGoods.getGoodsName() + "已下架"); |
| | |
| | | } |
| | | |
| | | BigDecimal amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt())); |
| | | BigDecimal levelOnePrice = sku.getLevelOnePrice().multiply(BigDecimal.valueOf(item.getCnt())); |
| | | //是否使用优惠卷 |
| | | if(ObjectUtil.isNotEmpty(addOrderDto.getMemberCouponId())){ |
| | | Long memberCouponId = addOrderDto.getMemberCouponId(); |
| | |
| | | } |
| | | } |
| | | orderItem.setAmount(amount); |
| | | orderItem.setLevelOnePrice(levelOnePrice); |
| | | orderItem.setScoreAmount(scoreAmountMap.get(item.getSkuId())); |
| | | orderItem.setCnt(item.getCnt()); |
| | | orderItem.setOrderId(orderInfo.getId()); |
| | |
| | | |
| | | mallMemberCoupon.setState(2); |
| | | mallMemberCouponMapper.updateById(mallMemberCoupon); |
| | | //运费 |
| | | BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount(); |
| | | orderInfo.setCarriage(delivaryAmount); |
| | | |
| | | BigDecimal delivaryAmount = BigDecimal.ZERO; |
| | | if(StrUtil.isEmpty(addOrderDto.getTakeUniqueCode())){ |
| | | delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount(); |
| | | orderInfo.setCarriage(delivaryAmount); |
| | | }else{ |
| | | MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode()); |
| | | if(mallTeamLeader!=null){ |
| | | throw new FebsException("自提点信息异常"); |
| | | } |
| | | orderInfo.setCarriage(delivaryAmount); |
| | | orderInfo.setTakeCode(ShareCodeUtil.toSerialCode(orderInfo.getId()) + MallUtils.getRandomNum(10)); |
| | | orderInfo.setTakeUniqueCode(mallTeamLeader.getUniqueCode()); |
| | | orderInfo.setDeliveryType(1); |
| | | } |
| | | total = total.add(delivaryAmount); |
| | | orderInfo.setAmount(total); |
| | | orderInfo.setScoreAmount(totalScoreAmount); |
| | |
| | | orderInfo.setLatitude(address.getLatitude()); |
| | | orderInfo.setLongitude(address.getLongitude()); |
| | | this.baseMapper.updateById(orderInfo); |
| | | |
| | | //过期时间修改成24小时 |
| | | agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 24 * 60 * 60 * 1000L); |
| | | return orderInfo.getId(); |
| | |
| | | // } |
| | | // } |
| | | |
| | | |
| | | OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo); |
| | | if(StrUtil.isNotEmpty(orderInfo.getTakeUniqueCode())){ |
| | | MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode()); |
| | | |
| | | if(ObjectUtil.isNotEmpty(mallTeamLeader)){ |
| | | orderDetailVo.setLeaderName(mallTeamLeader.getName()); |
| | | orderDetailVo.setLeaderPhone(mallTeamLeader.getPhone()); |
| | | orderDetailVo.setAddressPic(mallTeamLeader.getAddressPic()); |
| | | orderDetailVo.setAddressArea(mallTeamLeader.getAddressArea()); |
| | | orderDetailVo.setDetailAddress(mallTeamLeader.getDetailAddress()); |
| | | orderDetailVo.setLeaderLongitude(mallTeamLeader.getLongitude()); |
| | | orderDetailVo.setLeaderLatitude(mallTeamLeader.getLatitude()); |
| | | } |
| | | } |
| | | |
| | | MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId()); |
| | | if(ObjectUtil.isNotEmpty(expressInfo)){ |
| | |
| | | if(CollUtil.isEmpty(mallOrderItemList)){ |
| | | return new FebsResponse().fail().message("订单不存在"); |
| | | } |
| | | int i = 0; |
| | | for(MallOrderItem mallOrderItem : mallOrderItemList){ |
| | | QueryWrapper<MallRefundEntity> objectQueryWrapper = new QueryWrapper<>(); |
| | | objectQueryWrapper.eq("member_id",member.getId()); |
| | |
| | | mallRefundEntity.setType(3); |
| | | } |
| | | mallRefundEntity.setState(3); |
| | | mallRefundEntity.setAmount(mallOrderItem.getAmount().add(mallOrderInfo.getCarriage())); |
| | | if(i == 0){ |
| | | mallRefundEntity.setAmount(mallOrderItem.getAmount().add(mallOrderInfo.getCarriage())); |
| | | }else{ |
| | | mallRefundEntity.setAmount(mallOrderItem.getAmount()); |
| | | } |
| | | mallRefundMapper.insert(mallRefundEntity); |
| | | }else{ |
| | | if(mallRefund.getState() == 1){ |
| | |
| | | apiLeaderRefundOrderDto.setItemId(mallOrderItem.getId()); |
| | | apiLeaderRefundOrderDto.setAgreeState(1); |
| | | iApiMallTeamLeaderService.leaderRefundOrder(apiLeaderRefundOrderDto); |
| | | i++; |
| | | } |
| | | return new FebsResponse().success(); |
| | | } |