rentaiming
2024-07-15 5674594f06ec038a5ac1633b881518ffbd8c6c02
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -22,6 +22,7 @@
import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseDTO;
import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseQuery;
import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO;
import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo;
import com.ruoyi.goods.domain.MemberGoodsCollection;
import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper;
import com.ruoyi.goods.service.IGoodsGroupPurchaseService;
@@ -52,6 +53,8 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
 * <p>
 * 商品团购表 服务实现类
@@ -71,6 +74,9 @@
    private final RedisService redisService;
    private final IMemberGoodsCollectionService iMemberGoodsCollectionService;
    private final SysUserClient sysUserClient;
    @Resource
    private GoodsGroupPurchaseInfoServiceImpl  GoodsGroupPurchaseInfoServiceImpl;
    // 创建一个静态共享的ObjectMapper实例以重用
    private static final ObjectMapper objectMapper = new ObjectMapper();
    /**
@@ -323,12 +329,29 @@
        goodsGroupPurchaseInfoVO.setGroupPurchasePrice(one.getGroupPurchasePrice());
        goodsGroupPurchaseInfoVO.setGroupSize(one.getGroupSize());
        goodsGroupPurchaseInfoVO.setLimitNumber(one.getLimitNumber());
        goodsGroupPurchaseInfoVO.setCurrentNumber(one.getCurrentNumber());
        LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper6= Wrappers.lambdaQuery();
        wrapper6.eq(GoodsGroupPurchaseInfo::getDelFlag,0);
        wrapper6.eq(GoodsGroupPurchaseInfo::getGroupStatus,0);
        wrapper6.eq(GoodsGroupPurchaseInfo::getGroupPurchaseId,one.getId());
        GoodsGroupPurchaseInfo one1 = GoodsGroupPurchaseInfoServiceImpl.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);
            }
        }else{
            goodsGroupPurchaseInfoVO.setCurrentNumber(one.getCurrentNumber());
            goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
        }
        goodsGroupPurchaseInfoVO.setStartTime(one.getStartTime());
        goodsGroupPurchaseInfoVO.setEndTime(one.getEndTime());
        goodsGroupPurchaseInfoVO.setDescription(one.getDescription());
        goodsGroupPurchaseInfoVO.setDetail(byId.getDescription());
        goodsGroupPurchaseInfoVO.setStartStatus(one.getStartStatus());
        goodsGroupPurchaseInfoVO.setListingStatus(one.getListingStatus());
        LambdaQueryWrapper<MemberGoodsCollection> wrapper4= Wrappers.lambdaQuery();
@@ -345,11 +368,24 @@
        HomeGoodsSkuDTO homeGoodsSkuDTO1=new HomeGoodsSkuDTO();
        homeGoodsSkuDTO1.setGoodsSkuId(one.getId());
        homeGoodsSkuDTO1.setMemberId(homeGoodsSkuDTO.getMemberId());
        Order data = orderClient.getOrderByGroupPurchaseMemberId(homeGoodsSkuDTO1, SecurityConstants.INNER).getData();
        Order data = orderClient.getOrderByGroupPurchaseMemberId1(homeGoodsSkuDTO1, SecurityConstants.INNER).getData();
        if (data!=null){
            goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(2);
            goodsGroupPurchaseInfoVO.setOrder(data);
            goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.YCT_FAILURE);
            LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper7= Wrappers.lambdaQuery();
            wrapper7.eq(GoodsGroupPurchaseInfo::getMubre,data.getGroupNo());
            GoodsGroupPurchaseInfo one7 = GoodsGroupPurchaseInfoServiceImpl.getOne(wrapper7);
            if (one7!=null){
                goodsGroupPurchaseInfoVO.setCurrentNumber(one7.getCurrentNumber());
                if (one7.getGroupStatus()==0){
                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP);
                }else{
                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP);
                }
            }
        }else{
            if (one.getGroupStatus().getCode()==0){
                if (one.getGroupSize()-one.getCurrentNumber()<5){