package com.nz.dao;
import com.nz.entity.OfficialWebsiteInfo;
import org.apache.ibatis.annotations.*;
import java.util.Date;
import java.util.List;
/**
* @Author xxs
* @Date 2020/4/17 10:10
*/
public interface OfficialWebsiteInfoDao {
@Select("select * from official_website_info")
@Results(id="resultMap", value={
@Result(column="id", property="id", id=true),
@Result(column="dev_type", property="devType"),
@Result(column="ip", property="ip"),
@Result(column="route", property="route"),
@Result(column="start_time", property="startTime"),
@Result(column="end_time", property="endTime"),
@Result(column="route_standing_time", property="routeStandingTime"),
@Result(column="addtime", property="addTime")
})
public List<OfficialWebsiteInfo> selectAll();
@Select("select *,COUNT(route) as count ,SUM(route_standing_time) from official_website_info where start_time between #{startTime} and #{endTime} GROUP BY route")
@Results(value = {
@Result(column="route", property="route"),
@Result(column="count", property="count"),
@Result(column="SUM(route_standing_time)", property="routeStandingTime")
})
public List<OfficialWebsiteInfo> selectRouteCount(@Param("startTime") String startTime,@Param("endTime")String endTime);
@Select("select * from official_website_info where start_time between #{startTime} and #{endTime}")
@ResultMap(value={"resultMap"})
public List<OfficialWebsiteInfo> selectAllByTime(@Param("startTime") String startTime,@Param("endTime")String endTime);
@Select("select * from official_website_info where dev_type =#{devType}")
@ResultMap(value={"resultMap"})
List<OfficialWebsiteInfo> selectAllByDevType(String devType);
@Select("select * from official_website_info where route =#{route}")
@ResultMap(value={"resultMap"})
List<OfficialWebsiteInfo> selectAllByRoute(String route);
@Select("select * from official_website_info where dev_type =#{devType} and start_time between #{startTime} and #{endTime}")
@ResultMap(value={"resultMap"})
List<OfficialWebsiteInfo> selectAllByDevTypeAndTime(@Param("devType") String devType, @Param("startTime") Date startTime,@Param("endTime") Date endTime);
@Insert("insert INTO official_website_info (dev_type,ip,route,start_time,end_time,route_standing_time,addtime) values(#{devType},#{ip},#{route},#{startTime},#{endTime},#{routeStandingTime},#{addTime})")
int insert(OfficialWebsiteInfo user);
}