mitao
2024-07-31 9bbd528db300cce1f373d1c2e812f67eb380cecd
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -197,6 +197,8 @@
        order.setOrderTimeSx(OrderDTO.getOrderTimeSx());
        this.save(order);
        if (OrderDTO.getOrderFrom().getCode()==4){
            if (OrderDTO.getAuctionType().getCode()==1){
                LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery();
@@ -211,7 +213,6 @@
            if (OrderDTO.getAuctionType().getCode()==2){
                LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery();
                wrapper.eq(OrderAuctionBond::getMemberId,OrderDTO.getMemberId());
                wrapper.eq(OrderAuctionBond::getAuctionGoodsId,OrderDTO.getGoodsSkuId());
                wrapper.eq(OrderAuctionBond::getBoundStatus,2);
                wrapper.eq(OrderAuctionBond::getAuctionSalesroomId,OrderDTO.getAuctionSalesroomId());
                wrapper.eq(OrderAuctionBond::getBondType,2);
@@ -732,8 +733,9 @@
            CustomConfig memberPointsMoney = sysUserClient.getconfig("MEMBER_POINTS_MONEY").getData();
            CustomConfig memberPointsPoints = sysUserClient.getconfig("MEMBER_POINTS_POINTS").getData();
            if (pice.intValue()>0){
                BigDecimal divide = pice.divide(new BigDecimal(memberPointsMoney.getConfigValue()));
            if (pice.doubleValue()>0){
                BigDecimal pic=pice.multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()));
                BigDecimal divide = pic.divide(new BigDecimal(memberPointsMoney.getConfigValue()));
                BigDecimal roundedDown = divide.setScale(0, RoundingMode.DOWN);
                BigDecimal aDouble= roundedDown.multiply(new BigDecimal(memberPointsPoints.getConfigValue()));
                order.setPoints(aDouble.intValue());
@@ -895,28 +897,16 @@
            orderVO = BeanUtils.copyBean(order, OrderVO.class);
            orderVO.setAuctionType(order.getAuctionOrderType());
            orderVO.setCouponId(order.getCouponId());
            orderVO.setBound(order.getBound());
            orderVO.setIsRequest(order.getIsRequest());
            if (orderVO.getOrderFrom().getCode()==3){
                GoodsGroupPurchase data = GoodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
                orderVO.setGroupTime(data.getGroupTime());
                orderVO.setSkuId(data.getGoodsSkuId());
            }
            OrderReturnRequest orderReturnRequest = orderReturnRequestService.getOne(
                    Wrappers.lambdaQuery(OrderReturnRequest.class)
                            .eq(OrderReturnRequest::getOrderId,
                                    orderVO.getId()).eq(OrderReturnRequest::getDelFlag,
                                    0).last("limit 1"));
            if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) {
                orderVO.setStatus(orderReturnRequest.getStatus());
                orderVO.setRequestId(orderReturnRequest.getId());
                orderVO.setIsRequest(2);
            }else{
                orderVO.setIsRequest(1);
            }
            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){
@@ -926,7 +916,6 @@
                }
            }else {
                orderVO.setIsAuctionBond(1);
                orderVO.setBound(new BigDecimal(0));
            }
        } catch (Exception e) {
@@ -939,6 +928,13 @@
        orderVO.setOrderShuoMin(memberPointsPoints.getConfigValue());
        CustomConfig ReturnCycle = sysUserClient.getconfig("RETURN_CYCLE").getData();
        orderVO.setOrderZq(Integer.valueOf(ReturnCycle.getConfigValue()));
        // 查询售后记录
        Optional<OrderReturnRequest> orderReturnRequestOpt = orderReturnRequestService.lambdaQuery()
                .eq(OrderReturnRequest::getOrderId, order.getId()).oneOpt();
        if (orderReturnRequestOpt.isPresent()) {
            OrderReturnRequest orderReturnRequest = orderReturnRequestOpt.get();
            orderVO.setStatus(orderReturnRequest.getStatus());
        }
        return orderVO;
    }
@@ -1165,11 +1161,16 @@
            order.setReceiveTime(LocalDateTime.now());
            baseMapper.updateById(order);
            if (order.getAuctionOrderType().getCode()==1){
            }else{
            }
            LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery();
            wrapper.eq(OrderAuctionBond::getOrderId,order.getId());
            OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper);
            if(orderAuctionBond!=null){
                if (order.getPaymentMethod() != null && order.getPaymentMethod().getCode() == 1) {//支付宝
                if (order.getPaymentMethod() != null && order.getPaymentMethod().getCode() == 2) {//支付宝
                    //获取支付信息
                    LambdaQueryWrapper<Paylog> paylogEntityWrapper = Wrappers.lambdaQuery();
                    paylogEntityWrapper.eq(Paylog::getOutTradeNo, orderAuctionBond.getOrderNo());
@@ -1178,7 +1179,7 @@
                    if (!bo) {
                        System.out.println("支付宝退款失败");
                    }
                } else if (order.getPaymentMethod() != null && order.getPaymentMethod().getCode() == 2) {//微信
                } else if (order.getPaymentMethod() != null && order.getPaymentMethod().getCode() == 1) {//微信
                    //获取支付信息
                    LambdaQueryWrapper<Paylog> paylogEntityWrapper = Wrappers.lambdaQuery();
                    paylogEntityWrapper.eq(Paylog::getOutTradeNo, orderAuctionBond.getOrderNo());
@@ -1319,7 +1320,6 @@
        wrapper1.eq(Order::getMemberId,homeGoodsSkuDTO1.getMemberId());
        wrapper1.eq(Order::getOrderFrom,3);
        wrapper1.eq(Order::getDelFlag,0);
        wrapper1.eq(Order::getOrderStatus,2);
        wrapper1.orderByDesc(Order::getCreateTime);
        Page<Order> page = new Page<>(homeGoodsSkuDTO1.getPageCurr(), homeGoodsSkuDTO1.getPageSize());
        Page< Order> page1 = this.page(page, wrapper1);
@@ -1331,36 +1331,51 @@
            Order byId1 = this.getById(goodsGroupPurchaseeVO1.getId());
            GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(byId1.getGoodsSkuId(), SecurityConstants.INNER).getData();
            BeanUtils.copyProperties(data,goodsGroupPurchaseeVO1);
            GoodsSku byId = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
            goodsGroupPurchaseeVO1.setGoodsSkuName(byId.getSkuName());
            goodsGroupPurchaseeVO1.setCoverPic(byId.getCoverPic());
            goodsGroupPurchaseeVO1.setPrice(byId.getPrice());
            goodsGroupPurchaseeVO1.setYears(String.valueOf(byId.getYears().getYear()));
            goodsGroupPurchaseeVO1.setIsGoodsGroupPurchase(2);
            if (byId1.getGroupNo()!=null){
                GoodsGroupPurchaseInfo one1 = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseInfo2(byId1.getGroupNo(), SecurityConstants.INNER).getData();
                if (one1!=null) {
                    goodsGroupPurchaseeVO1.setCurrentNumber(one1.getCurrentNumber());
                    if (one1.getGroupStatus() == 0) {
                        if (one1.getGroupSize() - one1.getCurrentNumber() < 5) {
                            goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.MS_FAILURE);
                        } else {
                            goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP);
            if (Objects.nonNull(data)) {
                BeanUtils.copyProperties(data, goodsGroupPurchaseeVO1);
                GoodsSku byId = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(),
                        SecurityConstants.INNER).getData();
                goodsGroupPurchaseeVO1.setGoodsSkuName(byId.getSkuName());
                goodsGroupPurchaseeVO1.setCoverPic(byId.getCoverPic());
                goodsGroupPurchaseeVO1.setPrice(byId.getPrice());
                goodsGroupPurchaseeVO1.setYears(String.valueOf(byId.getYears().getYear()));
                goodsGroupPurchaseeVO1.setIsGoodsGroupPurchase(2);
                if (byId1.getGroupNo() != null) {
                    GoodsGroupPurchaseInfo one1 = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseInfo2(
                            byId1.getGroupNo(), SecurityConstants.INNER).getData();
                    if (one1 != null) {
                        goodsGroupPurchaseeVO1.setCurrentNumber(one1.getCurrentNumber());
                        if (one1.getGroupStatus() == 0) {
                            if (one1.getGroupSize() - one1.getCurrentNumber() < 5) {
                                goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.MS_FAILURE);
                            } else {
                                goodsGroupPurchaseeVO1.setGroupStatus(
                                        GroupStatusEnum.TO_FORM_A_GROUP);
                            }
                        }
                    }
                    if (one1.getGroupStatus() == 1) {
                        goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP);
                    }
                        if (one1.getGroupStatus() == 1) {
                            goodsGroupPurchaseeVO1.setGroupStatus(
                                    GroupStatusEnum.FORMED_INTO_A_GROUP);
                        }
                        if (one1.getGroupStatus() == 2) {
                            goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.GROUP_FAILURE);
                        }
                }else{
                    goodsGroupPurchaseeVO1.setGroupStatus(data.getGroupStatus());
                    } else {
                        if (data.getGroupStatus().getCode() == 1) {
                            goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP);
                        }
                        if (data.getGroupStatus().getCode() == 2) {
                            goodsGroupPurchaseeVO1.setGroupStatus(
                                    GroupStatusEnum.FORMED_INTO_A_GROUP);
                        }
                        if (data.getGroupStatus().getCode() == 3) {
                            goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.GROUP_FAILURE);
                        }
                    }
                }
            }
        }
@@ -1443,6 +1458,7 @@
        if (CollUtils.isNotEmpty(orderIdList)) {
            List<OrderReturnRequest> orderReturnRequestList = orderReturnRequestService.lambdaQuery()
                    .in(OrderReturnRequest::getOrderId, orderIdList)
                    .eq(OrderReturnRequest::getStatus, ReturnRequestStatusEnum.COMPLETED)
                    .eq(OrderReturnRequest::getAuditStatus, AuditStatusEnum.PASSED).list();
            List<Long> orderReturnRequestPassedIds = orderReturnRequestList.stream()
                    .map(OrderReturnRequest::getOrderId)
@@ -1636,6 +1652,10 @@
            order.setOrderStatus(OrderStatusEnum.FINISHED);
            order.setReceiveTime(LocalDateTime.now());
            this.updateById(order);
            // 拍卖订单退保证金
            if (order.getOrderFrom() == OrderFromEnum.AUCTION_ORDERS) {
                refundBond(id);
            }
        }
    }
@@ -1778,16 +1798,16 @@
        if (order.getAuctionOrderType() == AuctionOrderTypeEnum.AUCTION_ITEMS) {
            orderAuctionBond = orderAuctionBondMapper.selectOne(
                    Wrappers.lambdaQuery(OrderAuctionBond.class)
                            .eq(OrderAuctionBond::getOrderId, id)
                            .eq(OrderAuctionBond::getAuctionSalesroomId,
                                    order.getAuctionSalesroomId())
                            .eq(OrderAuctionBond::getMemberId, order.getMemberId())
                            .eq(OrderAuctionBond::getBoundStatus, BondStatusEnum.PAID));
        } else {
            orderAuctionBond = orderAuctionBondMapper.selectOne(
                    Wrappers.lambdaQuery(OrderAuctionBond.class)
                            .eq(OrderAuctionBond::getOrderId, id)
                            .eq(OrderAuctionBond::getAuctionGoodsId,
                                    order.getGoodsSkuId())
                            .eq(OrderAuctionBond::getMemberId, order.getMemberId())
                            .eq(OrderAuctionBond::getBoundStatus, BondStatusEnum.PAID));
        }
        if (StringUtils.isNotNull(orderAuctionBond)) {
@@ -1800,7 +1820,7 @@
                paylog.setState(3);// 已退款
                orderAuctionBond.setBoundStatus(BondStatusEnum.REFUNDED);
                iPaylogService.updateById(paylog);
                this.updateById(order);
                orderAuctionBondMapper.updateById(orderAuctionBond);
            }
        }
    }