From eecf86964088def09220c3e323bc00515b7b2f5d Mon Sep 17 00:00:00 2001 From: zcxlsm Date: Tue, 19 Aug 2025 18:05:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(Property):=20=E6=96=B0=E5=A2=9E=E7=81=AF?= =?UTF-8?q?=E6=8E=A7=E5=BC=80=E5=85=B3=E4=BF=A1=E6=81=AF=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TbLightInfoController.java | 106 +++++++++++++ .../TbMeterConfigController.java | 8 +- .../TbMeterInfoController.java | 8 +- .../TbMeterRecordController.java | 8 +- .../TbMeterRoomController.java | 8 +- .../dromara/property/domain/TbLightInfo.java | 66 ++++++++ .../bo/smartDevicesBo/TbLightInfoBo.java | 68 ++++++++ .../{ => smartDevicesBo}/TbMeterConfigBo.java | 2 +- .../{ => smartDevicesBo}/TbMeterInfoBo.java | 2 +- .../{ => smartDevicesBo}/TbMeterRecordBo.java | 3 +- .../{ => smartDevicesBo}/TbMeterRoomBo.java | 2 +- .../vo/smartDevicesVo/TbLightInfoVo.java | 87 +++++++++++ .../{ => smartDevicesVo}/TbMeterConfigVo.java | 2 +- .../{ => smartDevicesVo}/TbMeterInfoVo.java | 2 +- .../{ => smartDevicesVo}/TbMeterRecordVo.java | 8 +- .../{ => smartDevicesVo}/TbMeterRoomVo.java | 2 +- .../smartDevicesMapper/TbLightInfoMapper.java | 17 ++ .../TbMeterConfigMapper.java | 4 +- .../TbMeterInfoMapper.java | 4 +- .../TbMeterRecordMapper.java | 4 +- .../TbMeterRoomMapper.java | 4 +- .../TbLightInfoServiceImpl.java | 146 ++++++++++++++++++ .../TbMeterConfigServiceImpl.java | 10 +- .../TbMeterInfoServiceImpl.java | 10 +- .../TbMeterRecordServiceImpl.java | 10 +- .../TbMeterRoomServiceImpl.java | 10 +- .../ITbLightInfoService.java | 68 ++++++++ .../ITbMeterConfigService.java | 6 +- .../ITbMeterInfoService.java | 7 +- .../ITbMeterRecordService.java | 7 +- .../ITbMeterRoomService.java | 6 +- 31 files changed, 623 insertions(+), 72 deletions(-) create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbLightInfoController.java rename ruoyi-modules/Property/src/main/java/org/dromara/property/controller/{ => smartDevicesController}/TbMeterConfigController.java (92%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/controller/{ => smartDevicesController}/TbMeterInfoController.java (92%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/controller/{ => smartDevicesController}/TbMeterRecordController.java (92%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/controller/{ => smartDevicesController}/TbMeterRoomController.java (92%) create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbLightInfo.java create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbLightInfoBo.java rename ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/{ => smartDevicesBo}/TbMeterConfigBo.java (95%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/{ => smartDevicesBo}/TbMeterInfoBo.java (97%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/{ => smartDevicesBo}/TbMeterRecordBo.java (95%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/{ => smartDevicesBo}/TbMeterRoomBo.java (94%) create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbLightInfoVo.java rename ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/{ => smartDevicesVo}/TbMeterConfigVo.java (97%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/{ => smartDevicesVo}/TbMeterInfoVo.java (97%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/{ => smartDevicesVo}/TbMeterRecordVo.java (87%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/{ => smartDevicesVo}/TbMeterRoomVo.java (94%) create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbLightInfoMapper.java rename ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/{ => smartDevicesMapper}/TbMeterConfigMapper.java (73%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/{ => smartDevicesMapper}/TbMeterInfoMapper.java (68%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/{ => smartDevicesMapper}/TbMeterRecordMapper.java (69%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/{ => smartDevicesMapper}/TbMeterRoomMapper.java (73%) create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbLightInfoServiceImpl.java rename ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/{ => smartDevicesImpl}/TbMeterConfigServiceImpl.java (92%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/{ => smartDevicesImpl}/TbMeterInfoServiceImpl.java (92%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/{ => smartDevicesImpl}/TbMeterRecordServiceImpl.java (92%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/{ => smartDevicesImpl}/TbMeterRoomServiceImpl.java (91%) create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbLightInfoService.java rename ruoyi-modules/Property/src/main/java/org/dromara/property/service/{ => smartDevicesService}/ITbMeterConfigService.java (88%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/service/{ => smartDevicesService}/ITbMeterInfoService.java (88%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/service/{ => smartDevicesService}/ITbMeterRecordService.java (87%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/service/{ => smartDevicesService}/ITbMeterRoomService.java (88%) diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbLightInfoController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbLightInfoController.java new file mode 100644 index 00000000..18af959b --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbLightInfoController.java @@ -0,0 +1,106 @@ +package org.dromara.property.controller.smartDevicesController; + +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.property.domain.vo.smartDevicesVo.TbLightInfoVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbLightInfoBo; +import org.dromara.property.service.smartDevicesService.ITbLightInfoService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 灯控开关信息 + * 前端访问路由地址为:/property/lightInfo + * + * @author lsm + * @since 2025-08-19 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/lightInfo") +public class TbLightInfoController extends BaseController { + + private final ITbLightInfoService tbLightInfoService; + + /** + * 查询灯控开关信息列表 + */ + @SaCheckPermission("property:lightInfo:list") + @GetMapping("/list") + public TableDataInfo list(TbLightInfoBo bo, PageQuery pageQuery) { + return tbLightInfoService.queryPageList(bo, pageQuery); + } + + /** + * 导出灯控开关信息列表 + */ + @SaCheckPermission("property:lightInfo:export") + @Log(title = "灯控开关信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(TbLightInfoBo bo, HttpServletResponse response) { + List list = tbLightInfoService.queryList(bo); + ExcelUtil.exportExcel(list, "灯控开关信息", TbLightInfoVo.class, response); + } + + /** + * 获取灯控开关信息详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("property:lightInfo:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return R.ok(tbLightInfoService.queryById(id)); + } + + /** + * 新增灯控开关信息 + */ + @SaCheckPermission("property:lightInfo:add") + @Log(title = "灯控开关信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody TbLightInfoBo bo) { + return toAjax(tbLightInfoService.insertByBo(bo)); + } + + /** + * 修改灯控开关信息 + */ + @SaCheckPermission("property:lightInfo:edit") + @Log(title = "灯控开关信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody TbLightInfoBo bo) { + return toAjax(tbLightInfoService.updateByBo(bo)); + } + + /** + * 删除灯控开关信息 + * + * @param ids 主键串 + */ + @SaCheckPermission("property:lightInfo:remove") + @Log(title = "灯控开关信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("ids") Long[] ids) { + return toAjax(tbLightInfoService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterConfigController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterConfigController.java similarity index 92% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterConfigController.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterConfigController.java index 3c310884..28c634c7 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterConfigController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterConfigController.java @@ -1,4 +1,4 @@ -package org.dromara.property.controller; +package org.dromara.property.controller.smartDevicesController; import java.util.List; @@ -17,9 +17,9 @@ 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.property.domain.vo.TbMeterConfigVo; -import org.dromara.property.domain.bo.TbMeterConfigBo; -import org.dromara.property.service.ITbMeterConfigService; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterConfigVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterConfigBo; +import org.dromara.property.service.smartDevicesService.ITbMeterConfigService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterInfoController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterInfoController.java similarity index 92% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterInfoController.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterInfoController.java index 76d222d6..5a38934f 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterInfoController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterInfoController.java @@ -1,4 +1,4 @@ -package org.dromara.property.controller; +package org.dromara.property.controller.smartDevicesController; import java.util.List; @@ -17,9 +17,9 @@ 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.property.domain.vo.TbMeterInfoVo; -import org.dromara.property.domain.bo.TbMeterInfoBo; -import org.dromara.property.service.ITbMeterInfoService; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterInfoVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterInfoBo; +import org.dromara.property.service.smartDevicesService.ITbMeterInfoService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterRecordController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterRecordController.java similarity index 92% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterRecordController.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterRecordController.java index 76ff4662..d25a2488 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterRecordController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterRecordController.java @@ -1,4 +1,4 @@ -package org.dromara.property.controller; +package org.dromara.property.controller.smartDevicesController; import java.util.List; @@ -17,9 +17,9 @@ 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.property.domain.vo.TbMeterRecordVo; -import org.dromara.property.domain.bo.TbMeterRecordBo; -import org.dromara.property.service.ITbMeterRecordService; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRecordVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterRecordBo; +import org.dromara.property.service.smartDevicesService.ITbMeterRecordService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterRoomController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterRoomController.java similarity index 92% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterRoomController.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterRoomController.java index 47f61157..8a95cb13 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbMeterRoomController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbMeterRoomController.java @@ -1,4 +1,4 @@ -package org.dromara.property.controller; +package org.dromara.property.controller.smartDevicesController; import java.util.List; @@ -17,9 +17,9 @@ 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.property.domain.vo.TbMeterRoomVo; -import org.dromara.property.domain.bo.TbMeterRoomBo; -import org.dromara.property.service.ITbMeterRoomService; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRoomVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterRoomBo; +import org.dromara.property.service.smartDevicesService.ITbMeterRoomService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbLightInfo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbLightInfo.java new file mode 100644 index 00000000..09a1bcf4 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbLightInfo.java @@ -0,0 +1,66 @@ +package org.dromara.property.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 灯控开关信息对象 tb_light_info + * + * @author lsm + * @since 2025-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("tb_light_info") +public class TbLightInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id") + private Long id; + + /** + * 位置描述 + */ + private String locationRemark; + + /** + * 开关状态(0:关,1:开) + */ + private Boolean isOn; + + /** + * 灯控模块编码 + */ + private Long code; + + /** + * 园区编码 + */ + private Long communityId; + + /** + * 建筑名称 + */ + private Long buildingId; + + /** + * 单元编码 + */ + private Long unitId; + + /** + * 所属楼层ID + */ + private Long floorId; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbLightInfoBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbLightInfoBo.java new file mode 100644 index 00000000..93d4461e --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbLightInfoBo.java @@ -0,0 +1,68 @@ +package org.dromara.property.domain.bo.smartDevicesBo; + +import org.dromara.property.domain.TbLightInfo; +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.*; + +/** + * 灯控开关信息业务对象 tb_light_info + * + * @author lsm + * @since 2025-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = TbLightInfo.class, reverseConvertGenerate = false) +public class TbLightInfoBo extends BaseEntity { + + /** + * 主键id + */ + @NotNull(message = "主键id不能为空", groups = {EditGroup.class}) + private Long id; + + /** + * 位置描述 + */ + @NotBlank(message = "位置描述不能为空", groups = {AddGroup.class, EditGroup.class}) + private String locationRemark; + + /** + * 开关状态(0:关,1:开) + */ + @NotNull(message = "开关状态(0:关,1:开)不能为空", groups = {AddGroup.class, EditGroup.class}) + private Boolean isOn; + + /** + * 灯控模块编码 + */ + @NotNull(message = "灯控模块编码不能为空", groups = {AddGroup.class, EditGroup.class}) + private Long code; + + /** + * 楼层ID + */ + @NotNull(message = "层ID不能为空", groups = {AddGroup.class, EditGroup.class}) + private Long floorId; + + /** + * 园区编码 + */ + private Long communityId; + + /** + * 建筑名称 + */ + private Long buildingId; + + /** + * 单元编码 + */ + private Long unitId; + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterConfigBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterConfigBo.java similarity index 95% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterConfigBo.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterConfigBo.java index c95382e3..b96d76d0 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterConfigBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterConfigBo.java @@ -1,4 +1,4 @@ -package org.dromara.property.domain.bo; +package org.dromara.property.domain.bo.smartDevicesBo; import org.dromara.property.domain.TbMeterConfig; import org.dromara.common.mybatis.core.domain.BaseEntity; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterInfoBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterInfoBo.java similarity index 97% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterInfoBo.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterInfoBo.java index 4730a127..e25ae4fc 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterInfoBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterInfoBo.java @@ -1,4 +1,4 @@ -package org.dromara.property.domain.bo; +package org.dromara.property.domain.bo.smartDevicesBo; import org.dromara.property.domain.TbMeterInfo; import org.dromara.common.mybatis.core.domain.BaseEntity; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterRecordBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterRecordBo.java similarity index 95% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterRecordBo.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterRecordBo.java index 2a672546..a88a08cb 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterRecordBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterRecordBo.java @@ -1,4 +1,4 @@ -package org.dromara.property.domain.bo; +package org.dromara.property.domain.bo.smartDevicesBo; import org.dromara.property.domain.TbMeterRecord; import org.dromara.common.mybatis.core.domain.BaseEntity; @@ -9,7 +9,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; /** * 抄记录业务对象 tb_meter_record diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterRoomBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterRoomBo.java similarity index 94% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterRoomBo.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterRoomBo.java index 9c419aa2..1d986a4b 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbMeterRoomBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/smartDevicesBo/TbMeterRoomBo.java @@ -1,4 +1,4 @@ -package org.dromara.property.domain.bo; +package org.dromara.property.domain.bo.smartDevicesBo; import org.dromara.property.domain.TbMeterRoom; import org.dromara.common.mybatis.core.domain.BaseEntity; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbLightInfoVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbLightInfoVo.java new file mode 100644 index 00000000..ad609103 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbLightInfoVo.java @@ -0,0 +1,87 @@ +package org.dromara.property.domain.vo.smartDevicesVo; + +import org.dromara.property.domain.TbLightInfo; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.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; + + + +/** + * 灯控开关信息视图对象 tb_light_info + * + * @author lsm + * @since 2025-08-19 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = TbLightInfo.class) +public class TbLightInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ExcelProperty(value = "主键id") + private Long id; + + /** + * 位置描述 + */ + @ExcelProperty(value = "位置描述") + private String locationRemark; + + /** + * 开关状态(0:关,1:开) + */ + @ExcelProperty(value = "开关状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=:关,1:开") + private Boolean isOn; + + /** + * 灯控模块编码 + */ + @ExcelProperty(value = "灯控模块编码") + private Long code; + + /** + * 园区编码 + */ + @ExcelProperty(value = "园区编码") + private Long communityId; + + /** + * 建筑名称 + */ + @ExcelProperty(value = "建筑名称") + private Long buildingId; + + /** + * 单元编码 + */ + @ExcelProperty(value = "单元编码") + private Long unitId; + + /** + * 楼层ID + */ + @ExcelProperty(value = "楼层ID") + private Long floorId; + + /** + * 楼层 + */ + @ExcelProperty(value = "楼层") + private String floorName; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterConfigVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterConfigVo.java similarity index 97% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterConfigVo.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterConfigVo.java index 1e9473fc..ba26038e 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterConfigVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterConfigVo.java @@ -1,4 +1,4 @@ -package org.dromara.property.domain.vo; +package org.dromara.property.domain.vo.smartDevicesVo; import org.dromara.property.domain.TbMeterConfig; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterInfoVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterInfoVo.java similarity index 97% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterInfoVo.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterInfoVo.java index 00fe2820..5bd428b8 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterInfoVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterInfoVo.java @@ -1,4 +1,4 @@ -package org.dromara.property.domain.vo; +package org.dromara.property.domain.vo.smartDevicesVo; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterRecordVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterRecordVo.java similarity index 87% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterRecordVo.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterRecordVo.java index 051af3bc..e01494f5 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterRecordVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterRecordVo.java @@ -1,19 +1,15 @@ -package org.dromara.property.domain.vo; +package org.dromara.property.domain.vo.smartDevicesVo; import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; + import org.dromara.property.domain.TbMeterRecord; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.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; - /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterRoomVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterRoomVo.java similarity index 94% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterRoomVo.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterRoomVo.java index 54da82d7..47ca9c6c 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbMeterRoomVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/smartDevicesVo/TbMeterRoomVo.java @@ -1,4 +1,4 @@ -package org.dromara.property.domain.vo; +package org.dromara.property.domain.vo.smartDevicesVo; import org.dromara.property.domain.TbMeterRoom; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbLightInfoMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbLightInfoMapper.java new file mode 100644 index 00000000..d94a0397 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbLightInfoMapper.java @@ -0,0 +1,17 @@ +package org.dromara.property.mapper.smartDevicesMapper; + +import org.apache.ibatis.annotations.Mapper; +import org.dromara.property.domain.TbLightInfo; +import org.dromara.property.domain.vo.smartDevicesVo.TbLightInfoVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 灯控开关信息Mapper接口 + * + * @author lsm + * @since 2025-08-19 + */ +@Mapper +public interface TbLightInfoMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterConfigMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterConfigMapper.java similarity index 73% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterConfigMapper.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterConfigMapper.java index 9b166851..e6f62996 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterConfigMapper.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterConfigMapper.java @@ -1,8 +1,8 @@ -package org.dromara.property.mapper; +package org.dromara.property.mapper.smartDevicesMapper; import org.apache.ibatis.annotations.Mapper; import org.dromara.property.domain.TbMeterConfig; -import org.dromara.property.domain.vo.TbMeterConfigVo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterConfigVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterInfoMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterInfoMapper.java similarity index 68% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterInfoMapper.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterInfoMapper.java index b66f238f..d454c792 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterInfoMapper.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterInfoMapper.java @@ -1,7 +1,7 @@ -package org.dromara.property.mapper; +package org.dromara.property.mapper.smartDevicesMapper; import org.dromara.property.domain.TbMeterInfo; -import org.dromara.property.domain.vo.TbMeterInfoVo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterInfoVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterRecordMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterRecordMapper.java similarity index 69% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterRecordMapper.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterRecordMapper.java index d8677bde..4c227b72 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterRecordMapper.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterRecordMapper.java @@ -1,7 +1,7 @@ -package org.dromara.property.mapper; +package org.dromara.property.mapper.smartDevicesMapper; import org.dromara.property.domain.TbMeterRecord; -import org.dromara.property.domain.vo.TbMeterRecordVo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRecordVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterRoomMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterRoomMapper.java similarity index 73% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterRoomMapper.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterRoomMapper.java index b2c27a7b..d25eb64b 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbMeterRoomMapper.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/smartDevicesMapper/TbMeterRoomMapper.java @@ -1,8 +1,8 @@ -package org.dromara.property.mapper; +package org.dromara.property.mapper.smartDevicesMapper; import org.apache.ibatis.annotations.Mapper; import org.dromara.property.domain.TbMeterRoom; -import org.dromara.property.domain.vo.TbMeterRoomVo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRoomVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbLightInfoServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbLightInfoServiceImpl.java new file mode 100644 index 00000000..f926e4e1 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbLightInfoServiceImpl.java @@ -0,0 +1,146 @@ +package org.dromara.property.service.impl.smartDevicesImpl; + +import cn.hutool.core.lang.Assert; +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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.property.domain.vo.TbFloorVo; +import org.dromara.property.service.ITbFloorService; +import org.springframework.stereotype.Service; +import org.dromara.property.domain.bo.smartDevicesBo.TbLightInfoBo; +import org.dromara.property.domain.vo.smartDevicesVo.TbLightInfoVo; +import org.dromara.property.domain.TbLightInfo; +import org.dromara.property.mapper.smartDevicesMapper.TbLightInfoMapper; +import org.dromara.property.service.smartDevicesService.ITbLightInfoService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 灯控开关信息Service业务层处理 + * + * @author lsm + * @since 2025-08-19 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class TbLightInfoServiceImpl implements ITbLightInfoService { + + private final TbLightInfoMapper baseMapper; + private final ITbFloorService floorService; + + /** + * 查询灯控开关信息 + * + * @param id 主键 + * @return 灯控开关信息 + */ + @Override + public TbLightInfoVo queryById(Long id) { + return baseMapper.selectVoById(id); + } + + /** + * 分页查询灯控开关信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 灯控开关信息分页列表 + */ + @Override + public TableDataInfo queryPageList(TbLightInfoBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + result.getRecords().forEach(r -> r.setFloorName(floorService.queryById(r.getFloorId()).getFloorName())); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的灯控开关信息列表 + * + * @param bo 查询条件 + * @return 灯控开关信息列表 + */ + @Override + public List queryList(TbLightInfoBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(TbLightInfoBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(TbLightInfo::getId); + lqw.eq(StringUtils.isNotBlank(bo.getLocationRemark()), TbLightInfo::getLocationRemark, bo.getLocationRemark()); + lqw.eq(bo.getIsOn() != null, TbLightInfo::getIsOn, bo.getIsOn()); + lqw.eq(bo.getCode() != null, TbLightInfo::getCode, bo.getCode()); + lqw.eq(bo.getCommunityId() != null, TbLightInfo::getCommunityId, bo.getCommunityId()); + lqw.eq(bo.getBuildingId() != null, TbLightInfo::getBuildingId, bo.getBuildingId()); + lqw.eq(bo.getUnitId() != null, TbLightInfo::getUnitId, bo.getUnitId()); + lqw.eq(bo.getFloorId() != null, TbLightInfo::getFloorId, bo.getFloorId()); + return lqw; + } + + /** + * 新增灯控开关信息 + * + * @param bo 灯控开关信息 + * @return 是否新增成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(TbLightInfoBo bo) { + TbLightInfo add = MapstructUtils.convert(bo, TbLightInfo.class); + assert add != null; + TbFloorVo floor = floorService.queryById(add.getFloorId()); + add.setBuildingId(floor.getBuildingId()); + add.setCommunityId(floor.getCommunityId()); + boolean flag = baseMapper.insert(add) > 0; + Assert.isTrue(flag, "新增灯控开关信息失败"); + return flag; + } + + /** + * 修改灯控开关信息 + * + * @param bo 灯控开关信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(TbLightInfoBo bo) { + TbLightInfo update = MapstructUtils.convert(bo, TbLightInfo.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(TbLightInfo entity) { + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除灯控开关信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterConfigServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterConfigServiceImpl.java similarity index 92% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterConfigServiceImpl.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterConfigServiceImpl.java index 063f2fa6..79cb1773 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterConfigServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterConfigServiceImpl.java @@ -1,4 +1,4 @@ -package org.dromara.property.service.impl; +package org.dromara.property.service.impl.smartDevicesImpl; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,11 +9,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import org.dromara.property.domain.bo.TbMeterConfigBo; -import org.dromara.property.domain.vo.TbMeterConfigVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterConfigBo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterConfigVo; import org.dromara.property.domain.TbMeterConfig; -import org.dromara.property.mapper.TbMeterConfigMapper; -import org.dromara.property.service.ITbMeterConfigService; +import org.dromara.property.mapper.smartDevicesMapper.TbMeterConfigMapper; +import org.dromara.property.service.smartDevicesService.ITbMeterConfigService; import java.util.List; import java.util.Map; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterInfoServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterInfoServiceImpl.java similarity index 92% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterInfoServiceImpl.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterInfoServiceImpl.java index 060996a5..2ee24780 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterInfoServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterInfoServiceImpl.java @@ -1,4 +1,4 @@ -package org.dromara.property.service.impl; +package org.dromara.property.service.impl.smartDevicesImpl; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -10,11 +10,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import org.dromara.property.domain.bo.TbMeterInfoBo; -import org.dromara.property.domain.vo.TbMeterInfoVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterInfoBo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterInfoVo; import org.dromara.property.domain.TbMeterInfo; -import org.dromara.property.mapper.TbMeterInfoMapper; -import org.dromara.property.service.ITbMeterInfoService; +import org.dromara.property.mapper.smartDevicesMapper.TbMeterInfoMapper; +import org.dromara.property.service.smartDevicesService.ITbMeterInfoService; import java.util.List; import java.util.Map; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterRecordServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterRecordServiceImpl.java similarity index 92% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterRecordServiceImpl.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterRecordServiceImpl.java index 011be14b..de4d9fd7 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterRecordServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterRecordServiceImpl.java @@ -1,4 +1,4 @@ -package org.dromara.property.service.impl; +package org.dromara.property.service.impl.smartDevicesImpl; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -10,11 +10,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import org.dromara.property.domain.bo.TbMeterRecordBo; -import org.dromara.property.domain.vo.TbMeterRecordVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterRecordBo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRecordVo; import org.dromara.property.domain.TbMeterRecord; -import org.dromara.property.mapper.TbMeterRecordMapper; -import org.dromara.property.service.ITbMeterRecordService; +import org.dromara.property.mapper.smartDevicesMapper.TbMeterRecordMapper; +import org.dromara.property.service.smartDevicesService.ITbMeterRecordService; import java.util.List; import java.util.Map; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterRoomServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterRoomServiceImpl.java similarity index 91% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterRoomServiceImpl.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterRoomServiceImpl.java index 18774498..2c4ebdda 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbMeterRoomServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbMeterRoomServiceImpl.java @@ -1,4 +1,4 @@ -package org.dromara.property.service.impl; +package org.dromara.property.service.impl.smartDevicesImpl; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,11 +9,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import org.dromara.property.domain.bo.TbMeterRoomBo; -import org.dromara.property.domain.vo.TbMeterRoomVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterRoomBo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRoomVo; import org.dromara.property.domain.TbMeterRoom; -import org.dromara.property.mapper.TbMeterRoomMapper; -import org.dromara.property.service.ITbMeterRoomService; +import org.dromara.property.mapper.smartDevicesMapper.TbMeterRoomMapper; +import org.dromara.property.service.smartDevicesService.ITbMeterRoomService; import java.util.List; import java.util.Map; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbLightInfoService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbLightInfoService.java new file mode 100644 index 00000000..4816e290 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbLightInfoService.java @@ -0,0 +1,68 @@ +package org.dromara.property.service.smartDevicesService; + +import org.dromara.property.domain.vo.smartDevicesVo.TbLightInfoVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbLightInfoBo; +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 lsm + * @since 2025-08-19 + */ +public interface ITbLightInfoService { + + /** + * 查询灯控开关信息 + * + * @param id 主键 + * @return 灯控开关信息 + */ + TbLightInfoVo queryById(Long id); + + /** + * 分页查询灯控开关信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 灯控开关信息分页列表 + */ + TableDataInfo queryPageList(TbLightInfoBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的灯控开关信息列表 + * + * @param bo 查询条件 + * @return 灯控开关信息列表 + */ + List queryList(TbLightInfoBo bo); + + /** + * 新增灯控开关信息 + * + * @param bo 灯控开关信息 + * @return 是否新增成功 + */ + Boolean insertByBo(TbLightInfoBo bo); + + /** + * 修改灯控开关信息 + * + * @param bo 灯控开关信息 + * @return 是否修改成功 + */ + Boolean updateByBo(TbLightInfoBo bo); + + /** + * 校验并批量删除灯控开关信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterConfigService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterConfigService.java similarity index 88% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterConfigService.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterConfigService.java index 8a71aa7d..12f66388 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterConfigService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterConfigService.java @@ -1,7 +1,7 @@ -package org.dromara.property.service; +package org.dromara.property.service.smartDevicesService; -import org.dromara.property.domain.vo.TbMeterConfigVo; -import org.dromara.property.domain.bo.TbMeterConfigBo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterConfigVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterConfigBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterInfoService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterInfoService.java similarity index 88% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterInfoService.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterInfoService.java index 447408e0..fbcc807e 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterInfoService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterInfoService.java @@ -1,8 +1,7 @@ -package org.dromara.property.service; +package org.dromara.property.service.smartDevicesService; -import org.dromara.property.domain.TbMeterInfo; -import org.dromara.property.domain.vo.TbMeterInfoVo; -import org.dromara.property.domain.bo.TbMeterInfoBo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterInfoVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterInfoBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterRecordService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterRecordService.java similarity index 87% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterRecordService.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterRecordService.java index 792aa5e7..475e0e18 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterRecordService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterRecordService.java @@ -1,8 +1,7 @@ -package org.dromara.property.service; +package org.dromara.property.service.smartDevicesService; -import org.dromara.property.domain.TbMeterRecord; -import org.dromara.property.domain.vo.TbMeterRecordVo; -import org.dromara.property.domain.bo.TbMeterRecordBo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRecordVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterRecordBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterRoomService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterRoomService.java similarity index 88% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterRoomService.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterRoomService.java index 380f5077..ff895c8b 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbMeterRoomService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbMeterRoomService.java @@ -1,7 +1,7 @@ -package org.dromara.property.service; +package org.dromara.property.service.smartDevicesService; -import org.dromara.property.domain.vo.TbMeterRoomVo; -import org.dromara.property.domain.bo.TbMeterRoomBo; +import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRoomVo; +import org.dromara.property.domain.bo.smartDevicesBo.TbMeterRoomBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery;