package com.xiaopeng.operation.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xiaopeng.api.model.operation.XpActicityCoupon; import com.xiaopeng.api.model.operation.XpActicityStrategy; import com.xiaopeng.api.model.operation.XpCoupon; import com.xiaopeng.operation.mapper.XpActicityStrategyMapper; import com.xiaopeng.operation.service.IXpActicityCouponService; import com.xiaopeng.operation.service.IXpActicityStrategyService; import com.xiaopeng.operation.service.IXpCouponService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; /** *

* 活动策略配置 服务实现类 *

* * @author mitao * @since 2026-04-20 */ @Service public class XpActicityStrategyServiceImpl extends ServiceImpl implements IXpActicityStrategyService { @Resource private IXpCouponService xpCouponService; @Resource private IXpActicityCouponService xpActicityCouponService; @Override public List listByActicityId(Long id) { List xpActicityStrategies = baseMapper.selectList(new LambdaQueryWrapper().eq(XpActicityStrategy::getActitcityId, id)); for (XpActicityStrategy xpActicityStrategy : xpActicityStrategies) { List list = xpActicityCouponService.list(new QueryWrapper().eq("acticity_strategy_id", xpActicityStrategy.getId())); if(null != list && !list.isEmpty()){ List couponIds = list.stream().map(XpActicityCoupon::getCouponId).collect(Collectors.toList()); List xpCoupons = xpCouponService.list(new QueryWrapper().in("id", couponIds)); xpActicityStrategy.setCouponList(xpCoupons); } } return xpActicityStrategies; } }