dao/src/main/java/com/sandu/ximon/dao/mapper/AirEquipmentMapper.java
@@ -12,9 +12,9 @@ */ @Mapper public interface AirEquipmentMapper extends BaseMapper<AirEquipment> { List<AirEquipmentBo> listAirEquipment(); List<Long> listAirEquipmentId(String keyword, Long clientId); List<AirEquipmentBo> listAirEquipmentByKeyword(String keyword); List<AirEquipmentBo> listAirEquipmentByIds(List<Long> airEquipmentIdList); } dao/src/main/resources/mapper/AirEquipmentMapper.xml
@@ -16,31 +16,42 @@ mac </sql> <select id="listAirEquipment" resultType="com.sandu.ximon.dao.bo.AirEquipmentBo"> <select id="listAirEquipmentId" resultType="java.lang.Long"> SELECT t1.*, t2.pole_id, t3.pole_name MAX(t1.id) AS air_equipment_id FROM air_equipment t1 LEFT JOIN pole_binding t2 ON t1.mac = t2.device_code AND t2.device_type = 4 LEFT JOIN pole t3 ON t3.id = t2.pole_id ORDER BY t1.id DESC air_equipment t1 <if test="keyword != null and keyword != ''"> LEFT JOIN pole_binding t2 ON t1.mac = t2.device_code AND t2.device_type = 3 LEFT JOIN pole t3 ON t3.id = t2.pole_id </if> <where> <if test="keyword != null and keyword != ''"> AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%') </if> <if test="clientId != null"> AND t3.client_id = #{clientId} </if> </where> GROUP BY t1.mac </select> <select id="listAirEquipmentByKeyword" resultType="com.sandu.ximon.dao.bo.AirEquipmentBo"> SELECT t1.*, t2.pole_id, t3.pole_name FROM air_equipment t1 LEFT JOIN pole_binding t2 ON t1.mac = t2.device_code AND t2.device_type = 4 LEFT JOIN pole t3 ON t3.id = t2.pole_id WHERE t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%') ORDER BY t1.id DESC <select id="listAirEquipmentByIds" resultType="com.sandu.ximon.dao.bo.AirEquipmentBo"> SELECT t1.*, t2.pole_id, t3.pole_name FROM air_equipment t1 LEFT JOIN pole_binding t2 ON t1.mac = t2.device_code AND t2.device_type = 3 LEFT JOIN pole t3 ON t3.id = t2.pole_id <where> t1.id IN <foreach collection="airEquipmentIdList" open="(" close=")" item="airId" separator=","> #{airId} </foreach> </where> </select> </mapper> ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirEquipmentController.java
@@ -1,6 +1,7 @@ package com.sandu.ximon.admin.controller; import com.sandu.common.domain.ResponseVO; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.service.AirEquipmentService; import com.sandu.ximon.dao.bo.AirEquipmentBo; @@ -19,21 +20,15 @@ public class AirEquipmentController { private final AirEquipmentService airEquipmentService; @GetMapping public ResponseVO<Object> listAirEquipment() { List<AirEquipmentBo> list = airEquipmentService.listAirEquipment(); return ResponseUtil.success(list); } /** * 模糊查询 * 查询大气设备 * * @return */ @GetMapping("/listAirEquipmentByKeyword/{keyword}") public ResponseVO<Object> listAirEquipmentByKeyword(@PathVariable String keyword) { List<AirEquipmentBo> list = airEquipmentService.listAirEquipmentByKeyword(keyword); return ResponseUtil.success(list); @GetMapping("/listAirEquipment") public ResponseVO<Object> listAirEquipmentByKeyword(BaseConditionVO baseConditionVO, @RequestParam(required = false) String keyword) { List<AirEquipmentBo> list = airEquipmentService.listAirEquipmentByKeyword(baseConditionVO, keyword); return ResponseUtil.successPage(list); } @PostMapping("/delete/{id}") ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirDataService.java
@@ -52,7 +52,7 @@ PageHelper.startPage(baseConditionVO.getPageNo(),baseConditionVO.getPageSize()); List<Long> listAirId = baseMapper.listAirId(keyword,clientId); if(CollUtil.isEmpty(listAirId)){ return null; return CollUtil.newArrayList(); } List<AirDataBo> airDataBos = baseMapper.listAirDataByIds(listAirId); return airDataBos; ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentService.java
@@ -1,9 +1,14 @@ package com.sandu.ximon.admin.service; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.dao.bo.AirDataBo; import com.sandu.ximon.dao.bo.AirEquipmentBo; import com.sandu.ximon.dao.domain.AirData; import com.sandu.ximon.dao.domain.AirEquipment; @@ -21,23 +26,19 @@ private final AirEquipmentMapper airEquipmentMapper; /** * 查询全部大气设备数据 */ public List<AirEquipmentBo> listAirEquipment() { return airEquipmentMapper.listAirEquipment(); } /** * 模糊查询 */ public List<AirEquipmentBo> listAirEquipmentByKeyword(String keyword) { if (keyword == null || keyword.trim().length() == 0) { return listAirEquipment(); } else { return airEquipmentMapper.listAirEquipmentByKeyword(keyword); public List<AirEquipmentBo> listAirEquipmentByKeyword(BaseConditionVO baseConditionVO, String keyword) { Long clientId = SecurityUtils.getClientId(); PageHelper.startPage(baseConditionVO.getPageNo(),baseConditionVO.getPageSize()); List<Long> listAirEquipmentId = airEquipmentMapper.listAirEquipmentId(keyword,clientId); if(CollUtil.isEmpty(listAirEquipmentId)){ return CollUtil.newArrayList(); } List<AirEquipmentBo> airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(listAirEquipmentId); return airEquipmentBos; } /**