From a591953a38453e997734a5c0d528b756ddb0a3d7 Mon Sep 17 00:00:00 2001 From: cjw Date: Fri, 23 Aug 2024 10:56:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=AB=AF=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ActivityEnterController.java | 18 +------- .../scale/controller/ArchiveController.java | 3 +- .../controller/wx/WxActivityController.java | 46 +++++++++++++++++-- .../impl/ActivityEnterServiceImpl.java | 30 +++++++----- 4 files changed, 66 insertions(+), 31 deletions(-) diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityEnterController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityEnterController.java index b5b9224..8913e49 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityEnterController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityEnterController.java @@ -2,7 +2,6 @@ package org.dromara.scale.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; @@ -37,8 +36,8 @@ public class ActivityEnterController extends BaseController { /** * 查询活动报名列表 */ - @SaCheckPermission("activity:enter:list") - @GetMapping("/list") + @SaCheckPermission("activity:enter:pageList") + @GetMapping("/pageList") public TableDataInfo list(ActivityEnterBo bo, PageQuery pageQuery) { return activityEnterService.queryPageList(bo, pageQuery); } @@ -65,17 +64,4 @@ public class ActivityEnterController extends BaseController { @PathVariable Long id) { return R.ok(activityEnterService.queryById(id)); } - - /** - * 删除活动报名 - * - * @param ids 主键串 - */ - @SaCheckPermission("activity:enter:remove") - @Log(title = "活动报名", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(activityEnterService.deleteWithValidByIds(List.of(ids), true)); - } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ArchiveController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ArchiveController.java index 00e1946..91dd2be 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ArchiveController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ArchiveController.java @@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import lombok.RequiredArgsConstructor; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; import org.dromara.scale.domain.vo.ArchiveStatisticVo; import org.dromara.scale.domain.vo.ArchiveVo; import org.dromara.scale.service.IArchiveService; @@ -22,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor @RestController @RequestMapping("/scale/archive") -public class ArchiveController { +public class ArchiveController extends BaseController { private final IArchiveService archiveService; diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxActivityController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxActivityController.java index eb514d8..0c0a724 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxActivityController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxActivityController.java @@ -1,10 +1,22 @@ package org.dromara.scale.controller.wx; +import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.scale.domain.bo.ActivityEnterBo; +import org.dromara.scale.domain.vo.ActivityEnterVo; +import org.dromara.scale.domain.vo.ActivityVo; +import org.dromara.scale.service.IActivityEnterService; import org.dromara.scale.service.IActivityService; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** *

TODO

@@ -17,9 +29,37 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor @RestController @RequestMapping("/wx/activity") -public class WxActivityController { +public class WxActivityController extends BaseController { private final IActivityService activityService; + private final IActivityEnterService activityEnterService; + /** + * 新增活动报名 + */ + @Log(title = "活动报名", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/enter") + public R addReservation(@Validated(AddGroup.class) @RequestBody ActivityEnterBo bo) { + return toAjax(activityEnterService.insertByBo(bo)); + } + + /** + * 查询活动报名列表 + */ + @GetMapping("/pageList") + public TableDataInfo list(ActivityEnterBo bo, PageQuery pageQuery) { + return activityEnterService.queryPageList(bo, pageQuery); + } + + /** + * 获取活动详细信息 + * + * @param id 主键 + */ + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { + return R.ok(activityService.queryById(id)); + } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityEnterServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityEnterServiceImpl.java index 50d146f..6ebdab6 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityEnterServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityEnterServiceImpl.java @@ -1,23 +1,24 @@ package org.dromara.scale.service.impl; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.mybatis.core.page.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.scale.domain.ActivityEnter; import org.dromara.scale.domain.bo.ActivityEnterBo; import org.dromara.scale.domain.vo.ActivityEnterVo; -import org.dromara.scale.domain.ActivityEnter; import org.dromara.scale.mapper.ActivityEnterMapper; import org.dromara.scale.service.IActivityEnterService; +import org.springframework.stereotype.Service; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; /** * 活动报名Service业务层处理 @@ -38,7 +39,7 @@ public class ActivityEnterServiceImpl implements IActivityEnterService { * @return 活动报名 */ @Override - public ActivityEnterVo queryById(Long id){ + public ActivityEnterVo queryById(Long id) { return baseMapper.selectVoById(id); } @@ -83,6 +84,13 @@ public class ActivityEnterServiceImpl implements IActivityEnterService { */ @Override public Boolean insertByBo(ActivityEnterBo bo) { + Long userId = LoginHelper.getUserId(); + boolean exists = baseMapper.exists(new LambdaQueryWrapper() + .eq(ActivityEnter::getActivityId, bo.getActivityId()) + .eq(ActivityEnter::getCreateBy, userId)); + if (exists) { + throw new ServiceException("你已报名,请勿重复报名"); + } ActivityEnter add = MapstructUtils.convert(bo, ActivityEnter.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; @@ -108,7 +116,7 @@ public class ActivityEnterServiceImpl implements IActivityEnterService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(ActivityEnter entity){ + private void validEntityBeforeSave(ActivityEnter entity) { //TODO 做一些数据校验,如唯一约束 } @@ -121,7 +129,7 @@ public class ActivityEnterServiceImpl implements IActivityEnterService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0;