package cn.lili.test.promotion; import cn.hutool.core.util.RandomUtil; import cn.lili.common.enums.PromotionTypeEnum; import cn.lili.common.vo.PageVO; import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.service.GoodsSkuService; import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; import cn.lili.modules.promotion.entity.dos.FullDiscount; import cn.lili.modules.promotion.entity.dos.PromotionGoods; import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams; import cn.lili.modules.promotion.service.FullDiscountService; import com.baomidou.mybatisplus.core.metadata.IPage; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit.jupiter.SpringExtension; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * @author paulG * @since 2020/10/22 **/ @ExtendWith(SpringExtension.class) @SpringBootTest class FullDiscountTest { @Autowired private FullDiscountService fullDiscountService; @Autowired private GoodsSkuService goodsSkuService; @Test void addFullDiscount() { FullDiscountVO fullDiscountVO = new FullDiscountVO(); fullDiscountVO.setStoreId("131"); fullDiscountVO.setStoreName("小米自营旗舰店"); fullDiscountVO.setDescription("full discount test " + RandomUtil.randomNumber()); fullDiscountVO.setFullMinusFlag(true); fullDiscountVO.setFullMoney(130D); fullDiscountVO.setFullMinus(100D); fullDiscountVO.setFreeFreightFlag(true); fullDiscountVO.setPromotionName("FullDiscount-" + fullDiscountVO.getId()); fullDiscountVO.setTitle("满" + fullDiscountVO.getFullMoney() + "减" + fullDiscountVO.getFullMinus()); fullDiscountVO.setStartTime(cn.hutool.core.date.DateUtil.parse("2020-11-30 10:35:00")); fullDiscountVO.setEndTime(cn.hutool.core.date.DateUtil.parse("2020-12-25 23:20:00")); List promotionGoodsLis = new ArrayList<>(); GoodsSku sku121 = goodsSkuService.getGoodsSkuByIdFromCache("121"); PromotionGoods promotionGoods = new PromotionGoods(sku121); promotionGoods.setPrice(sku121.getPrice()); promotionGoods.setLimitNum(100); promotionGoods.setStartTime(fullDiscountVO.getStartTime()); promotionGoods.setEndTime(fullDiscountVO.getEndTime()); promotionGoods.setNum(10); promotionGoods.setQuantity(100); promotionGoods.setPromotionId(fullDiscountVO.getId()); promotionGoods.setPromotionType(PromotionTypeEnum.FULL_DISCOUNT.name()); promotionGoods.setTitle("满" + fullDiscountVO.getFullMoney() + "减" + fullDiscountVO.getFullMinus()); promotionGoodsLis.add(promotionGoods); fullDiscountVO.setPromotionGoodsList(promotionGoodsLis); Assertions.assertTrue(fullDiscountService.savePromotions(fullDiscountVO)); } @Test void search() { PageVO pageVo = new PageVO(); pageVo.setPageSize(10); pageVo.setPageNumber(0); pageVo.setNotConvert(true); pageVo.setSort("startTime"); pageVo.setOrder("asc"); IPage fullDiscountByPage = fullDiscountService.pageFindAll(new FullDiscountSearchParams(), null); Assertions.assertNotNull(fullDiscountByPage); } @Test void update() { FullDiscountVO fullDiscountVO = new FullDiscountVO(); fullDiscountVO.setId("1325981729404248064"); fullDiscountVO.setStoreId("132"); fullDiscountVO.setStoreName("联想自营旗舰店"); fullDiscountVO.setDescription("Not worth"); fullDiscountVO.setFullMinusFlag(true); fullDiscountVO.setFullMoney(100D); fullDiscountVO.setFullMinus(80D); fullDiscountVO.setFreeFreightFlag(true); fullDiscountVO.setPromotionName("FullDiscount-" + fullDiscountVO.getId()); fullDiscountVO.setTitle("满" + fullDiscountVO.getFullMoney() + "减" + fullDiscountVO.getFullMinus()); fullDiscountVO.setStartTime(cn.hutool.core.date.DateUtil.parse("2020-11-10 10:15:00")); fullDiscountVO.setEndTime(cn.hutool.core.date.DateUtil.parse("2020-11-10 10:30:00")); List promotionGoodsLis = new ArrayList<>(); PromotionGoods promotionGoods = new PromotionGoods(); promotionGoods.setSkuId("134"); promotionGoods.setPrice(18000D); promotionGoods.setStartTime(fullDiscountVO.getStartTime()); promotionGoods.setEndTime(fullDiscountVO.getEndTime()); promotionGoods.setNum(1); promotionGoods.setQuantity(100); promotionGoods.setPromotionType(PromotionTypeEnum.FULL_DISCOUNT.name()); promotionGoods.setTitle("满" + fullDiscountVO.getFullMoney() + "减" + fullDiscountVO.getFullMinus()); promotionGoods.setLimitNum(100); promotionGoods.setPromotionId("200"); promotionGoods.setStoreId("132"); promotionGoodsLis.add(promotionGoods); fullDiscountVO.setPromotionGoodsList(promotionGoodsLis); Assertions.assertTrue(fullDiscountService.updatePromotions(fullDiscountVO)); } @Test void delete() { Assertions.assertTrue(fullDiscountService.removePromotions(Collections.singletonList("1325995092947525632"))); } }