From d9361b75e7072b29535c571a76e0b9e7860d6805 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 06 Jan 2025 14:38:53 +0800 Subject: [PATCH] feat(mall): 后台活动列表添加分页和搜索功能 - 在 ActivityServiceImpl 中实现 getAdminListInPage 方法,支持分页和搜索 - 在 AdminActivityController 中添加 list 接口,返回分页数据 - 在 IActivityService 中定义 getAdminListInPage 接口 - 更新前端模板,根据活动状态控制按钮显示 --- src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java | 21 +++++++++++++++++++++ src/main/resources/templates/febs/views/modules/activity/list.html | 8 ++++---- src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java | 12 ++++++++++++ src/main/java/cc/mrbird/febs/mall/service/IActivityService.java | 5 +++++ 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java index e6a5cc0..e6adbd2 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java @@ -1,12 +1,18 @@ package cc.mrbird.febs.mall.controller; import cc.mrbird.febs.common.controller.BaseController; +import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.mall.entity.MallActivity; import cc.mrbird.febs.mall.service.IActivityService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; @Slf4j @Validated @@ -17,4 +23,10 @@ private final IActivityService iActivityService; + + @GetMapping("list") + public FebsResponse getAdminListInPage(MallActivity mallActivity, QueryRequest request) { + Map<String, Object> data = getDataTable(iActivityService.getAdminListInPage(mallActivity, request)); + return new FebsResponse().success().data(data); + } } diff --git a/src/main/java/cc/mrbird/febs/mall/service/IActivityService.java b/src/main/java/cc/mrbird/febs/mall/service/IActivityService.java index a5eb2af..64cc497 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IActivityService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IActivityService.java @@ -1,7 +1,12 @@ package cc.mrbird.febs.mall.service; +import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.mall.entity.MallActivity; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; public interface IActivityService extends IService<MallActivity> { + + IPage<MallActivity> getAdminListInPage(MallActivity mallActivity, QueryRequest request); + } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java index ec7ad14..5e5db7e 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java @@ -1,8 +1,14 @@ package cc.mrbird.febs.mall.service.impl; +import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.mall.entity.MallActivity; import cc.mrbird.febs.mall.mapper.MallActivityMapper; import cc.mrbird.febs.mall.service.IActivityService; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -14,4 +20,19 @@ @RequiredArgsConstructor @Transactional public class ActivityServiceImpl extends ServiceImpl<MallActivityMapper, MallActivity> implements IActivityService { + @Override + public IPage<MallActivity> getAdminListInPage(MallActivity mallActivity, QueryRequest request) { + Page<MallActivity> page = new Page<>(request.getPageNum(), request.getPageSize()); + LambdaQueryWrapper<MallActivity> mallActivityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + String name = mallActivity.getName(); + if(StrUtil.isNotEmpty(name)){ + mallActivityLambdaQueryWrapper.like(MallActivity::getName,name); + } + Integer state = mallActivity.getState(); + if(ObjectUtil.isNotEmpty(state)){ + mallActivityLambdaQueryWrapper.eq(MallActivity::getState,state); + } + Page<MallActivity> mallActivityPage = this.baseMapper.selectPage(page, mallActivityLambdaQueryWrapper); + return mallActivityPage; + } } diff --git a/src/main/resources/templates/febs/views/modules/activity/list.html b/src/main/resources/templates/febs/views/modules/activity/list.html index 5e42bc8..5cff36a 100644 --- a/src/main/resources/templates/febs/views/modules/activity/list.html +++ b/src/main/resources/templates/febs/views/modules/activity/list.html @@ -1,4 +1,4 @@ -<div class="layui-fluid layui-anim febs-anim" id="febs-activity" lay-title="首页活动"> +<div class="layui-fluid layui-anim febs-anim" id="febs-activity" lay-title="活动列表"> <div class="layui-row febs-container"> <div class="layui-col-md12"> <div class="layui-card"> @@ -211,12 +211,12 @@ // 遍历每一行数据 res.data.forEach(function(item, index) { // 根据状态值控制按钮显示 - if (item.state === 2) { + if (item.state === 0) { // 如果状态为1,显示 - $('#commissionOption' + index).show(); + $('#activityOption' + index).show(); } else { // 否则,隐藏 - $('#commissionOption' + index).hide(); + $('#activityOption' + index).hide(); } }); } -- Gitblit v1.9.1