package api.dao;
|
|
import api.bean.WeatherEntity;
|
import org.apache.ibatis.annotations.*;
|
import org.springframework.stereotype.Repository;
|
|
import java.util.List;
|
|
/**
|
* @program: wog
|
* @description:
|
* @author: YSS
|
* @create: 2020-09-26 16:44
|
**/
|
@Mapper
|
@Repository
|
public interface WeatherDao {
|
@Results(id = "WeatherMap",value = {
|
@Result(property = "dwStreetlightId",column = "streetlight_id"),
|
@Result( property = "dwStreetlightName",column = "streetlight_name"),
|
@Result(property="dwTemperature",column="temperature"),
|
@Result(property="dwHumidity" ,column="humidity"),
|
@Result(property="dwPm25" ,column="pm25"),
|
@Result(property="dwPm10" ,column="pm10"),
|
@Result(property="dwEch2o" ,column="ech2o"),
|
@Result(property="dwEco2" ,column="eco2"),
|
@Result(property="dwWindSpeed" ,column="wind_speed"),
|
@Result(property="dwTvoc" ,column="tvoc"),
|
@Result(property="dwBrightness" ,column="brightness"),
|
@Result(property="dwCreateTime" ,column="create_time"),
|
})
|
@Select("SELECT pole_streetlight.streetlight_name,pole_sensor.* FROM pole_sensor LEFT JOIN pole_streetlight ON pole_streetlight.streetlight_id = pole_sensor.streetlight_id WHERE sensor_id IN ( SELECT max(sensor_id) FROM pole_sensor GROUP BY streetlight_id) ")
|
List<WeatherEntity> selectAll();
|
|
@ResultMap(value = "WeatherMap")
|
@Select("SELECT p1.streetlight_name,p2.* FROM pole_streetlight p1 LEFT JOIN pole_sensor p2 ON p1.streetlight_id = p2.streetlight_id WHERE sensor_id IN (SELECT max(sensor_id) FROM pole_sensor WHERE streetlight_id IN ( SELECT streetlight_id FROM pole_user_streetlight WHERE company_id = (SELECT company_id FROM sys_user_company WHERE user_id = #{userId}))GROUP BY streetlight_id) ")
|
List<WeatherEntity> selectByCompany(Long userId);
|
|
@ResultMap(value = "WeatherMap")
|
@Select("SELECT p1.streetlight_name,p2.* FROM pole_streetlight p1 LEFT JOIN pole_sensor p2 ON p1.streetlight_id = p2.streetlight_id WHERE sensor_id IN ( SELECT max(sensor_id) FROM pole_sensor WHERE streetlight_id IN ( SELECT streetlight_id FROM pole_user_streetlight WHERE user_id = #{userId}) GROUP BY streetlight_id) ")
|
List<WeatherEntity> selectByUserId(Long userId);
|
|
@ResultMap(value = "WeatherMap")
|
@Select(" SELECT pole_sensor.*, pole_streetlight.streetlight_name from pole_sensor LEFT JOIN pole_streetlight ON pole_sensor.streetlight_id = pole_streetlight.streetlight_id WHERE pole_streetlight.streetlight_id = #{streetLightId} ORDER BY pole_sensor.create_time DESC")
|
List<WeatherEntity> selectByStreetlightId(Long lightId);
|
}
|