本模块用于管理商户的运营活动,支持活动的创建、查询、更新和删除操作。活动可以设置参与规则、奖励类型、优惠券等信息。
CREATE TABLE `store_operational_activity` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`store_id` int NULL COMMENT '商户ID',
`activity_name` VARCHAR(100) NOT NULL COMMENT '活动名称',
`promotional_image` VARCHAR(500) DEFAULT NULL COMMENT '活动宣传图URL',
`start_time` DATETIME NOT NULL COMMENT '活动开始时间',
`end_time` DATETIME NOT NULL COMMENT '活动结束时间',
`participation_limit` int DEFAULT 0 COMMENT '用户可参与次数,0表示不限制',
`activity_rule` VARCHAR(50) NOT NULL COMMENT '活动规则:VERIFY_AND_COMMENT-核销并评论, VERIFY-核销, CHECK_IN-打卡',
`reward_type` VARCHAR(50) DEFAULT NULL COMMENT '奖励类型:COUPON-优惠券, RED_PACKET-红包',
`coupon_id` int DEFAULT NULL COMMENT '优惠券ID,关联优惠券表',
`coupon_quantity` int DEFAULT NULL COMMENT '优惠券发放数量',
`status` int DEFAULT 1 COMMENT '状态:0-禁用, 1-启用',
`delete_flag` int NOT NULL DEFAULT '0' COMMENT '删除标记, 0:未删除, 1:已删除',
`created_time` datetime(1) NOT NULL COMMENT '创建时间',
`created_user_id` int DEFAULT NULL COMMENT '创建人ID',
`updated_time` datetime DEFAULT NULL COMMENT '修改时间',
`updated_user_id` int DEFAULT NULL COMMENT '修改人ID',
PRIMARY KEY (`id`),
INDEX `idx_activity_time` (`start_time`, `end_time`),
INDEX `idx_status` (`status`, `delete_flag`),
INDEX `idx_coupon_id` (`coupon_id`),
INDEX `idx_create_time` (`created_time`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='运营活动表';
路径: alien-entity/src/main/java/shop/alien/entity/store/StoreOperationalActivity.java
功能: 运营活动实体类,对应数据库表 store_operational_activity
主要字段:
id: 主键storeId: 商户IDactivityName: 活动名称promotionalImage: 活动宣传图URLstartTime: 活动开始时间endTime: 活动结束时间participationLimit: 用户可参与次数(0表示不限制)activityRule: 活动规则(VERIFY_AND_COMMENT-核销并评论, VERIFY-核销, CHECK_IN-打卡)rewardType: 奖励类型(COUPON-优惠券, RED_PACKET-红包)couponId: 优惠券IDcouponQuantity: 优惠券发放数量status: 状态(0-禁用, 1-启用)deleteFlag: 删除标记(逻辑删除)createdTime: 创建时间(自动填充)createdUserId: 创建人IDupdatedTime: 修改时间(自动填充)updatedUserId: 修改人ID路径: alien-entity/src/main/java/shop/alien/entity/store/vo/StoreOperationalActivityDTO.java
功能: 用于接收前端请求参数,包含参数校验
校验规则:
activityName: 必填,不能为空startTime: 必填,不能为空endTime: 必填,不能为空activityRule: 必填,不能为空路径: alien-entity/src/main/java/shop/alien/entity/store/vo/StoreOperationalActivityVO.java
功能: 用于返回给前端的数据对象,继承自实体类并扩展了额外字段
扩展字段:
statusName: 状态名称activityRuleName: 活动规则名称rewardTypeName: 奖励类型名称couponName: 优惠券名称storeName: 商户名称activityStatus: 活动状态(0-未开始, 1-进行中, 2-已结束)participationCount: 已参与人数remainingCouponQuantity: 剩余优惠券数量路径: alien-entity/src/main/java/shop/alien/mapper/StoreOperationalActivityMapper.java
功能: 继承 MyBatis-Plus 的 BaseMapper,提供基础 CRUD 操作
路径: alien-entity/src/main/resources/mapper/StoreOperationalActivityMapper.xml
功能: MyBatis 映射配置文件,定义结果集映射和通用 SQL
路径: alien-store-platform/src/main/java/shop/alien/storeplatform/service/OperationalActivityService.java
功能: 定义运营活动业务逻辑接口
方法列表:
createActivity(StoreOperationalActivityDTO dto): 创建运营活动updateActivity(StoreOperationalActivityDTO dto): 更新运营活动deleteActivity(Integer id): 删除运营活动(逻辑删除)getActivityById(Integer id): 根据ID获取活动详情getActivityListByStoreId(Integer storeId): 根据商户ID获取活动列表getActivityPage(Integer current, Integer size, Integer storeId, Integer status): 分页查询活动列表updateActivityStatus(Integer id, Integer status): 启用/禁用活动getOngoingActivities(Integer storeId): 获取进行中的活动列表路径: alien-store-platform/src/main/java/shop/alien/storeplatform/service/impl/OperationalActivityServiceImpl.java
功能: 实现运营活动业务逻辑
核心功能:
路径: alien-store-platform/src/main/java/shop/alien/storeplatform/controller/OperationalActivityController.java
功能: 提供运营活动管理的 REST API 接口
API 列表:
POST /operationalActivity/createPOST /operationalActivity/updateDELETE /operationalActivity/deleteGET /operationalActivity/detailGET /operationalActivity/listGET /operationalActivity/pagePOST /operationalActivity/updateStatusGET /operationalActivity/ongoingPOST /operationalActivity/create
{
"storeId": 1,
"activityName": "双十一优惠活动",
"promotionalImage": "https://example.com/image.jpg",
"startTime": "2025-11-11 00:00:00",
"endTime": "2025-11-11 23:59:59",
"participationLimit": 1,
"activityRule": "VERIFY_AND_COMMENT",
"rewardType": "COUPON",
"couponId": 100,
"couponQuantity": 1000,
"status": 1
}
GET /operationalActivity/list?storeId=1
GET /operationalActivity/page?current=1&size=10&storeId=1&status=1
VERIFY_AND_COMMENT: 核销并评论VERIFY: 核销CHECK_IN: 打卡COUPON: 优惠券RED_PACKET: 红包0: 禁用1: 启用0: 未开始1: 进行中2: 已结束