From ba91e9a9bb00cedd21fb65c8b60947d130aea33c Mon Sep 17 00:00:00 2001 From: attiya <2413103649@qq.com> Date: Tue, 23 Sep 2025 11:06:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8-=E7=94=A8=E6=88=B7=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/controller/UserController.java | 12 ++++++++++++ .../activity/service/ActivityService.java | 4 ++++ .../service/impl/ActivityServiceImpl.java | 19 +++++++++++++++++-- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/cdzy/activity/controller/UserController.java b/src/main/java/com/cdzy/activity/controller/UserController.java index f877630..e4ff764 100644 --- a/src/main/java/com/cdzy/activity/controller/UserController.java +++ b/src/main/java/com/cdzy/activity/controller/UserController.java @@ -134,4 +134,16 @@ public class UserController { userService.registration(registrationVo); return JsonResult.success(); } + + /** + * 用户报名活动。 + * + * @param pageParam 分页参数 + * @return 登陆结果 + */ + @GetMapping("activity/registered") + public JsonResult registered(PageParam pageParam, String activityName, Integer activityType,@NotNull(message = "OpenId不能为空") String wxOpenId) { + Page page = activityService.registered(pageParam,activityName,activityType,wxOpenId); + return JsonResult.success(page); + } } diff --git a/src/main/java/com/cdzy/activity/service/ActivityService.java b/src/main/java/com/cdzy/activity/service/ActivityService.java index 78a393d..c248c93 100644 --- a/src/main/java/com/cdzy/activity/service/ActivityService.java +++ b/src/main/java/com/cdzy/activity/service/ActivityService.java @@ -1,6 +1,8 @@ package com.cdzy.activity.service; +import com.cdzy.activity.model.PageParam; import com.cdzy.activity.model.vo.ActivityVo; +import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import com.cdzy.activity.model.Activity; @@ -19,4 +21,6 @@ public interface ActivityService extends IService { void updateActivity(ActivityVo activity) throws IOException; void checkStatus(); + + Page registered(PageParam pageParam, String activityName, Integer activityType,String wxOpenId); } diff --git a/src/main/java/com/cdzy/activity/service/impl/ActivityServiceImpl.java b/src/main/java/com/cdzy/activity/service/impl/ActivityServiceImpl.java index 286ad49..a84dd18 100644 --- a/src/main/java/com/cdzy/activity/service/impl/ActivityServiceImpl.java +++ b/src/main/java/com/cdzy/activity/service/impl/ActivityServiceImpl.java @@ -8,24 +8,28 @@ import com.cdzy.activity.mapper.ActivityMapper; import com.cdzy.activity.mapper.ActivityUserMapper; import com.cdzy.activity.model.Activity; import com.cdzy.activity.model.ActivityUser; +import com.cdzy.activity.model.PageParam; import com.cdzy.activity.model.vo.ActivityVo; import com.cdzy.activity.service.ActivityService; import com.cdzy.activity.uitls.FileUtils; -import com.cdzy.activity.uitls.ImageToBase64Converter; +import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.core.util.StringUtil; import com.mybatisflex.spring.service.impl.ServiceImpl; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import java.io.File; import java.io.IOException; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import static com.cdzy.activity.model.table.ActivityTableDef.ACTIVITY; +import static com.cdzy.activity.model.table.ActivityUserTableDef.ACTIVITY_USER; +import static com.cdzy.activity.model.table.UserTableDef.USER; /** * 活动状态检测变动。 @@ -166,4 +170,15 @@ public class ActivityServiceImpl extends ServiceImpl i updateBatch(activities); } } + + @Override + public Page registered(PageParam pageParam, String activityName, Integer activityType,String wxOpenId) { + QueryWrapper queryWrapper = QueryWrapper.create() + .where(ACTIVITY.ACTIVITY_NAME.like(activityName, StringUtil.hasText(activityName))) + .where(ACTIVITY.ACTIVITY_TYPE.eq(activityType, Objects.nonNull(activityType))) + .where(USER.WX_OPEN_ID.eq(wxOpenId)) + .leftJoin(ACTIVITY_USER).on(ACTIVITY_USER.ACTIVITY_ID.eq(ACTIVITY.ACTIVITY_ID)) + .leftJoin(USER).on(USER.USER_ID.eq(ACTIVITY_USER.USER_ID)); + return activityMapper.paginate(pageParam.getPage(), queryWrapper); + } }