diff --git a/guigu-ssyx-parent/common/service-util/src/test/java/com/atguigu/ssyx/CodeGet.java b/guigu-ssyx-parent/common/service-util/src/test/java/com/atguigu/ssyx/CodeGet.java
index 261df28..643d2cc 100644
--- a/guigu-ssyx-parent/common/service-util/src/test/java/com/atguigu/ssyx/CodeGet.java
+++ b/guigu-ssyx-parent/common/service-util/src/test/java/com/atguigu/ssyx/CodeGet.java
@@ -25,7 +25,7 @@ public class CodeGet {
// 2、全局配置
// 全局配置
GlobalConfig gc = new GlobalConfig();
- gc.setOutputDir("guigu-ssyx-parent/service/service-product" + "/src/main/java");
+ gc.setOutputDir("guigu-ssyx-parent/service/service-activity" + "/src/main/java");
gc.setServiceName("%sService"); //去掉Service接口的首字母I
gc.setAuthor("atguigu");
@@ -34,17 +34,17 @@ public class CodeGet {
// 3、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
- dsc.setUrl("jdbc:mysql://82.157.68.223:3306/shequ-product?serverTimezone=GMT%2B8&useSSL=false");
+ dsc.setUrl("jdbc:mysql://82.157.68.223:3306/shequ-activity?serverTimezone=GMT%2B8&useSSL=false");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
- dsc.setUsername("shequ-product");
- dsc.setPassword("shequ-product");
+ dsc.setUsername("shequ-activity");
+ dsc.setPassword("shequ-activity");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.atguigu.ssyx");
- pc.setModuleName("product"); //模块名
+ pc.setModuleName("activity"); //模块名
pc.setController("controller");
pc.setService("service");
pc.setMapper("mapper");
@@ -53,7 +53,7 @@ public class CodeGet {
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
- strategy.setInclude("attr", "attr_group", "category", "comment", "base_category_trademark", "comment_replay", "mq_repeat_record", "region_ware", "sku_attr_value", "sku_detail", "sku_image", "sku_info", "sku_poster", "sku_stock_history", "ware");
+ strategy.setInclude("activity_info", "activity_rule", "activity_sku", "coupon_info", "coupon_range", "coupon_use", "home_subject", "home_subject_sku", "seckill", "seckill_sku", "seckill_sku_notice", "seckill_time", "sku_info");
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
diff --git a/guigu-ssyx-parent/model/src/main/java/com/atguigu/ssyx/model/activity/HomeSubject.java b/guigu-ssyx-parent/model/src/main/java/com/atguigu/ssyx/model/activity/HomeSubject.java
new file mode 100644
index 0000000..63d9367
--- /dev/null
+++ b/guigu-ssyx-parent/model/src/main/java/com/atguigu/ssyx/model/activity/HomeSubject.java
@@ -0,0 +1,82 @@
+package com.atguigu.ssyx.model.activity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ *
+ * 首页专题表【jd首页下面很多专题,每个专题链接新的页面,展示专题商品信息】
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class HomeSubject implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 专题名字
+ */
+ private String name;
+
+ /**
+ * 专题标题
+ */
+ private String title;
+
+ /**
+ * 专题副标题
+ */
+ private String subTitle;
+
+ /**
+ * 显示状态
+ */
+ private Boolean status;
+
+ /**
+ * 详情连接
+ */
+ private String url;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 专题图片地址
+ */
+ private String img;
+
+ /**
+ * 创建时间
+ */
+ private LocalDateTime createTime;
+
+ /**
+ * 更新时间
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 删除标记(0:不可用 1:可用)
+ */
+ private Integer isDeleted;
+
+
+}
diff --git a/guigu-ssyx-parent/model/src/main/java/com/atguigu/ssyx/model/activity/HomeSubjectSku.java b/guigu-ssyx-parent/model/src/main/java/com/atguigu/ssyx/model/activity/HomeSubjectSku.java
new file mode 100644
index 0000000..7f224d6
--- /dev/null
+++ b/guigu-ssyx-parent/model/src/main/java/com/atguigu/ssyx/model/activity/HomeSubjectSku.java
@@ -0,0 +1,67 @@
+package com.atguigu.ssyx.model.activity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ *
+ * 专题商品
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class HomeSubjectSku implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 专题名字
+ */
+ private String name;
+
+ /**
+ * 专题id
+ */
+ private Long subjectId;
+
+ /**
+ * sku_id
+ */
+ private Long skuId;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 创建时间
+ */
+ private LocalDateTime createTime;
+
+ /**
+ * 更新时间
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 删除标记(0:不可用 1:可用)
+ */
+ private Integer isDeleted;
+
+
+}
diff --git a/guigu-ssyx-parent/service-client/service-product-client/src/main/java/com/atguigu/ssyx/client/product/ProductFeignClient.java b/guigu-ssyx-parent/service-client/service-product-client/src/main/java/com/atguigu/ssyx/client/product/ProductFeignClient.java
index d1ae3b1..2063009 100644
--- a/guigu-ssyx-parent/service-client/service-product-client/src/main/java/com/atguigu/ssyx/client/product/ProductFeignClient.java
+++ b/guigu-ssyx-parent/service-client/service-product-client/src/main/java/com/atguigu/ssyx/client/product/ProductFeignClient.java
@@ -5,6 +5,9 @@ import com.atguigu.ssyx.model.product.SkuInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
/**
* ClassName: ProductFeignClient
@@ -21,4 +24,23 @@ public interface ProductFeignClient {
@GetMapping("/api/product/inner/getSkuInfo/{skuId}")
SkuInfo getSkuInfo(@PathVariable("skuId") Long skuId);
+
+ /**
+ * 根据关键字匹配sku列表
+ *
+ * @param keyword
+ * @return
+ */
+ @GetMapping("/api/product/inner/findSkuInfoByKeyword/{keyword}")
+ List findSkuInfoByKeyword(@PathVariable("keyword") String keyword);
+
+ /**
+ * 根据skuid列表得到sku信息列表
+ *
+ * @param skuIdList
+ * @return
+ */
+ @GetMapping("/api/product/inner/findSkuInfoList")
+ List findSkuInfoList(@RequestBody List skuIdList);
+
}
diff --git a/guigu-ssyx-parent/service/pom.xml b/guigu-ssyx-parent/service/pom.xml
index 753b71a..5db39b8 100644
--- a/guigu-ssyx-parent/service/pom.xml
+++ b/guigu-ssyx-parent/service/pom.xml
@@ -16,6 +16,7 @@
service-sys
service-product
service-search
+ service-activity
diff --git a/guigu-ssyx-parent/service/service-activity/pom.xml b/guigu-ssyx-parent/service/service-activity/pom.xml
new file mode 100644
index 0000000..aca15c6
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+
+ com.atguigu
+ service
+ 1.0-SNAPSHOT
+
+
+ service-activity
+
+
+
+ com.atguigu
+ service-product-client
+ 1.0-SNAPSHOT
+ compile
+
+
+
+ 8
+ 8
+ UTF-8
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/ServiceActivityApplication.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/ServiceActivityApplication.java
new file mode 100644
index 0000000..b7783d9
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/ServiceActivityApplication.java
@@ -0,0 +1,23 @@
+package com.atguigu.ssyx;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+
+/**
+ * ClassName: ServiceActivityApplication
+ * Package: com.atguigu.ssyx
+ *
+ * @author yovinchen
+ * @Create 2023/9/17 12:08
+ */
+@SpringBootApplication
+@EnableDiscoveryClient
+@EnableFeignClients
+public class ServiceActivityApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ServiceActivityApplication.class, args);
+ }
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/ActivityInfoController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/ActivityInfoController.java
new file mode 100644
index 0000000..c324efb
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/ActivityInfoController.java
@@ -0,0 +1,101 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import com.atguigu.ssyx.activity.service.ActivityInfoService;
+import com.atguigu.ssyx.common.result.Result;
+import com.atguigu.ssyx.model.activity.ActivityInfo;
+import com.atguigu.ssyx.vo.activity.ActivityRuleVo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ *
+ * 活动表 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Api(value = "ActivityInfo管理", tags = "活动管理")
+@RestController
+@CrossOrigin
+@RequestMapping("/admin/activity/activityInfo")
+public class ActivityInfoController {
+
+ @Autowired
+ private ActivityInfoService activityInfoService;
+
+ @ApiOperation(value = "获取分页列表")
+ @GetMapping("{page}/{limit}")
+ public Result index(
+ @ApiParam(name = "page", value = "当前页码", required = true) @PathVariable Long page,
+ @ApiParam(name = "limit", value = "每页记录数", required = true) @PathVariable Long limit) {
+ Page pageParam = new Page<>(page, limit);
+ IPage pageModel = activityInfoService.selectPage(pageParam);
+ return Result.ok(pageModel);
+ }
+
+ @ApiOperation(value = "获取活动")
+ @GetMapping("get/{id}")
+ public Result get(@PathVariable Long id) {
+ ActivityInfo activityInfo = activityInfoService.getById(id);
+ activityInfo.setActivityTypeString(activityInfo.getActivityType()
+ .getComment());
+ return Result.ok(activityInfo);
+ }
+
+ @ApiOperation(value = "新增活动")
+ @PostMapping("save")
+ public Result save(@RequestBody ActivityInfo activityInfo) {
+ activityInfoService.save(activityInfo);
+ return Result.ok(null);
+ }
+
+ @ApiOperation(value = "修改活动")
+ @PutMapping("update")
+ public Result updateById(@RequestBody ActivityInfo activityInfo) {
+ activityInfoService.updateById(activityInfo);
+ return Result.ok(null);
+ }
+
+ @ApiOperation(value = "删除活动")
+ @DeleteMapping("remove/{id}")
+ public Result remove(@PathVariable Long id) {
+ activityInfoService.removeById(id);
+ return Result.ok(null);
+ }
+
+ @ApiOperation(value = "根据id列表删除活动")
+ @DeleteMapping("batchRemove")
+ public Result batchRemove(@RequestBody List idList) {
+ activityInfoService.removeByIds(idList);
+ return Result.ok(null);
+ }
+
+ @ApiOperation(value = "获取活动规则")
+ @GetMapping("findActivityRuleList/{id}")
+ public Result findActivityRuleList(@PathVariable Long id) {
+ return Result.ok(activityInfoService.findActivityRuleList(id));
+ }
+
+ @ApiOperation(value = "新增活动规则")
+ @PostMapping("saveActivityRule")
+ public Result saveActivityRule(@RequestBody ActivityRuleVo activityRuleVo) {
+ activityInfoService.saveActivityRule(activityRuleVo);
+ return Result.ok(null);
+ }
+
+ @ApiOperation(value = "根据关键字获取sku列表,活动使用")
+ @GetMapping("findSkuInfoByKeyword/{keyword}")
+ public Result findSkuInfoByKeyword(@PathVariable("keyword") String keyword) {
+ return Result.ok(activityInfoService.findSkuInfoByKeyword(keyword));
+ }
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/ActivityRuleController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/ActivityRuleController.java
new file mode 100644
index 0000000..3d1193b
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/ActivityRuleController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 优惠规则 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/activity-rule")
+public class ActivityRuleController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/ActivitySkuController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/ActivitySkuController.java
new file mode 100644
index 0000000..7f40aa6
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/ActivitySkuController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 活动参与商品 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/activity-sku")
+public class ActivitySkuController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/CouponInfoController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/CouponInfoController.java
new file mode 100644
index 0000000..a05ef13
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/CouponInfoController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 优惠券信息 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/coupon-info")
+public class CouponInfoController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/CouponRangeController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/CouponRangeController.java
new file mode 100644
index 0000000..0df0453
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/CouponRangeController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 优惠券范围表 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/coupon-range")
+public class CouponRangeController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/CouponUseController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/CouponUseController.java
new file mode 100644
index 0000000..ca0e9b6
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/CouponUseController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 优惠券领用表 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/coupon-use")
+public class CouponUseController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/HomeSubjectController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/HomeSubjectController.java
new file mode 100644
index 0000000..2514b45
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/HomeSubjectController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页专题表【jd首页下面很多专题,每个专题链接新的页面,展示专题商品信息】 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/home-subject")
+public class HomeSubjectController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/HomeSubjectSkuController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/HomeSubjectSkuController.java
new file mode 100644
index 0000000..1c1a458
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/HomeSubjectSkuController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 专题商品 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/home-subject-sku")
+public class HomeSubjectSkuController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillController.java
new file mode 100644
index 0000000..1ac14ec
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 秒杀活动 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/seckill")
+public class SeckillController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillSkuController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillSkuController.java
new file mode 100644
index 0000000..cf7f696
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillSkuController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 秒杀活动商品关联 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/seckill-sku")
+public class SeckillSkuController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillSkuNoticeController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillSkuNoticeController.java
new file mode 100644
index 0000000..eb6f4e0
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillSkuNoticeController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 秒杀商品通知订阅 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/seckill-sku-notice")
+public class SeckillSkuNoticeController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillTimeController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillTimeController.java
new file mode 100644
index 0000000..1a7c94d
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SeckillTimeController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 秒杀活动场次 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/seckill-time")
+public class SeckillTimeController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SkuInfoController.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SkuInfoController.java
new file mode 100644
index 0000000..8e1b892
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/controller/SkuInfoController.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * sku信息 前端控制器
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@RestController
+@RequestMapping("/activity/sku-info")
+public class SkuInfoController {
+
+}
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityInfoMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityInfoMapper.java
new file mode 100644
index 0000000..213bf2a
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityInfoMapper.java
@@ -0,0 +1,25 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.ActivityInfo;
+import com.atguigu.ssyx.model.activity.ActivityRule;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import feign.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 活动表 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Repository
+public interface ActivityInfoMapper extends BaseMapper {
+
+ List selectActivityRuleList(Long skuId);
+
+ List selectSkuIdListExist(@Param("skuIdList") List skuIdList);
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityRuleMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityRuleMapper.java
new file mode 100644
index 0000000..449cf75
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivityRuleMapper.java
@@ -0,0 +1,18 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.ActivityRule;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 优惠规则 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Repository
+public interface ActivityRuleMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivitySkuMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivitySkuMapper.java
new file mode 100644
index 0000000..8000ff1
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/ActivitySkuMapper.java
@@ -0,0 +1,18 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.ActivitySku;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 活动参与商品 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Repository
+public interface ActivitySkuMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponInfoMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponInfoMapper.java
new file mode 100644
index 0000000..d1728d6
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponInfoMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.CouponInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 优惠券信息 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface CouponInfoMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponRangeMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponRangeMapper.java
new file mode 100644
index 0000000..d5424be
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponRangeMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.CouponRange;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 优惠券范围表 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface CouponRangeMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponUseMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponUseMapper.java
new file mode 100644
index 0000000..f0c0865
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/CouponUseMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.CouponUse;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 优惠券领用表 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface CouponUseMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/HomeSubjectMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/HomeSubjectMapper.java
new file mode 100644
index 0000000..f0e7334
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/HomeSubjectMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.HomeSubject;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 首页专题表【jd首页下面很多专题,每个专题链接新的页面,展示专题商品信息】 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface HomeSubjectMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/HomeSubjectSkuMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/HomeSubjectSkuMapper.java
new file mode 100644
index 0000000..686c50c
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/HomeSubjectSkuMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.HomeSubjectSku;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 专题商品 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface HomeSubjectSkuMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillMapper.java
new file mode 100644
index 0000000..e5bfbb0
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.Seckill;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 秒杀活动 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SeckillMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillSkuMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillSkuMapper.java
new file mode 100644
index 0000000..5e56be7
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillSkuMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.SeckillSku;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 秒杀活动商品关联 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SeckillSkuMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillSkuNoticeMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillSkuNoticeMapper.java
new file mode 100644
index 0000000..a83ad80
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillSkuNoticeMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.SeckillSkuNotice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 秒杀商品通知订阅 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SeckillSkuNoticeMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillTimeMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillTimeMapper.java
new file mode 100644
index 0000000..473bb73
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SeckillTimeMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.activity.SeckillTime;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 秒杀活动场次 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SeckillTimeMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SkuInfoMapper.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SkuInfoMapper.java
new file mode 100644
index 0000000..ad77c34
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/SkuInfoMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.mapper;
+
+import com.atguigu.ssyx.model.product.SkuInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * sku信息 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SkuInfoMapper extends BaseMapper {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/ActivityRuleMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/ActivityRuleMapper.xml
new file mode 100644
index 0000000..befb6c8
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/ActivityRuleMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/ActivitySkuMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/ActivitySkuMapper.xml
new file mode 100644
index 0000000..e8785ba
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/ActivitySkuMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/CouponInfoMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/CouponInfoMapper.xml
new file mode 100644
index 0000000..da11c25
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/CouponInfoMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/CouponRangeMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/CouponRangeMapper.xml
new file mode 100644
index 0000000..9685364
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/CouponRangeMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/CouponUseMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/CouponUseMapper.xml
new file mode 100644
index 0000000..85db455
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/CouponUseMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/HomeSubjectMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/HomeSubjectMapper.xml
new file mode 100644
index 0000000..1826881
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/HomeSubjectMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/HomeSubjectSkuMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/HomeSubjectSkuMapper.xml
new file mode 100644
index 0000000..a640b71
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/HomeSubjectSkuMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillMapper.xml
new file mode 100644
index 0000000..52d1b5c
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillSkuMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillSkuMapper.xml
new file mode 100644
index 0000000..c6d7021
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillSkuMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillSkuNoticeMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillSkuNoticeMapper.xml
new file mode 100644
index 0000000..8ea6a49
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillSkuNoticeMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillTimeMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillTimeMapper.xml
new file mode 100644
index 0000000..9a5566c
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SeckillTimeMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SkuInfoMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SkuInfoMapper.xml
new file mode 100644
index 0000000..3a60c1a
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/mapper/xml/SkuInfoMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityInfoService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityInfoService.java
new file mode 100644
index 0000000..59456d9
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityInfoService.java
@@ -0,0 +1,64 @@
+package com.atguigu.ssyx.activity.service;
+
+
+import com.atguigu.ssyx.model.activity.ActivityInfo;
+import com.atguigu.ssyx.model.activity.ActivityRule;
+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;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * 活动表 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface ActivityInfoService extends IService {
+
+
+ /**
+ * 分页查询
+ *
+ * @param pageParam
+ * @return
+ */
+ IPage selectPage(Page pageParam);
+
+ /**
+ * 获取活动规则id
+ *
+ * @param activityId
+ * @return
+ */
+ Map findActivityRuleList(Long activityId);
+
+ /**
+ * 保存活动规则信息
+ *
+ * @param activityRuleVo
+ */
+ void saveActivityRule(ActivityRuleVo activityRuleVo);
+
+ /**
+ * 根据关键字获取sku信息列表
+ *
+ * @param keyword
+ * @return
+ */
+ List findSkuInfoByKeyword(String keyword);
+
+ /**
+ * 根据skuId获取促销规则信息
+ *
+ * @param skuId
+ * @return
+ */
+ List findActivityRule(Long skuId);
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityRuleService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityRuleService.java
new file mode 100644
index 0000000..a21f6b6
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivityRuleService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.ActivityRule;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 优惠规则 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface ActivityRuleService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivitySkuService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivitySkuService.java
new file mode 100644
index 0000000..f3c7618
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/ActivitySkuService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.ActivitySku;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 活动参与商品 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface ActivitySkuService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/CouponInfoService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/CouponInfoService.java
new file mode 100644
index 0000000..2421889
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/CouponInfoService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.CouponInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 优惠券信息 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface CouponInfoService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/CouponRangeService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/CouponRangeService.java
new file mode 100644
index 0000000..de29b34
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/CouponRangeService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.CouponRange;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 优惠券范围表 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface CouponRangeService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/CouponUseService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/CouponUseService.java
new file mode 100644
index 0000000..ba654c8
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/CouponUseService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.CouponUse;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 优惠券领用表 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface CouponUseService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/HomeSubjectService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/HomeSubjectService.java
new file mode 100644
index 0000000..e57b6fd
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/HomeSubjectService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.HomeSubject;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 首页专题表【jd首页下面很多专题,每个专题链接新的页面,展示专题商品信息】 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface HomeSubjectService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/HomeSubjectSkuService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/HomeSubjectSkuService.java
new file mode 100644
index 0000000..f6336d0
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/HomeSubjectSkuService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.HomeSubjectSku;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 专题商品 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface HomeSubjectSkuService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillService.java
new file mode 100644
index 0000000..e29335c
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.Seckill;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 秒杀活动 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SeckillService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillSkuNoticeService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillSkuNoticeService.java
new file mode 100644
index 0000000..2a81e89
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillSkuNoticeService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.SeckillSkuNotice;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 秒杀商品通知订阅 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SeckillSkuNoticeService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillSkuService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillSkuService.java
new file mode 100644
index 0000000..56834f0
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillSkuService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.SeckillSku;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 秒杀活动商品关联 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SeckillSkuService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillTimeService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillTimeService.java
new file mode 100644
index 0000000..5712039
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SeckillTimeService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.activity.SeckillTime;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 秒杀活动场次 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SeckillTimeService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SkuInfoService.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SkuInfoService.java
new file mode 100644
index 0000000..bfe8d2d
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/SkuInfoService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.activity.service;
+
+import com.atguigu.ssyx.model.product.SkuInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * sku信息 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+public interface SkuInfoService extends IService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityInfoServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityInfoServiceImpl.java
new file mode 100644
index 0000000..381ca5b
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityInfoServiceImpl.java
@@ -0,0 +1,210 @@
+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.enums.ActivityType;
+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.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ *
+ * 活动表 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class ActivityInfoServiceImpl extends ServiceImpl implements ActivityInfoService {
+
+
+ @Autowired
+ private ActivityInfoMapper activityInfoMapper;
+
+ @Autowired
+ private ActivityRuleMapper activityRuleMapper;
+
+ @Autowired
+ private ActivitySkuMapper activitySkuMapper;
+
+ @Autowired
+ private ProductFeignClient productFeignClient;
+
+ /**
+ * 优惠活动列表方法
+ *
+ * @param pageParam
+ * @return
+ */
+ @Override
+ public IPage selectPage(Page pageParam) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.orderByDesc("id");
+
+ IPage page = activityInfoMapper.selectPage(pageParam, queryWrapper);
+ page.getRecords()
+ .forEach(item -> {
+ item.setActivityTypeString(item.getActivityType()
+ .getComment());
+ });
+ return page;
+ }
+
+ /**
+ * 活动规则列表方法
+ *
+ * @param activityId
+ * @return
+ */
+ @Override
+ public Map findActivityRuleList(Long activityId) {
+ Map result = new HashMap<>();
+
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper();
+ queryWrapper.eq(ActivityRule::getActivityId, activityId);
+ List activityRuleList = activityRuleMapper.selectList(queryWrapper);
+ result.put("activityRuleList", activityRuleList);
+
+ LambdaQueryWrapper activitySkuQueryWrapper = new LambdaQueryWrapper();
+ activitySkuQueryWrapper.eq(ActivitySku::getActivityId, activityId);
+ List activitySkuList = activitySkuMapper.selectList(activitySkuQueryWrapper);
+ List skuIdList = activitySkuList.stream()
+ .map(ActivitySku::getSkuId)
+ .collect(Collectors.toList());
+
+ List skuInfoList = null;
+ if (!skuIdList.isEmpty()) {
+ skuInfoList = productFeignClient.findSkuInfoList(skuIdList);
+ }
+
+ result.put("skuInfoList", skuInfoList);
+ return result;
+ }
+
+ /**
+ * 保存活动规则
+ *
+ * @param activityRuleVo
+ */
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void saveActivityRule(ActivityRuleVo activityRuleVo) {
+ //第一步 根据活动id删除之前规则数据
+ //ActivityRule数据删除
+ Long activityId = activityRuleVo.getActivityId();
+ activityRuleMapper.delete(new LambdaQueryWrapper().eq(ActivityRule::getActivityId, activityId));
+ //ActivitySku数据删除
+ activitySkuMapper.delete(new LambdaQueryWrapper().eq(ActivitySku::getActivityId, activityId));
+
+ //第二步 获取规则列表数据
+ List activityRuleList = activityRuleVo.getActivityRuleList();
+ ActivityInfo activityInfo = baseMapper.selectById(activityId);
+ for (ActivityRule activityRule : activityRuleList) {
+ activityRule.setActivityId(activityId);//活动id
+ activityRule.setActivityType(activityInfo.getActivityType());//类型
+ activityRuleMapper.insert(activityRule);
+ }
+
+ //第三步 获取规则范围数据
+ List activitySkuList = activityRuleVo.getActivitySkuList();
+ for (ActivitySku activitySku : activitySkuList) {
+ activitySku.setActivityId(activityId);
+ activitySkuMapper.insert(activitySku);
+ }
+ }
+
+ /**
+ * 根据关键字查询sku信息列表
+ *
+ * @param keyword
+ * @return
+ */
+ @Override
+ public List findSkuInfoByKeyword(String keyword) {
+ //第一步 根据关键字查询sku匹配内容列表
+ //// (1) service-product模块创建接口 据关键字查询sku匹配内容列表
+ //// (2) service-activity远程调用得到sku内容列表
+ List skuInfoList = productFeignClient.findSkuInfoByKeyword(keyword);
+ //判断:如果根据关键字查询不到匹配内容,直接返回空集合
+ if (skuInfoList.isEmpty()) {
+ return skuInfoList;
+ }
+
+ //从skuInfoList集合获取所有skuId
+ List skuIdList = skuInfoList.stream()
+ .map(SkuInfo::getId)
+ .collect(Collectors.toList());
+
+ //第二步 判断添加商品之前是否参加过活动,
+ // 如果之前参加过,活动正在进行中,排除商品
+ //// (1) 查询两张表判断 activity_info 和 activity_sku,编写SQL语句实现
+ List existSkuIdList = baseMapper.selectSkuIdListExist(skuIdList);
+
+ //// (2) 判断逻辑处理:排除已经参加活动商品
+ List findSkuList = new ArrayList<>();
+ //遍历全部sku列表
+ for (SkuInfo skuInfo : skuInfoList) {
+ if (!existSkuIdList.contains(skuInfo.getId())) {
+ findSkuList.add(skuInfo);
+ }
+ }
+ return findSkuList;
+ }
+
+ /**
+ * 查询商品获取规则数据
+ *
+ * @param skuId
+ * @return
+ */
+ @Override
+ public List findActivityRule(Long skuId) {
+ List activityRuleList = activityInfoMapper.selectActivityRuleList(skuId);
+ if (!CollectionUtils.isEmpty(activityRuleList)) {
+ for (ActivityRule activityRule : activityRuleList) {
+ activityRule.setRuleDesc(this.getRuleDesc(activityRule));
+ }
+ }
+ return activityRuleList;
+ }
+
+ private String getRuleDesc(ActivityRule activityRule) {
+ ActivityType activityType = activityRule.getActivityType();
+ StringBuffer ruleDesc = new StringBuffer();
+ if (activityType == ActivityType.FULL_REDUCTION) {
+ ruleDesc.append("满")
+ .append(activityRule.getConditionAmount())
+ .append("元减")
+ .append(activityRule.getBenefitAmount())
+ .append("元");
+ } else {
+ ruleDesc.append("满")
+ .append(activityRule.getConditionNum())
+ .append("元打")
+ .append(activityRule.getBenefitDiscount())
+ .append("折");
+ }
+ return ruleDesc.toString();
+ }
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityRuleServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityRuleServiceImpl.java
new file mode 100644
index 0000000..0ac54aa
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivityRuleServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.ActivityRuleMapper;
+import com.atguigu.ssyx.activity.service.ActivityRuleService;
+import com.atguigu.ssyx.model.activity.ActivityRule;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 优惠规则 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class ActivityRuleServiceImpl extends ServiceImpl implements ActivityRuleService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivitySkuServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivitySkuServiceImpl.java
new file mode 100644
index 0000000..815ca1b
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/ActivitySkuServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.ActivitySkuMapper;
+import com.atguigu.ssyx.activity.service.ActivitySkuService;
+import com.atguigu.ssyx.model.activity.ActivitySku;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 活动参与商品 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class ActivitySkuServiceImpl extends ServiceImpl implements ActivitySkuService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/CouponInfoServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/CouponInfoServiceImpl.java
new file mode 100644
index 0000000..3e01101
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/CouponInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.CouponInfoMapper;
+import com.atguigu.ssyx.activity.service.CouponInfoService;
+import com.atguigu.ssyx.model.activity.CouponInfo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 优惠券信息 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class CouponInfoServiceImpl extends ServiceImpl implements CouponInfoService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/CouponRangeServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/CouponRangeServiceImpl.java
new file mode 100644
index 0000000..c9af015
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/CouponRangeServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.CouponRangeMapper;
+import com.atguigu.ssyx.activity.service.CouponRangeService;
+import com.atguigu.ssyx.model.activity.CouponRange;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 优惠券范围表 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class CouponRangeServiceImpl extends ServiceImpl implements CouponRangeService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/CouponUseServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/CouponUseServiceImpl.java
new file mode 100644
index 0000000..6085812
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/CouponUseServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.CouponUseMapper;
+import com.atguigu.ssyx.activity.service.CouponUseService;
+import com.atguigu.ssyx.model.activity.CouponUse;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 优惠券领用表 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class CouponUseServiceImpl extends ServiceImpl implements CouponUseService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/HomeSubjectServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/HomeSubjectServiceImpl.java
new file mode 100644
index 0000000..a093548
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/HomeSubjectServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.HomeSubjectMapper;
+import com.atguigu.ssyx.activity.service.HomeSubjectService;
+import com.atguigu.ssyx.model.activity.HomeSubject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 首页专题表【jd首页下面很多专题,每个专题链接新的页面,展示专题商品信息】 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class HomeSubjectServiceImpl extends ServiceImpl implements HomeSubjectService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/HomeSubjectSkuServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/HomeSubjectSkuServiceImpl.java
new file mode 100644
index 0000000..ec9ddf3
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/HomeSubjectSkuServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.HomeSubjectSkuMapper;
+import com.atguigu.ssyx.activity.service.HomeSubjectSkuService;
+import com.atguigu.ssyx.model.activity.HomeSubjectSku;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 专题商品 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class HomeSubjectSkuServiceImpl extends ServiceImpl implements HomeSubjectSkuService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillServiceImpl.java
new file mode 100644
index 0000000..ab7ea2c
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.SeckillMapper;
+import com.atguigu.ssyx.activity.service.SeckillService;
+import com.atguigu.ssyx.model.activity.Seckill;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 秒杀活动 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class SeckillServiceImpl extends ServiceImpl implements SeckillService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillSkuNoticeServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillSkuNoticeServiceImpl.java
new file mode 100644
index 0000000..cb8f21f
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillSkuNoticeServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.SeckillSkuNoticeMapper;
+import com.atguigu.ssyx.activity.service.SeckillSkuNoticeService;
+import com.atguigu.ssyx.model.activity.SeckillSkuNotice;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 秒杀商品通知订阅 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class SeckillSkuNoticeServiceImpl extends ServiceImpl implements SeckillSkuNoticeService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillSkuServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillSkuServiceImpl.java
new file mode 100644
index 0000000..52101ff
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillSkuServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.SeckillSkuMapper;
+import com.atguigu.ssyx.activity.service.SeckillSkuService;
+import com.atguigu.ssyx.model.activity.SeckillSku;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 秒杀活动商品关联 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class SeckillSkuServiceImpl extends ServiceImpl implements SeckillSkuService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillTimeServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillTimeServiceImpl.java
new file mode 100644
index 0000000..1deb985
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SeckillTimeServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.SeckillTimeMapper;
+import com.atguigu.ssyx.activity.service.SeckillTimeService;
+import com.atguigu.ssyx.model.activity.SeckillTime;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 秒杀活动场次 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class SeckillTimeServiceImpl extends ServiceImpl implements SeckillTimeService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SkuInfoServiceImpl.java b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SkuInfoServiceImpl.java
new file mode 100644
index 0000000..f94ca2f
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/java/com/atguigu/ssyx/activity/service/impl/SkuInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.activity.service.impl;
+
+import com.atguigu.ssyx.activity.mapper.SkuInfoMapper;
+import com.atguigu.ssyx.activity.service.SkuInfoService;
+import com.atguigu.ssyx.model.product.SkuInfo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * sku信息 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2023-09-17
+ */
+@Service
+public class SkuInfoServiceImpl extends ServiceImpl implements SkuInfoService {
+
+}
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/resources/application-dev.yml b/guigu-ssyx-parent/service/service-activity/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..efd324e
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/resources/application-dev.yml
@@ -0,0 +1,19 @@
+server:
+ port: 8205
+
+mybatis-plus:
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+ type-enums-package: com.atguigu.ssyx.enums
+
+spring:
+ datasource:
+ type: com.zaxxer.hikari.HikariDataSource
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://82.157.68.223:3306/shequ-activity?characterEncoding=utf-8&useSSL=false
+ username: shequ-activity
+ password: shequ-activity
+
+ jackson:
+ date-format: yyyy-MM-dd HH:mm:ss
+ time-zone: GMT+8
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/resources/application.yml b/guigu-ssyx-parent/service/service-activity/src/main/resources/application.yml
new file mode 100644
index 0000000..299f6bb
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/resources/application.yml
@@ -0,0 +1,11 @@
+spring:
+ application:
+ name: service-activity
+ profiles:
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ server-addr: localhost:8848
+ username: nacos
+ password: nacos
diff --git a/guigu-ssyx-parent/service/service-activity/src/main/resources/mapper/ActivityInfoMapper.xml b/guigu-ssyx-parent/service/service-activity/src/main/resources/mapper/ActivityInfoMapper.xml
new file mode 100644
index 0000000..a4313f4
--- /dev/null
+++ b/guigu-ssyx-parent/service/service-activity/src/main/resources/mapper/ActivityInfoMapper.xml
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/api/ProductInnnerController.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/api/ProductInnnerController.java
index c147afb..3f4a25a 100644
--- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/api/ProductInnnerController.java
+++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/api/ProductInnnerController.java
@@ -6,10 +6,9 @@ import com.atguigu.ssyx.product.service.CategoryService;
import com.atguigu.ssyx.product.service.SkuInfoService;
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;
/**
* ClassName: ProductInnnerController
@@ -40,4 +39,15 @@ public class ProductInnnerController {
return skuInfoService.getById(skuId);
}
+ @ApiOperation(value = "批量获取sku信息")
+ @PostMapping("inner/findSkuInfoList")
+ public List findSkuInfoList(@RequestBody List skuIdList) {
+ return skuInfoService.findSkuInfoList(skuIdList);
+ }
+
+ @ApiOperation(value = "根据关键字获取sku列表")
+ @GetMapping("inner/findSkuInfoByKeyword/{keyword}")
+ public List findSkuInfoByKeyword(@PathVariable("keyword") String keyword) {
+ return skuInfoService.findSkuInfoByKeyword(keyword);
+ }
}
diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/SkuInfoController.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/SkuInfoController.java
index 2f77792..a6a7d66 100644
--- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/SkuInfoController.java
+++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/SkuInfoController.java
@@ -83,7 +83,6 @@ public class SkuInfoController {
@ApiOperation(value = "删除商品sku信息")
@DeleteMapping("remove/{id}")
- //TODO 删除es
public Result remove(@PathVariable Long id) {
try {
skuInfoService.deleteById(id);
@@ -95,7 +94,6 @@ public class SkuInfoController {
@ApiOperation(value = "根据id列表删除商品sku信息")
@DeleteMapping("batchRemove")
- //TODO 删除es
public Result batchRemove(@RequestBody List idList) {
try {
skuInfoService.deleteByIds(idList);
diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/SkuInfoService.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/SkuInfoService.java
index 8ba50a1..fc5c910 100644
--- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/SkuInfoService.java
+++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/SkuInfoService.java
@@ -18,21 +18,84 @@ import java.util.List;
* @since 2023-09-15
*/
public interface SkuInfoService extends IService {
+ /**
+ * 获取sku分页列表
+ *
+ * @param pageParam
+ * @param skuInfoQueryVo
+ * @return
+ */
IPage selectPage(Page pageParam, SkuInfoQueryVo skuInfoQueryVo);
+ /**
+ * 新增商品sku信息
+ *
+ * @param skuInfoVo
+ */
void saveSkuInfo(SkuInfoVo skuInfoVo);
+ /**
+ * 获取商品sku信息
+ *
+ * @param id
+ * @return
+ */
SkuInfoVo getSkuInfoVo(Long id);
void updateSkuInfo(SkuInfoVo skuInfoVo);
+ /**
+ * a商品审核
+ *
+ * @param skuId
+ * @param status
+ */
void check(Long skuId, Integer status);
+ /**
+ * 商品上/下架
+ *
+ * @param skuId
+ * @param status
+ */
+
void publish(Long skuId, Integer status);
+ /**
+ * 新人专享
+ *
+ * @param skuId
+ * @param status
+ */
void isNewPerson(Long skuId, Integer status);
+ /**
+ * 根据id列表删除商品sku信息
+ *
+ * @param idList
+ */
void deleteByIds(List idList);
+ /**
+ * 根据id删除商品sku信息
+ *
+ * @param id
+ */
void deleteById(Long id);
+
+ /**
+ * 批量获取sku信息
+ *
+ * @param skuIdList
+ * @return
+ */
+ List findSkuInfoList(List skuIdList);
+
+ /**
+ * 根据关键字获取sku列表
+ *
+ * @param keyword
+ * @return
+ */
+ List findSkuInfoByKeyword(String keyword);
}
diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/SkuInfoServiceImpl.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/SkuInfoServiceImpl.java
index 78792c9..72a80c0 100644
--- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/SkuInfoServiceImpl.java
+++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/SkuInfoServiceImpl.java
@@ -236,6 +236,11 @@ public class SkuInfoServiceImpl extends ServiceImpl impl
baseMapper.updateById(skuInfo);
}
+ /**
+ * 批量删商品sku信息
+ *
+ * @param idList
+ */
@Override
public void deleteByIds(List idList) {
baseMapper.deleteBatchIds(idList);
@@ -246,6 +251,11 @@ public class SkuInfoServiceImpl extends ServiceImpl impl
}
}
+ /**
+ * 根据ID批量删商品sku信息
+ *
+ * @param id
+ */
@Override
public void deleteById(Long id) {
baseMapper.deleteById(id);
@@ -254,6 +264,28 @@ public class SkuInfoServiceImpl extends ServiceImpl impl
rabbitService.sendMessage(MqConst.EXCHANGE_GOODS_DIRECT, MqConst.ROUTING_GOODS_LOWER, id);
}
+ /**
+ * 批量获取sku信息
+ *
+ * @param skuIdList
+ * @return
+ */
+ @Override
+ public List findSkuInfoList(List skuIdList) {
+ return baseMapper.selectBatchIds(skuIdList);
+ }
+
+ /**
+ * 根据关键字获取sku列表
+ *
+ * @param keyword
+ * @return
+ */
+ @Override
+ public List findSkuInfoByKeyword(String keyword) {
+ return baseMapper.selectList(new LambdaQueryWrapper().like(SkuInfo::getSkuName, keyword));
+ }
+
private SkuInfoVo getSkuInfoDB(Long skuId) {
SkuInfoVo skuInfoVo = new SkuInfoVo();
diff --git a/guigu-ssyx-parent/service/service-product/src/main/resources/application-dev.yml b/guigu-ssyx-parent/service/service-product/src/main/resources/application-dev.yml
index 7ccf036..ea7670f 100644
--- a/guigu-ssyx-parent/service/service-product/src/main/resources/application-dev.yml
+++ b/guigu-ssyx-parent/service/service-product/src/main/resources/application-dev.yml
@@ -4,7 +4,7 @@ server:
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-
+ type-enums-package: com.atguigu.ssyx.enums
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource