Browse Source

网页添加设备,加设备组

master
review512jwy@163.com 1 day ago
parent
commit
f06e599778
  1. 28
      data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/DeviceController.java
  2. 5
      data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/DeviceGroupMapperExt.java
  3. 26
      data-center-business-dao/src/main/resources/mappers/ex/DeviceGroupMapperExt.xml
  4. 5
      data-center-business-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml
  5. 3
      data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/device/DeviceAddParams.java
  6. 3
      data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/device/DeviceUpdateParams.java
  7. 25
      data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/devicegroup/DeviceGroupSearchParams.java
  8. 6
      data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/device/DeviceVO.java
  9. 27
      data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/devicegroup/DeviceGroupPageVO.java
  10. 3
      data-center-business-service/src/main/java/com/techsor/datacenter/business/service/IDeviceService.java
  11. 41
      data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/DeviceServiceImpl.java

28
data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/DeviceController.java

@ -19,6 +19,7 @@ import com.techsor.datacenter.business.dto.device.alert.DeviceAlertTemplateSearc
import com.techsor.datacenter.business.dto.device.forward.DeviceForwardBatchParams; import com.techsor.datacenter.business.dto.device.forward.DeviceForwardBatchParams;
import com.techsor.datacenter.business.dto.device.forward.DeviceForwardQueryParams; import com.techsor.datacenter.business.dto.device.forward.DeviceForwardQueryParams;
import com.techsor.datacenter.business.dto.device.forward.DeviceForwardRemoveParmas; import com.techsor.datacenter.business.dto.device.forward.DeviceForwardRemoveParmas;
import com.techsor.datacenter.business.dto.devicegroup.DeviceGroupSearchParams;
import com.techsor.datacenter.business.model.MailSentResult; import com.techsor.datacenter.business.model.MailSentResult;
import com.techsor.datacenter.business.service.CommonService; import com.techsor.datacenter.business.service.CommonService;
import com.techsor.datacenter.business.service.CompanyService; import com.techsor.datacenter.business.service.CompanyService;
@ -32,6 +33,7 @@ import com.techsor.datacenter.business.vo.device.DeviceVO;
import com.techsor.datacenter.business.vo.device.LambdaEmailResult; import com.techsor.datacenter.business.vo.device.LambdaEmailResult;
import com.techsor.datacenter.business.vo.device.MonitoringPointCategoryVO; import com.techsor.datacenter.business.vo.device.MonitoringPointCategoryVO;
import com.techsor.datacenter.business.vo.devicegroup.DeviceGroupPageVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -628,4 +630,30 @@ public class DeviceController {
@Parameter(name = "UTCOffset", description = "Offset between GMT and local time in minutes, e.g., -480 for GMT+8") @RequestHeader(required = true) Integer UTCOffset){ @Parameter(name = "UTCOffset", description = "Offset between GMT and local time in minutes, e.g., -480 for GMT+8") @RequestHeader(required = true) Integer UTCOffset){
return deviceService.getMonitoringPointCategory(CompanyId, LanguageType); return deviceService.getMonitoringPointCategory(CompanyId, LanguageType);
} }
@Operation(summary = "Get deviceGroup list")
@RequestMapping(value = "/deviceGroup/getListPage", method = RequestMethod.GET)
public PageResponse<PageInfo<DeviceGroupPageVO>> getListPage(
@Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName,
@Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken,
@Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId,
@Parameter(name = "CompanyId", description = "User's company ID", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId,
@Parameter(name = "LanguageType", description = "Language type: 0 - Chinese, 1 - English, 2 - Japanese", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType,
@Parameter(name = "UTCOffset", description = "Time zone offset in minutes from GMT, e.g., +480 for UTC+8", required = true, schema = @Schema(defaultValue = "-480")) @RequestHeader(required = true) Integer UTCOffset,
DeviceGroupSearchParams pageSearchParam) throws BusinessException {
pageSearchParam.setUserId(UserId);
PageResponse<PageInfo<DeviceGroupPageVO>> pageResponse = new PageResponse<>();
try {
pageResponse.setData(deviceService.getDeviceGroupListPage(pageSearchParam, CompanyId, UserId, LanguageType, UTCOffset));
pageResponse.setCode(ResponseCode.SUCCESS);
pageResponse.setMsg("success");
} catch (Exception e) {
logger.error("Error querying list", e);
pageResponse.setCode(ResponseCode.SERVER_ERROR);
pageResponse.setMsg("service error");
}
return pageResponse;
}
} }

5
data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/DeviceGroupMapperExt.java

@ -2,10 +2,15 @@ package com.techsor.datacenter.business.dao.ex;
import java.util.List; import java.util.List;
import com.techsor.datacenter.business.dto.devicegroup.DeviceGroupSearchParams;
import com.techsor.datacenter.business.vo.devicegroup.DeviceGroupPageVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.techsor.datacenter.business.dao.auto.DeviceGroupMapper; import com.techsor.datacenter.business.dao.auto.DeviceGroupMapper;
@Mapper @Mapper
public interface DeviceGroupMapperExt extends DeviceGroupMapper { public interface DeviceGroupMapperExt extends DeviceGroupMapper {
List<DeviceGroupPageVO> getListPage(DeviceGroupSearchParams pageSearchParam);
} }

26
data-center-business-dao/src/main/resources/mappers/ex/DeviceGroupMapperExt.xml

@ -0,0 +1,26 @@
<?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.techsor.datacenter.business.dao.ex.DeviceGroupMapperExt">
<select id="getListPage" resultType="com.techsor.datacenter.business.vo.devicegroup.DeviceGroupPageVO">
SELECT
dg.id deviceGroupId,
dg.company_id,
dg.`name`,
dg.remark
FROM
dashboard_device_group dg
WHERE
dg.flag != 1
<if test="deviceGroupIdList != null">
AND dg.id IN <foreach collection="deviceGroupIdList" item="item" open="(" separator="," close=")">#{item}</foreach>
</if>
<if test="name != null">
AND dg.`name` LIKE CONCAT('%',#{name},'%')
</if>
order by dg.id desc
</select>
</mapper>

5
data-center-business-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml

@ -49,7 +49,8 @@
device_info.project_id as projectId, basic_floor.floor_id as floorId, device_info.wsclient_id as wsclientId, device_info.project_id as projectId, basic_floor.floor_id as floorId, device_info.wsclient_id as wsclientId,
type.device_category_id,device_info.monitoring_point_name,device_info.monitoring_point_category_id,mpc.name monitoringPointCategoryName, type.device_category_id,device_info.monitoring_point_name,device_info.monitoring_point_category_id,mpc.name monitoringPointCategoryName,
device_info.data_provider_id, data_provider.name dataProviderName, device_info.retain_alert, device_info.data_provider_id, data_provider.name dataProviderName, device_info.retain_alert,
device_info.gateway_info_id, data_provider_gateway_info.name gatewayInfoName, device_info.alarm_level device_info.gateway_info_id, data_provider_gateway_info.name gatewayInfoName, device_info.alarm_level,
dashboard_device_group.id deviceGroupId, dashboard_device_group.name deviceGroupName
from from
device_info device_info
left join basic_project on device_info.project_id = basic_project.id left join basic_project on device_info.project_id = basic_project.id
@ -63,6 +64,8 @@
left join type on device_info.type_id = type.id left join type on device_info.type_id = type.id
left join device_category on type.device_category_id = device_category.id left join device_category on type.device_category_id = device_category.id
left join device_alert_config dac on device_info.id=dac.device_config_id and dac.flag = 0 left join device_alert_config dac on device_info.id=dac.device_config_id and dac.flag = 0
left join dashboard_device_group_relation on dashboard_device_group_relation.device_info_id = device_info.id
left join dashboard_device_group on dashboard_device_group_relation.device_group_id = dashboard_device_group.id
<if test="deviceVO.targetIdValue != null "> <if test="deviceVO.targetIdValue != null ">
left join target_id_check tic on dac.id = tic.alert_config_id left join target_id_check tic on dac.id = tic.alert_config_id
</if> </if>

3
data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/device/DeviceAddParams.java

@ -58,5 +58,8 @@ public class DeviceAddParams {
@Schema(description = "dashboard自动恢复告警时是否保留告警:0-不保留,1-保留", example = "1") @Schema(description = "dashboard自动恢复告警时是否保留告警:0-不保留,1-保留", example = "1")
private Integer retainAlert; private Integer retainAlert;
@Schema(description ="设备组ID",example = "2")
private Long deviceGroupId;
} }

3
data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/device/DeviceUpdateParams.java

@ -59,4 +59,7 @@ public class DeviceUpdateParams {
@Schema(description = "dashboard自动恢复告警时是否保留告警:0-不保留,1-保留", example = "1") @Schema(description = "dashboard自动恢复告警时是否保留告警:0-不保留,1-保留", example = "1")
private Integer retainAlert; private Integer retainAlert;
@Schema(description ="设备组ID",example = "2")
private Long deviceGroupId;
} }

25
data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/devicegroup/DeviceGroupSearchParams.java

@ -0,0 +1,25 @@
package com.techsor.datacenter.business.dto.devicegroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
import com.techsor.datacenter.business.dto.BaseSearchParams;
@EqualsAndHashCode(callSuper = true)
@Data
public class DeviceGroupSearchParams extends BaseSearchParams {
@Schema(description = "设备组名",example = "张三李四")
private String name;
@Schema(description = "设备组id,多个逗号连接",example = "1,47")
private String deviceGroupIds;
@Schema(description = "设备组id", hidden = true)
private List<Long> deviceGroupIdList;
}

6
data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/device/DeviceVO.java

@ -120,4 +120,10 @@ public class DeviceVO {
@Schema(description = "dashboard自动恢复告警时是否保留告警:0-不保留,1-保留", example = "1") @Schema(description = "dashboard自动恢复告警时是否保留告警:0-不保留,1-保留", example = "1")
private Integer retainAlert; private Integer retainAlert;
@Schema(description ="设备组ID",example = "2")
private Long deviceGroupId;
@Schema(description ="设备组组名",example = "组2")
private String deviceGroupName;
} }

27
data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/devicegroup/DeviceGroupPageVO.java

@ -0,0 +1,27 @@
package com.techsor.datacenter.business.vo.devicegroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class DeviceGroupPageVO {
@Schema(description = "项目唯一标识ID,新增时无此参数",example = "2738967")
private Long deviceGroupId;
@Schema(description = "楼宇ID",example = "222", hidden = true)
private Long buildingId;
@Schema(description = "楼宇名称",example = "楼宇222", hidden = true)
private String buildingName;
@Schema(description = "所属企业ID",example = "2738967", hidden = true)
private Long companyId;
@Schema(description = "项目名称",example = "testDeviceGroup1", required = true)
private String name;
@Schema(description = "remark", example = "remark")
private String remark;
}

3
data-center-business-service/src/main/java/com/techsor/datacenter/business/service/IDeviceService.java

@ -16,6 +16,7 @@ import com.techsor.datacenter.business.dto.device.alert.DeviceAlertTemplateSearc
import com.techsor.datacenter.business.dto.device.forward.DeviceForwardBatchParams; import com.techsor.datacenter.business.dto.device.forward.DeviceForwardBatchParams;
import com.techsor.datacenter.business.dto.device.forward.DeviceForwardQueryParams; import com.techsor.datacenter.business.dto.device.forward.DeviceForwardQueryParams;
import com.techsor.datacenter.business.dto.device.forward.DeviceForwardRemoveParmas; import com.techsor.datacenter.business.dto.device.forward.DeviceForwardRemoveParmas;
import com.techsor.datacenter.business.dto.devicegroup.DeviceGroupSearchParams;
import com.techsor.datacenter.business.importexcel.deviceAlertInfo.DeviceAlertInfoExcel; import com.techsor.datacenter.business.importexcel.deviceAlertInfo.DeviceAlertInfoExcel;
import com.techsor.datacenter.business.importexcel.deviceinfo.DeviceInfoExcel; import com.techsor.datacenter.business.importexcel.deviceinfo.DeviceInfoExcel;
import com.techsor.datacenter.business.model.MailSentResult; import com.techsor.datacenter.business.model.MailSentResult;
@ -24,6 +25,7 @@ import com.techsor.datacenter.business.vo.device.DeviceVO;
import com.techsor.datacenter.business.vo.device.LambdaEmailResult; import com.techsor.datacenter.business.vo.device.LambdaEmailResult;
import com.techsor.datacenter.business.vo.device.MonitoringPointCategoryVO; import com.techsor.datacenter.business.vo.device.MonitoringPointCategoryVO;
import com.techsor.datacenter.business.vo.devicegroup.DeviceGroupPageVO;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
@ -123,4 +125,5 @@ public interface IDeviceService {
SimpleDataResponse<List<MonitoringPointCategoryVO>> getMonitoringPointCategory(Long companyId, Integer languageType); SimpleDataResponse<List<MonitoringPointCategoryVO>> getMonitoringPointCategory(Long companyId, Integer languageType);
PageInfo<DeviceGroupPageVO> getDeviceGroupListPage(DeviceGroupSearchParams pageSearchParam, Long companyId, Long userId, Integer languageType, Integer utcOffset);
} }

41
data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/DeviceServiceImpl.java

@ -36,6 +36,7 @@ import com.techsor.datacenter.business.dto.device.alert.DeviceAlertTemplateSearc
import com.techsor.datacenter.business.dto.device.forward.DeviceForwardBatchParams; import com.techsor.datacenter.business.dto.device.forward.DeviceForwardBatchParams;
import com.techsor.datacenter.business.dto.device.forward.DeviceForwardQueryParams; import com.techsor.datacenter.business.dto.device.forward.DeviceForwardQueryParams;
import com.techsor.datacenter.business.dto.device.forward.DeviceForwardRemoveParmas; import com.techsor.datacenter.business.dto.device.forward.DeviceForwardRemoveParmas;
import com.techsor.datacenter.business.dto.devicegroup.DeviceGroupSearchParams;
import com.techsor.datacenter.business.importexcel.deviceAlertInfo.DeviceAlertInfoExcel; import com.techsor.datacenter.business.importexcel.deviceAlertInfo.DeviceAlertInfoExcel;
import com.techsor.datacenter.business.importexcel.deviceinfo.AlarmLevelMapping; import com.techsor.datacenter.business.importexcel.deviceinfo.AlarmLevelMapping;
import com.techsor.datacenter.business.importexcel.deviceinfo.DeviceGroupRelationExcel; import com.techsor.datacenter.business.importexcel.deviceinfo.DeviceGroupRelationExcel;
@ -63,6 +64,7 @@ import com.techsor.datacenter.business.vo.device.LambdaEmailResult;
import com.techsor.datacenter.business.vo.device.MonitoringPointCategoryVO; import com.techsor.datacenter.business.vo.device.MonitoringPointCategoryVO;
import com.techsor.datacenter.business.vo.device.alert.DeviceAlertConfigVO; import com.techsor.datacenter.business.vo.device.alert.DeviceAlertConfigVO;
import com.techsor.datacenter.business.vo.device.forward.DeviceForwardConfigVO; import com.techsor.datacenter.business.vo.device.forward.DeviceForwardConfigVO;
import com.techsor.datacenter.business.vo.devicegroup.DeviceGroupPageVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
@ -261,6 +263,13 @@ public class DeviceServiceImpl implements IDeviceService {
deviceInfo.setUpdatedTimestamp(currentUnix); deviceInfo.setUpdatedTimestamp(currentUnix);
this.deviceInfoMapperExt.insertSelective(deviceInfo); this.deviceInfoMapperExt.insertSelective(deviceInfo);
if (null != deviceAddParams.getDeviceGroupId()) {
DeviceGroupRelation deviceGroupRelation = new DeviceGroupRelation();
deviceGroupRelation.setDeviceGroupId(deviceAddParams.getDeviceGroupId());
deviceGroupRelation.setDeviceInfoId(deviceInfo.getId());
deviceGroupRelationMapperExt.insertSelective(deviceGroupRelation);
}
this.notificationService.saveDeviceCompanyMapping(deviceInfo.getDeviceId(), String.valueOf(companyId)); this.notificationService.saveDeviceCompanyMapping(deviceInfo.getDeviceId(), String.valueOf(companyId));
//Record log //Record log
@ -331,6 +340,17 @@ public class DeviceServiceImpl implements IDeviceService {
deviceInfo.setTypeId(deviceUpdateParams.getTypeId().intValue()); deviceInfo.setTypeId(deviceUpdateParams.getTypeId().intValue());
} }
this.deviceInfoMapperExt.updateByPrimaryKeySelective(deviceInfo); this.deviceInfoMapperExt.updateByPrimaryKeySelective(deviceInfo);
DeviceGroupRelationExample example = new DeviceGroupRelationExample();
example.createCriteria().andDeviceInfoIdEqualTo(deviceInfo.getId());
deviceGroupRelationMapperExt.deleteByExample(example);
if (null != deviceUpdateParams.getDeviceGroupId()) {
DeviceGroupRelation deviceGroupRelation = new DeviceGroupRelation();
deviceGroupRelation.setDeviceGroupId(deviceUpdateParams.getDeviceGroupId());
deviceGroupRelation.setDeviceInfoId(deviceInfo.getId());
deviceGroupRelationMapperExt.insertSelective(deviceGroupRelation);
}
this.notificationService.saveDeviceCompanyMapping(deviceInfo.getDeviceId(), String.valueOf(companyId)); this.notificationService.saveDeviceCompanyMapping(deviceInfo.getDeviceId(), String.valueOf(companyId));
//Record log //Record log
userOperationLogsService.recordLog(companyId,userId,"编辑设备:"+deviceInfo.getDeviceName(), userOperationLogsService.recordLog(companyId,userId,"编辑设备:"+deviceInfo.getDeviceName(),
@ -2686,4 +2706,25 @@ public class DeviceServiceImpl implements IDeviceService {
} }
@Override
public PageInfo<DeviceGroupPageVO> getDeviceGroupListPage(DeviceGroupSearchParams pageSearchParam, Long companyId,
Long userId, Integer languageType, Integer uTCOffset) {
if (StringUtils.isBlank(pageSearchParam.getCompanyIds())) {
pageSearchParam.setCompanyIdList(List.of(companyId));
} else {
pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds()));
}
if (StringUtils.isNotBlank(pageSearchParam.getDeviceGroupIds())) {
pageSearchParam.setDeviceGroupIdList(CommonUtil.commaStr2LongList(pageSearchParam.getDeviceGroupIds()));
}
PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(),
pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize());
List<DeviceGroupPageVO> list = deviceGroupMapperExt.getListPage(pageSearchParam);
return new PageInfo<>(list);
}
} }

Loading…
Cancel
Save