mitao
2024-07-26 357bf93f7fa56e414ad54d4fbfbf6bd97da5b1d2
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -8,11 +8,8 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.enums.ClientTypeEnum;
import com.ruoyi.common.core.enums.GroupStatusEnum;
import com.ruoyi.common.core.enums.ListingStatusEnum;
import com.ruoyi.common.core.enums.OrderStatusEnum;
import com.ruoyi.common.core.enums.StartStatusEnum;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.enums.*;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
@@ -37,11 +34,7 @@
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.domain.Order;
import com.ruoyi.system.api.domain.WebsocketMessageDTO;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
import com.ruoyi.system.api.domain.dto.ListStatusDTO;
import com.ruoyi.system.api.domain.dto.OrderUpdDTO;
import com.ruoyi.system.api.domain.dto.RefundDTO;
import com.ruoyi.system.api.domain.dto.*;
import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO;
import com.ruoyi.system.api.domain.vo.OrderVO;
import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO;
@@ -292,6 +285,7 @@
        groupPurchase.setGroupStatus(
                res ? GroupStatusEnum.FORMED_INTO_A_GROUP : GroupStatusEnum.GROUP_FAILURE);
        groupPurchase.setStartStatus(StartStatusEnum.ENDED);
        this.updateById(groupPurchase);
    }
@@ -329,7 +323,7 @@
                    });
                    try {
                        log.info(
                                "============  =================退款结束=============================");
                                "=============================退款结束=============================");
                        log.info("退款成功订单:{}",
                                objectMapper.writeValueAsString(successfulOrders));
                        log.info("退款失败订单:{}", objectMapper.writeValueAsString(failedOrders));
@@ -356,6 +350,13 @@
                orderClient.updateOrderStatusByMubres(formedGroupMubres, SecurityConstants.INNER);
                return true;
            }
            List<GoodsGroupPurchaseInfo> notGroupedList = groupPurchaseInfoList.stream()
                    .filter(g -> !g.getCurrentNumber()
                            .equals(g.getGroupSize())).peek(p -> {
                        p.setGroupStatus(GroupStatusEnum.GROUP_FAILURE.getCode());
                    }).collect(
                            Collectors.toList());
            goodsGroupPurchaseInfoService.updateBatchById(notGroupedList);
        }
        return false;
    }
@@ -381,28 +382,38 @@
        goodsGroupPurchaseInfoVO.setShareTitle(one.getShareTitle());
        goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
        goodsGroupPurchaseInfoVO.setStartStatus(one.getStartStatus());
        goodsGroupPurchaseInfoVO.setStartTime(one.getStartTime());
        goodsGroupPurchaseInfoVO.setEndTime(one.getEndTime());
        goodsGroupPurchaseInfoVO.setSharePic(one.getSharePic());
        goodsGroupPurchaseInfoVO.setGroupPurchasePrice(one.getGroupPurchasePrice());
        goodsGroupPurchaseInfoVO.setGroupSize(one.getGroupSize());
        goodsGroupPurchaseInfoVO.setLimitNumber(one.getLimitNumber());
        LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper6= Wrappers.lambdaQuery();
        wrapper6.eq(GoodsGroupPurchaseInfo::getDelFlag,0);
        wrapper6.eq(GoodsGroupPurchaseInfo::getGroupStatus,0);
        wrapper6.eq(GoodsGroupPurchaseInfo::getGroupPurchaseId,one.getId());
        GoodsGroupPurchaseInfo one1 = goodsGroupPurchaseInfoService.getOne(wrapper6);
        if (one1!=null){
            goodsGroupPurchaseInfoVO.setCurrentNumber(one1.getCurrentNumber());
            if (one1.getGroupStatus()==0){
                goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP);
            }else{
                goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP);
            }
        if (one.getGroupStatus().getCode()==0){
            LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper6= Wrappers.lambdaQuery();
            wrapper6.eq(GoodsGroupPurchaseInfo::getDelFlag,0);
            wrapper6.eq(GoodsGroupPurchaseInfo::getGroupStatus,0);
            wrapper6.eq(GoodsGroupPurchaseInfo::getGroupPurchaseId,one.getId());
            GoodsGroupPurchaseInfo one1 = goodsGroupPurchaseInfoService.getOne(wrapper6);
            if (one1!=null){
                goodsGroupPurchaseInfoVO.setCurrentNumber(one1.getCurrentNumber());
                if (one1.getGroupStatus()==0){
                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP);
                }if(one1.getGroupStatus()==1){
                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP);
                }if(one1.getGroupStatus()==2){
                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.GROUP_FAILURE);
                }
            }else{
                goodsGroupPurchaseInfoVO.setCurrentNumber(one.getCurrentNumber());
                goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
            }
        }else{
            goodsGroupPurchaseInfoVO.setCurrentNumber(one.getCurrentNumber());
            goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
        }
        goodsGroupPurchaseInfoVO.setStartTime(one.getStartTime());
        goodsGroupPurchaseInfoVO.setEndTime(one.getEndTime());
        goodsGroupPurchaseInfoVO.setDescription(one.getDescription());
@@ -424,7 +435,7 @@
        HomeGoodsSkuDTO homeGoodsSkuDTO1=new HomeGoodsSkuDTO();
        homeGoodsSkuDTO1.setGoodsSkuId(one.getId());
        homeGoodsSkuDTO1.setMemberId(homeGoodsSkuDTO.getMemberId());
        Order data = orderClient.getOrderByGroupPurchaseMemberId1(homeGoodsSkuDTO1, SecurityConstants.INNER).getData();
        Order data = orderClient.getOrderByGroupPurchaseMemberId2(homeGoodsSkuDTO1, SecurityConstants.INNER).getData();
        if (data!=null){
            goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(2);
            goodsGroupPurchaseInfoVO.setOrder(data);
@@ -436,19 +447,30 @@
            if (one7!=null){
                goodsGroupPurchaseInfoVO.setCurrentNumber(one7.getCurrentNumber());
                if (one7.getGroupStatus()==0){
                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP);
                }else{
                    if (one7.getGroupSize()-one7.getCurrentNumber()<5){
                        goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.MS_FAILURE);
                    }else{
                        goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP);
                    }
                }if(one7.getGroupStatus()==1){
                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP);
                }if(one7.getGroupStatus()==2){
                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.GROUP_FAILURE);
                }
            }
        }else{
            if (one.getGroupStatus().getCode()==0){
                if (one.getGroupSize()-one.getCurrentNumber()<5){
                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.MS_FAILURE);
                if (one.getGroupSize()>5){
                    if (one.getGroupSize()-one.getCurrentNumber()<5){
                        goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.MS_FAILURE);
                    }else{
                        goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
                    }
                }else{
                    goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
                }
            }else {
                goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
            }
@@ -539,6 +561,37 @@
            goodsGroupPurchaseeVO.setPrice(byId.getPrice());
            goodsGroupPurchaseeVO.setYears(String.valueOf(byId.getYears().getYear()));
            goodsGroupPurchaseeVO.setIsGoodsGroupPurchase(2);
            OrderDTO orderDTO =new OrderDTO();
            orderDTO.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
            orderDTO.setGoodsSkuId(goodsGroupPurchaseeVO.getId());
            orderDTO.setMemberId(homeGoodsSkuDTO.getMemberId());
            Order orderOne = orderClient.getOrderOne2(orderDTO, SecurityConstants.INNER).getData();
            if (orderOne!=null){
                LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper6= Wrappers.lambdaQuery();
                wrapper6.eq(GoodsGroupPurchaseInfo::getDelFlag,0);
                wrapper6.eq(GoodsGroupPurchaseInfo::getGroupPurchaseId,goodsGroupPurchaseeVO.getId());
                wrapper6.eq(GoodsGroupPurchaseInfo::getMubre,orderOne.getGroupNo());
                GoodsGroupPurchaseInfo one1 = goodsGroupPurchaseInfoService.getOne(wrapper6);
                if (one1!=null){
                    goodsGroupPurchaseeVO.setCurrentNumber(one1.getCurrentNumber());
                    if (one1.getGroupStatus()==0){
                        if (one1.getGroupSize()-one1.getCurrentNumber()<5){
                            goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.MS_FAILURE);
                        }else{
                            goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP);
                        }
                    }if (one1.getGroupStatus()==1){
                        goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP);
                    }if (one1.getGroupStatus()==2){
                        goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.GROUP_FAILURE);
                    }
                }
            }
        }