Administrator
2025-05-23 fd6390777f20047a270f6aa60327d536ff7405a2
refactor(mall): 重构幸福团长列表接口

- 新增 ApiHappyLeaderInfoDto 类用于接收参数
- 修改 ApiHappyLeaderInfoVo 类,移除不必要的 id 字段
- 更新 ApiMallTeamLeaderController,使用参数接收分页信息
- 重构 ApiMallTeamLeaderServiceImpl 中的 happyLeaderList 方法,实现分页查询
- 在 MallTeamLeaderMapper 中添加 selectApiLeaderInfoInPage 方法
- 更新 MallTeamLeaderMapper.xml,添加对应的 SQL 查询语句
6 files modified
1 files added
96 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/ApiHappyLeaderInfoDto.java 23 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java 40 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java 1 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallTeamLeaderMapper.xml 22 ●●●●● patch | view | raw | blame | history
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 = "自提点核销")
src/main/java/cc/mrbird/febs/mall/dto/ApiHappyLeaderInfoDto.java
New file
@@ -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;
}
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);
}
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);
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
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;
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>