| | |
| | | import com.ruoyi.common.core.constant.SecurityConstants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.enums.BondStatusEnum; |
| | | import com.ruoyi.common.core.enums.OrderFromEnum; |
| | | import com.ruoyi.common.core.enums.OrderStatusEnum; |
| | | import com.ruoyi.common.core.enums.PaymentMethodEnum; |
| | | import com.ruoyi.common.core.enums.PointStatusEnum; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.order.domain.Paylog; |
| | | import com.ruoyi.order.mapper.OrderAuctionBondMapper; |
| | |
| | | import com.ruoyi.order.util.tencent.common.XMLParser; |
| | | import com.ruoyi.system.api.domain.GoodsGroupPurchase; |
| | | import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo; |
| | | import com.ruoyi.system.api.domain.GoodsSeckill; |
| | | import com.ruoyi.system.api.domain.GoodsSku; |
| | | import com.ruoyi.system.api.domain.Member; |
| | | import com.ruoyi.system.api.domain.Order; |
| | |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.Set; |
| | | import java.util.SortedMap; |
| | |
| | | wrapper1.eq(OrderAuctionBond::getOrderNo,orderNO); |
| | | wrapper1.eq(OrderAuctionBond::getDelFlag,0); |
| | | OrderAuctionBond one1 = orderAuctionBondMapper.selectOne(wrapper1); |
| | | one1.setBoundStatus(BondStatusEnum.PAID); |
| | | one1.setPaymentMethod(paymentMethodEnum); |
| | | orderAuctionBondMapper.updateById(one1); |
| | | |
| | | |
| | | if (one1.getBond()==null||one1.getBond().compareTo(new BigDecimal(0))==0){ |
| | | one1.setBoundStatus(BondStatusEnum.PAID); |
| | | Map<String, Object> returnMap = new HashMap<>(); |
| | |
| | | wrapper1.eq(Order::getOrderNo,orderNO); |
| | | wrapper1.eq(Order::getDelFlag,0); |
| | | Order page1 = OrderMapper.selectOne(wrapper1); |
| | | page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED); |
| | | page1.setPaymentMethod(paymentMethodEnum); |
| | | page1.setPayTime(LocalDateTime.now()); |
| | | OrderMapper.updateById(page1); |
| | | // 判断商品库存 |
| | | Long goodsSkuId = page1.getGoodsSkuId(); |
| | | OrderFromEnum orderFrom = page1.getOrderFrom(); |
| | | switch (orderFrom) { |
| | | case COMMODITY_ORDER: |
| | | GoodsSku goods = goodsSkuClient.getGoodsSkuOne(goodsSkuId, |
| | | SecurityConstants.INNER).getData(); |
| | | if (Objects.isNull(goods)) { |
| | | throw new ServiceException("该商品已下架"); |
| | | } |
| | | if (goods.getStock() <= 0) { |
| | | throw new ServiceException("该商品已售罄"); |
| | | } |
| | | if (goods.getStock() < page1.getGoodsQuantity()) { |
| | | throw new ServiceException("该商品库存不足"); |
| | | } |
| | | break; |
| | | case SNAP_ORDERS: |
| | | GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(goodsSkuId, |
| | | SecurityConstants.INNER).getData(); |
| | | if (Objects.isNull(data)) { |
| | | throw new ServiceException("该商品已下架"); |
| | | } |
| | | if (data.getSeckillStock() <= 0) { |
| | | throw new ServiceException("该商品已售罄"); |
| | | } |
| | | if (data.getSeckillStock() < page1.getGoodsQuantity()) { |
| | | throw new ServiceException("该商品库存不足"); |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | if (page1.getTotalAmount().compareTo(new BigDecimal(0))==0){ |
| | | Map<String, Object> returnMap = new HashMap<>(); |
| | | returnMap.put("Type",1); |
| | | return R.ok(returnMap); |
| | | } |
| | | OrderMapper.updateById(page1); |
| | | |
| | | if (page1.getPoints()!=0){ |
| | | MemberPointsDTO memberPointsDTO=new MemberPointsDTO(); |
| | | memberPointsDTO.setMemberId(page1.getMemberId()); |