作者 钟来

添加用户设备统计接口

@@ -77,6 +77,11 @@ @@ -77,6 +77,11 @@
77 <artifactId>lh-jar-rocketmq</artifactId> 77 <artifactId>lh-jar-rocketmq</artifactId>
78 </dependency> 78 </dependency>
79 79
  80 + <dependency>
  81 + <groupId>cn.hutool</groupId>
  82 + <artifactId>hutool-all</artifactId>
  83 + </dependency>
  84 +
80 </dependencies> 85 </dependencies>
81 86
82 </project> 87 </project>
@@ -2,6 +2,7 @@ package com.zhonglai.luhui.device.service; @@ -2,6 +2,7 @@ package com.zhonglai.luhui.device.service;
2 2
3 import java.util.List; 3 import java.util.List;
4 import com.ruoyi.system.domain.user.UserTerminalGroupRelation; 4 import com.ruoyi.system.domain.user.UserTerminalGroupRelation;
  5 +import com.zhonglai.luhui.device.domain.IotTerminal;
5 6
6 /** 7 /**
7 * 终端分组关系Service接口 8 * 终端分组关系Service接口
@@ -60,4 +61,12 @@ public interface IUserTerminalGroupRelationService @@ -60,4 +61,12 @@ public interface IUserTerminalGroupRelationService
60 public int deleteUserTerminalGroupRelationById(Integer id); 61 public int deleteUserTerminalGroupRelationById(Integer id);
61 List<UserTerminalGroupRelation> selectListByTerminalIds(String[] iot_terminal_ids); 62 List<UserTerminalGroupRelation> selectListByTerminalIds(String[] iot_terminal_ids);
62 int groupTerminal(Integer iot_terminal_group_id, List<String> ids,Integer userId); 63 int groupTerminal(Integer iot_terminal_group_id, List<String> ids,Integer userId);
  64 +
  65 + /**
  66 + * 获取用户终端列表
  67 + * @param userId
  68 + * @param mqtt_usernames
  69 + * @return
  70 + */
  71 + List<IotTerminal> getUserIotTerminalList(Integer userId, String mqtt_usernames);
63 } 72 }
@@ -2,10 +2,15 @@ package com.zhonglai.luhui.device.service.impl; @@ -2,10 +2,15 @@ package com.zhonglai.luhui.device.service.impl;
2 2
3 import java.util.ArrayList; 3 import java.util.ArrayList;
4 import java.util.List; 4 import java.util.List;
  5 +import java.util.Map;
5 6
  7 +import cn.hutool.core.bean.BeanUtil;
6 import com.ruoyi.common.utils.DateUtils; 8 import com.ruoyi.common.utils.DateUtils;
  9 +import com.ruoyi.common.utils.StringUtils;
  10 +import com.ruoyi.common.utils.bean.BeanUtils;
7 import com.ruoyi.system.domain.user.UserTerminalGroup; 11 import com.ruoyi.system.domain.user.UserTerminalGroup;
8 import com.zhonglai.luhui.dao.service.PublicService; 12 import com.zhonglai.luhui.dao.service.PublicService;
  13 +import com.zhonglai.luhui.device.domain.IotTerminal;
9 import com.zhonglai.luhui.device.mapper.UserTerminalGroupRelationMapper; 14 import com.zhonglai.luhui.device.mapper.UserTerminalGroupRelationMapper;
10 import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService; 15 import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService;
11 import com.zhonglai.luhui.device.service.IUserTerminalGroupService; 16 import com.zhonglai.luhui.device.service.IUserTerminalGroupService;
@@ -150,4 +155,35 @@ public class UserTerminalGroupRelationServiceImpl implements IUserTerminalGroupR @@ -150,4 +155,35 @@ public class UserTerminalGroupRelationServiceImpl implements IUserTerminalGroupR
150 } 155 }
151 return 0; 156 return 0;
152 } 157 }
  158 +
  159 + /**
  160 + * 获取用户终端列表
  161 + * @param userId
  162 + * @param mqtt_usernames
  163 + * @return
  164 + */
  165 + public List<IotTerminal> getUserIotTerminalList(Integer userId,String mqtt_usernames)
  166 + {
  167 + StringBuffer stringBuffer = new StringBuffer("SELECT * FROM `user_terminal_group_relation` a LEFT JOIN `iot_terminal` b ON a.`iot_terminal_id`=b.`id` WHERE a.user_info_id=");
  168 + stringBuffer.append(userId);
  169 + if(StringUtils.isNotEmpty(mqtt_usernames))
  170 + {
  171 + stringBuffer.append(" AND b.`mqtt_username` IN ('");
  172 + stringBuffer.append(mqtt_usernames.replaceAll(",","','"));
  173 + stringBuffer.append("')");
  174 + }
  175 + List<Map<String,Object>> list = publicService.getObjectListBySQL(stringBuffer.toString());
  176 + if(null != list && list.size()!=0)
  177 + {
  178 + List<IotTerminal> rlist = new ArrayList<>();
  179 +
  180 + for (Map<String,Object> map:list)
  181 + {
  182 + IotTerminal iotTerminal = BeanUtil.mapToBean(map, IotTerminal.class,false,null);
  183 + rlist.add(iotTerminal);
  184 + }
  185 + return rlist;
  186 + }
  187 + return null;
  188 + }
153 } 189 }
1 package com.zhonglai.luhui.api.controller.user; 1 package com.zhonglai.luhui.api.controller.user;
2 2
3 import java.util.ArrayList; 3 import java.util.ArrayList;
  4 +import java.util.HashMap;
4 import java.util.List; 5 import java.util.List;
5 import java.util.Map; 6 import java.util.Map;
6 import javax.servlet.http.HttpServletResponse; 7 import javax.servlet.http.HttpServletResponse;
@@ -9,6 +10,7 @@ import com.ruoyi.common.utils.StringUtils; @@ -9,6 +10,7 @@ import com.ruoyi.common.utils.StringUtils;
9 import com.ruoyi.common.utils.bean.BeanUtils; 10 import com.ruoyi.common.utils.bean.BeanUtils;
10 import com.zhonglai.luhui.action.BaseController; 11 import com.zhonglai.luhui.action.BaseController;
11 import com.zhonglai.luhui.dao.service.PublicService; 12 import com.zhonglai.luhui.dao.service.PublicService;
  13 +import com.zhonglai.luhui.device.domain.IotTerminal;
12 import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService; 14 import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService;
13 import com.zhonglai.luhui.security.utils.SecurityUtils; 15 import com.zhonglai.luhui.security.utils.SecurityUtils;
14 import com.zhonglai.luhui.sys.utils.ExcelUtil; 16 import com.zhonglai.luhui.sys.utils.ExcelUtil;
@@ -160,4 +162,33 @@ public class UserTerminalGroupRelationController extends BaseController @@ -160,4 +162,33 @@ public class UserTerminalGroupRelationController extends BaseController
160 { 162 {
161 return toAjax(userTerminalGroupRelationService.deleteUserTerminalGroupRelationByIds(ids)); 163 return toAjax(userTerminalGroupRelationService.deleteUserTerminalGroupRelationByIds(ids));
162 } 164 }
  165 +
  166 + @ApiOperation("统计用户设备")
  167 + @GetMapping("/getUserIotTerminalList")
  168 + public AjaxResult getUserIotTerminalList(String mqtt_usernames)
  169 + {
  170 + List<IotTerminal> list = userTerminalGroupRelationService.getUserIotTerminalList(SecurityUtils.getUserId().intValue(),mqtt_usernames);
  171 +
  172 + int total = 0;
  173 + int online = 0;
  174 + int offline = 0;
  175 + if (null!=list && list.size()>0)
  176 + {
  177 + total = list.size();
  178 + for (IotTerminal iotTerminal:list)
  179 + {
  180 + if(null != iotTerminal.getOnline() &&iotTerminal.getOnline()==3)
  181 + {
  182 + online++;
  183 + }else {
  184 + offline++;
  185 + }
  186 + }
  187 + }
  188 + Map<String,Integer> map = new HashMap<>();
  189 + map.put("total",total);
  190 + map.put("online",online);
  191 + map.put("offline",offline);
  192 + return AjaxResult.success(map);
  193 + }
163 } 194 }