后端TDengine统计分类数量

This commit is contained in:
kerwincui
2022-06-07 14:23:42 +08:00
parent 653eee4e76
commit d8e35ebfc3
11 changed files with 56 additions and 10 deletions

View File

@@ -2,6 +2,7 @@ package com.ruoyi.iot.mapper;
import java.util.List;
import com.ruoyi.iot.domain.ProductAuthorize;
import org.springframework.stereotype.Repository;
/**
* 产品授权码Mapper接口
@@ -9,6 +10,7 @@ import com.ruoyi.iot.domain.ProductAuthorize;
* @author kami
* @date 2022-04-11
*/
@Repository
public interface ProductAuthorizeMapper
{
/**
@@ -59,6 +61,14 @@ public interface ProductAuthorizeMapper
*/
public int deleteProductAuthorizeByAuthorizeIds(Long[] authorizeIds);
/**
* 通过产品ID批量删除产品授权码
*
* @param productIds 产品ID数组
* @return 结果
*/
public int deleteProductAuthorizeByProductIds(Long[] productIds);
/**
* 批量新增产品授权码
* @param list

View File

@@ -757,12 +757,15 @@ public class DeviceServiceImpl implements IDeviceService {
public int deleteDeviceByDeviceIds(Long[] deviceIds) throws SchedulerException {
// 删除设备分组
deviceMapper.deleteDeviceGroupByDeviceIds(deviceIds);
// 删除设备日志
// TODO 删除设备日志 td里面删除
deviceLogMapper.deleteDeviceLogByDeviceIds(deviceIds);
// TODO 删除设备告警记录
// 删除定时任务
deviceJobService.deleteJobByDeviceIds(deviceIds);
// TODO 删除设备用户
// 删除设备用户
deviceUserMapper.deleteDeviceUserByDeviceIds(deviceIds);
// 删除设备
return deviceMapper.deleteDeviceByDeviceIds(deviceIds);
}

View File

@@ -6,6 +6,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.iot.domain.Product;
import com.ruoyi.iot.mapper.ProductAuthorizeMapper;
import com.ruoyi.iot.mapper.ProductMapper;
import com.ruoyi.iot.model.ChangeProductStatusModel;
import com.ruoyi.iot.model.IdAndName;
@@ -32,6 +33,9 @@ public class ProductServiceImpl implements IProductService
@Autowired
private ProductMapper productMapper;
@Autowired
private ProductAuthorizeMapper productAuthorizeMapper;
@Autowired
private RedisCache redisCache;
@@ -185,6 +189,8 @@ public class ProductServiceImpl implements IProductService
}
// 删除产品物模型
productMapper.deleteProductThingsModelByProductIds(productIds);
// 删除产品的授权码
productAuthorizeMapper.deleteProductAuthorizeByProductIds(productIds);
// 删除产品
if(productMapper.deleteProductByProductIds(productIds)>0){
return AjaxResult.success("删除成功");

View File

@@ -1,6 +1,7 @@
package com.ruoyi.iot.tdengine.dao;
import com.ruoyi.iot.domain.DeviceLog;
import com.ruoyi.iot.model.DeviceStatistic;
import com.ruoyi.iot.model.MonitorModel;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -11,7 +12,6 @@ import java.util.List;
/**
* @package com.ruoyi.mysql.mysql.tdengine
* 类名: DatabaseMapper
* 描述: TODO
* 时间: 2022/5/16,0016 1:27
* 开发人: wxy
*/
@@ -27,6 +27,8 @@ public interface TDDeviceLogDAO {
int save(@Param("database") String database,@Param("device") DeviceLog deviceLog);
DeviceStatistic selectCategoryLogCount(@Param("database") String database);
List<DeviceLog> selectSTable(String database,DeviceLog deviceLog);
int delete(String dbName, DeviceLog deviceLog);

View File

@@ -24,7 +24,6 @@ import java.util.Properties;
/**
* 类名: ApplicationStarted
* 描述: TODO
* 时间: 2022/5/18,0018 1:41
* 开发人: wxy
*/

View File

@@ -15,7 +15,6 @@ import org.springframework.stereotype.Component;
/**
* 类名: DeviceLogServiceImpl
* 描述: TODO
* 时间: 2022/5/19,0019 18:09
* 开发人: wxy
*/

View File

@@ -27,17 +27,28 @@ public class MySqlLogServiceImpl implements ILogService {
return deviceLogMapper.insertDeviceLog(deviceLog);
}
/** 设备属性、功能、事件和监测数据总数 **/
/***
* 设备属性、功能、事件和监测数据总数
* @return
*/
@Override
public DeviceStatistic selectCategoryLogCount(){
return deviceLogMapper.selectCategoryLogCount();
}
/***
* 日志列表
* @return
*/
@Override
public List<DeviceLog> selectDeviceLogList(DeviceLog deviceLog) {
return deviceLogMapper.selectDeviceLogList(deviceLog);
}
/***
* 监测数据列表
* @return
*/
@Override
public List<MonitorModel> selectMonitorList(DeviceLog deviceLog) {
return deviceLogMapper.selectMonitorList(deviceLog);

View File

@@ -46,8 +46,7 @@ public class TdengineLogServiceImpl implements ILogService {
/** 设备属性、功能、事件和监测数据总数 **/
@Override
public DeviceStatistic selectCategoryLogCount(){
// return tdDeviceLogDAO.save(dbName,new DeviceLog());
return null;
return tdDeviceLogDAO.selectCategoryLogCount(dbName);
}
@Override

View File

@@ -111,7 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteDeviceUserByDeviceIds" parameterType="String">
delete from iot_device_user where is_owner !=1 and device_id in
delete from iot_device_user where device_id in
<foreach item="deviceId" collection="array" open="(" separator="," close=")">
#{deviceId}
</foreach>

View File

@@ -120,4 +120,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{authorizeId}
</foreach>
</delete>
<delete id="deleteProductAuthorizeByProductIds" parameterType="String">
delete from iot_product_authorize where product_id in
<foreach item="productId" collection="array" open="(" separator="," close=")">
#{productId}
</foreach>
</delete>
</mapper>

View File

@@ -76,6 +76,16 @@
order by ts desc
</select>
<select id="selectCategoryLogCount" parameterType="Long" resultType="com.ruoyi.iot.model.DeviceStatistic">
SELECT
(select count(log_id) from iot_device_log where log_type=1) as propertyCount,
(select count(log_id) from iot_device_log where log_type=2) as functionCount,
(select count(log_id) from iot_device_log where log_type=3) as eventCount,
(select count(log_id) from iot_device_log where log_type=1 and is_monitor=1) as monitorCount
from ${database}.device_log
limit 1
</select>
<insert id="save" parameterType="com.ruoyi.iot.domain.DeviceLog">
INSERT INTO ${database}.device_${device.serialNumber} USING device_log
TAGS (#{device.deviceId},#{device.deviceName},#{device.serialNumber})