dao/src/main/java/com/sandu/ximon/dao/domain/BroadcastTerminalV2Entity.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,66 @@ package com.sandu.ximon.dao.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import lombok.Data; /** * * @TableName broadcast_v2_terminal */ @TableName(value ="broadcast_v2_terminal") @Data public class BroadcastTerminalV2Entity implements Serializable { // ç»ç«¯ID @TableId private Integer id; // ç»ç«¯åç§° private String terminalName; // ç»å®ç¯æID private Long streetlightId; @TableField(exist = false) private String streetlightName; /** * 0æªç»å® 1å·²ç»å® */ private Integer bindStates; // æ¯å¦åå¨äºæå¡å¨ 0ï¼ä¸åå¨ 1ï¼æ£å¸¸ 2ï¼å¼å¸¸ private Integer exist; // ç»ç«¯ç¶æï¼ç©ºé² 1ãå·¥ä½ä¸ 2 æè 4ãæçº¿ 0ï¼æ¥ é 8ï¼ @TableField(exist = false) private Integer status; // ç»ç«¯ IP å°å @TableField(exist = false) private String ip; // ç»ç«¯é³é(1-100) @TableField(exist = false) private Integer volumn; // ç»ç«¯ç»éçé»è®¤é³é @TableField(exist = false) private Integer defaultVolumn; // ç»ç«¯åæ¾ç¶æ(å¼ä¸º 1ãå ³ä¸º 0ï¼ @TableField(exist = false) private Integer power; // ç»ç«¯ç»éçé»è®¤åæ¾ç¶æ @TableField(exist = false) private Integer defaultPower; // ç»ç«¯æè¿ä¸æ¬¡ç»éæ¶é´ @TableField(exist = false) private Integer last; // ææ¾æ¶ï¼ä»»å¡çç±»å @TableField(exist = false) private Integer taskType; // ææ¾æ¶ï¼ä»»å¡ç ID @TableField(exist = false) private Long taskID; @TableField(exist = false) private static final long serialVersionUID = 1L; } dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastTerminalV2EntityMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package com.sandu.ximon.dao.mapper; import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Entity com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity */ public interface BroadcastTerminalV2EntityMapper extends BaseMapper<BroadcastTerminalV2Entity> { } dao/src/main/resources/mapper/BroadcastTerminalV2EntityMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.sandu.ximon.dao.mapper.BroadcastTerminalV2EntityMapper"> <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity"> <id property="id" column="id" jdbcType="INTEGER"/> <result property="terminalName" column="terminal_name" jdbcType="VARCHAR"/> <result property="streetlightId" column="streetlight_id" jdbcType="BIGINT"/> <result property="bindStates" column="bind_states" jdbcType="INTEGER"/> <result property="exist" column="exist" jdbcType="INTEGER"/> </resultMap> <sql id="Base_Column_List"> id,terminal_name,streetlight_id, bind_states,exist </sql> </mapper> ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
@@ -4,11 +4,11 @@ import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.dto.YSY_MonitorDto; import com.sandu.ximon.admin.param.MonitorParam; import com.sandu.ximon.admin.service.MonitorService; import com.sandu.ximon.dao.bo.MonitorBo; import com.sandu.ximon.dao.domain.Monitor; import com.sandu.ximon.admin.dto.YSY_MonitorDto; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,187 @@ package com.sandu.ximon.admin.service; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.sandu.ximon.admin.utils.TerminalAPIUtils; import com.sandu.ximon.admin.utils.request.BroadcastParams; import com.sandu.ximon.admin.vo.TerminalVO; import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity; import com.sandu.ximon.dao.mapper.BroadcastV2TaskTerminalMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class BroadcastTerminalV2Service { /* private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao; *//** * è·åå表 * @param params * @param userId * @return *//* public PageInfo<BroadcastTerminalV2Entity> list(BroadcastParams params, Long userId) { Long roleId = sysUserRoleService.queryRoleId(userId); Long companyId = sysUserCompanyService.queryCompanyId(userId); Integer limit = params.getLimit(); Integer page = params.getPage(); List<BroadcastTerminalV2Entity> list = null; if(roleId == Constant.SUPER_ADMIN) { PageHelper.startPage(page,limit); list = broadcastTerminalV2Dao.listAll(params.getName()); }else if(roleId == Constant.ADMIN) { PageHelper.startPage(page,limit); list = broadcastTerminalV2Dao.listByCompanyId(companyId, params.getName()); }else { PageHelper.startPage(page,limit); list = broadcastTerminalV2Dao.listByUserId(userId,params.getName()); } PageInfo<BroadcastTerminalV2Entity> pageInfo = new PageInfo(list); for(BroadcastTerminalV2Entity b :pageInfo.getList()){ try { TerminalVO terminalInfo = TerminalAPIUtils.getTerminalInfo(b.getId()); if(null == terminalInfo) { b.setExist(0); }else { b.setExist(1); } b.setStatus(terminalInfo.getStatus()); b.setIp(terminalInfo.getIp()); b.setVolumn(terminalInfo.getVolumn()); b.setDefaultVolumn(terminalInfo.getDefaultVolumn()); b.setPower(terminalInfo.getPower()); b.setDefaultPower(terminalInfo.getDefaultPower()); b.setLast(terminalInfo.getLast()); b.setTaskType(terminalInfo.getTaskType()); b.setTaskID(terminalInfo.getTaskID()); }catch (Exception e) { b.setExist(2); } } return pageInfo; } *//** * 忥ç»ç«¯ *//* public void synchTerminal() { List<BroadcastTerminalV2Entity> server = broadcastTerminalV2Dao.listAll(""); List<TerminalVO> list = TerminalAPIUtils.getTerminalList(); list.stream().forEach(item->{ // 鳿±æå¡å¨ç»ç«¯ID Integer id = item.getId(); boolean add = true; // éåæ°æ®åºç»ç«¯ for(BroadcastTerminalV2Entity b: server) { Integer id1 = b.getId(); if(id.equals(id1)){ add = false; break; } } if(add){ BroadcastTerminalV2Entity b = new BroadcastTerminalV2Entity(); b.setId(id); b.setTerminalName(item.getName()); b.setStreetlightId(0l); b.setExist(1); broadcastTerminalV2Dao.insert(b); } }); } *//** * ä¿®æ¹ç»ç«¯ * @param params * @return 0:æå 1:åç§°ä¸è½ä¸ºç©º *//* public Integer updateTerminal(BroadcastParams params, Long userId) { // æ ¡éªåç§°åæ³æ§ if(null == params.getTerminalName() || "".equals(params.getTerminalName())){ return 1; } if(null == params.getDefaultVolumn() || params.getDefaultVolumn() < 0) { params.setDefaultVolumn(0); } BroadcastTerminalV2Entity b = new BroadcastTerminalV2Entity(); b.setId(params.getTerminalId()); b.setTerminalName(params.getTerminalName()); b.setStreetlightId(params.getStreetlightId()); b.setExist(1); // APIè°ç¨ä¿®æ¹ç»ç«¯é³é TerminalAPIUtils.changeVol(params.getTerminalId(),params.getDefaultVolumn(),userId); broadcastTerminalV2Dao.update(b); return 0; } *//** * é³éä¿®æ¹ * @param params * @param userId * @return *//* public Integer changeVol(BroadcastParams params, Long userId) { boolean b = TerminalAPIUtils.changeVol(params.getTerminalId(), params.getDefaultVolumn(), userId); if(b){ return 0; } return 1; } public List<BroadcastTerminalV2Entity> getAll(Long userId) { Long roleId = sysUserRoleService.queryRoleId(userId); Long companyId = sysUserCompanyService.queryCompanyId(userId); List<BroadcastTerminalV2Entity> list = null; if(roleId == Constant.SUPER_ADMIN) { list = broadcastTerminalV2Dao.getAll(); }else if(roleId == Constant.ADMIN) { list = broadcastTerminalV2Dao.getAllByCompanyId(companyId); }else { list = broadcastTerminalV2Dao.getAllByUserId(userId); } return list; } public BroadcastTerminalV2Entity getById(Integer i) { return broadcastTerminalV2Dao.getById(i); } public Object getAllWithStatus(Long userId) { List<BroadcastTerminalV2Entity> all = getAll(userId); for(BroadcastTerminalV2Entity b : all){ try { TerminalVO terminalInfo = TerminalAPIUtils.getTerminalInfo(b.getId()); if(null == terminalInfo) { b.setExist(0); }else { b.setExist(1); } b.setStatus(terminalInfo.getStatus()); b.setIp(terminalInfo.getIp()); b.setVolumn(terminalInfo.getVolumn()); b.setDefaultVolumn(terminalInfo.getDefaultVolumn()); b.setPower(terminalInfo.getPower()); b.setDefaultPower(terminalInfo.getDefaultPower()); b.setLast(terminalInfo.getLast()); b.setTaskType(terminalInfo.getTaskType()); b.setTaskID(terminalInfo.getTaskID()); }catch (Exception e) { b.setExist(2); } } return all; }*/ } ximon-admin/src/main/java/com/sandu/ximon/admin/utils/TerminalAPIUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,128 @@ package com.sandu.ximon.admin.utils; import com.alibaba.fastjson.JSON; import com.sandu.ximon.admin.config.BroadcastAPI; import com.sandu.ximon.admin.utils.request.CommonRequestParams; import com.sandu.ximon.admin.utils.response.CommonResponseVO; import com.sandu.ximon.admin.utils.response.DataResponseVO; import com.sandu.ximon.admin.vo.ListDataResponseVO; import com.sandu.ximon.admin.vo.TerminalVO; import java.util.List; public class TerminalAPIUtils { /** * è·åç»ç«¯æå¡å¨å¯¹è±¡ * * @param terminalId * @return */ public static TerminalVO getTerminalInfo(Integer terminalId) { DataResponseVO responseVO = JSON.parseObject( BroadcastPostUtils.Post( new CommonRequestParams().put("id", terminalId).getParams(), BroadcastAPI.GET_TERMINAL.getUrl(), CharUtils.GBK), DataResponseVO.class ); return responseVO.convert(TerminalVO.class); } /** * è·åç»ç«¯æå¡å¨å¯¹è±¡å表 */ public static List<TerminalVO> getTerminalList() { ListDataResponseVO responseVO = JSON.parseObject( BroadcastPostUtils.Post( new CommonRequestParams().getParams(), BroadcastAPI.GET_TERMINAL_LIST.getUrl(), CharUtils.GBK), ListDataResponseVO.class ); return responseVO.covertTerminalList(); } /** * æ´æ°ææ¾ç»ç«¯ * * @param terminalId * @param terminalVO * @param userId * @return */ public static boolean updateTerminal(Integer terminalId, TerminalVO terminalVO, Long userId) { CommonResponseVO responseVO = JSON.parseObject( BroadcastPostUtils.Post( new CommonRequestParams() .put("id", terminalId) .put("data", JSON.toJSONString(terminalVO)) .getParams(), BroadcastAPI.UPDATE_TERMINAL.getUrl(), CharUtils.GBK), CommonResponseVO.class ); if (responseVO.isOK()) { // log("ä¿®æ¹ææ¾ç»ç«¯(id:"+terminalId+", name:"+terminalVO.getName()+")",userId,null); return true; } // logError("ä¿®æ¹ææ¾ç»ç«¯å¤±è´¥!(id:"+terminalId+", name:"+terminalVO.getName()+")",userId,null); return false; } /** * å 餿æ¾ç»ç«¯ * * @param terminalId * @param userId * @return */ public static boolean delTerminal(Integer terminalId, Long userId) { CommonResponseVO responseVO = JSON.parseObject( BroadcastPostUtils.Post( new CommonRequestParams() .put("id", terminalId) .getParams(), BroadcastAPI.DEL_TERMINAL.getUrl(), CharUtils.GBK), CommonResponseVO.class ); if (responseVO.isOK()) { // log("å 餿æ¾ç»ç«¯(id:"+terminalId+")",userId,null); return true; } // logError("å 餿æ¾ç»ç«¯å¤±è´¥!(id:"+terminalId+")",userId,null); return false; } /** * ä¿®æ¹ç»ç«¯é³é * * @param terminalId * @param defaultVolumn */ public static boolean changeVol(Integer terminalId, Integer defaultVolumn, Long userId) { TerminalVO terminalInfo = getTerminalInfo(terminalId); terminalInfo.setDefaultVolumn(defaultVolumn); terminalInfo.setVolumn(defaultVolumn); CommonResponseVO responseVO = JSON.parseObject( BroadcastPostUtils.Post( new CommonRequestParams() .put("id", terminalId) .put("data", terminalInfo) .getParams(), BroadcastAPI.UPDATE_TERMINAL.getUrl(), CharUtils.GBK), CommonResponseVO.class ); if (responseVO.isOK()) { // log("ä¿®æ¹ææ¾ç»ç«¯é³é(id:"+terminalId+")",userId,null); return true; } // logError("ä¿®æ¹ææ¾ç»ç«¯é³é失败!(id:"+terminalId+")",userId,null); return false; } } ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/CommonRequestParams.java
@@ -1,7 +1,10 @@ package com.sandu.ximon.admin.utils.request; import com.alibaba.fastjson.JSON; import com.sandu.ximon.admin.config.BroadcastAPI; import com.sandu.ximon.admin.config.BroadcastV2Config; import com.sandu.ximon.admin.utils.BroadcastPostUtils; import com.sandu.ximon.admin.utils.CharUtils; import com.sandu.ximon.admin.vo.LoginResponseVO; @@ -14,8 +17,21 @@ @Override public String getParams() { map.put("access_key", BroadcastV2Config.accessKey); map.put("access_id", BroadcastV2Config.accessId); LoginResponseVO responseVO1 = JSON.parseObject( BroadcastPostUtils.Post( new LoginRequestParams( BroadcastV2Config.LOGIN_USERNAME, BroadcastV2Config.LOGIN_PASSWORD ).getParams(), BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8 ) ,LoginResponseVO.class ); /*map.put("access_key", BroadcastV2Config.accessKey); map.put("access_id", BroadcastV2Config.accessId);*/ map.put("access_key", responseVO1.getAccess_key()); map.put("access_id", responseVO1.getAccess_id()); return JSON.toJSONString(map); } ximon-admin/src/main/java/com/sandu/ximon/admin/vo/ListDataResponseVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.sandu.ximon.admin.vo; import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import com.sandu.ximon.admin.utils.response.CommonResponseVO; import lombok.Data; import java.util.List; import java.util.Map; @Data public class ListDataResponseVO extends CommonResponseVO { private List<Map> data; private static final Gson gson = new Gson(); public List<TerminalVO> covertTerminalList() { return gson.fromJson(gson.toJson(data), new TypeToken<List<TerminalVO>>(){}.getType()); } } ximon-admin/src/main/java/com/sandu/ximon/admin/vo/TerminalVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ package com.sandu.ximon.admin.vo; import lombok.Data; @Data public class TerminalVO { // ç»ç«¯å¯ä¸æ è¯ï¼>=1) private Integer id; // ç»ç«¯ç±»åæ è¯ private Integer type; // ç»ç«¯åç§° private String name; // ç»ç«¯ç¶æï¼ç©ºé² 1ãå·¥ä½ä¸ 2 æè 4ãæçº¿ 0ï¼æ¥ é 8ï¼ private Integer status; // ç»ç«¯ IP å°å private String ip; // ç»ç«¯é³é(1-100) private Integer volumn; // ç»ç«¯ç»éçé»è®¤é³é private Integer defaultVolumn; // ç»ç«¯åæ¾ç¶æ(å¼ä¸º 1ãå ³ä¸º 0ï¼ private Integer power; // ç»ç«¯ç»éçé»è®¤åæ¾ç¶æ private Integer defaultPower; // ç³»ç»ä¿ç private String context; // ç»ç«¯æè¿ä¸æ¬¡ç»éæ¶é´ private Integer last; // ææ¾æ¶ï¼ä»»å¡çç±»å private Integer taskType; // ææ¾æ¶ï¼ä»»å¡ç ID private Long taskID; // æåºè§¦åææ¾çé³é¢ï¼è¦ç»ç«¯æè§¦ååè½æ¯æ private String media; // å¼å«çç¥ IDï¼è¦ç»ç«¯æå¼å«åè½æ¯æ private Integer strategy_id; }