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); + } }