> findSkuInfoByKeyword(@PathVariable("keyword") String keyword) {
+ return Result.success(activityInfoService.findSkuInfoByKeyword(keyword));
+ }
}
diff --git a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityInfoMapper.java b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityInfoMapper.java
index 7658569..98653a8 100644
--- a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityInfoMapper.java
+++ b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityInfoMapper.java
@@ -2,6 +2,7 @@ package com.atguigu.ssyx.activity.mapper;
import com.atguigu.ssyx.model.activity.ActivityInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
/**
*
@@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author bunny
* @since 2024-04-04
*/
+@Mapper
public interface ActivityInfoMapper extends BaseMapper {
}
diff --git a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityRuleMapper.java b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityRuleMapper.java
new file mode 100644
index 0000000..e4cd45a
--- /dev/null
+++ b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityRuleMapper.java
@@ -0,0 +1,10 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.ActivityRule;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ActivityRuleMapper extends BaseMapper {
+
+}
diff --git a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivitySkuMapper.java b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivitySkuMapper.java
new file mode 100644
index 0000000..36e051a
--- /dev/null
+++ b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivitySkuMapper.java
@@ -0,0 +1,9 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.ActivitySku;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ActivitySkuMapper extends BaseMapper {
+}
diff --git a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponInfoMapper.java b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponInfoMapper.java
index 2b88f12..28eed15 100644
--- a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponInfoMapper.java
+++ b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponInfoMapper.java
@@ -2,6 +2,7 @@ package com.atguigu.ssyx.activity.mapper;
import com.atguigu.ssyx.model.activity.CouponInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
/**
*
@@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author bunny
* @since 2024-04-04
*/
+@Mapper
public interface CouponInfoMapper extends BaseMapper {
}
diff --git a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityInfoService.java b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityInfoService.java
index 3e1ac81..8350ed9 100644
--- a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityInfoService.java
+++ b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityInfoService.java
@@ -1,16 +1,45 @@
package com.atguigu.ssyx.activity.service;
import com.atguigu.ssyx.model.activity.ActivityInfo;
+import com.atguigu.ssyx.model.product.SkuInfo;
+import com.atguigu.ssyx.vo.activity.ActivityRuleVo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
-/**
- *
- * 活动表 服务类
- *
- *
- * @author bunny
- * @since 2024-04-04
- */
+import java.util.List;
+import java.util.Map;
+
public interface ActivityInfoService extends IService {
+ /**
+ * 获取分页列表
+ *
+ * @param pageParam 分页查询条件
+ * @return 分页结果
+ */
+ IPage selectPage(Page pageParam);
+
+ /**
+ * 获取活动规则
+ *
+ * @param id 当前id
+ * @return 返回集合
+ */
+ Map findActivityRuleList(Long id);
+
+ /**
+ * 新增活动规则
+ *
+ * @param activityRuleVo 活动规则
+ */
+ void saveActivityRule(ActivityRuleVo activityRuleVo);
+
+ /**
+ * 根据关键字获取sku列表,活动使用
+ *
+ * @param keyword 关键字
+ * @return 活动列表
+ */
+ List findSkuInfoByKeyword(String keyword);
}
diff --git a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityInfoServiceImpl.java b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityInfoServiceImpl.java
index 66b80b8..853136a 100644
--- a/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityInfoServiceImpl.java
+++ b/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityInfoServiceImpl.java
@@ -1,20 +1,92 @@
package com.atguigu.ssyx.activity.service.impl;
import com.atguigu.ssyx.activity.mapper.ActivityInfoMapper;
+import com.atguigu.ssyx.activity.mapper.ActivityRuleMapper;
+import com.atguigu.ssyx.activity.mapper.ActivitySkuMapper;
import com.atguigu.ssyx.activity.service.ActivityInfoService;
+import com.atguigu.ssyx.client.product.ProductFeignClient;
import com.atguigu.ssyx.model.activity.ActivityInfo;
+import com.atguigu.ssyx.model.activity.ActivityRule;
+import com.atguigu.ssyx.model.activity.ActivitySku;
+import com.atguigu.ssyx.model.product.SkuInfo;
+import com.atguigu.ssyx.vo.activity.ActivityRuleVo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-/**
- *
- * 活动表 服务实现类
- *
- *
- * @author bunny
- * @since 2024-04-04
- */
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
@Service
public class ActivityInfoServiceImpl extends ServiceImpl implements ActivityInfoService {
+ @Autowired
+ private ProductFeignClient productFeignClient;
+ @Autowired
+ private ActivityRuleMapper activityRuleMapper;
+ @Autowired
+ private ActivitySkuMapper activitySkuMapper;
+ /**
+ * 获取分页列表
+ *
+ * @param pageParam 分页查询条件
+ * @return 分页结果
+ */
+ @Override
+ public IPage selectPage(Page pageParam) {
+ Page page = page(pageParam);
+ List activityInfoList = page.getRecords();
+ activityInfoList.forEach(activityInfo -> {
+ String comment = activityInfo.getActivityType().getComment();
+ activityInfo.setActivityTypeString(comment);
+ });
+ return page;
+ }
+
+ /**
+ * 获取活动规则
+ *
+ * @param id 当前id
+ * @return 返回集合
+ */
+ @Override
+ public Map findActivityRuleList(Long id) {
+ Map result = new HashMap<>();
+ List activityInfoList = activityRuleMapper.selectList(Wrappers.lambdaQuery().eq(ActivityRule::getActivityId, id));
+ result.put("activityRuleList", activityInfoList);
+
+ List activitySkuList = activitySkuMapper.selectList(Wrappers.lambdaQuery().eq(ActivitySku::getActivityId, id));
+ List skuIdList = activitySkuList.stream().map(ActivitySku::getSkuId).collect(Collectors.toList());
+
+ // 通过远程调用根据skuId得到商品信息
+ List skuInfoList = productFeignClient.findSkuInfoList(skuIdList).getData();
+ result.put("skuInfoList", skuInfoList);
+ return result;
+ }
+
+ /**
+ * 新增活动规则
+ *
+ * @param activityRuleVo 活动规则
+ */
+ @Override
+ public void saveActivityRule(ActivityRuleVo activityRuleVo) {
+
+ }
+
+ /**
+ * 根据关键字获取sku列表,活动使用
+ *
+ * @param keyword 关键字
+ * @return 活动列表
+ */
+ @Override
+ public List findSkuInfoByKeyword(String keyword) {
+ return null;
+ }
}
diff --git a/service/service-activity/src/main/resources/mapper/ActivityRuleMapper.xml b/service/service-activity/src/main/resources/mapper/ActivityRuleMapper.xml
new file mode 100644
index 0000000..e9919f3
--- /dev/null
+++ b/service/service-activity/src/main/resources/mapper/ActivityRuleMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service-activity/src/main/resources/mapper/ActivitySkuMapper.xml b/service/service-activity/src/main/resources/mapper/ActivitySkuMapper.xml
new file mode 100644
index 0000000..e390cca
--- /dev/null
+++ b/service/service-activity/src/main/resources/mapper/ActivitySkuMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service-product/src/main/java/com/atguigu/ssyx/product/api/ProductInnerController.java b/service/service-product/src/main/java/com/atguigu/ssyx/product/api/ProductInnerController.java
index 11f852b..98519a7 100644
--- a/service/service-product/src/main/java/com/atguigu/ssyx/product/api/ProductInnerController.java
+++ b/service/service-product/src/main/java/com/atguigu/ssyx/product/api/ProductInnerController.java
@@ -8,10 +8,9 @@ import com.atguigu.ssyx.product.service.SkuInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
@Api(value = "远程调用接口", tags = "远程调用接口")
@RestController
@@ -35,4 +34,11 @@ public class ProductInnerController {
SkuInfo skuInfo = skuInfoService.getById(skuId);
return Result.success(skuInfo);
}
+
+ @ApiOperation(value = "根据skuId得到sku信息列表")
+ @PostMapping("inner/findSkuInfoList")
+ public Result> findSkuInfoList(@RequestBody List skuIdList) {
+ List skuInfoList = skuInfoService.findSkuInfoList(skuIdList);
+ return Result.success(skuInfoList);
+ }
}
diff --git a/service/service-product/src/main/java/com/atguigu/ssyx/product/service/SkuInfoService.java b/service/service-product/src/main/java/com/atguigu/ssyx/product/service/SkuInfoService.java
index a76aa13..d46790b 100644
--- a/service/service-product/src/main/java/com/atguigu/ssyx/product/service/SkuInfoService.java
+++ b/service/service-product/src/main/java/com/atguigu/ssyx/product/service/SkuInfoService.java
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.List;
+
/**
*
* sku信息 服务类
@@ -71,4 +73,12 @@ public interface SkuInfoService extends IService {
* @param status 商品状态
*/
void isNewPerson(Long skuId, Integer status);
+
+ /**
+ * 根据skuId得到sku信息列表
+ *
+ * @param skuIdList skuId
+ * @return List
+ */
+ List findSkuInfoList(List skuIdList);
}
diff --git a/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/SkuInfoServiceImpl.java b/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/SkuInfoServiceImpl.java
index 26f0f20..19a726f 100644
--- a/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/SkuInfoServiceImpl.java
+++ b/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/SkuInfoServiceImpl.java
@@ -223,4 +223,15 @@ public class SkuInfoServiceImpl extends ServiceImpl impl
skuInfo.setIsNewPerson(status);
baseMapper.updateById(skuInfo);
}
+
+ /**
+ * 根据skuId得到sku信息列表
+ *
+ * @param skuIdList skuId
+ * @return List
+ */
+ @Override
+ public List findSkuInfoList(List skuIdList) {
+ return baseMapper.selectBatchIds(skuIdList);
+ }
}