update 代码生成报警类型、级别、规则和规则联动信息

master
yinq 3 months ago
parent ab80320bf0
commit da7d27bf36

@ -0,0 +1,117 @@
package org.dromara.dms.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.dms.domain.vo.BaseAlarmLevelVo;
import org.dromara.dms.domain.bo.BaseAlarmLevelBo;
import org.dromara.dms.service.IBaseAlarmLevelService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/dms/alarmLevel
*
* @author Yinq
* @date 2025-03-17
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/alarmLevel")
public class BaseAlarmLevelController extends BaseController {
private final IBaseAlarmLevelService baseAlarmLevelService;
/**
*
*/
@SaCheckPermission("dms:alarmLevel:list")
@GetMapping("/list")
public TableDataInfo<BaseAlarmLevelVo> list(BaseAlarmLevelBo bo, PageQuery pageQuery) {
return baseAlarmLevelService.queryPageList(bo, pageQuery);
}
/**
*
*/
@SaCheckPermission("dms:alarmLevel:export")
@Log(title = "报警级别", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(BaseAlarmLevelBo bo, HttpServletResponse response) {
List<BaseAlarmLevelVo> list = baseAlarmLevelService.queryList(bo);
ExcelUtil.exportExcel(list, "报警级别", BaseAlarmLevelVo.class, response);
}
/**
*
*
* @param alarmLevelId
*/
@SaCheckPermission("dms:alarmLevel:query")
@GetMapping("/{alarmLevelId}")
public R<BaseAlarmLevelVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long alarmLevelId) {
return R.ok(baseAlarmLevelService.queryById(alarmLevelId));
}
/**
*
*/
@SaCheckPermission("dms:alarmLevel:add")
@Log(title = "报警级别", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody BaseAlarmLevelBo bo) {
return toAjax(baseAlarmLevelService.insertByBo(bo));
}
/**
*
*/
@SaCheckPermission("dms:alarmLevel:edit")
@Log(title = "报警级别", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BaseAlarmLevelBo bo) {
return toAjax(baseAlarmLevelService.updateByBo(bo));
}
/**
*
*
* @param alarmLevelIds
*/
@SaCheckPermission("dms:alarmLevel:remove")
@Log(title = "报警级别", businessType = BusinessType.DELETE)
@DeleteMapping("/{alarmLevelIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] alarmLevelIds) {
return toAjax(baseAlarmLevelService.deleteWithValidByIds(List.of(alarmLevelIds), true));
}
/**
*
*/
@GetMapping("/getBaseAlarmLevelList")
public R<List<BaseAlarmLevelVo>> getBaseAlarmLevelList(BaseAlarmLevelBo bo) {
List<BaseAlarmLevelVo> list = baseAlarmLevelService.queryList(bo);
return R.ok(list);
}
}

@ -0,0 +1,117 @@
package org.dromara.dms.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.dms.domain.vo.BaseAlarmRuleVo;
import org.dromara.dms.domain.bo.BaseAlarmRuleBo;
import org.dromara.dms.service.IBaseAlarmRuleService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/dms/alarmRule
*
* @author Yinq
* @date 2025-03-17
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/alarmRule")
public class BaseAlarmRuleController extends BaseController {
private final IBaseAlarmRuleService baseAlarmRuleService;
/**
*
*/
@SaCheckPermission("dms:alarmRule:list")
@GetMapping("/list")
public TableDataInfo<BaseAlarmRuleVo> list(BaseAlarmRuleBo bo, PageQuery pageQuery) {
return baseAlarmRuleService.queryPageList(bo, pageQuery);
}
/**
*
*/
@SaCheckPermission("dms:alarmRule:export")
@Log(title = "报警规则", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(BaseAlarmRuleBo bo, HttpServletResponse response) {
List<BaseAlarmRuleVo> list = baseAlarmRuleService.queryList(bo);
ExcelUtil.exportExcel(list, "报警规则", BaseAlarmRuleVo.class, response);
}
/**
*
*
* @param alarmRuleId
*/
@SaCheckPermission("dms:alarmRule:query")
@GetMapping("/{alarmRuleId}")
public R<BaseAlarmRuleVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long alarmRuleId) {
return R.ok(baseAlarmRuleService.queryById(alarmRuleId));
}
/**
*
*/
@SaCheckPermission("dms:alarmRule:add")
@Log(title = "报警规则", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody BaseAlarmRuleBo bo) {
return toAjax(baseAlarmRuleService.insertByBo(bo));
}
/**
*
*/
@SaCheckPermission("dms:alarmRule:edit")
@Log(title = "报警规则", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BaseAlarmRuleBo bo) {
return toAjax(baseAlarmRuleService.updateByBo(bo));
}
/**
*
*
* @param alarmRuleIds
*/
@SaCheckPermission("dms:alarmRule:remove")
@Log(title = "报警规则", businessType = BusinessType.DELETE)
@DeleteMapping("/{alarmRuleIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] alarmRuleIds) {
return toAjax(baseAlarmRuleService.deleteWithValidByIds(List.of(alarmRuleIds), true));
}
/**
*
*/
@GetMapping("/getBaseAlarmRuleList")
public R<List<BaseAlarmRuleVo>> getBaseAlarmRuleList(BaseAlarmRuleBo bo) {
List<BaseAlarmRuleVo> list = baseAlarmRuleService.queryList(bo);
return R.ok(list);
}
}

@ -0,0 +1,117 @@
package org.dromara.dms.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.dms.domain.vo.BaseAlarmRuleLinkVo;
import org.dromara.dms.domain.bo.BaseAlarmRuleLinkBo;
import org.dromara.dms.service.IBaseAlarmRuleLinkService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/dms/alarmRuleLink
*
* @author Yinq
* @date 2025-03-17
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/alarmRuleLink")
public class BaseAlarmRuleLinkController extends BaseController {
private final IBaseAlarmRuleLinkService baseAlarmRuleLinkService;
/**
*
*/
@SaCheckPermission("dms:alarmRuleLink:list")
@GetMapping("/list")
public TableDataInfo<BaseAlarmRuleLinkVo> list(BaseAlarmRuleLinkBo bo, PageQuery pageQuery) {
return baseAlarmRuleLinkService.queryPageList(bo, pageQuery);
}
/**
*
*/
@SaCheckPermission("dms:alarmRuleLink:export")
@Log(title = "报警规则联动信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(BaseAlarmRuleLinkBo bo, HttpServletResponse response) {
List<BaseAlarmRuleLinkVo> list = baseAlarmRuleLinkService.queryList(bo);
ExcelUtil.exportExcel(list, "报警规则联动信息", BaseAlarmRuleLinkVo.class, response);
}
/**
*
*
* @param ruleLinkId
*/
@SaCheckPermission("dms:alarmRuleLink:query")
@GetMapping("/{ruleLinkId}")
public R<BaseAlarmRuleLinkVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long ruleLinkId) {
return R.ok(baseAlarmRuleLinkService.queryById(ruleLinkId));
}
/**
*
*/
@SaCheckPermission("dms:alarmRuleLink:add")
@Log(title = "报警规则联动信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody BaseAlarmRuleLinkBo bo) {
return toAjax(baseAlarmRuleLinkService.insertByBo(bo));
}
/**
*
*/
@SaCheckPermission("dms:alarmRuleLink:edit")
@Log(title = "报警规则联动信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BaseAlarmRuleLinkBo bo) {
return toAjax(baseAlarmRuleLinkService.updateByBo(bo));
}
/**
*
*
* @param ruleLinkIds
*/
@SaCheckPermission("dms:alarmRuleLink:remove")
@Log(title = "报警规则联动信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ruleLinkIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ruleLinkIds) {
return toAjax(baseAlarmRuleLinkService.deleteWithValidByIds(List.of(ruleLinkIds), true));
}
/**
*
*/
@GetMapping("/getBaseAlarmRuleLinkList")
public R<List<BaseAlarmRuleLinkVo>> getBaseAlarmRuleLinkList(BaseAlarmRuleLinkBo bo) {
List<BaseAlarmRuleLinkVo> list = baseAlarmRuleLinkService.queryList(bo);
return R.ok(list);
}
}

@ -0,0 +1,117 @@
package org.dromara.dms.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.dms.domain.vo.BaseAlarmTypeVo;
import org.dromara.dms.domain.bo.BaseAlarmTypeBo;
import org.dromara.dms.service.IBaseAlarmTypeService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/dms/alarmType
*
* @author Yinq
* @date 2025-03-17
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/alarmType")
public class BaseAlarmTypeController extends BaseController {
private final IBaseAlarmTypeService baseAlarmTypeService;
/**
*
*/
@SaCheckPermission("dms:alarmType:list")
@GetMapping("/list")
public TableDataInfo<BaseAlarmTypeVo> list(BaseAlarmTypeBo bo, PageQuery pageQuery) {
return baseAlarmTypeService.queryPageList(bo, pageQuery);
}
/**
*
*/
@SaCheckPermission("dms:alarmType:export")
@Log(title = "报警类型", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(BaseAlarmTypeBo bo, HttpServletResponse response) {
List<BaseAlarmTypeVo> list = baseAlarmTypeService.queryList(bo);
ExcelUtil.exportExcel(list, "报警类型", BaseAlarmTypeVo.class, response);
}
/**
*
*
* @param alarmTypeId
*/
@SaCheckPermission("dms:alarmType:query")
@GetMapping("/{alarmTypeId}")
public R<BaseAlarmTypeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long alarmTypeId) {
return R.ok(baseAlarmTypeService.queryById(alarmTypeId));
}
/**
*
*/
@SaCheckPermission("dms:alarmType:add")
@Log(title = "报警类型", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody BaseAlarmTypeBo bo) {
return toAjax(baseAlarmTypeService.insertByBo(bo));
}
/**
*
*/
@SaCheckPermission("dms:alarmType:edit")
@Log(title = "报警类型", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BaseAlarmTypeBo bo) {
return toAjax(baseAlarmTypeService.updateByBo(bo));
}
/**
*
*
* @param alarmTypeIds
*/
@SaCheckPermission("dms:alarmType:remove")
@Log(title = "报警类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{alarmTypeIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] alarmTypeIds) {
return toAjax(baseAlarmTypeService.deleteWithValidByIds(List.of(alarmTypeIds), true));
}
/**
*
*/
@GetMapping("/getBaseAlarmTypeList")
public R<List<BaseAlarmTypeVo>> getBaseAlarmTypeList(BaseAlarmTypeBo bo) {
List<BaseAlarmTypeVo> list = baseAlarmTypeService.queryList(bo);
return R.ok(list);
}
}

@ -0,0 +1,57 @@
package org.dromara.dms.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* base_alarm_level
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("base_alarm_level")
public class BaseAlarmLevel extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "alarm_level_id", type = IdType.AUTO)
private Long alarmLevelId;
/**
*
*/
private String alarmLevelName;
/**
*
*/
private Long levelNumber;
/**
* 19
*/
@TableLogic(value="1", delval="9")
private String levelStatus;
/**
* 12345,
*/
private String defaultNotifyMode;
/**
*
*/
private String remark;
}

@ -0,0 +1,116 @@
package org.dromara.dms.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* base_alarm_rule
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("base_alarm_rule")
public class BaseAlarmRule extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "alarm_rule_id", type = IdType.AUTO)
private Long alarmRuleId;
/**
*
*/
private String alarmRuleName;
/**
* hw_alarm_levelalarm_level_id
*/
private Long alarmLevelId;
/**
* hw_alarm_typealarm_type_id
*/
private Long alarmTypeId;
/**
* 12
*/
private String ruleType;
/**
* hw_devicedevice_id
*/
private Long ruleDeviceId;
/**
* hw_device_modedevice_mode_id
*/
private Long ruleDeviceModeId;
/**
*
*/
private Long ruleFunctionTotal;
/**
* :{}>60 or {}<-88
*/
private String triggerExpression;
/**
* 10
*/
private String linkFlag;
/**
* (10
*/
private String alarmRuleStatus;
/**
* (10
*/
private String alarmPushFlag;
/**
*
*/
private String alarmPushContent;
/**
*
*/
private String alarmRecoverContent;
/**
*
*/
private Long triggerTimeFrame;
/**
*
*/
private Long triggerNumber;
/**
*
*/
private Long triggerDeadzone;
/**
*
*/
private String remark;
}

@ -0,0 +1,66 @@
package org.dromara.dms.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* base_alarm_rule_link
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("base_alarm_rule_link")
public class BaseAlarmRuleLink extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "rule_link_id", type = IdType.AUTO)
private Long ruleLinkId;
/**
* (1=,2=线)
*/
private String alarmRuleType;
/**
* IDhw_alarm_rulealarm_rule_id
*/
private Long alarmRuleId;
/**
* 12
*/
private String linkType;
/**
* hw_devicedevice_id
*/
private Long linkDeviceId;
/**
* hw_device_mode_functionmode_function_id
*/
private Long linkDeviceFunctionId;
/**
* 线30
*/
private String linkDeviceFunctionIdentifier;
/**
* json
*/
private String linkDeviceFunctionData;
}

@ -0,0 +1,62 @@
package org.dromara.dms.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* base_alarm_type
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("base_alarm_type")
public class BaseAlarmType extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "alarm_type_id", type = IdType.AUTO)
private Long alarmTypeId;
/**
*
*/
private String alarmTypeCode;
/**
*
*/
private String alarmTypeName;
/**
* ID
*/
private Long deviceCategoryId;
/**
* ID
*/
private Long deviceTypeId;
/**
* 19
*/
@TableLogic(value="1", delval="9")
private String typeStatus;
/**
*
*/
private String remark;
}

@ -0,0 +1,56 @@
package org.dromara.dms.domain.bo;
import org.dromara.dms.domain.BaseAlarmLevel;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* base_alarm_level
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BaseAlarmLevel.class, reverseConvertGenerate = false)
public class BaseAlarmLevelBo extends BaseEntity {
/**
* ID
*/
private Long alarmLevelId;
/**
*
*/
@NotBlank(message = "报警级别名称不能为空", groups = {AddGroup.class, EditGroup.class})
private String alarmLevelName;
/**
*
*/
private Long levelNumber;
/**
* 19
*/
private String levelStatus;
/**
* 12345,
*/
@NotBlank(message = "默认通知方式1、邮箱2、短信3、钉钉4、微信公众号5、企业微信多个保存用,隔开。不能为空", groups = {AddGroup.class, EditGroup.class})
private String defaultNotifyMode;
/**
*
*/
private String remark;
}

@ -0,0 +1,117 @@
package org.dromara.dms.domain.bo;
import org.dromara.dms.domain.BaseAlarmRule;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* base_alarm_rule
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BaseAlarmRule.class, reverseConvertGenerate = false)
public class BaseAlarmRuleBo extends BaseEntity {
/**
* ID
*/
private Long alarmRuleId;
/**
*
*/
@NotBlank(message = "规则名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String alarmRuleName;
/**
* hw_alarm_levelalarm_level_id
*/
@NotNull(message = "报警级别关联表hw_alarm_level字段alarm_level_id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long alarmLevelId;
/**
* hw_alarm_typealarm_type_id
*/
@NotNull(message = "报警类型关联表hw_alarm_type字段alarm_type_id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long alarmTypeId;
/**
* 12
*/
private String ruleType;
/**
* hw_devicedevice_id
*/
private Long ruleDeviceId;
/**
* hw_device_modedevice_mode_id
*/
private Long ruleDeviceModeId;
/**
*
*/
private Long ruleFunctionTotal;
/**
* :{}>60 or {}<-88
*/
private String triggerExpression;
/**
* 10
*/
private String linkFlag;
/**
* (10
*/
private String alarmRuleStatus;
/**
* (10
*/
private String alarmPushFlag;
/**
*
*/
private String alarmPushContent;
/**
*
*/
private String alarmRecoverContent;
/**
*
*/
private Long triggerTimeFrame;
/**
*
*/
private Long triggerNumber;
/**
*
*/
private Long triggerDeadzone;
/**
*
*/
private String remark;
}

@ -0,0 +1,68 @@
package org.dromara.dms.domain.bo;
import org.dromara.dms.domain.BaseAlarmRuleLink;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* base_alarm_rule_link
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BaseAlarmRuleLink.class, reverseConvertGenerate = false)
public class BaseAlarmRuleLinkBo extends BaseEntity {
/**
* ID
*/
private Long ruleLinkId;
/**
* (1=,2=线)
*/
@NotBlank(message = "报警规则类型(1=设备报警规则,2=离线报警规则)不能为空", groups = { AddGroup.class, EditGroup.class })
private String alarmRuleType;
/**
* IDhw_alarm_rulealarm_rule_id
*/
@NotNull(message = "报警规则ID关联hw_alarm_rule的alarm_rule_id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long alarmRuleId;
/**
* 12
*/
@NotBlank(message = "联动类型1、控制2、采集不能为空", groups = { AddGroup.class, EditGroup.class })
private String linkType;
/**
* hw_devicedevice_id
*/
@NotNull(message = "联动设备关联表hw_device字段device_id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long linkDeviceId;
/**
* hw_device_mode_functionmode_function_id
*/
private Long linkDeviceFunctionId;
/**
* 线30
*/
private String linkDeviceFunctionIdentifier;
/**
* json
*/
private String linkDeviceFunctionData;
}

@ -0,0 +1,61 @@
package org.dromara.dms.domain.bo;
import org.dromara.dms.domain.BaseAlarmType;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* base_alarm_type
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BaseAlarmType.class, reverseConvertGenerate = false)
public class BaseAlarmTypeBo extends BaseEntity {
/**
* ID
*/
private Long alarmTypeId;
/**
*
*/
@NotBlank(message = "报警类型编号不能为空", groups = {AddGroup.class, EditGroup.class})
private String alarmTypeCode;
/**
*
*/
@NotBlank(message = "报警类型名称不能为空", groups = {AddGroup.class, EditGroup.class})
private String alarmTypeName;
/**
* ID
*/
private Long deviceCategoryId;
/**
* ID
*/
private Long deviceTypeId;
/**
* 19
*/
private String typeStatus;
/**
*
*/
private String remark;
}

@ -0,0 +1,71 @@
package org.dromara.dms.domain.vo;
import org.dromara.dms.domain.BaseAlarmLevel;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* base_alarm_level
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BaseAlarmLevel.class)
public class BaseAlarmLevelVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "报警级别ID")
private Long alarmLevelId;
/**
*
*/
@ExcelProperty(value = "报警级别名称")
private String alarmLevelName;
/**
*
*/
@ExcelProperty(value = "严重程度", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "数=字越大,级别越高")
private Long levelNumber;
/**
* 19
*/
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "dms_level_status")
private String levelStatus;
/**
* 12345,
*/
@ExcelProperty(value = "默认通知方式", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "dms_default_notify_mode")
private String defaultNotifyMode;
/**
*
*/
@ExcelProperty(value = "描述")
private String remark;
}

@ -0,0 +1,83 @@
package org.dromara.dms.domain.vo;
import org.dromara.dms.domain.BaseAlarmRuleLink;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* base_alarm_rule_link
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BaseAlarmRuleLink.class)
public class BaseAlarmRuleLinkVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "报警规则关联ID主键")
private Long ruleLinkId;
/**
* (1=,2=线)
*/
@ExcelProperty(value = "报警规则类型(1=设备报警规则,2=离线报警规则)", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "dms_alarm_rule_type")
private String alarmRuleType;
/**
* IDhw_alarm_rulealarm_rule_id
*/
@ExcelProperty(value = "报警规则ID关联hw_alarm_rule的alarm_rule_id")
private Long alarmRuleId;
/**
* 12
*/
@ExcelProperty(value = "联动类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "dms_link_type")
private String linkType;
/**
* hw_devicedevice_id
*/
@ExcelProperty(value = "联动设备关联表hw_device字段device_id")
private Long linkDeviceId;
/**
* hw_device_mode_functionmode_function_id
*/
@ExcelProperty(value = "联动设备功能关联表hw_device_mode_function字段mode_function_id")
private Long linkDeviceFunctionId;
/**
* 线30
*/
@ExcelProperty(value = "标识符", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "支=持大小写字母、数字和下划线对外暂时不超过30个字符")
private String linkDeviceFunctionIdentifier;
/**
* json
*/
@ExcelProperty(value = "联动设备服务的参数值json格式保存")
private String linkDeviceFunctionData;
}

@ -0,0 +1,145 @@
package org.dromara.dms.domain.vo;
import org.dromara.dms.domain.BaseAlarmRule;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* base_alarm_rule
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BaseAlarmRule.class)
public class BaseAlarmRuleVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "报警规则ID主键")
private Long alarmRuleId;
/**
*
*/
@ExcelProperty(value = "规则名称")
private String alarmRuleName;
/**
* hw_alarm_levelalarm_level_id
*/
@ExcelProperty(value = "报警级别关联表hw_alarm_level字段alarm_level_id")
private Long alarmLevelId;
/**
* hw_alarm_typealarm_type_id
*/
@ExcelProperty(value = "报警类型关联表hw_alarm_type字段alarm_type_id")
private Long alarmTypeId;
/**
* 12
*/
@ExcelProperty(value = "规则类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "dms_rule_type")
private String ruleType;
/**
* hw_devicedevice_id
*/
@ExcelProperty(value = "关联表hw_device字段device_id。")
private Long ruleDeviceId;
/**
* hw_device_modedevice_mode_id
*/
@ExcelProperty(value = "关联表hw_device_mode字段device_mode_id")
private Long ruleDeviceModeId;
/**
*
*/
@ExcelProperty(value = "一共有几个属性规则")
private Long ruleFunctionTotal;
/**
* :{}>60 or {}<-88
*/
@ExcelProperty(value = "表达式,例如:{}>60 or {}<-88")
private String triggerExpression;
/**
* 10
*/
@ExcelProperty(value = "联动标识", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "active_flag")
private String linkFlag;
/**
* (10
*/
@ExcelProperty(value = "报警启用状态(1、是0、否", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "active_flag")
private String alarmRuleStatus;
/**
* (10
*/
@ExcelProperty(value = "报警推送标识(1、是0、否", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "active_flag")
private String alarmPushFlag;
/**
*
*/
@ExcelProperty(value = "报警推送内容")
private String alarmPushContent;
/**
*
*/
@ExcelProperty(value = "恢复正常推送内容")
private String alarmRecoverContent;
/**
*
*/
@ExcelProperty(value = "时间范围", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "单=位:秒")
private Long triggerTimeFrame;
/**
*
*/
@ExcelProperty(value = "触发阈值次数")
private Long triggerNumber;
/**
*
*/
@ExcelProperty(value = "触发死区")
private Long triggerDeadzone;
/**
*
*/
@ExcelProperty(value = "描述")
private String remark;
}

@ -0,0 +1,75 @@
package org.dromara.dms.domain.vo;
import org.dromara.dms.domain.BaseAlarmType;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* base_alarm_type
*
* @author Yinq
* @date 2025-03-17
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BaseAlarmType.class)
public class BaseAlarmTypeVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "报警类型ID")
private Long alarmTypeId;
/**
*
*/
@ExcelProperty(value = "报警类型编号")
private String alarmTypeCode;
/**
*
*/
@ExcelProperty(value = "报警类型名称")
private String alarmTypeName;
/**
* ID
*/
@ExcelProperty(value = "设备大类ID")
private Long deviceCategoryId;
/**
* ID
*/
@ExcelProperty(value = "设备类型ID")
private Long deviceTypeId;
/**
* 19
*/
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "dms_level_status")
private String typeStatus;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,15 @@
package org.dromara.dms.mapper;
import org.dromara.dms.domain.BaseAlarmLevel;
import org.dromara.dms.domain.vo.BaseAlarmLevelVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author Yinq
* @date 2025-03-17
*/
public interface BaseAlarmLevelMapper extends BaseMapperPlus<BaseAlarmLevel, BaseAlarmLevelVo> {
}

@ -0,0 +1,15 @@
package org.dromara.dms.mapper;
import org.dromara.dms.domain.BaseAlarmRuleLink;
import org.dromara.dms.domain.vo.BaseAlarmRuleLinkVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author Yinq
* @date 2025-03-17
*/
public interface BaseAlarmRuleLinkMapper extends BaseMapperPlus<BaseAlarmRuleLink, BaseAlarmRuleLinkVo> {
}

@ -0,0 +1,15 @@
package org.dromara.dms.mapper;
import org.dromara.dms.domain.BaseAlarmRule;
import org.dromara.dms.domain.vo.BaseAlarmRuleVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author Yinq
* @date 2025-03-17
*/
public interface BaseAlarmRuleMapper extends BaseMapperPlus<BaseAlarmRule, BaseAlarmRuleVo> {
}

@ -0,0 +1,15 @@
package org.dromara.dms.mapper;
import org.dromara.dms.domain.BaseAlarmType;
import org.dromara.dms.domain.vo.BaseAlarmTypeVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author Yinq
* @date 2025-03-17
*/
public interface BaseAlarmTypeMapper extends BaseMapperPlus<BaseAlarmType, BaseAlarmTypeVo> {
}

@ -0,0 +1,69 @@
package org.dromara.dms.service;
import org.dromara.dms.domain.BaseAlarmLevel;
import org.dromara.dms.domain.vo.BaseAlarmLevelVo;
import org.dromara.dms.domain.bo.BaseAlarmLevelBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author Yinq
* @date 2025-03-17
*/
public interface IBaseAlarmLevelService {
/**
*
*
* @param alarmLevelId
* @return
*/
BaseAlarmLevelVo queryById(Long alarmLevelId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<BaseAlarmLevelVo> queryPageList(BaseAlarmLevelBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<BaseAlarmLevelVo> queryList(BaseAlarmLevelBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(BaseAlarmLevelBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(BaseAlarmLevelBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -0,0 +1,69 @@
package org.dromara.dms.service;
import org.dromara.dms.domain.BaseAlarmRuleLink;
import org.dromara.dms.domain.vo.BaseAlarmRuleLinkVo;
import org.dromara.dms.domain.bo.BaseAlarmRuleLinkBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author Yinq
* @date 2025-03-17
*/
public interface IBaseAlarmRuleLinkService {
/**
*
*
* @param ruleLinkId
* @return
*/
BaseAlarmRuleLinkVo queryById(Long ruleLinkId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<BaseAlarmRuleLinkVo> queryPageList(BaseAlarmRuleLinkBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<BaseAlarmRuleLinkVo> queryList(BaseAlarmRuleLinkBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(BaseAlarmRuleLinkBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(BaseAlarmRuleLinkBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -0,0 +1,69 @@
package org.dromara.dms.service;
import org.dromara.dms.domain.BaseAlarmRule;
import org.dromara.dms.domain.vo.BaseAlarmRuleVo;
import org.dromara.dms.domain.bo.BaseAlarmRuleBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author Yinq
* @date 2025-03-17
*/
public interface IBaseAlarmRuleService {
/**
*
*
* @param alarmRuleId
* @return
*/
BaseAlarmRuleVo queryById(Long alarmRuleId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<BaseAlarmRuleVo> queryPageList(BaseAlarmRuleBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<BaseAlarmRuleVo> queryList(BaseAlarmRuleBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(BaseAlarmRuleBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(BaseAlarmRuleBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -0,0 +1,69 @@
package org.dromara.dms.service;
import org.dromara.dms.domain.BaseAlarmType;
import org.dromara.dms.domain.vo.BaseAlarmTypeVo;
import org.dromara.dms.domain.bo.BaseAlarmTypeBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author Yinq
* @date 2025-03-17
*/
public interface IBaseAlarmTypeService {
/**
*
*
* @param alarmTypeId
* @return
*/
BaseAlarmTypeVo queryById(Long alarmTypeId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<BaseAlarmTypeVo> queryPageList(BaseAlarmTypeBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<BaseAlarmTypeVo> queryList(BaseAlarmTypeBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(BaseAlarmTypeBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(BaseAlarmTypeBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -0,0 +1,136 @@
package org.dromara.dms.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.dms.domain.bo.BaseAlarmLevelBo;
import org.dromara.dms.domain.vo.BaseAlarmLevelVo;
import org.dromara.dms.domain.BaseAlarmLevel;
import org.dromara.dms.mapper.BaseAlarmLevelMapper;
import org.dromara.dms.service.IBaseAlarmLevelService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
*
* @author Yinq
* @date 2025-03-17
*/
@RequiredArgsConstructor
@Service
public class BaseAlarmLevelServiceImpl implements IBaseAlarmLevelService {
private final BaseAlarmLevelMapper baseMapper;
/**
*
*
* @param alarmLevelId
* @return
*/
@Override
public BaseAlarmLevelVo queryById(Long alarmLevelId){
return baseMapper.selectVoById(alarmLevelId);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<BaseAlarmLevelVo> queryPageList(BaseAlarmLevelBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<BaseAlarmLevel> lqw = buildQueryWrapper(bo);
Page<BaseAlarmLevelVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<BaseAlarmLevelVo> queryList(BaseAlarmLevelBo bo) {
MPJLambdaWrapper<BaseAlarmLevel> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<BaseAlarmLevel> buildQueryWrapper(BaseAlarmLevelBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<BaseAlarmLevel> lqw = JoinWrappers.lambda(BaseAlarmLevel.class)
.selectAll(BaseAlarmLevel.class)
.eq(bo.getAlarmLevelId() != null, BaseAlarmLevel::getAlarmLevelId, bo.getAlarmLevelId())
.like(StringUtils.isNotBlank(bo.getAlarmLevelName()), BaseAlarmLevel::getAlarmLevelName, bo.getAlarmLevelName())
.eq(bo.getLevelNumber() != null, BaseAlarmLevel::getLevelNumber, bo.getLevelNumber())
.eq(StringUtils.isNotBlank(bo.getLevelStatus()), BaseAlarmLevel::getLevelStatus, bo.getLevelStatus())
.eq(StringUtils.isNotBlank(bo.getDefaultNotifyMode()), BaseAlarmLevel::getDefaultNotifyMode, bo.getDefaultNotifyMode())
.orderByAsc(BaseAlarmLevel::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean insertByBo(BaseAlarmLevelBo bo) {
BaseAlarmLevel add = MapstructUtils.convert(bo, BaseAlarmLevel.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setAlarmLevelId(add.getAlarmLevelId());
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean updateByBo(BaseAlarmLevelBo bo) {
BaseAlarmLevel update = MapstructUtils.convert(bo, BaseAlarmLevel.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(BaseAlarmLevel entity){
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -0,0 +1,139 @@
package org.dromara.dms.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.dms.domain.bo.BaseAlarmRuleLinkBo;
import org.dromara.dms.domain.vo.BaseAlarmRuleLinkVo;
import org.dromara.dms.domain.BaseAlarmRuleLink;
import org.dromara.dms.mapper.BaseAlarmRuleLinkMapper;
import org.dromara.dms.service.IBaseAlarmRuleLinkService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
*
* @author Yinq
* @date 2025-03-17
*/
@RequiredArgsConstructor
@Service
public class BaseAlarmRuleLinkServiceImpl implements IBaseAlarmRuleLinkService {
private final BaseAlarmRuleLinkMapper baseMapper;
/**
*
*
* @param ruleLinkId
* @return
*/
@Override
public BaseAlarmRuleLinkVo queryById(Long ruleLinkId){
return baseMapper.selectVoById(ruleLinkId);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<BaseAlarmRuleLinkVo> queryPageList(BaseAlarmRuleLinkBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<BaseAlarmRuleLink> lqw = buildQueryWrapper(bo);
Page<BaseAlarmRuleLinkVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<BaseAlarmRuleLinkVo> queryList(BaseAlarmRuleLinkBo bo) {
MPJLambdaWrapper<BaseAlarmRuleLink> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<BaseAlarmRuleLink> buildQueryWrapper(BaseAlarmRuleLinkBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<BaseAlarmRuleLink> lqw = JoinWrappers.lambda(BaseAlarmRuleLink.class)
.selectAll(BaseAlarmRuleLink.class)
.eq(bo.getRuleLinkId() != null, BaseAlarmRuleLink::getRuleLinkId, bo.getRuleLinkId())
.eq(StringUtils.isNotBlank(bo.getAlarmRuleType()), BaseAlarmRuleLink::getAlarmRuleType, bo.getAlarmRuleType())
.eq(bo.getAlarmRuleId() != null, BaseAlarmRuleLink::getAlarmRuleId, bo.getAlarmRuleId())
.eq(StringUtils.isNotBlank(bo.getLinkType()), BaseAlarmRuleLink::getLinkType, bo.getLinkType())
.eq(bo.getLinkDeviceId() != null, BaseAlarmRuleLink::getLinkDeviceId, bo.getLinkDeviceId())
.eq(bo.getLinkDeviceFunctionId() != null, BaseAlarmRuleLink::getLinkDeviceFunctionId, bo.getLinkDeviceFunctionId())
.eq(StringUtils.isNotBlank(bo.getLinkDeviceFunctionIdentifier()), BaseAlarmRuleLink::getLinkDeviceFunctionIdentifier, bo.getLinkDeviceFunctionIdentifier())
.eq(StringUtils.isNotBlank(bo.getLinkDeviceFunctionData()), BaseAlarmRuleLink::getLinkDeviceFunctionData, bo.getLinkDeviceFunctionData())
.orderByDesc(BaseAlarmRuleLink::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean insertByBo(BaseAlarmRuleLinkBo bo) {
BaseAlarmRuleLink add = MapstructUtils.convert(bo, BaseAlarmRuleLink.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setRuleLinkId(add.getRuleLinkId());
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean updateByBo(BaseAlarmRuleLinkBo bo) {
BaseAlarmRuleLink update = MapstructUtils.convert(bo, BaseAlarmRuleLink.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(BaseAlarmRuleLink entity){
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -0,0 +1,148 @@
package org.dromara.dms.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.dms.domain.bo.BaseAlarmRuleBo;
import org.dromara.dms.domain.vo.BaseAlarmRuleVo;
import org.dromara.dms.domain.BaseAlarmRule;
import org.dromara.dms.mapper.BaseAlarmRuleMapper;
import org.dromara.dms.service.IBaseAlarmRuleService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
*
* @author Yinq
* @date 2025-03-17
*/
@RequiredArgsConstructor
@Service
public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService {
private final BaseAlarmRuleMapper baseMapper;
/**
*
*
* @param alarmRuleId
* @return
*/
@Override
public BaseAlarmRuleVo queryById(Long alarmRuleId){
return baseMapper.selectVoById(alarmRuleId);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<BaseAlarmRuleVo> queryPageList(BaseAlarmRuleBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<BaseAlarmRule> lqw = buildQueryWrapper(bo);
Page<BaseAlarmRuleVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<BaseAlarmRuleVo> queryList(BaseAlarmRuleBo bo) {
MPJLambdaWrapper<BaseAlarmRule> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<BaseAlarmRule> buildQueryWrapper(BaseAlarmRuleBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<BaseAlarmRule> lqw = JoinWrappers.lambda(BaseAlarmRule.class)
.selectAll(BaseAlarmRule.class)
.eq(bo.getAlarmRuleId() != null, BaseAlarmRule::getAlarmRuleId, bo.getAlarmRuleId())
.like(StringUtils.isNotBlank(bo.getAlarmRuleName()), BaseAlarmRule::getAlarmRuleName, bo.getAlarmRuleName())
.eq(bo.getAlarmLevelId() != null, BaseAlarmRule::getAlarmLevelId, bo.getAlarmLevelId())
.eq(bo.getAlarmTypeId() != null, BaseAlarmRule::getAlarmTypeId, bo.getAlarmTypeId())
.eq(StringUtils.isNotBlank(bo.getRuleType()), BaseAlarmRule::getRuleType, bo.getRuleType())
.eq(bo.getRuleDeviceId() != null, BaseAlarmRule::getRuleDeviceId, bo.getRuleDeviceId())
.eq(bo.getRuleDeviceModeId() != null, BaseAlarmRule::getRuleDeviceModeId, bo.getRuleDeviceModeId())
.eq(bo.getRuleFunctionTotal() != null, BaseAlarmRule::getRuleFunctionTotal, bo.getRuleFunctionTotal())
.eq(StringUtils.isNotBlank(bo.getTriggerExpression()), BaseAlarmRule::getTriggerExpression, bo.getTriggerExpression())
.eq(StringUtils.isNotBlank(bo.getLinkFlag()), BaseAlarmRule::getLinkFlag, bo.getLinkFlag())
.eq(StringUtils.isNotBlank(bo.getAlarmRuleStatus()), BaseAlarmRule::getAlarmRuleStatus, bo.getAlarmRuleStatus())
.eq(StringUtils.isNotBlank(bo.getAlarmPushFlag()), BaseAlarmRule::getAlarmPushFlag, bo.getAlarmPushFlag())
.eq(StringUtils.isNotBlank(bo.getAlarmPushContent()), BaseAlarmRule::getAlarmPushContent, bo.getAlarmPushContent())
.eq(StringUtils.isNotBlank(bo.getAlarmRecoverContent()), BaseAlarmRule::getAlarmRecoverContent, bo.getAlarmRecoverContent())
.eq(bo.getTriggerTimeFrame() != null, BaseAlarmRule::getTriggerTimeFrame, bo.getTriggerTimeFrame())
.eq(bo.getTriggerNumber() != null, BaseAlarmRule::getTriggerNumber, bo.getTriggerNumber())
.eq(bo.getTriggerDeadzone() != null, BaseAlarmRule::getTriggerDeadzone, bo.getTriggerDeadzone())
.orderByAsc(BaseAlarmRule::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean insertByBo(BaseAlarmRuleBo bo) {
BaseAlarmRule add = MapstructUtils.convert(bo, BaseAlarmRule.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setAlarmRuleId(add.getAlarmRuleId());
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean updateByBo(BaseAlarmRuleBo bo) {
BaseAlarmRule update = MapstructUtils.convert(bo, BaseAlarmRule.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(BaseAlarmRule entity){
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -0,0 +1,137 @@
package org.dromara.dms.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.dms.domain.bo.BaseAlarmTypeBo;
import org.dromara.dms.domain.vo.BaseAlarmTypeVo;
import org.dromara.dms.domain.BaseAlarmType;
import org.dromara.dms.mapper.BaseAlarmTypeMapper;
import org.dromara.dms.service.IBaseAlarmTypeService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
*
* @author Yinq
* @date 2025-03-17
*/
@RequiredArgsConstructor
@Service
public class BaseAlarmTypeServiceImpl implements IBaseAlarmTypeService {
private final BaseAlarmTypeMapper baseMapper;
/**
*
*
* @param alarmTypeId
* @return
*/
@Override
public BaseAlarmTypeVo queryById(Long alarmTypeId){
return baseMapper.selectVoById(alarmTypeId);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<BaseAlarmTypeVo> queryPageList(BaseAlarmTypeBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<BaseAlarmType> lqw = buildQueryWrapper(bo);
Page<BaseAlarmTypeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<BaseAlarmTypeVo> queryList(BaseAlarmTypeBo bo) {
MPJLambdaWrapper<BaseAlarmType> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<BaseAlarmType> buildQueryWrapper(BaseAlarmTypeBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<BaseAlarmType> lqw = JoinWrappers.lambda(BaseAlarmType.class)
.selectAll(BaseAlarmType.class)
.eq(bo.getAlarmTypeId() != null, BaseAlarmType::getAlarmTypeId, bo.getAlarmTypeId())
.eq(StringUtils.isNotBlank(bo.getAlarmTypeCode()), BaseAlarmType::getAlarmTypeCode, bo.getAlarmTypeCode())
.like(StringUtils.isNotBlank(bo.getAlarmTypeName()), BaseAlarmType::getAlarmTypeName, bo.getAlarmTypeName())
.eq(bo.getDeviceCategoryId() != null, BaseAlarmType::getDeviceCategoryId, bo.getDeviceCategoryId())
.eq(bo.getDeviceTypeId() != null, BaseAlarmType::getDeviceTypeId, bo.getDeviceTypeId())
.eq(StringUtils.isNotBlank(bo.getTypeStatus()), BaseAlarmType::getTypeStatus, bo.getTypeStatus())
.orderByAsc(BaseAlarmType::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean insertByBo(BaseAlarmTypeBo bo) {
BaseAlarmType add = MapstructUtils.convert(bo, BaseAlarmType.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setAlarmTypeId(add.getAlarmTypeId());
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean updateByBo(BaseAlarmTypeBo bo) {
BaseAlarmType update = MapstructUtils.convert(bo, BaseAlarmType.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(BaseAlarmType entity){
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -0,0 +1,7 @@
<?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="org.dromara.dms.mapper.BaseAlarmLevelMapper">
</mapper>

@ -0,0 +1,7 @@
<?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="org.dromara.dms.mapper.BaseAlarmRuleLinkMapper">
</mapper>

@ -0,0 +1,7 @@
<?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="org.dromara.dms.mapper.BaseAlarmRuleMapper">
</mapper>

@ -0,0 +1,7 @@
<?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="org.dromara.dms.mapper.BaseAlarmTypeMapper">
</mapper>
Loading…
Cancel
Save