feat(情报板数据连表查询DTO列表返回):

This commit is contained in:
fuhao 2024-09-03 18:26:02 +08:00
parent 2269d92c6b
commit 7152082c6d
No known key found for this signature in database
4 changed files with 81 additions and 4 deletions

View File

@ -2,6 +2,7 @@ package com.ruoyi.web.controller.board;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.board.domain.BoardInfo;
import com.ruoyi.board.domain.dto.BoardInfoAndRoadDTO;
import com.ruoyi.board.service.IBoardInfoService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
@ -35,7 +36,7 @@ public class BoardInfoController extends BaseController {
@GetMapping("/list")
public TableDataInfo list(BoardInfo boardInfo) {
startPage();
List<BoardInfo> list = boardInfoService.listPage(boardInfo);
List<BoardInfoAndRoadDTO> list = boardInfoService.listBoardInfoDTO(boardInfo);
return getDataTable(list);
}

View File

@ -0,0 +1,58 @@
package com.ruoyi.board.domain.dto;
import lombok.Data;
@Data
public class BoardInfoAndRoadDTO {
/**
* 唯一标识
*/
private Integer id;
/**
* 情报板名称
*/
private String boardName;
/**
* 情报板路段
*/
private String boardRoadSection;
/**
* 情报板方向
*/
private String boardDirection;
/**
* 情报板工桩号
*/
private String boardMileage;
/**
* 情报板尺寸
*/
private String boardSize;
/**
* 情报板品牌
*/
private String boardBrand;
/**
* 情报板通讯协议
*/
private String boardCommunicationProtocol;
/**
* 情报板IP
*/
private String boardIp;
/**
* 路段名称
*/
private String roadName;
}

View File

@ -2,6 +2,7 @@ package com.ruoyi.board.service;
import com.github.yulichang.base.MPJBaseService;
import com.ruoyi.board.domain.BoardInfo;
import com.ruoyi.board.domain.dto.BoardInfoAndRoadDTO;
import java.util.List;
@ -10,4 +11,6 @@ public interface IBoardInfoService extends MPJBaseService<BoardInfo> {
BoardInfo getOneByIP(String ip);
List<BoardInfo> listPage(BoardInfo boardInfo);
List<BoardInfoAndRoadDTO> listBoardInfoDTO(BoardInfo boardInfo);
}

View File

@ -2,11 +2,14 @@ package com.ruoyi.board.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.ruoyi.board.domain.BoardInfo;
import com.ruoyi.board.domain.RoadGroup;
import com.ruoyi.board.domain.dto.BoardInfoAndRoadDTO;
import com.ruoyi.board.mapper.BoardInfoMapper;
import com.ruoyi.board.service.IBoardInfoService;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.stereotype.Service;
import com.ruoyi.board.mapper.BoardInfoMapper;
import com.ruoyi.board.domain.BoardInfo;
import com.ruoyi.board.service.IBoardInfoService;
import java.util.List;
@ -31,4 +34,16 @@ public class BoardInfoServiceImpl extends MPJBaseServiceImpl<BoardInfoMapper, Bo
wrapper.eq(StringUtils.isNotEmpty(boardInfo.getBoardRoadSection()), BoardInfo::getBoardRoadSection, boardInfo.getBoardRoadSection());
return list(wrapper);
}
@Override
public List<BoardInfoAndRoadDTO> listBoardInfoDTO(BoardInfo boardInfo) {
MPJLambdaWrapper<BoardInfo> eq = new MPJLambdaWrapper<BoardInfo>()
.selectAll(BoardInfo.class)
.select(RoadGroup::getRoadName)
.leftJoin(RoadGroup.class, RoadGroup::getId, BoardInfo::getBoardRoadSection)
.likeRight(StringUtils.isNotEmpty(boardInfo.getBoardName()), BoardInfo::getBoardName, boardInfo.getBoardName())
.likeRight(StringUtils.isNotEmpty(boardInfo.getBoardMileage()), BoardInfo::getBoardMileage, boardInfo.getBoardMileage())
.eq(StringUtils.isNotEmpty(boardInfo.getBoardRoadSection()), BoardInfo::getBoardRoadSection, boardInfo.getBoardRoadSection());
return selectJoinList(BoardInfoAndRoadDTO.class, eq);
}
}