package com.mh.user.mapper; import com.mh.user.entity.GatewayManageEntity; import com.mh.user.provide.GatewayManageProvider; import org.apache.ibatis.annotations.*; import org.springframework.stereotype.Component; import java.util.List; /** * author: ljf * desc: 网关管理实现类 * create-date: 2020-05-21 * */ @Component @Mapper public interface GatewayManageMapper { /** * 根据条件查询网关信息 * @param grade 连接状态 * @param operator 运营商 * @return */ @SelectProvider(type = GatewayManageProvider.class, method = "queryByOther") @Results(id="rs",value = { @Result(column = "gateway_name", property = "gatewayName"), @Result(column = "gateway_ip", property = "gatewayIP"), @Result(column = "gateway_address", property = "gatewayAddress"), @Result(column = "gateway_port", property = "gatewayPort"), @Result(column = "grade", property = "grade"), @Result(column = "internet_card", property = "internetCard"), @Result(column = "operator", property = "operator"), @Result(column = "create_date", property = "createDate"), @Result(column = "connect_date", property = "connectDate"), @Result(column = "remarks", property = "remarks"), }) List queryByOther(@Param("grade") Integer grade, @Param("operator") Integer operator); /** * 新增网关信息 * @param gatewayManageEntity */ @Insert("insert into gateway_manage(gateway_name, gateway_ip, gateway_address, gateway_port, grade,internet_card,operator, create_date,remarks " + ") values(#{gatewayName},#{gatewayIP},#{gatewayAddress},#{gatewayPort},#{grade},#{internetCard},#{operator},getDate(),#{remarks})" ) void insertGateWayInfo(GatewayManageEntity gatewayManageEntity); /** * 更新网关信息 * @param gatewayManageEntity */ @Update("update gateway_manage set gateway_name = #{gatewayName}, gateway_ip = #{gatewayIP}, gateway_address = #{gatewayAddress}, " + "gateway_port = #{gatewayPort},grade = #{grade},internet_card = #{internetCard}, operator = #{operator}, " + "remarks=#{remarks} where id = #{id}") void updateGateWayInfo(GatewayManageEntity gatewayManageEntity); // 查询全部信息 @SelectProvider(type = GatewayManageProvider.class, method = "queryAll") @ResultMap("rs") // @Select("select * from (\n" + // "select *,ROW_NUMBER() over(order by id) as rn from gateway_manage \n" + // ") t where rn between (#{page}-1)*#{limit} and #{page}*#{limit}") List queryAll(@Param("gatewayID") String gatewayID, @Param("operator") String operator, @Param("grade") String grade, @Param("page") int page, @Param("limit") int limit); // 查询全部记录数 @SelectProvider(type = GatewayManageProvider.class, method = "queryCount") // @Select("select count(*) from gateway_manage ") int queryCount(@Param("gatewayID") String gatewayID, @Param("operator") String operator, @Param("grade") String grade); // 添加网关设备 @Insert("insert into gateway_manage(gateway_name, gateway_ip, gateway_address, data_com, connect_date, grade, internet_card, operator, gateway_port)" + " values (#{gatewayName}, #{gatewayIP}, #{gatewayAddress}, #{dataCom}, #{connectDate}, #{grade}, #{internetCard}, #{operator}, #{gatewayPort})") void insertGatewayManage(GatewayManageEntity gatewayManageEntity); // 通关网关ID删除设备 @Delete("delete from gateway_manage where id = #{gatewayID}") void deleteGatewayManageByID(@Param("gatewayID") int gatewayID); // 根据网关设备ID查询网关对应信息 @Select("select id, gateway_name, gateway_ip, gateway_address, collection_loop, connect_date, internet_card, operator, gateway_port, grade from gateway_manage where id = #{gatewayID}") GatewayManageEntity queryGatewayByID(@Param("gatewayID") Long gatewayID); // 查询对应的总数 @SelectProvider(type = GatewayManageProvider.class, method = "queryByOtherCount") int queryByOtherCount(@Param("page") int page, @Param("size") int size, @Param("gatewayID") int gatewayID); // 根据IP和端口号更新服务器在线时间 @Update("update gateway_manage set connect_date = getDate() where gateway_ip = #{IP} and convert(varchar(20),gateway_port) = #{port}") void updateGatewayManage(@Param("IP") String IP, @Param("port") String port); // 根据设备类型查询数据库,找出对应的详细信息 @Select("select id, gateway_name, gateway_ip, gateway_address, data_com, connect_date, internet_card, operator, gateway_port, grade from gateway_manage where grade = #{grade}") GatewayManageEntity queryGatewayByGrade(@Param("grade") Long grade); }