From 99bfa111bf5257112527fe6b80616c9c924ff3a9 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 22 Feb 2023 11:57:12 +0800 Subject: [PATCH] 商品排序 --- src/test/java/cc/mrbird/febs/AgentTest.java | 98 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 96 insertions(+), 2 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/AgentTest.java b/src/test/java/cc/mrbird/febs/AgentTest.java index 2a02690..553b8b8 100644 --- a/src/test/java/cc/mrbird/febs/AgentTest.java +++ b/src/test/java/cc/mrbird/febs/AgentTest.java @@ -1,23 +1,28 @@ package cc.mrbird.febs; +import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.enumerates.AgentLevelEnum; import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.LoginUserUtil; +import cc.mrbird.febs.mall.conversion.MallGoodsConversion; +import cc.mrbird.febs.mall.dto.AddOrderItemDto; import cc.mrbird.febs.mall.dto.AgentLevelUpdateDto; +import cc.mrbird.febs.mall.dto.ApiCreateOrderVerifyDto; import cc.mrbird.febs.mall.dto.ApiMallActWinDetailsDto; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.quartz.ProfitJob; import cc.mrbird.febs.mall.service.IAgentService; -import cc.mrbird.febs.mall.vo.ApiMallActWinDetailsVo; -import cc.mrbird.febs.mall.vo.ApiMallAwardDetailsVo; +import cc.mrbird.febs.mall.vo.*; import cc.mrbird.febs.rabbit.consumer.AgentConsumer; import cc.mrbird.febs.rabbit.producter.AgentProducer; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; @@ -30,6 +35,7 @@ import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * @author wzy @@ -63,6 +69,94 @@ private MallMemberWalletMapper mallMemberWalletMapper; @Autowired private MallActSetMapper mallActSetMapper; + @Autowired + private MallGoodsSkuMapper mallGoodsSkuMapper; + @Autowired + private MallOrderItemMapper mallOrderItemMapper; + @Autowired + private MallGoodsMapper mallGoodsMapper; + @Autowired + private MallGoodsImagesMapper goodsImagesMapper; + @Test + public void goodsDetails(){ + Long id = 68L; + MallGoods mallGoods = mallGoodsMapper.selectGoodsDetailById(id); + if (mallGoods == null) { + throw new FebsException("商品不存在"); + } + List<String> images = goodsImagesMapper.selectGoodsImagesByGoodsId(mallGoods.getId()); + MallGoodsDetailsVo mallGoodsDetailsVo = MallGoodsConversion.INSTANCE.entityToDetailsVo(mallGoods); + + List<GoodsDetailsStyleVo> styles = mallGoodsDetailsVo.getStyles(); + if(ObjectUtil.isNotEmpty(styles)){ + for(GoodsDetailsStyleVo goodsDetailsStyleVo : styles){ + List<GoodsDetailsSkuVo> skus = goodsDetailsStyleVo.getSkus(); + if(CollUtil.isNotEmpty(skus) ){ + for(GoodsDetailsSkuVo goodsDetailsSkuVo : skus){ + if(StrUtil.isNotEmpty(goodsDetailsSkuVo.getSample())){ + goodsDetailsSkuVo.setSampleFlag(true); + }else{ + goodsDetailsSkuVo.setSampleFlag(false); + } + } + } + } + } + + if (CollUtil.isNotEmpty(mallGoods.getStyles())) { + Map<String, BigDecimal> stockAndVolume = mallGoodsMapper.selectGoodsStockAndVolume(id); + mallGoodsDetailsVo.setStock(stockAndVolume.get("stock").intValue()); + mallGoodsDetailsVo.setVolume(stockAndVolume.get("volume").intValue()); + } + mallGoodsDetailsVo.setImages(images); + + } + + @Test + public void levelTest(){ + ApiCreateOrderVerifyDto apiCreateOrderVerifyDto = new ApiCreateOrderVerifyDto(); + List<AddOrderItemDto> addOrderItemDtos = new ArrayList<>(); + AddOrderItemDto addOrderItemDto = new AddOrderItemDto(); + addOrderItemDto.setCnt(1); + addOrderItemDto.setSkuId(243L); + addOrderItemDtos.add(addOrderItemDto); + apiCreateOrderVerifyDto.setItems(addOrderItemDtos); + MallMember member = mallMemberMapper.selectById(401L); + List<AddOrderItemDto> items = apiCreateOrderVerifyDto.getItems(); + if(CollUtil.isEmpty(items)){ + System.out.println("请先挑选商品"); + } + for (AddOrderItemDto item : apiCreateOrderVerifyDto.getItems()) { + MallGoodsSku sku = mallGoodsSkuMapper.selectSkuInfoById(item.getSkuId()); + if (sku == null) { + System.out.println("购买商品或sku不存在"); + } + if("样品".equals(sku.getSample())){ + List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId()); + if (CollUtil.isNotEmpty(mallOrderItems)) { + System.out.println("样品只能购买一次"); + } + Integer cnt = item.getCnt(); + if(1 < cnt){ + System.out.println("样品只能购买一件"); + } + }else{ + //验证用户的等级 + if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){ + System.out.println(sku.getSkuName() + "请先申请成为合伙人"); + } + } + + if (sku.getStock() < item.getCnt()) { + System.out.println(sku.getSkuName() + "库存不足"); + } + + MallGoods mallGoods = mallGoodsMapper.selectById(sku.getGoodsId()); + if (MallGoods.ISSALE_STATUS_DISABLED.equals(mallGoods.getIsSale())) { + System.out.println(mallGoods.getGoodsName() + "已下架"); + } + } + } // @Test // public void skusTest() { // ApiMallAwardDetailsVo apiMallAwardDetailsVo = new ApiMallAwardDetailsVo(); -- Gitblit v1.9.1