From ec21d8057df0d75a57968c0ce18258cb79b64b68 Mon Sep 17 00:00:00 2001 From: Larry-bird Date: Sun, 29 Dec 2024 16:28:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ActivityRepository.java | 81 +++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/ActivityRepository.java diff --git a/src/ActivityRepository.java b/src/ActivityRepository.java new file mode 100644 index 0000000..535b633 --- /dev/null +++ b/src/ActivityRepository.java @@ -0,0 +1,81 @@ +package cn.bugstack.infrastructure.adapter.repository; + +import cn.bugstack.domain.activity.adapter.repository.IActivityRepository; +import cn.bugstack.domain.activity.model.valobj.GroupBuyActivityDiscountVO; +import cn.bugstack.domain.activity.model.valobj.SkuVO; +import cn.bugstack.infrastructure.dao.IGroupBuyActivityDao; +import cn.bugstack.infrastructure.dao.IGroupBuyDiscountDao; +import cn.bugstack.infrastructure.dao.ISkuDao; +import cn.bugstack.infrastructure.dao.po.GroupBuyActivity; +import cn.bugstack.infrastructure.dao.po.GroupBuyDiscount; +import cn.bugstack.infrastructure.dao.po.Sku; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 活动仓储 + * @create 2024-12-21 10:10 + */ +@Repository +public class ActivityRepository implements IActivityRepository { + + @Resource + private IGroupBuyActivityDao groupBuyActivityDao; + @Resource + private IGroupBuyDiscountDao groupBuyDiscountDao; + + @Resource + private ISkuDao skuDao; + + @Override + public GroupBuyActivityDiscountVO queryGroupBuyActivityDiscountVO(String source, String channel) { + // 根据SC渠道值查询配置中最新的1个有效的活动 + GroupBuyActivity groupBuyActivityReq = new GroupBuyActivity(); + groupBuyActivityReq.setSource(source); + groupBuyActivityReq.setChannel(channel); + GroupBuyActivity groupBuyActivityRes = groupBuyActivityDao.queryValidGroupBuyActivity(groupBuyActivityReq); + + String discountId = groupBuyActivityRes.getDiscountId(); + + GroupBuyDiscount groupBuyDiscountRes = groupBuyDiscountDao.queryGroupBuyActivityDiscountByDiscountId(discountId); + GroupBuyActivityDiscountVO.GroupBuyDiscount groupBuyDiscount = GroupBuyActivityDiscountVO.GroupBuyDiscount.builder() + .discountName(groupBuyDiscountRes.getDiscountName()) + .discountDesc(groupBuyDiscountRes.getDiscountDesc()) + .discountType(groupBuyDiscountRes.getDiscountType()) + .marketPlan(groupBuyDiscountRes.getMarketPlan()) + .marketExpr(groupBuyDiscountRes.getMarketExpr()) + .tagId(groupBuyDiscountRes.getTagId()) + .build(); + + return GroupBuyActivityDiscountVO.builder() + .activityId(groupBuyActivityRes.getActivityId()) + .activityName(groupBuyActivityRes.getActivityName()) + .source(groupBuyActivityRes.getSource()) + .channel(groupBuyActivityRes.getChannel()) + .goodsId(groupBuyActivityRes.getGoodsId()) + .groupBuyDiscount(groupBuyDiscount) + .groupType(groupBuyActivityRes.getGroupType()) + .takeLimitCount(groupBuyActivityRes.getTakeLimitCount()) + .target(groupBuyActivityRes.getTarget()) + .validTime(groupBuyActivityRes.getValidTime()) + .status(groupBuyActivityRes.getStatus()) + .startTime(groupBuyActivityRes.getStartTime()) + .endTime(groupBuyActivityRes.getEndTime()) + .tagId(groupBuyActivityRes.getTagId()) + .tagScope(groupBuyActivityRes.getTagScope()) + .build(); + } + + @Override + public SkuVO querySkuByGoodsId(String goodsId) { + Sku sku = skuDao.querySkuByGoodsId(goodsId); + return SkuVO.builder() + .goodsId(sku.getGoodsId()) + .goodsName(sku.getGoodsName()) + .originalPrice(sku.getOriginalPrice()) + .build(); + } + +}