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