| | |
| | | import com.google.common.collect.Lists; |
| | | import com.ruoyi.common.core.constant.CacheConstants; |
| | | import com.ruoyi.common.core.constant.SecurityConstants; |
| | | import com.ruoyi.common.core.enums.*; |
| | | import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; |
| | | import com.ruoyi.common.core.enums.AuditStatusEnum; |
| | | 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.OrderFromEnum; |
| | | import com.ruoyi.common.core.enums.OrderStatusEnum; |
| | | import com.ruoyi.common.core.enums.OrderTypeEnum; |
| | |
| | | import com.ruoyi.system.api.domain.dto.MgtAfterSaleSettingDTO; |
| | | import com.ruoyi.system.api.domain.dto.OrderDTO; |
| | | import com.ruoyi.system.api.domain.dto.updMembeOneDTO; |
| | | import com.ruoyi.system.api.domain.vo.*; |
| | | import com.ruoyi.system.api.domain.vo.Express100VO; |
| | | import com.ruoyi.system.api.domain.vo.MemberOrderListVO; |
| | | import com.ruoyi.system.api.domain.vo.MemberOrderNumVO; |
| | | import com.ruoyi.system.api.domain.vo.MemberTiOrderVO; |
| | | import com.ruoyi.system.api.domain.vo.OrderVO; |
| | | import com.ruoyi.system.api.feignClient.AuctionClient; |
| | | import com.ruoyi.system.api.feignClient.GoodsSkuClient; |
| | | import com.ruoyi.system.api.feignClient.MemberClient; |
| | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.Set; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.function.Function; |
| | |
| | | order.setOrderFrom(OrderFromEnum.AUCTION_ORDERS); |
| | | order.setOrderNo(OrderUtil.getOrderNoForPrefix("PM")); |
| | | order.setIsOrder(1); |
| | | if (OrderDTO.getAuctionType().equals(AuctionOrderTypeEnum.AUCTION_ITEMS)) { |
| | | order.setAuctionSalesroomId(OrderDTO.getAuctionSalesroomId()); |
| | | } |
| | | } |
| | | order.setOrderTime(OrderDTO.getOrderTime()); |
| | | order.setOrderFrom(OrderDTO.getOrderFrom()); |
| | |
| | | |
| | | LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); |
| | | wrapper3.eq(OrderAuctionBond::getOrderId,order.getId()); |
| | | wrapper3.or().eq(OrderAuctionBond::getOrderNo, order.getOrderNo()); |
| | | OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper3); |
| | | if (orderAuctionBond!=null){ |
| | | if (orderAuctionBond.getBoundStatus().getCode()==1||orderAuctionBond.getBoundStatus().getCode()==2){ |
| | |
| | | */ |
| | | @Override |
| | | public List<Order> getOrderByCouponIds(Collection<Long> couponIds) { |
| | | return this.lambdaQuery().in(Order::getCouponId, couponIds).list(); |
| | | return this.lambdaQuery().in(Order::getCouponId, couponIds) |
| | | .ne(Order::getOrderStatus, OrderStatusEnum.CANCELED).eq(Order::getIsRequest, 1) |
| | | .list(); |
| | | } |
| | | |
| | | /** |
| | |
| | | query.getSkuName()) |
| | | .eq(StringUtils.isNotNull(query.getOrderStatus()), Order::getOrderStatus, |
| | | query.getOrderStatus()) |
| | | .eq(StringUtils.isNotNull(query.getOrderStatus()) && query.getOrderStatus() |
| | | .equals(OrderStatusEnum.FINISHED), Order::getIsRequest, 1) |
| | | .orderByDesc(Order::getCreateTime) |
| | | .page(new Page<>(query.getPageCurr(), query.getPageSize())); |
| | | if (StringUtils.isEmpty(page.getRecords())) { |
| | |
| | | } |
| | | pageVO = PageDTO.of(page, MgtOrderVO.class); |
| | | List<MgtOrderVO> voList = pageVO.getList(); |
| | | List<Long> orderIdList = voList.stream().filter(order -> order.getIsRequest().equals(2)) |
| | | .map(MgtOrderVO::getId).collect( |
| | | Collectors.toList()); |
| | | if (CollUtils.isNotEmpty(orderIdList)) { |
| | | List<OrderReturnRequest> orderReturnRequestList = orderReturnRequestService.lambdaQuery() |
| | | .in(OrderReturnRequest::getOrderId, orderIdList) |
| | | .eq(OrderReturnRequest::getAuditStatus, AuditStatusEnum.PASSED).list(); |
| | | List<Long> orderReturnRequestPassedIds = orderReturnRequestList.stream() |
| | | .map(OrderReturnRequest::getOrderId) |
| | | .collect(Collectors.toList()); |
| | | for (MgtOrderVO order : voList) { |
| | | if (orderReturnRequestPassedIds.contains(order.getId())) { |
| | | order.setIsRequest(3); |
| | | } |
| | | } |
| | | } |
| | | if (query.getQueryType() == OrderTypeEnum.AUCTION_ORDER) { |
| | | List<MgtOrderVO> list = voList; |
| | | // 封装参数查询拍卖会 |
| | |
| | | salesroomMap = auctionSalesroomList.stream() |
| | | .collect(Collectors.toMap(AuctionSalesroom::getId, |
| | | AuctionSalesroom::getSalesroomName)); |
| | | auctionSalesroomList.stream() |
| | | .map(AuctionSalesroom::getId) |
| | | .collect(Collectors.toSet()); |
| | | } |
| | | // 封装参数查询拍卖订单保证金 |
| | | Set<Long> auctionGoodsIdSet = list.stream() |
| | |
| | | throw new ServiceException("该订单已是售后状态"); |
| | | } |
| | | String orderNo = order.getOrderNo(); |
| | | Paylog paylog = iPaylogService.lambdaQuery().eq(Paylog::getOutTradeNo, orderNo) |
| | | .last("limit 1").one(); |
| | | Optional<Paylog> paylogOpt = iPaylogService.lambdaQuery().eq(Paylog::getOutTradeNo, orderNo) |
| | | .last("limit 1").oneOpt(); |
| | | PaymentMethodEnum paymentMethod = order.getPaymentMethod(); |
| | | |
| | | if (StringUtils.isNotNull(paylog)) { |
| | | if (paylogOpt.isPresent()) { |
| | | Paylog paylog = paylogOpt.get(); |
| | | boolean result = handleRefund(paymentMethod, paylog, orderNo); |
| | | if (result) { |
| | | paylog.setState(3);// 已退款 |
| | | iPaylogService.updateById(paylog); |
| | | } |
| | | OrderReturnRequest orderReturnRequest = new OrderReturnRequest(); |
| | | orderReturnRequest.setOrderId(id); |
| | | orderReturnRequest.setRequestTime(LocalDateTime.now()); |
| | | orderReturnRequest.setRequestType(RequestTypeEnum.REFUND); |
| | | orderReturnRequest.setRequestReason("管理后台退款"); |
| | | orderReturnRequest.setStatus(ReturnRequestStatusEnum.COMPLETED); |
| | | orderReturnRequest.setAuditStatus(AuditStatusEnum.PASSED); |
| | | orderReturnRequest.setAuditTime(LocalDateTime.now()); |
| | | orderReturnRequestService.save(orderReturnRequest); |
| | | } |
| | | order.setIsRequest(2); |
| | | this.updateById(order); |
| | | // 生成售后记录 |
| | | OrderReturnRequest orderReturnRequest = new OrderReturnRequest(); |
| | | orderReturnRequest.setOrderId(id); |
| | | orderReturnRequest.setRequestTime(LocalDateTime.now()); |
| | | orderReturnRequest.setRequestType(RequestTypeEnum.REFUND); |
| | | orderReturnRequest.setRequestReason("管理后台退款"); |
| | | orderReturnRequest.setStatus(ReturnRequestStatusEnum.COMPLETED); |
| | | orderReturnRequest.setAuditStatus(AuditStatusEnum.PASSED); |
| | | orderReturnRequest.setAuditTime(LocalDateTime.now()); |
| | | orderReturnRequestService.save(orderReturnRequest); |
| | | // 扣除订单积分 |
| | | Member member = memberClient.getMembeOne(order.getMemberId(), SecurityConstants.INNER) |
| | | .getData(); |
| | | if (StringUtils.isNotNull(member)) { |
| | | MemberPointsDTO memberPointsDTO = new MemberPointsDTO(); |
| | | memberPointsDTO.setMemberId(order.getMemberId()); |
| | | memberPointsDTO.setPointsType(1); |
| | | memberPointsDTO.setPointsStatus(PointStatusEnum.INCREASE); |
| | | memberPointsDTO.setPointsType(2); |
| | | memberPointsDTO.setPointsStatus(PointStatusEnum.REDUCE); |
| | | memberPointsDTO.setPoints(order.getPoints()); |
| | | memberClient.addMemberPoints(memberPointsDTO); |
| | | |