| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Long createOrder(AddOrderDto addOrderDto) { |
| | | MallMember member = LoginUserUtil.getLoginUser(); |
| | | //验证用户的等级 |
| | | Long memberId = LoginUserUtil.getLoginUser().getId(); |
| | | MallMember member = mallMemberMapper.selectById(memberId); |
| | | |
| | | //验证用户的等级 |
| | | // if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){ |
| | | // throw new FebsException("请先申请成为代理人"); |
| | | // } |
| | |
| | | throw new FebsException("购买商品或sku不存在"); |
| | | } |
| | | |
| | | if("样品".equals(sku.getSample())){ |
| | | List<MallOrderItem> items = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId()); |
| | | if (CollUtil.isNotEmpty(items)) { |
| | | throw new FebsException("样品一个用户只能购买一次"); |
| | | } |
| | | Integer cnt = item.getCnt(); |
| | | if(1 < cnt){ |
| | | throw new FebsException("样品只能购买一件"); |
| | | } |
| | | |
| | | } |
| | | // if("样品".equals(sku.getSample())){ |
| | | // List<MallOrderItem> items = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId()); |
| | | // if (CollUtil.isNotEmpty(items)) { |
| | | // throw new FebsException("样品一个用户只能购买一次"); |
| | | // } |
| | | // Integer cnt = item.getCnt(); |
| | | // if(1 < cnt){ |
| | | // throw new FebsException("样品只能购买一件"); |
| | | // } |
| | | // |
| | | // } |
| | | |
| | | if (sku.getStock() < item.getCnt()) { |
| | | throw new FebsException(sku.getSkuName() + "库存不足"); |
| | |
| | | if(1 != goodsResult){ |
| | | throw new FebsException(mallGoods.getGoodsName() + "库存不足"); |
| | | } |
| | | |
| | | BigDecimal amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt())); |
| | | BigDecimal amount = BigDecimal.ZERO; |
| | | BigDecimal itemPrice = BigDecimal.ZERO; |
| | | if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){ |
| | | //普通用户使用原价购买 |
| | | amount = sku.getOriginalPrice().multiply(BigDecimal.valueOf(item.getCnt())); |
| | | itemPrice = sku.getOriginalPrice(); |
| | | }else if(AgentLevelEnum.LEVEL_ONE.name().equals(member.getLevel())){ |
| | | //普通用户使用原价购买 |
| | | amount = sku.getLevelOnePrice().multiply(BigDecimal.valueOf(item.getCnt())); |
| | | itemPrice = sku.getLevelOnePrice(); |
| | | }else if(AgentLevelEnum.LEVEL_TWO.name().equals(member.getLevel())){ |
| | | //普通用户使用原价购买 |
| | | amount = sku.getLevelTwoPrice().multiply(BigDecimal.valueOf(item.getCnt())); |
| | | itemPrice = sku.getLevelTwoPrice(); |
| | | }else if(AgentLevelEnum.LEVEL_THREE.name().equals(member.getLevel())){ |
| | | //普通用户使用原价购买 |
| | | amount = sku.getLevelThreePrice().multiply(BigDecimal.valueOf(item.getCnt())); |
| | | itemPrice = sku.getLevelThreePrice(); |
| | | }else{ |
| | | //合伙人使用折扣价 |
| | | amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt())); |
| | | itemPrice = sku.getPresentPrice(); |
| | | } |
| | | // BigDecimal amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt())); |
| | | orderItem.setAmount(amount); |
| | | orderItem.setCnt(item.getCnt()); |
| | | orderItem.setOrderId(orderInfo.getId()); |
| | | orderItem.setPrice(sku.getPresentPrice()); |
| | | orderItem.setPrice(itemPrice); |
| | | orderItem.setGoodsId(sku.getGoodsId()); |
| | | orderItem.setGoodsName(sku.getGoodsName()); |
| | | orderItem.setSkuId(sku.getId()); |
| | |
| | | if (StrUtil.isBlank(address.getLatitude())||StrUtil.isBlank(address.getLongitude())) { |
| | | throw new FebsException("请添加地址"); |
| | | } |
| | | orderInfo.setAddress(address.getArea() + address.getAddress()); |
| | | orderInfo.setAddress(address.getProvince()+address.getCity()+address.getArea() + address.getAddress()); |
| | | orderInfo.setLatitude(address.getLatitude()); |
| | | orderInfo.setLongitude(address.getLongitude()); |
| | | this.baseMapper.updateById(orderInfo); |
| | | |
| | | agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 15 * 60 * 1000L); |
| | | //过期时间修改成24小时 |
| | | agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 24 * 60 * 60 * 1000L); |
| | | return orderInfo.getId(); |
| | | } |
| | | |
| | |
| | | orderInfo.setPayResult("1"); |
| | | orderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue()); |
| | | |
| | | mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); |
| | | mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额支付",2); |
| | | break; |
| | | case "4": |
| | | if (orderInfo.getOrderType() != 2) { |
| | |
| | | |
| | | OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo); |
| | | |
| | | // if (orderInfo.getStatus() == OrderStatusEnum.WAIT_FINISH.getValue()) { |
| | | // MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId()); |
| | | // orderDetailVo.setExpressNo(expressInfo.getExpressNo()); |
| | | // orderDetailVo.setExpressCom(expressInfo.getExpressCom()); |
| | | // } |
| | | MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId()); |
| | | if(ObjectUtil.isNotEmpty(expressInfo)){ |
| | | orderDetailVo.setExpressNo(expressInfo.getExpressNo()); |
| | | orderDetailVo.setExpressCom(expressInfo.getExpressCom()); |
| | | } |
| | | |
| | | if (orderInfo.getStatus() == OrderStatusEnum.REFUNDING.getValue() || orderInfo.getStatus() == OrderStatusEnum.REFUNDED.getValue()) { |
| | | MallOrderRefund orderRefund = mallOrderRefundMapper.selectOrderRefundByOrderId(orderInfo.getId()); |
| | |
| | | } |
| | | |
| | | if (OrderStatusEnum.WAIT_PAY.getValue() == orderInfo.getStatus()) { |
| | | Date endTime = DateUtil.offsetMinute(orderInfo.getOrderTime(), 15); |
| | | Date endTime = DateUtil.offsetMinute(orderInfo.getOrderTime(), 1440); |
| | | |
| | | long remainTime = DateUtil.between(new Date(), endTime, DateUnit.SECOND, false); |
| | | orderDetailVo.setRemainTime(remainTime); |
| | |
| | | |
| | | @Override |
| | | public FebsResponse createOrderVerify(ApiCreateOrderVerifyDto apiCreateOrderVerifyDto) { |
| | | MallMember member = LoginUserUtil.getLoginUser(); |
| | | Long memberId = LoginUserUtil.getLoginUser().getId(); |
| | | MallMember member = memberMapper.selectById(memberId); |
| | | List<AddOrderItemDto> items = apiCreateOrderVerifyDto.getItems(); |
| | | if(CollUtil.isEmpty(items)){ |
| | | return new FebsResponse().fail().message("请先挑选商品"); |
| | |
| | | if (sku == null) { |
| | | return new FebsResponse().fail().message("购买商品或sku不存在"); |
| | | } |
| | | if("样品".equals(sku.getSample())){ |
| | | List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId()); |
| | | if (CollUtil.isNotEmpty(mallOrderItems)) { |
| | | return new FebsResponse().fail().message("样品只能购买一次"); |
| | | } |
| | | Integer cnt = item.getCnt(); |
| | | if(1 < cnt){ |
| | | return new FebsResponse().fail().message("样品只能购买一件"); |
| | | } |
| | | }else{ |
| | | //验证用户的等级 |
| | | if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){ |
| | | return new FebsResponse().fail().message(sku.getSkuName() + "请先申请成为代理人"); |
| | | } |
| | | } |
| | | // if("样品".equals(sku.getSample())){ |
| | | // List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId()); |
| | | // if (CollUtil.isNotEmpty(mallOrderItems)) { |
| | | // return new FebsResponse().fail().message("样品只能购买一次"); |
| | | // } |
| | | // Integer cnt = item.getCnt(); |
| | | // if(1 < cnt){ |
| | | // return new FebsResponse().fail().message("样品只能购买一件"); |
| | | // } |
| | | // }else{ |
| | | // //验证用户的等级 |
| | | // if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){ |
| | | // return new FebsResponse().fail().message("请先申请成为合伙人"); |
| | | // } |
| | | // } |
| | | |
| | | if (sku.getStock() < item.getCnt()) { |
| | | return new FebsResponse().fail().message(sku.getSkuName() + "库存不足"); |
| | |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.print(AgentLevelEnum.ZERO_LEVEL.name()); |
| | | } |
| | | |
| | | } |