From fd6390777f20047a270f6aa60327d536ff7405a2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 23 May 2025 17:31:20 +0800
Subject: [PATCH] refactor(mall): 重构幸福团长列表接口

---
 src/main/resources/mapper/modules/MallTeamLeaderMapper.xml                               |   22 +++++++++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java         |   40 +++-----------------
 src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java |    4 +-
 src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java                 |    2 
 src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java                           |    1 
 src/main/java/cc/mrbird/febs/mall/dto/ApiHappyLeaderInfoDto.java                         |   23 +++++++++++
 src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java                       |    4 ++
 7 files changed, 58 insertions(+), 38 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java b/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java
index cd1c9cd..75daadd 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java
@@ -38,8 +38,8 @@
             @ApiResponse(code = 200, message = "success", response = ApiHappyLeaderInfoVo.class)
     })
     @PostMapping(value = "/happyLeaderList")
-    public FebsResponse happyLeaderList() {
-        return iApiMallTeamLeaderService.happyLeaderList();
+    public FebsResponse happyLeaderList(@RequestBody @Validated ApiHappyLeaderInfoDto dto) {
+        return iApiMallTeamLeaderService.happyLeaderList(dto);
     }
 
     @ApiOperation(value = "自提点核销", notes = "自提点核销")
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiHappyLeaderInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiHappyLeaderInfoDto.java
new file mode 100644
index 0000000..63d5f2a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiHappyLeaderInfoDto.java
@@ -0,0 +1,23 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiHappyLeaderInfoDto", description = "参数接收类")
+public class ApiHappyLeaderInfoDto {
+
+    @NotNull(message = "页码不能为空")
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer pageNow;
+
+    @NotNull(message = "每页数量不能为空")
+    @ApiModelProperty(value = "每页数量", example = "10")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "查询名称", example = "123")
+    private String query;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
index 92902b4..7c5a134 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
@@ -1,11 +1,13 @@
 package cc.mrbird.febs.mall.mapper;
 
+import cc.mrbird.febs.mall.dto.ApiHappyLeaderInfoDto;
 import cc.mrbird.febs.mall.dto.ApiLeaderListDto;
 import cc.mrbird.febs.mall.dto.ApiLeaderOrderListDto;
 import cc.mrbird.febs.mall.entity.MallLeaderStock;
 import cc.mrbird.febs.mall.entity.MallOrderInfo;
 import cc.mrbird.febs.mall.entity.MallTeamLeader;
 import cc.mrbird.febs.mall.vo.AdminMallTeamLeaderVo;
+import cc.mrbird.febs.mall.vo.ApiHappyLeaderInfoVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -38,4 +40,6 @@
     List<MallTeamLeader> getAllMallTeamLeaderList();
 
     IPage<MallOrderInfo> selectNewApiLeaderOrderListInPage(IPage<MallOrderInfo> page, @Param("record")ApiLeaderOrderListDto apiLeaderOrderListDto);
+
+    Page<ApiHappyLeaderInfoVo> selectApiLeaderInfoInPage(Page<ApiHappyLeaderInfoVo> page, @Param("record")ApiHappyLeaderInfoDto dto);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java
index 2a264c7..96f1684 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java
@@ -40,7 +40,7 @@
 
     FebsResponse noLoginLeaderTitle(ApiLeaderTitleDto apiLeaderTitleDto);
 
-    FebsResponse happyLeaderList();
+    FebsResponse happyLeaderList(ApiHappyLeaderInfoDto dto);
 
     FebsResponse checkOrder(ApiHappyOrderLeaderDto dto);
 
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
index 13e72cc..773a97d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -661,41 +661,13 @@
     }
 
     @Override
-    public FebsResponse happyLeaderList() {
-        ArrayList<ApiHappyLeaderInfoVo> apiHappyLeaderInfoVos = new ArrayList<>();
+    public FebsResponse happyLeaderList(ApiHappyLeaderInfoDto dto) {
 
-        List<MallTeamLeader> mallTeamLeaders = this.baseMapper.selectList(
-                new LambdaQueryWrapper<MallTeamLeader>()
-                        .select(
-                                MallTeamLeader::getId,
-                                MallTeamLeader::getName,
-                                MallTeamLeader::getPhone,
-                                MallTeamLeader::getUniqueCode,
-                                MallTeamLeader::getAddressPic,
-                                MallTeamLeader::getAddressArea,
-                                MallTeamLeader::getDetailAddress,
-                                MallTeamLeader::getLongitude,
-                                MallTeamLeader::getLatitude)
-                        .eq(MallTeamLeader::getState, 1)
-                .eq(MallTeamLeader::getOnlineState,1)
-        );
-        if(CollUtil.isNotEmpty(mallTeamLeaders)){
-            for (MallTeamLeader mallTeamLeader : mallTeamLeaders){
-                ApiHappyLeaderInfoVo apiHappyLeaderInfoVo = new ApiHappyLeaderInfoVo();
-                apiHappyLeaderInfoVo.setId(mallTeamLeader.getId());
-                apiHappyLeaderInfoVo.setName(mallTeamLeader.getName());
-                apiHappyLeaderInfoVo.setPhone(mallTeamLeader.getPhone());
-                apiHappyLeaderInfoVo.setTakeUniqueCode(mallTeamLeader.getUniqueCode());
-                apiHappyLeaderInfoVo.setAddressPic(mallTeamLeader.getAddressPic());
-                apiHappyLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
-                apiHappyLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
-                apiHappyLeaderInfoVo.setLongitude(mallTeamLeader.getLongitude());
-                apiHappyLeaderInfoVo.setLatitude(mallTeamLeader.getLatitude());
-                apiHappyLeaderInfoVos.add(apiHappyLeaderInfoVo);
-            }
-        }
-
-        return new FebsResponse().success().data(apiHappyLeaderInfoVos);
+        // 创建分页对象,传入当前页和每页大小
+        Page<ApiHappyLeaderInfoVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
+        // 调用Mapper方法获取活动分页数据
+        Page<ApiHappyLeaderInfoVo> mallTeamLeaderPage = this.baseMapper.selectApiLeaderInfoInPage(page, dto);
+        return new FebsResponse().success().data(mallTeamLeaderPage);
     }
 
     @Override
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java
index c892708..7b2710c 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java
@@ -8,7 +8,6 @@
 @ApiModel(value = "ApiHappyLeaderInfoVo", description = "信息返回类")
 public class ApiHappyLeaderInfoVo {
 
-    private Long id;
     @ApiModelProperty(value = "联系人")
     private String name;
 
diff --git a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
index 2ea6875..be4d57f 100644
--- a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
+++ b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
@@ -278,4 +278,26 @@
         where a.state = 1
     </select>
 
+
+
+    <select id="selectApiLeaderInfoInPage" resultType="cc.mrbird.febs.mall.vo.ApiHappyLeaderInfoVo">
+        select
+            a.*
+        from mall_team_leader a
+        <where>
+            and a.state = 1
+            and a.online_state = 1
+            <if test="record != null">
+                <if test="record.query != null and record.query != ''">
+                    and (
+                    a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.address_area like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.detail_address like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    )
+                </if>
+            </if>
+        </where>
+        order by a.id desc
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1