From 94c94dd1beb3c91d96268b3ec9e1b8b56e2866af Mon Sep 17 00:00:00 2001 From: DB <2502523450@qq.com> Date: Fri, 19 Apr 2024 10:08:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=BC=E5=9B=A2=E7=A7=92=E6=9D=80=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cpop/generator/CpopGenerator.java | 10 +- .../src/main/resources/application-dev.yml | 4 +- .../BackstageActivityController.java | 106 ++++++++++++ .../mini/MiniActivityController.java | 106 ++++++++++++ .../cpop/mall/business/entity/Activity.java | 134 +++++++++++++++ .../mall/business/entity/ActivityGroup.java | 51 ++++++ .../mall/business/entity/ActivityStore.java | 42 +++++ .../business/mapper/ActivityGroupMapper.java | 14 ++ .../mall/business/mapper/ActivityMapper.java | 14 ++ .../business/mapper/ActivityStoreMapper.java | 14 ++ .../service/ActivityGroupService.java | 14 ++ .../business/service/ActivityService.java | 25 +++ .../service/ActivityStoreService.java | 14 ++ .../impl/ActivityGroupServiceImpl.java | 18 +++ .../service/impl/ActivityServiceImpl.java | 57 +++++++ .../impl/ActivityStoreServiceImpl.java | 18 +++ .../cpop/mall/business/vo/ActivityPageVo.java | 152 ++++++++++++++++++ .../resources/mapper/ActivityGroupMapper.xml | 7 + .../main/resources/mapper/ActivityMapper.xml | 7 + .../resources/mapper/ActivityStoreMapper.xml | 7 + 20 files changed, 807 insertions(+), 7 deletions(-) create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/controller/backstage/BackstageActivityController.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/controller/mini/MiniActivityController.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/entity/Activity.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/entity/ActivityGroup.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/entity/ActivityStore.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityGroupMapper.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityMapper.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityStoreMapper.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityGroupService.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityService.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityStoreService.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityGroupServiceImpl.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityServiceImpl.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityStoreServiceImpl.java create mode 100644 Cpop-Mall/src/main/java/com/cpop/mall/business/vo/ActivityPageVo.java create mode 100644 Cpop-Mall/src/main/resources/mapper/ActivityGroupMapper.xml create mode 100644 Cpop-Mall/src/main/resources/mapper/ActivityMapper.xml create mode 100644 Cpop-Mall/src/main/resources/mapper/ActivityStoreMapper.xml diff --git a/Cpop-Generator/src/main/java/com/cpop/generator/CpopGenerator.java b/Cpop-Generator/src/main/java/com/cpop/generator/CpopGenerator.java index cfc90dd..21aaa17 100644 --- a/Cpop-Generator/src/main/java/com/cpop/generator/CpopGenerator.java +++ b/Cpop-Generator/src/main/java/com/cpop/generator/CpopGenerator.java @@ -26,7 +26,7 @@ public class CpopGenerator { * 数据库 URL */ // private static final String URL = "jdbc:mysql://localhost:3306/cpop-dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; - private static final String URL = "jdbc:mysql://localhost:3306/cpop_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; + private static final String URL = "jdbc:mysql://sh-cynosdbmysql-grp-fggo83js.sql.tencentcdb.com:20965/cpop_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; /** * 数据库用户名 */ @@ -34,23 +34,23 @@ public class CpopGenerator { /** * 数据库密码 */ - private static final String PASSWORD = "Admin@123"; + private static final String PASSWORD = "Customer0401"; //private static final String PASSWORD = "Customer0401"; /** * 输出路径 */ - private static final String EXPORT_URL = "/Cpop-Jambox"; + private static final String EXPORT_URL = "/Cpop-Mall"; /** * 模块 */ - private static final String EXPORT_ITEM = "jambox"; + private static final String EXPORT_ITEM = "mall"; /** * 表前缀 */ - private static final String TABLE_PREFIX = "cp_j_"; + private static final String TABLE_PREFIX = "cp_mall_"; /** * 主入口 diff --git a/Cpop-Mall/Cpop-Mall-Web/src/main/resources/application-dev.yml b/Cpop-Mall/Cpop-Mall-Web/src/main/resources/application-dev.yml index 366a051..cea17c4 100644 --- a/Cpop-Mall/Cpop-Mall-Web/src/main/resources/application-dev.yml +++ b/Cpop-Mall/Cpop-Mall-Web/src/main/resources/application-dev.yml @@ -56,9 +56,9 @@ mybatis-flex: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl datasource: mall: - url: jdbc:mysql://localhost:3306/cpop_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://sh-cynosdbmysql-grp-fggo83js.sql.tencentcdb.com:20965/cpop_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: Admin@123 + password: Customer0401 jambox: url: jdbc:mysql://sh-cynosdbmysql-grp-fggo83js.sql.tencentcdb.com:20965/jambox_test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true username: root diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/backstage/BackstageActivityController.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/backstage/BackstageActivityController.java new file mode 100644 index 0000000..69d79d5 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/backstage/BackstageActivityController.java @@ -0,0 +1,106 @@ +package com.cpop.mall.business.controller.backstage; + +import com.cpop.core.base.R; +import com.cpop.mall.business.entity.Activity; +import com.cpop.mall.business.service.ActivityService; +import com.cpop.mall.business.vo.ActivityPageVo; +import com.mybatisflex.core.paginate.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.io.Serializable; +import java.util.List; + +/** + * 商城活动 控制层。 + * + * @author DB + * @since 2024-04-18 + */ +@RestController +@Api(tags = "商城活动接口") +@RequestMapping("/backstage/activity") +public class BackstageActivityController { + + @Autowired + private ActivityService activityService; + + /** + * 分页查询商城活动。 + * @param brandId 品牌id + * @param isUp 是否上架 + * @return 分页对象 + */ + @GetMapping("/getActivityPage") + @ApiOperation("分页查询商城活动") + public R> getActivityPage(@RequestParam(required = false) @ApiParam("品牌id") String brandId, + @RequestParam(required = false) @ApiParam("品牌id") Boolean isUp) { + Page page = activityService.getActivityPage(brandId, isUp); + return R.ok(page); + } + + /** + * 添加商城活动。 + * + * @param activity 商城活动 + * @return {@code true} 添加成功,{@code false} 添加失败 + */ + @PostMapping("/save") + @ApiOperation("保存商城活动") + public boolean save(@RequestBody @ApiParam("商城活动") Activity activity) { + return activityService.save(activity); + } + + /** + * 根据主键删除商城活动。 + * + * @param id 主键 + * @return {@code true} 删除成功,{@code false} 删除失败 + */ + @DeleteMapping("/remove/{id}") + @ApiOperation("根据主键商城活动") + public boolean remove(@PathVariable @ApiParam("商城活动主键") Serializable id) { + return activityService.removeById(id); + } + + /** + * 根据主键更新商城活动。 + * + * @param activity 商城活动 + * @return {@code true} 更新成功,{@code false} 更新失败 + */ + @PutMapping("/update") + @ApiOperation("根据主键更新商城活动") + public boolean update(@RequestBody @ApiParam("商城活动主键") Activity activity) { + return activityService.updateById(activity); + } + + /** + * 查询所有商城活动。 + * + * @return 所有数据 + */ + @GetMapping("/list") + @ApiOperation("查询所有商城活动") + public List list() { + return activityService.list(); + } + + /** + * 根据商城活动主键获取详细信息。 + * + * @param id 商城活动主键 + * @return 商城活动详情 + */ + @GetMapping("/getInfo/{id}") + @ApiOperation("根据主键获取商城活动") + public Activity getInfo(@PathVariable @ApiParam("商城活动主键") Serializable id) { + return activityService.getById(id); + } + + + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/mini/MiniActivityController.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/mini/MiniActivityController.java new file mode 100644 index 0000000..097d074 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/mini/MiniActivityController.java @@ -0,0 +1,106 @@ +package com.cpop.mall.business.controller.mini; + +import com.mybatisflex.core.paginate.Page; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.beans.factory.annotation.Autowired; +import com.cpop.mall.business.entity.Activity; +import com.cpop.mall.business.service.ActivityService; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import java.io.Serializable; +import java.util.List; + +/** + * 商城活动 控制层。 + * + * @author DB + * @since 2024-04-18 + */ +@RestController +@Api(tags = "商城活动接口") +@RequestMapping("/mini/activity") +public class MiniActivityController { + + @Autowired + private ActivityService activityService; + + /** + * 添加商城活动。 + * + * @param activity 商城活动 + * @return {@code true} 添加成功,{@code false} 添加失败 + */ + @PostMapping("/save") + @ApiOperation("保存商城活动") + public boolean save(@RequestBody @ApiParam("商城活动") Activity activity) { + return activityService.save(activity); + } + + /** + * 根据主键删除商城活动。 + * + * @param id 主键 + * @return {@code true} 删除成功,{@code false} 删除失败 + */ + @DeleteMapping("/remove/{id}") + @ApiOperation("根据主键商城活动") + public boolean remove(@PathVariable @ApiParam("商城活动主键") Serializable id) { + return activityService.removeById(id); + } + + /** + * 根据主键更新商城活动。 + * + * @param activity 商城活动 + * @return {@code true} 更新成功,{@code false} 更新失败 + */ + @PutMapping("/update") + @ApiOperation("根据主键更新商城活动") + public boolean update(@RequestBody @ApiParam("商城活动主键") Activity activity) { + return activityService.updateById(activity); + } + + /** + * 查询所有商城活动。 + * + * @return 所有数据 + */ + @GetMapping("/list") + @ApiOperation("查询所有商城活动") + public List list() { + return activityService.list(); + } + + /** + * 根据商城活动主键获取详细信息。 + * + * @param id 商城活动主键 + * @return 商城活动详情 + */ + @GetMapping("/getInfo/{id}") + @ApiOperation("根据主键获取商城活动") + public Activity getInfo(@PathVariable @ApiParam("商城活动主键") Serializable id) { + return activityService.getById(id); + } + + /** + * 分页查询商城活动。 + * + * @param page 分页对象 + * @return 分页对象 + */ + @GetMapping("/page") + @ApiOperation("分页查询商城活动") + public Page page(@ApiParam("分页信息") Page page) { + return activityService.page(page); + } + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/entity/Activity.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/entity/Activity.java new file mode 100644 index 0000000..2e93aee --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/entity/Activity.java @@ -0,0 +1,134 @@ +package com.cpop.mall.business.entity; + +import com.cpop.core.base.entity.BaseEntity; +import com.cpop.core.base.entity.BaseInsertListener; +import com.cpop.core.base.entity.BaseUpdateListener; +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; +import lombok.experimental.Accessors; + +/** + * 商城活动 实体类。 + * + * @author DB + * @since 2024-04-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@Table(value = "cp_mall_activity", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false) +public class Activity extends BaseEntity implements Serializable { + + /** + * 主键 + */ + @Id + private String id; + + /** + * 品牌id + */ + private String brandId; + + /** + * 活动类型 1拼团,2秒杀 + */ + private Integer activityType; + + /** + * 活动名称 + */ + private String activityName; + + /** + * 颜色 + */ + private String color; + + /** + * 活动头图 + */ + private String headPic; + + /** + * 描述 + */ + private String description; + + /** + * 活动详情图 + */ + private String detailPic; + + /** + * 关联商品 + */ + private String productList; + + /** + * 拼团人数 + */ + private Integer groupNum; + + /** + * 单买价格 + */ + private BigDecimal singlePrice; + + /** + * 拼团价格 + */ + private BigDecimal groupPrice; + + /** + * 是否上架 + */ + private Boolean isUp; + + /** + * 是否置顶 + */ + private Boolean isTop; + + /** + * 秒杀开始时间 + */ + private LocalDateTime secKillStartTime; + + /** + * 秒杀结束时间 + */ + private LocalDateTime secKillEndTime; + + /** + * 活动开始时间 + */ + private LocalDateTime activityStartTime; + + /** + * 活动结束时间 + */ + private LocalDateTime activityEndTime; + + /** + * 备注 + */ + private String remark; + + /** + * 是否删除(0否1是) + */ + @Column(isLogicDelete = true) + private Boolean isDelete; + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/entity/ActivityGroup.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/entity/ActivityGroup.java new file mode 100644 index 0000000..a0e4bf4 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/entity/ActivityGroup.java @@ -0,0 +1,51 @@ +package com.cpop.mall.business.entity; + +import com.cpop.core.base.entity.BaseEntity; +import com.cpop.core.base.entity.BaseInsertListener; +import com.cpop.core.base.entity.BaseUpdateListener; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; +import lombok.experimental.Accessors; + +/** + * 商城活动组 实体类。 + * + * @author DB + * @since 2024-04-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@Table(value = "cp_mall_activity_group", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false) +public class ActivityGroup extends BaseEntity implements Serializable { + + /** + * 活动组id + */ + @Id + private String id; + + /** + * 活动组名 + */ + private String activityGroupName; + + /** + * 活动id + */ + private String activityId; + + /** + * 商品id + */ + private String productId; + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/entity/ActivityStore.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/entity/ActivityStore.java new file mode 100644 index 0000000..7c2d2cd --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/entity/ActivityStore.java @@ -0,0 +1,42 @@ +package com.cpop.mall.business.entity; + +import com.cpop.core.base.entity.BaseEntity; +import com.cpop.core.base.entity.BaseInsertListener; +import com.cpop.core.base.entity.BaseUpdateListener; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; +import lombok.experimental.Accessors; + +/** + * 拼团活动-校区 实体类。 + * + * @author DB + * @since 2024-04-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@Table(value = "cp_mall_activity_store", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false) +public class ActivityStore extends BaseEntity implements Serializable { + + /** + * 活动id + */ + @Id + private String activityId; + + /** + * 校区id + */ + @Id + private String storeId; + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityGroupMapper.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityGroupMapper.java new file mode 100644 index 0000000..e4f03b2 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityGroupMapper.java @@ -0,0 +1,14 @@ +package com.cpop.mall.business.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.cpop.mall.business.entity.ActivityGroup; + +/** + * 商城活动组 映射层。 + * + * @author DB + * @since 2024-04-18 + */ +public interface ActivityGroupMapper extends BaseMapper { + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityMapper.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityMapper.java new file mode 100644 index 0000000..3c6d446 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityMapper.java @@ -0,0 +1,14 @@ +package com.cpop.mall.business.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.cpop.mall.business.entity.Activity; + +/** + * 商城活动 映射层。 + * + * @author DB + * @since 2024-04-18 + */ +public interface ActivityMapper extends BaseMapper { + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityStoreMapper.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityStoreMapper.java new file mode 100644 index 0000000..ca48005 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/mapper/ActivityStoreMapper.java @@ -0,0 +1,14 @@ +package com.cpop.mall.business.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.cpop.mall.business.entity.ActivityStore; + +/** + * 拼团活动-校区 映射层。 + * + * @author DB + * @since 2024-04-19 + */ +public interface ActivityStoreMapper extends BaseMapper { + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityGroupService.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityGroupService.java new file mode 100644 index 0000000..76dd749 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityGroupService.java @@ -0,0 +1,14 @@ +package com.cpop.mall.business.service; + +import com.mybatisflex.core.service.IService; +import com.cpop.mall.business.entity.ActivityGroup; + +/** + * 商城活动组 服务层。 + * + * @author DB + * @since 2024-04-18 + */ +public interface ActivityGroupService extends IService { + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityService.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityService.java new file mode 100644 index 0000000..bc41f49 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityService.java @@ -0,0 +1,25 @@ +package com.cpop.mall.business.service; + +import com.cpop.mall.business.vo.ActivityPageVo; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.service.IService; +import com.cpop.mall.business.entity.Activity; + +/** + * 商城活动 服务层。 + * + * @author DB + * @since 2024-04-18 + */ +public interface ActivityService extends IService { + + /** + * 分页查询商城活动 + * @author DB + * @since 2024/4/18 + * @param brandId 品牌id + * @param isUp 是否上架 + * @return Page + */ + Page getActivityPage(String brandId, Boolean isUp); +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityStoreService.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityStoreService.java new file mode 100644 index 0000000..18446af --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/ActivityStoreService.java @@ -0,0 +1,14 @@ +package com.cpop.mall.business.service; + +import com.mybatisflex.core.service.IService; +import com.cpop.mall.business.entity.ActivityStore; + +/** + * 拼团活动-校区 服务层。 + * + * @author DB + * @since 2024-04-19 + */ +public interface ActivityStoreService extends IService { + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityGroupServiceImpl.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityGroupServiceImpl.java new file mode 100644 index 0000000..e8717b3 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityGroupServiceImpl.java @@ -0,0 +1,18 @@ +package com.cpop.mall.business.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.cpop.mall.business.entity.ActivityGroup; +import com.cpop.mall.business.mapper.ActivityGroupMapper; +import com.cpop.mall.business.service.ActivityGroupService; +import org.springframework.stereotype.Service; + +/** + * 商城活动组 服务层实现。 + * + * @author DB + * @since 2024-04-18 + */ +@Service("activityGroupService") +public class ActivityGroupServiceImpl extends ServiceImpl implements ActivityGroupService { + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityServiceImpl.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityServiceImpl.java new file mode 100644 index 0000000..c7b9881 --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityServiceImpl.java @@ -0,0 +1,57 @@ +package com.cpop.mall.business.service.impl; + +import com.cpop.core.base.entity.PageDomain; +import com.cpop.core.utils.sql.SqlUtils; +import com.cpop.mall.business.vo.ActivityPageVo; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.cpop.mall.business.entity.Activity; +import com.cpop.mall.business.mapper.ActivityMapper; +import com.cpop.mall.business.service.ActivityService; +import org.springframework.stereotype.Service; + +import java.util.List; + +import static com.cpop.mall.business.entity.table.ActivityTableDef.ACTIVITY; + +/** + * 商城活动 服务层实现。 + * + * @author DB + * @since 2024-04-18 + */ +@Service("activityService") +public class ActivityServiceImpl extends ServiceImpl implements ActivityService { + + /** + * 分页查询商城活动 + * @author DB + * @since 2024/4/18 + * @param brandId 品牌id + * @param isUp 分页对象 + * @return Page + */ + @Override + public Page getActivityPage(String brandId, Boolean isUp) { + /*LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(brandId != null, ActivityInfo::getBrandId, brandId); + queryWrapper.eq(ActivityInfo::getShelve, shelve); + queryWrapper.eq(ActivityInfo::getDeleted, "1"); + queryWrapper.orderByDesc(ActivityInfo::getStick).orderByDesc(ActivityInfo::getLastModificationDate); + IPage activityInfoPage = this.page(pageinfo, queryWrapper); + + List activityInfos= activityInfoPage.getRecords(); + for (ActivityInfo activityInfo : activityInfos) { + List activityStores=activityStoreMapper.selectStoreName(activityInfo.getActivityId()); + activityInfo.setStoreList(activityStores); + }*/ + + PageDomain pageDomain = SqlUtils.getInstance().getPageDomain(); + return this.pageAs(Page.of(pageDomain.getPageNum(),pageDomain.getPageSize()), QueryWrapper.create() + .where(ACTIVITY.BRAND_ID.eq(brandId)) + .and(ACTIVITY.IS_UP.eq(isUp)) + .orderBy(ACTIVITY.IS_TOP.desc(), ACTIVITY.UPDATE_TIME.desc()) + , ActivityPageVo.class); + } +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityStoreServiceImpl.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityStoreServiceImpl.java new file mode 100644 index 0000000..f5f151d --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ActivityStoreServiceImpl.java @@ -0,0 +1,18 @@ +package com.cpop.mall.business.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.cpop.mall.business.entity.ActivityStore; +import com.cpop.mall.business.mapper.ActivityStoreMapper; +import com.cpop.mall.business.service.ActivityStoreService; +import org.springframework.stereotype.Service; + +/** + * 拼团活动-校区 服务层实现。 + * + * @author DB + * @since 2024-04-19 + */ +@Service("activityStoreService") +public class ActivityStoreServiceImpl extends ServiceImpl implements ActivityStoreService { + +} diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/ActivityPageVo.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/ActivityPageVo.java new file mode 100644 index 0000000..9bcd7db --- /dev/null +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/ActivityPageVo.java @@ -0,0 +1,152 @@ +package com.cpop.mall.business.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author DB + * @version 1.0.0 + * @since 2024-04-18 18:02 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "拼团活动分页", description = "拼团活动分页") +public class ActivityPageVo { + + /** + * 主键 + */ + @ApiModelProperty(value = "主键") + private String id; + + /** + * 活动类型 1拼团,2秒杀 + */ + @ApiModelProperty(value = "活动类型 1拼团,2秒杀") + private Integer activityType; + + /** + * 交易数量 + */ + @ApiModelProperty(value = "交易数量") + private Integer tradeNum; + + /** + * 交易金额 + */ + @ApiModelProperty(value = "交易金额") + private BigDecimal tradeAmount; + + /** + * 商品id + */ + @ApiModelProperty(value = "商品id") + private String productId; + + /** + * 关联商品 + */ + @ApiModelProperty(value = "关联商品") + private String productName; + + /** + * 品牌id + */ + @ApiModelProperty(value = "品牌id") + private String brandId; + + /** + * 品牌名 + */ + @ApiModelProperty(value = "品牌名") + private String brandName; + + /** + * 活动名称 + */ + @ApiModelProperty(value = "活动名称") + private String activityName; + + /** + * 颜色 + */ + @ApiModelProperty(value = "颜色") + private String color; + + /** + * 活动头图 + */ + @ApiModelProperty(value = "活动头图") + private String headPic; + + /** + * 描述 + */ + @ApiModelProperty(value = "描述") + private String description; + + /** + * 活动详情图 + */ + @ApiModelProperty(value = "活动详情图") + private String detailPic; + + /** + * 拼团人数 + */ + @ApiModelProperty(value = "拼团人数") + private Integer groupNum; + + /** + * 单买价格 + */ + @ApiModelProperty(value = "单买价格") + private BigDecimal singlePrice; + + /** + * 拼团价格 + */ + @ApiModelProperty(value = "拼团价格") + private BigDecimal groupPrice; + + /** + * 是否上架 + */ + @ApiModelProperty(value = "是否上架") + private Boolean isUp; + + /** + * 是否置顶 + */ + @ApiModelProperty(value = "是否置顶") + private Boolean isTop; + + /** + * 秒杀开始时间 + */ + @ApiModelProperty(value = "秒杀开始时间") + private LocalDateTime secKillStartTime; + + /** + * 秒杀结束时间 + */ + @ApiModelProperty(value = "秒杀结束时间") + private LocalDateTime secKillEndTime; + + /** + * 活动开始时间 + */ + @ApiModelProperty(value = "活动开始时间") + private LocalDateTime activityStartTime; + + /** + * 活动结束时间 + */ + @ApiModelProperty(value = "活动结束时间") + private LocalDateTime activityEndTime; +} diff --git a/Cpop-Mall/src/main/resources/mapper/ActivityGroupMapper.xml b/Cpop-Mall/src/main/resources/mapper/ActivityGroupMapper.xml new file mode 100644 index 0000000..a710fbd --- /dev/null +++ b/Cpop-Mall/src/main/resources/mapper/ActivityGroupMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/Cpop-Mall/src/main/resources/mapper/ActivityMapper.xml b/Cpop-Mall/src/main/resources/mapper/ActivityMapper.xml new file mode 100644 index 0000000..52f15a5 --- /dev/null +++ b/Cpop-Mall/src/main/resources/mapper/ActivityMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/Cpop-Mall/src/main/resources/mapper/ActivityStoreMapper.xml b/Cpop-Mall/src/main/resources/mapper/ActivityStoreMapper.xml new file mode 100644 index 0000000..6d13228 --- /dev/null +++ b/Cpop-Mall/src/main/resources/mapper/ActivityStoreMapper.xml @@ -0,0 +1,7 @@ + + + + +