| | |
| | | import com.ruoyi.common.core.enums.BondStatusEnum; |
| | | import com.ruoyi.common.core.enums.CouponUseEnum; |
| | | import com.ruoyi.common.core.enums.GroupStatusEnum; |
| | | import com.ruoyi.common.core.enums.MemberVipClassifyEnum; |
| | | import com.ruoyi.common.core.enums.OrderFromEnum; |
| | | import com.ruoyi.common.core.enums.OrderStatusEnum; |
| | | import com.ruoyi.common.core.enums.OrderTypeEnum; |
| | |
| | | |
| | | |
| | | @Override |
| | | public void saveOrderOne(OrderDTO OrderDTO) { |
| | | public Long saveOrderOne(OrderDTO OrderDTO) { |
| | | Order order=new Order(); |
| | | if (OrderDTO.getOrderFrom().getCode()==1){ |
| | | order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER); |
| | |
| | | order.setTotalAmount(OrderDTO.getTotalAmount()); |
| | | order.setOrderStatus(OrderStatusEnum.TO_PLAY); |
| | | order.setPoints(OrderDTO.getPoints()); |
| | | order.setGoodsQuantity(1); |
| | | order.setGoodsQuantity( |
| | | Objects.nonNull(OrderDTO.getGoodsQuantity()) ? OrderDTO.getGoodsQuantity() : 1); |
| | | order.setReceiverName(OrderDTO.getReceiverName()); |
| | | order.setReceiverPhone(OrderDTO.getReceiverphone()); |
| | | order.setReceiverCity(OrderDTO.getReceiverCity()); |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | return order.getId(); |
| | | } |
| | | |
| | | /** |
| | |
| | | if (goodsSku.getStock()<memberOrderDTO.getGoodsQuantity()){ |
| | | throw new ServiceException("该商品已售罄,暂无库存"); |
| | | }else{ |
| | | // 远程调用用户服务,获取用户信息 |
| | | Member member = memberClient.getMembeOne(memberOrderDTO.getMemberId(), |
| | | SecurityConstants.INNER) |
| | | .getData(); |
| | | if (Objects.isNull(member)) { |
| | | throw new ServiceException("获取用户信息失败"); |
| | | } |
| | | GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); |
| | | goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId()); |
| | | goodsStockUpdDTO.setAuctionStock(goodsSku.getStock()-memberOrderDTO.getGoodsQuantity()); |
| | | goodsSkuClient.updGoodsStock1(goodsStockUpdDTO, |
| | | SecurityConstants.INNER); |
| | | |
| | | |
| | | order.setSkuName(goodsSku.getSkuName()); |
| | | order.setPrice(goodsSku.getPrice()); |
| | | order.setCoverPic(goodsSku.getCoverPic()); |
| | | order.setGoodsId(goodsSku.getId()); |
| | | if (Objects.nonNull(member.getVipClassify()) && !member.getVipClassify() |
| | | .equals(MemberVipClassifyEnum.NORMAL.getCode())) { |
| | | BigDecimal vipPrice = getVipPrice(goodsSku, member.getVipClassify()); |
| | | order.setPrice(vipPrice); |
| | | } |
| | | } |
| | | memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); |
| | | memberOrderVO.setPrice(goodsSku.getPrice()); |
| | | memberOrderVO.setCoverPic(goodsSku.getCoverPic()); |
| | | memberOrderVO.setSkuName(goodsSku.getSkuName()); |
| | | pice=goodsSku.getPrice(); |
| | | |
| | | pice = order.getPrice(); |
| | | } |
| | | if (memberOrderDTO.getOrderFrom()==2){ |
| | | GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); |
| | |
| | | memberOrderVO.setCoverPic(recommend.getGoodsImageUrl()); |
| | | memberOrderVO.setSkuName(recommend.getGoodsName()); |
| | | pice = recommend.getSellingPrice(); |
| | | order.setSkuName(recommend.getGoodsName()); |
| | | order.setPrice(recommend.getSellingPrice()); |
| | | order.setCoverPic(recommend.getGoodsImageUrl()); |
| | | order.setSjPrice(recommend.getSellingPrice()); |
| | | order.setGoodsId(recommend.getId()); |
| | | } |
| | | order.setOrderRemark(memberOrderDTO.getOrderRemark()); |
| | | order.setMemberId(memberOrderDTO.getMemberId()); |
| | |
| | | return memberOrderVO; |
| | | } |
| | | |
| | | private BigDecimal getVipPrice(GoodsSku goodsSku, Integer vipClassify) { |
| | | if (Objects.isNull(goodsSku)) { |
| | | throw new ServiceException("当前商品已下架"); |
| | | } |
| | | BigDecimal price = BigDecimal.ZERO; |
| | | if (MemberVipClassifyEnum.VIP.getCode().equals(vipClassify)) { |
| | | price = goodsSku.getVipPrice(); |
| | | } else if (MemberVipClassifyEnum.SUPER_VIP.getCode().equals(vipClassify)) { |
| | | price = goodsSku.getSuperVipPrice(); |
| | | } |
| | | return price; |
| | | } |
| | | @Override |
| | | public MemberTiOrderVO updMemberOrder(MemberOrderDTO memberOrderDTO) { |
| | | |
| | | Order order = baseMapper.selectById(memberOrderDTO.getId()); |
| | | if(memberOrderDTO.getOrderRemark()!=null){ |
| | | order.setOrderRemark(memberOrderDTO.getOrderRemark()); |
| | |
| | | goodsStockUpdDTO.setAuctionStock(m-memberOrderDTO.getGoodsQuantity()); |
| | | goodsSkuClient.updGoodsStock1(goodsStockUpdDTO, |
| | | SecurityConstants.INNER); |
| | | order.setTotalAmount(goodsSku.getPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()))); |
| | | order.setTotalAmount(order.getPrice() |
| | | .multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()))); |
| | | order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity()); |
| | | memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); |
| | | memberOrderVO.setPrice(goodsSku.getPrice()); |
| | |
| | | } |
| | | } |
| | | } |
| | | if (memberOrderDTO.getOrderFrom() == OrderFromEnum.WISH_ORDER.getCode()) { |
| | | if (order.getOrderFrom() == OrderFromEnum.WISH_ORDER) { |
| | | // 远程调用营销服务,获取推荐商品信息 |
| | | PromotionWishRecommend recommend = promotionClient.getPromotionWishRecommend( |
| | | memberOrderDTO.getGoodsSkuId(), |
| | | order.getGoodsSkuId(), |
| | | SecurityConstants.INNER).getData(); |
| | | if (Objects.isNull(recommend)) { |
| | | throw new ServiceException("推荐商品不存在"); |
| | |
| | | order.setTotalAmount(recommend.getSellingPrice() |
| | | .multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()))); |
| | | order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity()); |
| | | memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); |
| | | memberOrderVO.setGoodsSkuId(order.getGoodsSkuId()); |
| | | memberOrderVO.setPrice(recommend.getSellingPrice()); |
| | | memberOrderVO.setCoverPic(recommend.getGoodsImageUrl()); |
| | | memberOrderVO.setSkuName(recommend.getGoodsName()); |
| | |
| | | LogisticsDTO logisticsDTO = new LogisticsDTO(); |
| | | logisticsDTO.setCompany(order.getLogisticsNum()); |
| | | logisticsDTO.setPostid(order.getCourierNumber()); |
| | | logisticsDTO.setReceiverPhone(order.getReceiverPhone()); |
| | | Express100VO logisticsList = logisticsService.getLogisticsList(logisticsDTO); |
| | | if (StringUtils.isNotNull(logisticsList)) { |
| | | mgtOrderVO.setExpress100VO(logisticsList); |