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