中央热水项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
5.8 KiB

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 = "id", property = "id"),
@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"),
@Result(column = "heart_beat", property = "heartBeat"),
@Result(column = "imei", property = "imei"),
@Result(column = "sn", property = "sn"),
@Result(column = "data_com", property = "dataCom"),
@Result(column = "thread", property = "thread"),
@Result(column = "community_type", property = "communityType")
})
List<GatewayManageEntity> 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<GatewayManageEntity> 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);
// 根据设备心跳包更新设备在线状态
@Update("update gateway_manage set grade = #{status} where heart_beat = #{heartBeat}")
void updateGatewayManageOnlineByHeartBeatCode(String heartBeat, int status);
// 根据设备IMEI更新设备在线状态
@Update("update gateway_manage set grade = #{status} where imei = #{imei}")
void updateGatewayManageOnlineByImei(String imei, int status);
}