| | |
| | | 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; |
| | |
| | | import java.math.RoundingMode; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author wzy |
| | |
| | | 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(); |