| | |
| | | package com.ruoyi.order.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.google.common.collect.Lists; |
| | | import com.ruoyi.common.core.constant.SecurityConstants; |
| | |
| | | import com.ruoyi.common.core.enums.PaymentMethodEnum; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.order.domain.OrderMall; |
| | | import com.ruoyi.order.mapper.OrderMapper; |
| | | import com.ruoyi.order.service.IOrderMallService; |
| | | import com.ruoyi.order.service.IOrderService; |
| | | import com.ruoyi.order.util.OrderUtil; |
| | | import com.ruoyi.system.api.domain.*; |
| | |
| | | */ |
| | | @Service |
| | | public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService { |
| | | |
| | | |
| | | |
| | | @Resource |
| | | private IOrderMallService orderMallService; |
| | | |
| | | @Resource |
| | | private GoodsSkuClient goodsSkuClient; |
| | |
| | | order.setOrderTime(OrderDTO.getOrderTime()); |
| | | order.setOrderFrom(OrderDTO.getOrderFrom()); |
| | | order.setAuctionType(OrderDTO.getAuctionType()); |
| | | order.setGoodsSkuId(OrderDTO.getGoodsSkuId()); |
| | | order.setMemberId(OrderDTO.getMemberId()); |
| | | order.setTotalAmount(OrderDTO.getTotalAmount()); |
| | | order.setOrderStatus(OrderStatusEnum.TO_PLAY); |
| | |
| | | */ |
| | | @Override |
| | | public Integer getGroupPurchasesGoodsNum(Long id) { |
| | | Set<Long> orderIdSet = orderMallService.lambdaQuery().eq(OrderMall::getActivityId, id) |
| | | .list() |
| | | .stream().map(OrderMall::getOrderId).collect( |
| | | Collectors.toSet()); |
| | | List<Order> list = this.lambdaQuery().in(Order::getId, orderIdSet) |
| | | List<Order> list = this.lambdaQuery().eq(Order::getId, id) |
| | | .in(Order::getOrderStatus, OrderStatusEnum.TO_BE_SHIPPED, |
| | | OrderStatusEnum.GOODS_TO_BE_RECEIVED, OrderStatusEnum.FINISHED).list(); |
| | | return list.stream().map(Order::getGoodsQuantity).reduce(0, Integer::sum); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | order.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); |
| | | baseMapper.insert(order); |
| | | OrderMall orderMall=new OrderMall(); |
| | | orderMall.setOrderId(order.getId()); |
| | | if (memberOrderDTO.getOrderFrom()==1){ |
| | | orderMall.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); |
| | | } |
| | | if (memberOrderDTO.getOrderFrom()==2){ |
| | | orderMall.setActivityId(memberOrderDTO.getGoodsSkuId()); |
| | | } |
| | | if (memberOrderDTO.getOrderFrom()==3){ |
| | | orderMall.setActivityId(memberOrderDTO.getGoodsSkuId()); |
| | | } |
| | | orderMallService.save(orderMall); |
| | | |
| | | memberOrderVO.setId(order.getId()); |
| | | memberOrderVO.setOrderStatus(OrderStatusEnum.TO_PLAY); |
| | | memberOrderVO.setOrderNo(order.getOrderNo()); |
| | |
| | | CouponMemberDTO couponMemberDTO=new CouponMemberDTO(); |
| | | couponMemberDTO.setId(memberOrderDTO.getCouponId()); |
| | | CouponMember data = promotionClient.getCouponMember(couponMemberDTO, SecurityConstants.INNER).getData(); |
| | | |
| | | |
| | | if (order.getCouponId()!=null){ |
| | | CouponMemberDTO couponMemberDTO1=new CouponMemberDTO(); |
| | | couponMemberDTO1.setId(memberOrderDTO.getCouponId()); |
| | | couponMemberDTO1.setCouponStatus(1); |
| | | promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER); |
| | | } |
| | | |
| | | BigDecimal pice=new BigDecimal(0); |
| | | if (data.getCouponType().getCode()==1){ |
| | | pice= order.getTotalAmount(); |
| | |
| | | } |
| | | |
| | | } |
| | | order.setCouponId(memberOrderDTO.getCouponId()); |
| | | CouponMemberDTO couponMemberDTO2=new CouponMemberDTO(); |
| | | couponMemberDTO2.setId(memberOrderDTO.getCouponId()); |
| | | couponMemberDTO2.setCouponStatus(2); |
| | | promotionClient.updCouponMember(couponMemberDTO2, SecurityConstants.INNER); |
| | | |
| | | order.setTotalAmount(pice); |
| | | } |
| | | |