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