diff --git a/ruoyi-api/sis-api/src/main/java/org/dromara/sis/api/RemoteDeviceService.java b/ruoyi-api/sis-api/src/main/java/org/dromara/sis/api/RemoteDeviceService.java index 95929d84..c8f5a62c 100644 --- a/ruoyi-api/sis-api/src/main/java/org/dromara/sis/api/RemoteDeviceService.java +++ b/ruoyi-api/sis-api/src/main/java/org/dromara/sis/api/RemoteDeviceService.java @@ -25,6 +25,12 @@ public interface RemoteDeviceService { */ Boolean updateDeviceState(RemoteSisDeviceManage item); + /** + * 根据id查询的设备信息 + * + */ + RemoteSisDeviceManage queryDeviceById(Long id); + /** * 查询设备通道信息 * diff --git a/ruoyi-api/sis-api/src/main/java/org/dromara/sis/api/domain/RemoteSisDeviceManage.java b/ruoyi-api/sis-api/src/main/java/org/dromara/sis/api/domain/RemoteSisDeviceManage.java index 8cd5247b..8aab67ac 100644 --- a/ruoyi-api/sis-api/src/main/java/org/dromara/sis/api/domain/RemoteSisDeviceManage.java +++ b/ruoyi-api/sis-api/src/main/java/org/dromara/sis/api/domain/RemoteSisDeviceManage.java @@ -2,11 +2,17 @@ package org.dromara.sis.api.domain; import lombok.Data; +import java.io.Serial; +import java.io.Serializable; + /** * 设备远程调用对象 */ @Data -public class RemoteSisDeviceManage { +public class RemoteSisDeviceManage implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; /** * 主键id @@ -63,8 +69,26 @@ public class RemoteSisDeviceManage { */ private Long groupId; - /** - * 租户编号 - */ private String tenantId; + + /** + * 楼层id + */ + private Long floorId; + + /** + * 是否支持人脸比对 + */ + private Boolean isComparison; + + /** + * 设备经度 + */ + private Double lon; + + /** + * 设备维度 + */ + private Double lat; + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AppFunListController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AppFunListController.java new file mode 100644 index 00000000..483ba6ca --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AppFunListController.java @@ -0,0 +1,107 @@ +package org.dromara.property.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +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.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.property.domain.bo.AppFunListBo; +import org.dromara.property.domain.vo.AppFunListVo; +import org.dromara.property.service.IAppFunListService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * APP功能列表 + * 前端访问路由地址为:/system/funList + * + * @author mocheng + * @date 2025-07-23 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/funList") +public class AppFunListController extends BaseController { + + private final IAppFunListService appFunListService; + + /** + * 查询APP功能列表列表 + */ + @SaCheckPermission("system:funList:list") + @GetMapping("/list") + public TableDataInfo list(AppFunListBo bo, PageQuery pageQuery) { + return appFunListService.queryPageList(bo, pageQuery); + } + + /** + * 导出APP功能列表列表 + */ + @SaCheckPermission("system:funList:export") + @Log(title = "APP功能列表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(AppFunListBo bo, HttpServletResponse response) { + List list = appFunListService.queryList(bo); + ExcelUtil.exportExcel(list, "APP功能列表", AppFunListVo.class, response); + } + + /** + * 获取APP功能列表详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("system:funList:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return R.ok(appFunListService.queryById(id)); + } + + /** + * 新增APP功能列表 + */ + @SaCheckPermission("system:funList:add") + @Log(title = "APP功能列表", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody AppFunListBo bo) { + return toAjax(appFunListService.insertByBo(bo)); + } + + /** + * 修改APP功能列表 + */ + @SaCheckPermission("system:funList:edit") + @Log(title = "APP功能列表", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody AppFunListBo bo) { + return toAjax(appFunListService.updateByBo(bo)); + } + + /** + * 删除APP功能列表 + * + * @param ids 主键串 + */ + @SaCheckPermission("system:funList:remove") + @Log(title = "APP功能列表", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("ids") Long[] ids) { + return toAjax(appFunListService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementAreaController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementAreaController.java new file mode 100644 index 00000000..1c3c224a --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementAreaController.java @@ -0,0 +1,106 @@ +package org.dromara.property.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.property.domain.vo.AttendanceArrangementAreaVo; +import org.dromara.property.domain.bo.AttendanceArrangementAreaBo; +import org.dromara.property.service.IAttendanceArrangementAreaService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 区域排班中间 + * 前端访问路由地址为:/property/arrangementArea + * + * @author LionLi + * @date 2025-08-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/arrangementArea") +public class AttendanceArrangementAreaController extends BaseController { + + private final IAttendanceArrangementAreaService attendanceArrangementAreaService; + + /** + * 查询区域排班中间列表 + */ + @SaCheckPermission("property:arrangementArea:list") + @GetMapping("/list") + public TableDataInfo list(AttendanceArrangementAreaBo bo, PageQuery pageQuery) { + return attendanceArrangementAreaService.queryPageList(bo, pageQuery); + } + + /** + * 导出区域排班中间列表 + */ + @SaCheckPermission("property:arrangementArea:export") + @Log(title = "区域排班中间", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(AttendanceArrangementAreaBo bo, HttpServletResponse response) { + List list = attendanceArrangementAreaService.queryList(bo); + ExcelUtil.exportExcel(list, "区域排班中间", AttendanceArrangementAreaVo.class, response); + } + + /** + * 获取区域排班中间详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("property:arrangementArea:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return R.ok(attendanceArrangementAreaService.queryById(id)); + } + + /** + * 新增区域排班中间 + */ + @SaCheckPermission("property:arrangementArea:add") + @Log(title = "区域排班中间", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody AttendanceArrangementAreaBo bo) { + return toAjax(attendanceArrangementAreaService.insertByBo(bo)); + } + + /** + * 修改区域排班中间 + */ + @SaCheckPermission("property:arrangementArea:edit") + @Log(title = "区域排班中间", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody AttendanceArrangementAreaBo bo) { + return toAjax(attendanceArrangementAreaService.updateByBo(bo)); + } + + /** + * 删除区域排班中间 + * + * @param ids 主键串 + */ + @SaCheckPermission("property:arrangementArea:remove") + @Log(title = "区域排班中间", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("ids") Long[] ids) { + return toAjax(attendanceArrangementAreaService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/PopularActivitiesController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/PopularActivitiesController.java new file mode 100644 index 00000000..69d0b1f9 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/PopularActivitiesController.java @@ -0,0 +1,106 @@ +package org.dromara.property.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.property.domain.vo.PopularActivitiesVo; +import org.dromara.property.domain.bo.PopularActivitiesBo; +import org.dromara.property.service.IPopularActivitiesService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 热门活动 + * 前端访问路由地址为:/property/activities + * + * @author LionLi + * @date 2025-08-19 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/activities") +public class PopularActivitiesController extends BaseController { + + private final IPopularActivitiesService popularActivitiesService; + + /** + * 查询热门活动列表 + */ + // @SaCheckPermission("property:activities:list") + @GetMapping("/list") + public TableDataInfo list(PopularActivitiesBo bo, PageQuery pageQuery) { + return popularActivitiesService.queryPageList(bo, pageQuery); + } + + /** + * 导出热门活动列表 + */ + @SaCheckPermission("property:activities:export") + @Log(title = "热门活动", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(PopularActivitiesBo bo, HttpServletResponse response) { + List list = popularActivitiesService.queryList(bo); + ExcelUtil.exportExcel(list, "热门活动", PopularActivitiesVo.class, response); + } + + /** + * 获取热门活动详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("property:activities:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return R.ok(popularActivitiesService.queryById(id)); + } + + /** + * 新增热门活动 + */ + @SaCheckPermission("property:activities:add") + @Log(title = "热门活动", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody PopularActivitiesBo bo) { + return toAjax(popularActivitiesService.insertByBo(bo)); + } + + /** + * 修改热门活动 + */ + @SaCheckPermission("property:activities:edit") + @Log(title = "热门活动", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody PopularActivitiesBo bo) { + return toAjax(popularActivitiesService.updateByBo(bo)); + } + + /** + * 删除热门活动 + * + * @param ids 主键串 + */ + @SaCheckPermission("property:activities:remove") + @Log(title = "热门活动", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("ids") Long[] ids) { + return toAjax(popularActivitiesService.deleteWithValidByIds(List.of(ids), true)); + } +} 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..65622f90 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/smartDevicesController/TbLightInfoController.java @@ -0,0 +1,116 @@ +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)); + } + + /** + * 灯开关控制 + * + * @param bo bean + */ + @PostMapping("/switch") + public R switchSingleLight(@RequestBody TbLightInfoBo bo) { + return toAjax(tbLightInfoService.switchSingleLight(bo)); + } +} 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/AppFunList.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AppFunList.java new file mode 100644 index 00000000..bf3d4c49 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AppFunList.java @@ -0,0 +1,67 @@ +package org.dromara.property.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * APP功能列表对象 app_fun_list + * + * @author mocheng + * @date 2025-07-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("app_fun_list") +public class AppFunList extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 角色id + */ + private Long roleid; + + /** + * 名称 + */ + private String name; + + /** + * icon + */ + private String icon; + + /** + * url + */ + private String url; + + /** + * 创建人id + */ + private Long createById; + + /** + * 更新人id + */ + private Long updateById; + + /** + * 搜索值 + */ + private String searchValue; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceArrangementArea.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceArrangementArea.java new file mode 100644 index 00000000..19dc1965 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceArrangementArea.java @@ -0,0 +1,41 @@ +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; + +/** + * 区域排班中间对象 attendance_arrangement_area + * + * @author LionLi + * @date 2025-08-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("attendance_arrangement_area") +public class AttendanceArrangementArea extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id") + private Long id; + + /** + * 区域id + */ + private Long areaId; + + /** + * 排班id + */ + private Long shceduleId; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/PopularActivities.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/PopularActivities.java new file mode 100644 index 00000000..ca4ea2c9 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/PopularActivities.java @@ -0,0 +1,68 @@ +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.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 热门活动对象 popular_activities + * + * @author LionLi + * @date 2025-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("popular_activities") +public class PopularActivities extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 标题 + */ + private String title; + + /** + * 头部照片 + */ + private String headImgUrl; + + /** + * 开始时间 + */ + private Date startTime; + + /** + * 结束时间 + */ + private Date endTime; + + /** + * 活动内容 + */ + private String activeContent; + + /** + * 状态(1.未开始 2.进行中 3.已结束) + */ + private String status; + + /** + * 搜索值 + */ + private String searchValue; + + +} 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/AppFunListBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AppFunListBo.java new file mode 100644 index 00000000..24e8d0a1 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AppFunListBo.java @@ -0,0 +1,49 @@ +package org.dromara.property.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.property.domain.AppFunList; + +/** + * APP功能列表业务对象 app_fun_list + * + * @author mocheng + * @date 2025-07-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = AppFunList.class, reverseConvertGenerate = false) +public class AppFunListBo extends BaseEntity { + + /** + * 主键 + */ + @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 角色id + */ + private Long roleid; + + /** + * 名称 + */ + private String name; + + /** + * icon + */ + private String icon; + + /** + * url + */ + private String url; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementAreaBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementAreaBo.java new file mode 100644 index 00000000..3a1d8bcc --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementAreaBo.java @@ -0,0 +1,40 @@ +package org.dromara.property.domain.bo; + +import org.dromara.property.domain.AttendanceArrangementArea; +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.*; + +/** + * 区域排班中间业务对象 attendance_arrangement_area + * + * @author LionLi + * @date 2025-08-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = AttendanceArrangementArea.class, reverseConvertGenerate = false) +public class AttendanceArrangementAreaBo extends BaseEntity { + + /** + * 主键id + */ + @NotNull(message = "主键id不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 区域id + */ + private Long areaId; + + /** + * 排班id + */ + private Long shceduleId; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementBo.java index 8ea4e355..8de8f3eb 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementBo.java @@ -103,6 +103,7 @@ public class AttendanceArrangementBo extends BaseEntity { */ private List scheduleCycleList; + private List areaId; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/PopularActivitiesBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/PopularActivitiesBo.java new file mode 100644 index 00000000..d04e39fc --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/PopularActivitiesBo.java @@ -0,0 +1,72 @@ +package org.dromara.property.domain.bo; + +import org.dromara.property.domain.PopularActivities; +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.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 热门活动业务对象 popular_activities + * + * @author LionLi + * @date 2025-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = PopularActivities.class, reverseConvertGenerate = false) +public class PopularActivitiesBo extends BaseEntity { + + /** + * 主键 + */ + @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 标题 + */ + @NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class }) + private String title; + + /** + * 头部照片 + */ + private String headImgUrl; + + /** + * 开始时间 + */ + @NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date startTime; + + /** + * 结束时间 + */ + @NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date endTime; + + /** + * 活动内容 + */ + @NotBlank(message = "活动内容不能为空", groups = { AddGroup.class, EditGroup.class }) + private String activeContent; + + /** + * 状态(1.未开始 2.进行中 3.已结束) + */ + //@NotBlank(message = "状态(1.未开始 2.进行中 3.已结束)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String status; + + /** + * 搜索值 + */ + private String searchValue; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbVisitorManagementBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbVisitorManagementBo.java index 8889c560..fa55e6ff 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbVisitorManagementBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbVisitorManagementBo.java @@ -58,7 +58,7 @@ public class TbVisitorManagementBo extends BaseEntity { /** * 拜访事由 */ - @NotBlank(message = "拜访事由不能为空", groups = { AddGroup.class, EditGroup.class }) +// @NotBlank(message = "拜访事由不能为空", groups = { AddGroup.class, EditGroup.class }) private String visitingReason; //@NotNull(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class }) @@ -93,7 +93,7 @@ public class TbVisitorManagementBo extends BaseEntity { /** * 预约车位(0:预约,1:不预约) */ - @NotNull(message = "预约车位(0:预约,1:不预约)不能为空", groups = { AddGroup.class, EditGroup.class }) +// @NotNull(message = "预约车位(0:预约,1:不预约)不能为空", groups = { AddGroup.class, EditGroup.class }) private Long bookingParkingSpace; /** @@ -104,7 +104,7 @@ public class TbVisitorManagementBo extends BaseEntity { /** * 人脸图片 */ - @NotBlank(message = "人脸图片不能为空", groups = { AddGroup.class, EditGroup.class }) +// @NotBlank(message = "人脸图片不能为空", groups = { AddGroup.class, EditGroup.class }) private String facePictures; /** 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/enums/ActivitiesStatusEnum.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/ActivitiesStatusEnum.java new file mode 100644 index 00000000..fab5d57f --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/ActivitiesStatusEnum.java @@ -0,0 +1,41 @@ +package org.dromara.property.domain.enums; + +import lombok.Getter; + +/** + * @Author:yuyongle + * @Date:2025/7/4 10:35 + * @Description:活动状态枚举 + **/ +@Getter +public enum ActivitiesStatusEnum { + /** + * 未开始 + */ + NOTSTARTED("未开始", "1"), + /** + * 待提货 + */ + INPROGRESS("待提货", "2"), + /** + * 已结束 + */ + HASENDED("已结束", "3"); + + + private final String name; + private final String value; + + ActivitiesStatusEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return this.name; + } + + public String getValue() { + return this.value; + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AppFunListVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AppFunListVo.java new file mode 100644 index 00000000..b589133b --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AppFunListVo.java @@ -0,0 +1,66 @@ +package org.dromara.property.domain.vo; + +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; +import org.dromara.property.domain.AppFunList; + +import java.io.Serial; +import java.io.Serializable; + + +/** + * APP功能列表视图对象 app_fun_list + * + * @author mocheng + * @date 2025-07-23 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = AppFunList.class) +public class AppFunListVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 角色id + */ + @ExcelProperty(value = "角色id") + private Long roleid; + + /** + * 角色id + */ + @ExcelProperty(value = "角色id") + private String roleName; + /** + * 名称 + */ + @ExcelProperty(value = "名称") + private String name; + + /** + * icon + */ + @Translation(type = TransConstant.OSS_ID_TO_URL) + @ExcelProperty(value = "icon") + private String icon; + + /** + * url + */ + @ExcelProperty(value = "url") + private String url; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceAreaDeviceVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceAreaDeviceVo.java index 90f0dc0e..79f8c15e 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceAreaDeviceVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceAreaDeviceVo.java @@ -7,6 +7,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.sis.api.domain.RemoteSisDeviceManage; import java.io.Serial; import java.io.Serializable; @@ -47,4 +48,5 @@ public class AttendanceAreaDeviceVo implements Serializable { private Long deviceManageId; + private RemoteSisDeviceManage remoteSisDeviceManage; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceAreaVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceAreaVo.java index 8536ed99..0528524d 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceAreaVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceAreaVo.java @@ -53,7 +53,7 @@ public class AttendanceAreaVo implements Serializable { @ExcelProperty(value = "备注") private String reamark; - private List areaDevice; + private List areaDevice; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementAreaVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementAreaVo.java new file mode 100644 index 00000000..09340d88 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementAreaVo.java @@ -0,0 +1,50 @@ +package org.dromara.property.domain.vo; + +import org.dromara.property.domain.AttendanceArrangementArea; +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; + + + +/** + * 区域排班中间视图对象 attendance_arrangement_area + * + * @author LionLi + * @date 2025-08-18 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = AttendanceArrangementArea.class) +public class AttendanceArrangementAreaVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ExcelProperty(value = "主键id") + private Long id; + + /** + * 区域id + */ + @ExcelProperty(value = "区域id") + private Long areaId; + + /** + * 排班id + */ + @ExcelProperty(value = "排班id") + private Long shceduleId; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java index f53ae519..82007f55 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java @@ -96,7 +96,7 @@ public class AttendanceArrangementVo implements Serializable { //排班制 private AttendanceScheduleCycle scheduleCycle; - private AttendanceArea attendanceArea; + private List areaList; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceUserGroupVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceUserGroupVo.java index 2451103f..3185512e 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceUserGroupVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceUserGroupVo.java @@ -11,6 +11,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serial; import java.io.Serializable; import java.time.LocalDate; +import java.util.List; /** @@ -89,5 +90,8 @@ public class AttendanceUserGroupVo implements Serializable { private AttendanceArea attendanceArea; + private List attendanceArrangementAreaList; + + private List attendanceAreaList; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/PopularActivitiesVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/PopularActivitiesVo.java new file mode 100644 index 00000000..cf80f872 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/PopularActivitiesVo.java @@ -0,0 +1,93 @@ +package org.dromara.property.domain.vo; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.property.domain.PopularActivities; +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; + + + +/** + * 热门活动视图对象 popular_activities + * + * @author LionLi + * @date 2025-08-19 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = PopularActivities.class) +public class PopularActivitiesVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 标题 + */ + @ExcelProperty(value = "标题") + private String title; + + /** + * 头部照片 + */ + @ExcelProperty(value = "头部照片") + private String headImgUrl; + + /** + * 开始时间 + */ + @ExcelProperty(value = "开始时间") + private Date startTime; + + /** + * 结束时间 + */ + @ExcelProperty(value = "结束时间") + private Date endTime; + + /** + * 活动内容 + */ + @ExcelProperty(value = "活动内容") + private String activeContent; + + /** + * 状态(1.未开始 2.进行中 3.已结束) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "pro_activity_status") + private String status; + /** + * 创建者 + */ + private Long createBy; + /** + * 创建者 + */ + private String createName; + /** + * 搜索值 + */ + @ExcelProperty(value = "搜索值") + private String searchValue; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbVisitorManagementVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbVisitorManagementVo.java index 4f1bd4f6..4e57dd60 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbVisitorManagementVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbVisitorManagementVo.java @@ -137,6 +137,8 @@ public class TbVisitorManagementVo implements Serializable { @ExcelProperty(value = "更新时间") private Date updateTime; + private String url; + } 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/AppFunListMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AppFunListMapper.java new file mode 100644 index 00000000..6c248f84 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AppFunListMapper.java @@ -0,0 +1,15 @@ +package org.dromara.property.mapper; + +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.property.domain.AppFunList; +import org.dromara.property.domain.vo.AppFunListVo; + +/** + * APP功能列表Mapper接口 + * + * @author mocheng + * @date 2025-07-23 + */ +public interface AppFunListMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementAreaMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementAreaMapper.java new file mode 100644 index 00000000..91975d83 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementAreaMapper.java @@ -0,0 +1,15 @@ +package org.dromara.property.mapper; + +import org.dromara.property.domain.AttendanceArrangementArea; +import org.dromara.property.domain.vo.AttendanceArrangementAreaVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 区域排班中间Mapper接口 + * + * @author LionLi + * @date 2025-08-18 + */ +public interface AttendanceArrangementAreaMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/PopularActivitiesMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/PopularActivitiesMapper.java new file mode 100644 index 00000000..ebe895a5 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/PopularActivitiesMapper.java @@ -0,0 +1,15 @@ +package org.dromara.property.mapper; + +import org.dromara.property.domain.PopularActivities; +import org.dromara.property.domain.vo.PopularActivitiesVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 热门活动Mapper接口 + * + * @author LionLi + * @date 2025-08-19 + */ +public interface PopularActivitiesMapper extends BaseMapperPlus { + +} 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/IAppFunListService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAppFunListService.java new file mode 100644 index 00000000..f68e7359 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAppFunListService.java @@ -0,0 +1,68 @@ +package org.dromara.property.service; + +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.property.domain.bo.AppFunListBo; +import org.dromara.property.domain.vo.AppFunListVo; + +import java.util.Collection; +import java.util.List; + +/** + * APP功能列表Service接口 + * + * @author mocheng + * @date 2025-07-23 + */ +public interface IAppFunListService { + + /** + * 查询APP功能列表 + * + * @param id 主键 + * @return APP功能列表 + */ + AppFunListVo queryById(Long id); + + /** + * 分页查询APP功能列表列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return APP功能列表分页列表 + */ + TableDataInfo queryPageList(AppFunListBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的APP功能列表列表 + * + * @param bo 查询条件 + * @return APP功能列表列表 + */ + List queryList(AppFunListBo bo); + + /** + * 新增APP功能列表 + * + * @param bo APP功能列表 + * @return 是否新增成功 + */ + Boolean insertByBo(AppFunListBo bo); + + /** + * 修改APP功能列表 + * + * @param bo APP功能列表 + * @return 是否修改成功 + */ + Boolean updateByBo(AppFunListBo bo); + + /** + * 校验并批量删除APP功能列表信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementAreaService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementAreaService.java new file mode 100644 index 00000000..d389dc15 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementAreaService.java @@ -0,0 +1,69 @@ +package org.dromara.property.service; + +import org.dromara.property.domain.AttendanceArrangementArea; +import org.dromara.property.domain.vo.AttendanceArrangementAreaVo; +import org.dromara.property.domain.bo.AttendanceArrangementAreaBo; +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 LionLi + * @date 2025-08-18 + */ +public interface IAttendanceArrangementAreaService { + + /** + * 查询区域排班中间 + * + * @param id 主键 + * @return 区域排班中间 + */ + AttendanceArrangementAreaVo queryById(Long id); + + /** + * 分页查询区域排班中间列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 区域排班中间分页列表 + */ + TableDataInfo queryPageList(AttendanceArrangementAreaBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的区域排班中间列表 + * + * @param bo 查询条件 + * @return 区域排班中间列表 + */ + List queryList(AttendanceArrangementAreaBo bo); + + /** + * 新增区域排班中间 + * + * @param bo 区域排班中间 + * @return 是否新增成功 + */ + Boolean insertByBo(AttendanceArrangementAreaBo bo); + + /** + * 修改区域排班中间 + * + * @param bo 区域排班中间 + * @return 是否修改成功 + */ + Boolean updateByBo(AttendanceArrangementAreaBo 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/IPopularActivitiesService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IPopularActivitiesService.java new file mode 100644 index 00000000..0ffdba81 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IPopularActivitiesService.java @@ -0,0 +1,69 @@ +package org.dromara.property.service; + +import org.dromara.property.domain.PopularActivities; +import org.dromara.property.domain.vo.PopularActivitiesVo; +import org.dromara.property.domain.bo.PopularActivitiesBo; +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 LionLi + * @date 2025-08-19 + */ +public interface IPopularActivitiesService { + + /** + * 查询热门活动 + * + * @param id 主键 + * @return 热门活动 + */ + PopularActivitiesVo queryById(Long id); + + /** + * 分页查询热门活动列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 热门活动分页列表 + */ + TableDataInfo queryPageList(PopularActivitiesBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的热门活动列表 + * + * @param bo 查询条件 + * @return 热门活动列表 + */ + List queryList(PopularActivitiesBo bo); + + /** + * 新增热门活动 + * + * @param bo 热门活动 + * @return 是否新增成功 + */ + Boolean insertByBo(PopularActivitiesBo bo); + + /** + * 修改热门活动 + * + * @param bo 热门活动 + * @return 是否修改成功 + */ + Boolean updateByBo(PopularActivitiesBo 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/IServiceWorkOrdersService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServiceWorkOrdersService.java index d27a8d20..c7ac8752 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServiceWorkOrdersService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServiceWorkOrdersService.java @@ -11,6 +11,7 @@ import org.dromara.property.domain.vo.ServiceWorkOrdersVo; import java.util.Collection; import java.util.List; +import java.util.Map; /** * 【工单处理】Service接口 @@ -87,4 +88,10 @@ public interface IServiceWorkOrdersService { */ Boolean insertMServiceWorkOrdersBo(MServiceWorkOrdersBo bo); + /** + * 查询工单处理人枚举 + * @param type + * @return + */ + List> getServiceWorkOrdersHandler(String type); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AppFunListServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AppFunListServiceImpl.java new file mode 100644 index 00000000..42912b25 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AppFunListServiceImpl.java @@ -0,0 +1,142 @@ +package org.dromara.property.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.property.domain.AppFunList; +import org.dromara.property.domain.bo.AppFunListBo; +import org.dromara.property.domain.vo.AppFunListVo; +import org.dromara.property.mapper.AppFunListMapper; +import org.dromara.property.service.IAppFunListService; +import org.dromara.system.api.RemoteUserService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * APP功能列表Service业务层处理 + * + * @author mocheng + * @date 2025-07-23 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class AppFunListServiceImpl implements IAppFunListService { + + private final AppFunListMapper baseMapper; + + @DubboReference + private final RemoteUserService remoteUserService; + + + /** + * 查询APP功能列表 + * + * @param id 主键 + * @return APP功能列表 + */ + @Override + public AppFunListVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询APP功能列表列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return APP功能列表分页列表 + */ + @Override + public TableDataInfo queryPageList(AppFunListBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + result.getRecords().forEach(r -> r.setRoleName(remoteUserService.selectUserNameById(r.getRoleid()))); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的APP功能列表列表 + * + * @param bo 查询条件 + * @return APP功能列表列表 + */ + @Override + public List queryList(AppFunListBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(AppFunListBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(AppFunList::getId); + lqw.eq(bo.getRoleid() != null, AppFunList::getRoleid, bo.getRoleid()); + lqw.like(StringUtils.isNotBlank(bo.getName()), AppFunList::getName, bo.getName()); + lqw.eq(StringUtils.isNotBlank(bo.getIcon()), AppFunList::getIcon, bo.getIcon()); + lqw.eq(StringUtils.isNotBlank(bo.getUrl()), AppFunList::getUrl, bo.getUrl()); + return lqw; + } + + /** + * 新增APP功能列表 + * + * @param bo APP功能列表 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(AppFunListBo bo) { + AppFunList add = MapstructUtils.convert(bo, AppFunList.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改APP功能列表 + * + * @param bo APP功能列表 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(AppFunListBo bo) { + AppFunList update = MapstructUtils.convert(bo, AppFunList.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(AppFunList entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除APP功能列表信息 + * + * @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/AttendanceAreaServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceAreaServiceImpl.java index ea1edd95..c368f2ab 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceAreaServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceAreaServiceImpl.java @@ -1,29 +1,31 @@ package org.dromara.property.service.impl; -import cn.hutool.core.util.ObjectUtil; -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 com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.dromara.property.domain.AttendanceAreaDevice; -import org.dromara.property.mapper.AttendanceAreaDeviceMapper; -import org.springframework.stereotype.Service; -import org.dromara.property.domain.bo.AttendanceAreaBo; -import org.dromara.property.domain.vo.AttendanceAreaVo; +import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.property.domain.AttendanceArea; +import org.dromara.property.domain.AttendanceAreaDevice; +import org.dromara.property.domain.bo.AttendanceAreaBo; +import org.dromara.property.domain.vo.AttendanceAreaDeviceVo; +import org.dromara.property.domain.vo.AttendanceAreaVo; +import org.dromara.property.mapper.AttendanceAreaDeviceMapper; import org.dromara.property.mapper.AttendanceAreaMapper; import org.dromara.property.service.IAttendanceAreaService; +import org.dromara.sis.api.RemoteDeviceService; +import org.dromara.sis.api.domain.RemoteSisDeviceManage; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; /** * 区域区域管理Service业务层处理 @@ -40,6 +42,10 @@ public class AttendanceAreaServiceImpl implements IAttendanceAreaService { private final AttendanceAreaDeviceMapper areaDeviceMapper; +// private TdDeviceTypeServiceImpl deviceTypeService; + + @DubboReference + private RemoteDeviceService remoteDeviceService; /** * 查询区域区域管理 * @@ -47,7 +53,7 @@ public class AttendanceAreaServiceImpl implements IAttendanceAreaService { * @return 区域区域管理 */ @Override - public AttendanceAreaVo queryById(Long id){ + public AttendanceAreaVo queryById(Long id) { return baseMapper.selectVoById(id); } @@ -64,11 +70,17 @@ public class AttendanceAreaServiceImpl implements IAttendanceAreaService { Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page attendanceAreaVoPage = result.setRecords(result.getRecords().stream().map(vo -> { - //获取areaId - Long areaId = vo.getId(); - //根据areaId查询中间表数据 - List attendanceAreaDeviceList = areaDeviceMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceAreaDevice::getAreaId, areaId)); - vo.setAreaDevice(attendanceAreaDeviceList); + //获取areaId + Long areaId = vo.getId(); + //根据areaId查询中间表数据 + List attendanceAreaDeviceList =areaDeviceMapper.selectVoList(Wrappers.lambdaQuery().eq(AttendanceAreaDevice::getAreaId, areaId)); +// List attendanceAreaDeviceList = areaDeviceMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceAreaDevice::getAreaId, areaId)); + attendanceAreaDeviceList.forEach(item -> { + //根据deviceManageId查询设备数据 + RemoteSisDeviceManage remoteSisDeviceManage = remoteDeviceService.queryDeviceById(item.getDeviceManageId()); + item.setRemoteSisDeviceManage(remoteSisDeviceManage); + }); + vo.setAreaDevice(attendanceAreaDeviceList); return vo; } ).toList()); @@ -163,7 +175,7 @@ public class AttendanceAreaServiceImpl implements IAttendanceAreaService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(AttendanceArea entity){ + private void validEntityBeforeSave(AttendanceArea entity) { //TODO 做一些数据校验,如唯一约束 } @@ -177,7 +189,7 @@ public class AttendanceAreaServiceImpl implements IAttendanceAreaService { @Transactional(rollbackFor = Exception.class) @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementAreaServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementAreaServiceImpl.java new file mode 100644 index 00000000..e647868c --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementAreaServiceImpl.java @@ -0,0 +1,133 @@ +package org.dromara.property.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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.AttendanceArrangementAreaBo; +import org.dromara.property.domain.vo.AttendanceArrangementAreaVo; +import org.dromara.property.domain.AttendanceArrangementArea; +import org.dromara.property.mapper.AttendanceArrangementAreaMapper; +import org.dromara.property.service.IAttendanceArrangementAreaService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 区域排班中间Service业务层处理 + * + * @author LionLi + * @date 2025-08-18 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class AttendanceArrangementAreaServiceImpl implements IAttendanceArrangementAreaService { + + private final AttendanceArrangementAreaMapper baseMapper; + + /** + * 查询区域排班中间 + * + * @param id 主键 + * @return 区域排班中间 + */ + @Override + public AttendanceArrangementAreaVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询区域排班中间列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 区域排班中间分页列表 + */ + @Override + public TableDataInfo queryPageList(AttendanceArrangementAreaBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的区域排班中间列表 + * + * @param bo 查询条件 + * @return 区域排班中间列表 + */ + @Override + public List queryList(AttendanceArrangementAreaBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(AttendanceArrangementAreaBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(AttendanceArrangementArea::getId); + lqw.eq(bo.getAreaId() != null, AttendanceArrangementArea::getAreaId, bo.getAreaId()); + lqw.eq(bo.getShceduleId() != null, AttendanceArrangementArea::getShceduleId, bo.getShceduleId()); + return lqw; + } + + /** + * 新增区域排班中间 + * + * @param bo 区域排班中间 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(AttendanceArrangementAreaBo bo) { + AttendanceArrangementArea add = MapstructUtils.convert(bo, AttendanceArrangementArea.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改区域排班中间 + * + * @param bo 区域排班中间 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(AttendanceArrangementAreaBo bo) { + AttendanceArrangementArea update = MapstructUtils.convert(bo, AttendanceArrangementArea.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(AttendanceArrangementArea 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/AttendanceArrangementServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java index df12005e..743b0e1b 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java @@ -55,23 +55,29 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS private final AttendanceAreaMapper attendanceAreaMapper; + private final AttendanceArrangementAreaMapper attendanceArrangementAreaMapper; + @DubboReference private RemoteUserService remoteUserService; + /** - * 查询排班 + * 根据id查询排班详情 * * @param id 主键 * @return 排班 */ @Override public AttendanceArrangementVo queryById(Long id) { + //1.查询排班 AttendanceArrangementVo vo = baseMapper.selectVoById(id); + //2.查询考勤组信息 //根据id查询出groupId Long groupId = baseMapper.selectById(id).getGroupId(); //根据groupId查询出考勤组信息 AttendanceGroup attendanceGroup = attendanceGroupMapper.selectById(groupId); vo.setAttendanceGroup(attendanceGroup); + //3.查询人员表信息 //根据id查询排班人员信息 List userGroupList = userGroupMapper.selectVoList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, id)); //查询所有的用户信息 @@ -84,9 +90,18 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS //根据deptId查询出部门名称 String deptName = remoteUserService.selectDeptNamesByIds(Arrays.asList(deptId)).get(deptId); userGroup.setDeptName(deptName); - }); + }); //将排班人员信息添加到排班信息中 vo.setUserGroupList(userGroupList); + +// //4.根据id查询区域信息 +// List arrangementAreaList = attendanceArrangementAreaMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceArrangementArea::getShceduleId, id)); +// //过滤出排班的区域id +// List areaIdList = arrangementAreaList.stream().map(AttendanceArrangementArea::getAreaId).collect(Collectors.toList()); +// //根据区域id查询出区域信息 +// List areaList = attendanceAreaMapper.selectList(Wrappers.lambdaQuery().in(AttendanceArea::getId, areaIdList)); +// //6.将区域信息添加到排班信息中 +// vo.setAreaList(areaList); return vo; } @@ -120,18 +135,27 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS //根据排班的id查询出排班的人员详细信息 // List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().in(AttendanceUserGroup::getScheduleId, scheduleId)); List userGroupVoList = userGroupMapper.selectVoList(Wrappers.lambdaQuery().in(AttendanceUserGroup::getScheduleId, scheduleId)); - //通过userGroupList查询出人员的详细信息 + // 2.查询区域信息 + // 根据shceduleId查询出区域排班的中间表的areaId + List areaIdList = attendanceArrangementAreaMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceArrangementArea::getShceduleId, scheduleId)).stream().map(AttendanceArrangementArea::getAreaId).collect(Collectors.toList()); + //根据区域id查询出区域信息 + List areaList = attendanceAreaMapper.selectList(Wrappers.lambdaQuery().in(AttendanceArea::getId, areaIdList)); + //6.将区域信息添加到排班信息中 + vo.setAreaList(areaList); + + + //通过userGroupList查询出人员的详细信息 //将userList存到userGroupList中 userGroupVoList.forEach(userGroup -> { - RemoteUserVo userInfoById = remoteUserService.getUserInfoById(userGroup.getEmployeeId()); - userGroup.setRemoteUserVo(userInfoById); - //获取deptId - Long deptId = userGroup.getDeptId(); - //根据deptId查询出部门名称 - String deptName = remoteUserService.selectDeptNamesByIds(Arrays.asList(deptId)).get(deptId); - userGroup.setDeptName(deptName); + RemoteUserVo userInfoById = remoteUserService.getUserInfoById(userGroup.getEmployeeId()); + userGroup.setRemoteUserVo(userInfoById); + //获取deptId + Long deptId = userGroup.getDeptId(); + //根据deptId查询出部门名称 + String deptName = remoteUserService.selectDeptNamesByIds(Arrays.asList(deptId)).get(deptId); + userGroup.setDeptName(deptName); } ); @@ -476,10 +500,19 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS } judgeDate(bo, add); - - //取出当前新增的排班的id Long ArrangementId = add.getId(); + List areaId = bo.getAreaId(); + + //向区域排班中间表插入数据 + areaId.forEach(area -> { + AttendanceArrangementArea attendanceArrangementArea = new AttendanceArrangementArea(); + attendanceArrangementArea.setAreaId(area); + attendanceArrangementArea.setShceduleId(ArrangementId); + attendanceArrangementAreaMapper.insert(attendanceArrangementArea); + }); + + //用获取到的排班id向attendanceUserGroup表中插入数据 List userGroupList = bo.getUserGroupList(); for (AttendanceUserGroup userGroup : userGroupList) { @@ -522,6 +555,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS AttendanceArrangement update = MapstructUtils.convert(bo, AttendanceArrangement.class); validEntityBeforeSave(update); + //1.更新人员组信息 //取出当前排班的id assert update != null; Long ArrangementId = update.getId(); @@ -534,6 +568,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS .eq(AttendanceUserGroup::getScheduleId, ArrangementId)); } + //2.更新部门信息 //根据排班id获取部门id List deptIdList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, ArrangementId)) .stream().map(AttendanceUserGroup::getDeptId).toList(); @@ -550,7 +585,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS //根据old查询出结束时间 LocalDate oldEndDate = old.getEndDate(); - //用获取到的排班id向attendanceUserGroup表中批量插入数据 List userGroupList = bo.getUserGroupList(); for (AttendanceUserGroup userGroup : userGroupList) { @@ -560,6 +594,26 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS } userGroupMapper.insertBatch(userGroupList); + + //2.更新区域信息 + //根据排班id获取区域id + List areaIdList = attendanceArrangementAreaMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceArrangementArea::getShceduleId, ArrangementId)) + .stream().map(AttendanceArrangementArea::getAreaId).toList(); + if (!areaIdList.isEmpty()) { + //根据areaId和ArrangementId删除attendanceAreaGroup表中的数据 + attendanceArrangementAreaMapper.delete(Wrappers.lambdaQuery().in(AttendanceArrangementArea::getAreaId, areaIdList) + .eq(AttendanceArrangementArea::getShceduleId, ArrangementId)); + } + + //向区域排班中间表插入数据 + List newAreaId = bo.getAreaId(); + newAreaId.forEach(area -> { + AttendanceArrangementArea attendanceArrangementArea = new AttendanceArrangementArea(); + attendanceArrangementArea.setAreaId(area); + attendanceArrangementArea.setShceduleId(bo.getId()); + attendanceArrangementAreaMapper.insert(attendanceArrangementArea); + }); + return baseMapper.updateById(update) > 0; } @@ -627,6 +681,8 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS //根据获取的id删除attendanceUserGroup表中的数据 userGroupMapper.delete(Wrappers.lambdaQuery().in(AttendanceUserGroup::getScheduleId, idList)); + //根据id删除区域排班中间表中的数据 + attendanceArrangementAreaMapper.delete(Wrappers.lambdaQuery().in(AttendanceArrangementArea::getShceduleId, idList)); return baseMapper.deleteByIds(ids) > 0; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceUserGroupServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceUserGroupServiceImpl.java index 83a0b007..daea363f 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceUserGroupServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceUserGroupServiceImpl.java @@ -52,6 +52,8 @@ public class AttendanceUserGroupServiceImpl implements IAttendanceUserGroupServi private final AttendanceAreaMapper attendanceAreaMapper; + private final AttendanceArrangementAreaMapper attendanceArrangementAreaMapper; + @DubboReference private RemoteUserService remoteUserService; @@ -209,12 +211,6 @@ public class AttendanceUserGroupServiceImpl implements IAttendanceUserGroupServi String deptName = remoteUserService.selectDeptNamesByIds(Arrays.asList(deptId)).get(deptId); vo.setDeptName(deptName); - -// //通过employeeId查询出用户的部门信息 -// String deptInfo = remoteDeptService.selectDeptNameByIds(String.valueOf(vo.getDeptId())); -// vo.setDeptName(deptInfo); - - //根据scheduleId查询出排班的详细信息 AttendanceArrangement attendanceArrangement = arrangementMapper.selectOne(Wrappers.lambdaQuery().eq(AttendanceArrangement::getId, scheduleId)); // 假设每个vo只有一个scheduleId @@ -222,6 +218,7 @@ public class AttendanceUserGroupServiceImpl implements IAttendanceUserGroupServi AttendanceArrangement arrangement = arrangementMapper.selectOne(Wrappers.lambdaQuery().eq(AttendanceArrangement::getId, userGroupListScheduleId)); vo.setAttendanceArrangement(arrangement); + // 根据scheduleId过滤出groupId Long groupId = arrangement.getGroupId(); // 根据groupId查询出考勤组的详细信息 @@ -229,11 +226,13 @@ public class AttendanceUserGroupServiceImpl implements IAttendanceUserGroupServi vo.setAttendanceGroup(attendanceGroup); -// //3.根据id查询区域信息 -// Long areaId = arrangement.getAreaId(); -// //根据区域id查询出区域的详细信息 -// AttendanceArea attendanceArea = attendanceAreaMapper.selectById(areaId); -// vo.setAttendanceArea(attendanceArea); +// // 根据scheduleId查询出区域排班中间表 +// List attendanceArrangementAreaList = attendanceArrangementAreaMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceArrangementArea::getShceduleId, scheduleId)); +// vo.setAttendanceArrangementAreaList(attendanceArrangementAreaList); +// //根据中间表查询出区域信息 +// List areaIdList = attendanceArrangementAreaList.stream().map(AttendanceArrangementArea::getAreaId).collect(Collectors.toList()); +// List attendanceAreaList = attendanceAreaMapper.selectBatchIds(areaIdList); +// vo.setAttendanceAreaList(attendanceAreaList); // 判断当前考勤组的班制是固定班制还是排班制 if (Objects.equals(attendanceGroup.getAttendanceType(), StatusConstant.FIXEDSCHEDULE)) { diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CustomerNoticesServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CustomerNoticesServiceImpl.java index 25a0607b..31af0580 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CustomerNoticesServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CustomerNoticesServiceImpl.java @@ -1,38 +1,30 @@ package org.dromara.property.service.impl; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; -import jodd.util.StringUtil; -import org.apache.dubbo.config.annotation.DubboReference; -import org.dromara.common.core.domain.R; -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 com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.property.domain.ResidentPerson; -import org.dromara.property.domain.vo.ResidentUnitVo; -import org.dromara.property.mapper.ResidentPersonMapper; -import org.dromara.resource.api.RemoteMessageService; -import org.dromara.system.api.model.LoginUser; -import org.springframework.stereotype.Service; +import org.dromara.property.domain.CustomerNotices; import org.dromara.property.domain.bo.CustomerNoticesBo; import org.dromara.property.domain.vo.CustomerNoticesVo; -import org.dromara.property.domain.CustomerNotices; import org.dromara.property.mapper.CustomerNoticesMapper; import org.dromara.property.service.ICustomerNoticesService; +import org.dromara.resource.api.RemoteMessageService; +import org.dromara.system.api.RemoteUserService; +import org.dromara.system.api.domain.vo.RemoteUserVo; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; import java.util.stream.Collectors; /** @@ -47,9 +39,10 @@ import java.util.stream.Collectors; public class CustomerNoticesServiceImpl implements ICustomerNoticesService { private final CustomerNoticesMapper baseMapper; - private final ResidentPersonMapper residentPersonMapper; @DubboReference private RemoteMessageService remoteMessageService; + @DubboReference + private RemoteUserService remoteUserService; /** * 查询客户服务-通知公告 @@ -59,23 +52,26 @@ public class CustomerNoticesServiceImpl implements ICustomerNoticesService { */ @Override public CustomerNoticesVo queryById(Long id) { - List residentPeople = residentPersonMapper.selectList(); CustomerNoticesVo customerNoticesVo = baseMapper.selectVoById(id); - if (CollUtil.isNotEmpty(residentPeople)) { - ResidentPerson residentPerson = residentPeople.stream() - .filter(vo -> vo.getId() != null && vo.getId().equals(customerNoticesVo.getIssuers())).findFirst().orElse(null); - customerNoticesVo.setIssuersName(residentPerson.getUserName()); + String nickName = remoteUserService.selectNicknameById(customerNoticesVo.getIssuers()); + customerNoticesVo.setIssuersName(nickName); if (ObjectUtil.isNotEmpty(customerNoticesVo.getNoticePersion())) { - List list = Arrays.asList(customerNoticesVo.getNoticePersion().split(",")); - List filteredList = residentPeople.stream() - .filter(person -> list.contains(person.getId().toString())) + List idList = Arrays.stream(customerNoticesVo.getNoticePersion().split(",")) + .map(String::trim) + .filter(StringUtils::isNotBlank) + .filter(s -> s.matches("\\d+")) // 确保是数字格式 + .map(Long::valueOf) .collect(Collectors.toList()); - String usernames = filteredList.stream() - .map(ResidentPerson::getUserName) // 假设ResidentPerson类有一个getUserName方法 + List remoteUserVos = remoteUserService.selectListByIds(idList); + List userVo = remoteUserVos.stream() + .filter(person -> idList.contains(person.getUserId())) + .collect(Collectors.toList()); + String usernames = userVo.stream() + .map(RemoteUserVo::getNickName) + // 假设ResidentPerson类有一个getUserName方法 .collect(Collectors.joining(",")); - customerNoticesVo.setNoticePersionName(StringUtils.isNotBlank(usernames)?usernames:null); + customerNoticesVo.setNoticePersionName(usernames); } - } return customerNoticesVo; } @@ -90,24 +86,51 @@ public class CustomerNoticesServiceImpl implements ICustomerNoticesService { public TableDataInfo queryPageList(CustomerNoticesBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + + // 将通知人字段和发布人字段装到一个list中,这两个字段都是用户id,放在一个list中 + List allUserIds = new ArrayList<>(); if (CollUtil.isNotEmpty(result.getRecords())) { - List residentPeople = residentPersonMapper.selectList(); - if (CollUtil.isNotEmpty(residentPeople)) { + // 提取发布人ID + List issuerIds = result.getRecords().stream() + .filter(vo -> ObjectUtil.isNotEmpty(vo.getIssuers())) + .map(CustomerNoticesVo::getIssuers) + .distinct() + .collect(Collectors.toList()); + allUserIds.addAll(issuerIds); + + // 提取所有通知人ID + List noticePersonIds = result.getRecords().stream() + .filter(vo -> StringUtils.isNotBlank(vo.getNoticePersion())) + .flatMap(vo -> Arrays.stream(vo.getNoticePersion().split(","))) + .filter(StringUtils::isNotBlank) + .map(String::trim) + .distinct() + .map(Long::valueOf) + .collect(Collectors.toList()); + allUserIds.addAll(noticePersonIds); + // 去重 + List uniqueUserIds = allUserIds.stream() + .distinct() + .collect(Collectors.toList()); + List remoteUserVos = remoteUserService.selectListByIds(uniqueUserIds); + if (CollUtil.isNotEmpty(remoteUserVos)) { result.getRecords().stream().forEach(s -> { - ResidentPerson residentPerson = residentPeople.stream() - .filter(vo -> vo.getId() != null && vo.getId().equals(s.getIssuers())).findFirst().orElse(null); - s.setIssuersName(residentPerson.getUserName()); + RemoteUserVo remoteUserVo = remoteUserVos.stream() + .filter(vo -> vo.getUserId() != null && vo.getUserId().equals(s.getIssuers())).findFirst().orElse(null); + if(ObjectUtil.isNotEmpty(remoteUserVo)){ + s.setIssuersName(remoteUserVo.getNickName()); + } if (ObjectUtil.isNotEmpty(s.getNoticePersion())) { List list = Arrays.asList(s.getNoticePersion().split(",")); - List filteredList = residentPeople.stream() - .filter(person -> list.contains(person.getId().toString())) + List userVo = remoteUserVos.stream() + .filter(person -> list.contains(person.getUserId().toString())) .collect(Collectors.toList()); - String usernames = filteredList.stream() - .map(ResidentPerson::getUserName) // 假设ResidentPerson类有一个getUserName方法 + String usernames = userVo.stream() + .map(RemoteUserVo::getNickName) + // 假设ResidentPerson类有一个getUserName方法 .collect(Collectors.joining(",")); - s.setIssuersName(usernames); + s.setNoticePersionName(usernames); } - }); } @@ -152,6 +175,7 @@ public class CustomerNoticesServiceImpl implements ICustomerNoticesService { public Boolean insertByBo(CustomerNoticesBo bo) { CustomerNotices add = MapstructUtils.convert(bo, CustomerNotices.class); validEntityBeforeSave(add); + add.setIssuers(LoginHelper.getUserId()); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); @@ -188,11 +212,6 @@ public class CustomerNoticesServiceImpl implements ICustomerNoticesService { */ private void validEntityBeforeSave(CustomerNotices entity) { //TODO 做一些数据校验,如唯一约束 - LoginUser user = LoginHelper.getLoginUser(); - ResidentPerson residentPerson = residentPersonMapper.selectOne(new LambdaQueryWrapper() - .eq(ResidentPerson::getUserId, user.getUserId())); - Assert.isTrue(ObjectUtil.isNotEmpty(residentPerson), "该发布人未入住"); - entity.setIssuers(residentPerson.getId()); } /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/EnumFetcherServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/EnumFetcherServiceImpl.java index 2c28ce82..9c36c099 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/EnumFetcherServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/EnumFetcherServiceImpl.java @@ -5,10 +5,7 @@ import org.dromara.property.domain.enums.BookingPayStatusEnum; import org.dromara.property.domain.enums.BookingStatusEnum; import org.dromara.property.domain.enums.MeetAttachStatusEnum; import org.dromara.property.domain.enums.MeetStatusEnum; -import org.dromara.property.service.EnumFetcherService; -import org.dromara.property.service.IMeetAttachService; -import org.dromara.property.service.IMeetBookingService; -import org.dromara.property.service.IMeetService; +import org.dromara.property.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,6 +29,8 @@ public class EnumFetcherServiceImpl implements EnumFetcherService { private IMeetAttachService meetAttachService; @Autowired private IMeetBookingService meetBookingService; + @Autowired + private IServiceWorkOrdersService serviceWorkOrdersService; @Override public List> getEnumValues(String type) { @@ -54,6 +53,8 @@ public class EnumFetcherServiceImpl implements EnumFetcherService { return getMeetBookingPayStatus(); case "getMeetBookingStatus": return getMeetBookingStatus(); + case "getServiceWorkOrdersHandler": + return serviceWorkOrdersService.getServiceWorkOrdersHandler(type); default: throw new IllegalArgumentException("Unknown type: " + type); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/PopularActivitiesServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/PopularActivitiesServiceImpl.java new file mode 100644 index 00000000..e3a54ed9 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/PopularActivitiesServiceImpl.java @@ -0,0 +1,190 @@ +package org.dromara.property.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import org.apache.dubbo.config.annotation.DubboReference; +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.enums.ActivitiesStatusEnum; +import org.dromara.property.domain.vo.CustomerNoticesVo; +import org.dromara.system.api.RemoteUserService; +import org.dromara.system.api.domain.vo.RemoteUserVo; +import org.springframework.stereotype.Service; +import org.dromara.property.domain.bo.PopularActivitiesBo; +import org.dromara.property.domain.vo.PopularActivitiesVo; +import org.dromara.property.domain.PopularActivities; +import org.dromara.property.mapper.PopularActivitiesMapper; +import org.dromara.property.service.IPopularActivitiesService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.logging.Handler; +import java.util.stream.Collectors; + +/** + * 热门活动Service业务层处理 + * + * @author LionLi + * @date 2025-08-19 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class PopularActivitiesServiceImpl implements IPopularActivitiesService { + + private final PopularActivitiesMapper baseMapper; + @DubboReference + private RemoteUserService remoteUserService; + + /** + * 查询热门活动 + * + * @param id 主键 + * @return 热门活动 + */ + @Override + public PopularActivitiesVo queryById(Long id) { + PopularActivitiesVo popularActivitiesVo = baseMapper.selectVoById(id); + popularActivitiesVo.setCreateName(remoteUserService.selectUserNameById(popularActivitiesVo.getCreateBy())); + return popularActivitiesVo; + } + + /** + * 分页查询热门活动列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 热门活动分页列表 + */ + @Override + public TableDataInfo queryPageList(PopularActivitiesBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + // 提取发布人ID + List allUserIds = new ArrayList<>(); + if (CollUtil.isNotEmpty(result.getRecords())) { + List createIds = result.getRecords().stream() + .filter(vo -> ObjectUtil.isNotEmpty(vo.getCreateBy())) + .map(PopularActivitiesVo::getCreateBy) + .distinct() + .collect(Collectors.toList()); + allUserIds.addAll(createIds); + } + List remoteUserVos = remoteUserService.selectListByIds(allUserIds); + result.getRecords().stream().forEach(s -> { + handlerData(s, remoteUserVos); + }); + return TableDataInfo.build(result); + } + + private void handlerData(PopularActivitiesVo popularActivitiesVo, List remoteUserVos) { + if (ObjectUtil.isNotEmpty(popularActivitiesVo.getCreateBy()) && CollUtil.isNotEmpty(remoteUserVos)) { + // 从remoteUserVos中寻找对应的createby和userid相等的 + RemoteUserVo remoteUserVo = remoteUserVos.stream() + .filter(user -> user.getUserId() != null && user.getUserId().equals(popularActivitiesVo.getCreateBy())) + .findFirst() + .orElse(null); + + if (ObjectUtil.isNotEmpty(remoteUserVo)) { + popularActivitiesVo.setCreateName(remoteUserVo.getNickName()); + } + } + } + + /** + * 查询符合条件的热门活动列表 + * + * @param bo 查询条件 + * @return 热门活动列表 + */ + @Override + public List queryList(PopularActivitiesBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(PopularActivitiesBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(PopularActivities::getId); + lqw.eq(StringUtils.isNotBlank(bo.getTitle()), PopularActivities::getTitle, bo.getTitle()); + lqw.eq(bo.getStartTime() != null, PopularActivities::getStartTime, bo.getStartTime()); + lqw.eq(bo.getEndTime() != null, PopularActivities::getEndTime, bo.getEndTime()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), PopularActivities::getStatus, bo.getStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), PopularActivities::getSearchValue, bo.getSearchValue()); + return lqw; + } + + /** + * 新增热门活动 + * + * @param bo 热门活动 + * @return 是否新增成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(PopularActivitiesBo bo) { + PopularActivities add = MapstructUtils.convert(bo, PopularActivities.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改热门活动 + * + * @param bo 热门活动 + * @return 是否修改成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(PopularActivitiesBo bo) { + PopularActivities update = MapstructUtils.convert(bo, PopularActivities.class); + validEntityBeforeUpdate(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(PopularActivities entity) { + //TODO拿当前时间和开始时间和结束时间做对比修改状态 + Date now = new Date(); + entity.setStatus( + now.before(entity.getStartTime()) ? ActivitiesStatusEnum.NOTSTARTED.getValue() : + now.after(entity.getEndTime()) ? ActivitiesStatusEnum.HASENDED.getValue() : ActivitiesStatusEnum.INPROGRESS.getValue() + ); + } + + /** + * 修改前的数据校验 + */ + private void validEntityBeforeUpdate(PopularActivities 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/ServiceWorkOrdersServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ServiceWorkOrdersServiceImpl.java index 764e6889..562d5407 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ServiceWorkOrdersServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ServiceWorkOrdersServiceImpl.java @@ -17,10 +17,7 @@ import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.property.domain.ResidentPerson; -import org.dromara.property.domain.ServiceWorkOrders; -import org.dromara.property.domain.ServiceWorkOrdersRecord; -import org.dromara.property.domain.ServiceWorkOrdersType; +import org.dromara.property.domain.*; import org.dromara.property.domain.bo.ServiceWorkOrdersBo; import org.dromara.property.domain.bo.mobile.MServiceWorkOrdersBo; import org.dromara.property.domain.vo.*; @@ -168,7 +165,10 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService { .map(ServiceWorkOrdersType::getId) .collect(Collectors.toList()); typeIds.add(bo.getType()); - List statusList = Arrays.asList(bo.getStatus().split(",")); + List statusList = new ArrayList<>(); + if(StringUtils.isNotBlank(bo.getStatus())){ + statusList = Arrays.asList(bo.getStatus().split(",")); + } Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.orderByAsc(ServiceWorkOrders::getId); @@ -518,5 +518,31 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService { } return flag; } + public List getList() { + LambdaQueryWrapper serviceWorkOrdersWrapper = new LambdaQueryWrapper<>(); + return baseMapper.selectList(serviceWorkOrdersWrapper); + + } + @Override + public List> getServiceWorkOrdersHandler(String type) { + return switch (type) { + case "getServiceWorkOrdersHandler" -> getList().stream() + .map(ServiceWorkOrders::getHandler) + .filter(Objects::nonNull) + .distinct() + .map(handler -> { + Map map = new HashMap<>(); + map.put("value", handler); + // 获取处理人详细信息 + RemoteUserVo userInfo = remoteUserService.getUserInfoById(Long.valueOf(handler)); + map.put("name", ObjectUtil.isNotNull(userInfo) ? userInfo.getNickName() : handler); + return map; + }) + .collect(Collectors.toList()); + + default -> throw new IllegalArgumentException("Unknown type: " + type); + }; + } + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbVisitorManagementServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbVisitorManagementServiceImpl.java index 060cb46c..8b806766 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbVisitorManagementServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbVisitorManagementServiceImpl.java @@ -15,10 +15,12 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.property.domain.bo.QrCodeInfo; +import org.dromara.resource.api.RemoteFileService; import org.dromara.sis.api.RemoteVisitorService; import org.dromara.sis.api.domain.RemoteVisitor; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.vo.RemoteUserVo; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.dromara.property.domain.bo.TbVisitorManagementBo; import org.dromara.property.domain.vo.TbVisitorManagementVo; @@ -49,6 +51,10 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi @DubboReference private RemoteVisitorService remoteVisitorService; + @DubboReference + private RemoteFileService remoteFileService; + + /** * 查询访客管理 * @@ -57,7 +63,18 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi */ @Override public TbVisitorManagementVo queryById(Long id) { - return baseMapper.selectVoById(id); +// TbVisitorManagementVo tbVisitorManagementVo = baseMapper.selectVoById(id); + //获取ossId + TbVisitorManagementVo tbVisitorManagementVo = baseMapper.selectVoById(id); + if (tbVisitorManagementVo.getFacePictures() == null) { + return baseMapper.selectVoById(id); + } else { + String facePictures = tbVisitorManagementVo.getFacePictures(); + String url = remoteFileService.selectUrlByIds(facePictures); + tbVisitorManagementVo.setUrl(url); + + return baseMapper.selectVoById(id); + } } /** @@ -123,6 +140,11 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi add.setTenantId(userInfoById.getTenantId()); add.setCreateBy(userInfoById.getUserId()); add.setUpdateById(userInfoById.getUserId()); + +// //文件上传时,获取ossId +// String ossId = String.valueOf(remoteFileService.uploadImg(bo.getFacePictures().getBytes()).getOssId()); +// add.setFacePictures(ossId); + add.setUpdateBy(userInfoById.getUserId()); add.setCreateDept(userInfoById.getDeptId()); boolean flag = baseMapper.insert(add) > 0; @@ -147,6 +169,11 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi public Boolean insertVistorManagementByBo(TbVisitorManagementBo bo) { // QrCodeInfo info = RedisUtils.getCacheObject("Qrcode" + bo.getQrCodeId()); TbVisitorManagement add = MapstructUtils.convert(bo, TbVisitorManagement.class); + + //文件上传时,获取ossId +// String ossId = String.valueOf(remoteFileService.uploadImg(bo.getFacePictures().getBytes()).getOssId()); +// add.setFacePictures(ossId); + validEntityBeforeSave(add); // add.setCreateById(info.getUserid()); boolean flag = baseMapper.insert(add) > 0; 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..dfc34603 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/smartDevicesImpl/TbLightInfoServiceImpl.java @@ -0,0 +1,160 @@ +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; + } + + /** + * 单个灯开关控制 + * + * @param bo bean + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean switchSingleLight(TbLightInfoBo bo){ + TbLightInfo update = MapstructUtils.convert(bo, TbLightInfo.class); + boolean flag = baseMapper.updateById(update) > 0; + Assert.isTrue(flag, "修改灯开关失败"); + return flag; + } +} 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..9f3c6969 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/smartDevicesService/ITbLightInfoService.java @@ -0,0 +1,75 @@ +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); + + /** + * 单个灯开关控制 + * + * @param bo bean + */ + Boolean switchSingleLight(TbLightInfoBo bo); +} 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; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/PopularActivitiesTasks.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/PopularActivitiesTasks.java new file mode 100644 index 00000000..8df999d1 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/PopularActivitiesTasks.java @@ -0,0 +1,50 @@ +package org.dromara.property.tasks; + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.property.domain.PopularActivities; +import org.dromara.property.domain.enums.ActivitiesStatusEnum; +import org.dromara.property.mapper.PopularActivitiesMapper; +import org.dromara.property.service.IPopularActivitiesService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +/** + * @author yuyongle + * @version 1.0 + * @description: TODO + * @date 2025/8/20 10:22 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class PopularActivitiesTasks { + private final PopularActivitiesMapper popularActivitiesMapper; + /** + * 修改活动到期的活动状态 + */ + @Transactional(rollbackFor = Exception.class) + @Scheduled(cron = "0 0 */1 * * ?") + //@GetMapping("/serviceWorkOrderTaskId") + private void handlePopularActivities() { + List popularActivities = popularActivitiesMapper.selectList( + new LambdaQueryWrapper() + .ne(PopularActivities::getStatus, ActivitiesStatusEnum.HASENDED.getValue()) + ); + Date now = new Date(); + popularActivities.stream().forEach(entity ->{ + //TODO拿当前时间和开始时间和结束时间做对比修改状态 + entity.setStatus( + now.before(entity.getStartTime()) ? ActivitiesStatusEnum.NOTSTARTED.getValue() : + now.after(entity.getEndTime()) ? ActivitiesStatusEnum.HASENDED.getValue() : ActivitiesStatusEnum.INPROGRESS.getValue() + ); + }); + popularActivitiesMapper.updateBatchById(popularActivities); + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/ServiceWorkOrderTasks.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/ServiceWorkOrderTasks.java index 20b673ef..e4709fc1 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/ServiceWorkOrderTasks.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/ServiceWorkOrderTasks.java @@ -48,9 +48,9 @@ public class ServiceWorkOrderTasks { /** * 查询状态为创建工单的工单,查询当天排班人员,为工单自动派单 */ -// @Transactional(rollbackFor = Exception.class) -// @Scheduled(cron = "0 0 */1 * * ?") - @GetMapping("/serviceWorkOrderTaskId") + @Transactional(rollbackFor = Exception.class) + @Scheduled(cron = "0 0 */1 * * ?") + //@GetMapping("/serviceWorkOrderTaskId") private void handleServiceWorkOrder() { List serviceWorkOrderList = workOrdersMapper.selectList( new LambdaQueryWrapper() @@ -88,9 +88,9 @@ public class ServiceWorkOrderTasks { /** * 处理超过30分钟的工单 */ -// @Transactional(rollbackFor = Exception.class) -// @Scheduled(cron = "0 0 */1 * * ?") - @GetMapping("/thirtyWorkOrderTaskId") + @Transactional(rollbackFor = Exception.class) + @Scheduled(cron = "0 0 */1 * * ?") +// @GetMapping("/thirtyWorkOrderTaskId") private void thirtyHandleServiceWorkOrder() { // 1. 查询当前状态为“已派单”的工单 List serviceWorkOrderList = workOrdersMapper.selectList( diff --git a/ruoyi-modules/Property/src/main/resources/mapper/Property/PopularActivitiesMapper.xml b/ruoyi-modules/Property/src/main/resources/mapper/Property/PopularActivitiesMapper.xml new file mode 100644 index 00000000..3317d3c1 --- /dev/null +++ b/ruoyi-modules/Property/src/main/resources/mapper/Property/PopularActivitiesMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/Sis/Dockerfile b/ruoyi-modules/Sis/Dockerfile index 61d332c2..e07aa448 100644 --- a/ruoyi-modules/Sis/Dockerfile +++ b/ruoyi-modules/Sis/Dockerfile @@ -9,13 +9,14 @@ RUN mkdir -p /smartparks/Sis/logs \ /smartparks/Sis/temp \ /smartparks/Sis/agent -WORKDIR /ruoyi/system +WORKDIR /ruoyi/sis -ENV SERVER_PORT=9201 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="" +ENV SERVER_PORT=10002 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="" EXPOSE ${SERVER_PORT} ADD ./target/Sis.jar ./app.jar +COPY ./linux64/ . SHELL ["/bin/bash", "-c"] diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libAudioIntercom.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libAudioIntercom.so new file mode 100644 index 00000000..49685d9b Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libAudioIntercom.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCAlarm.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCAlarm.so new file mode 100644 index 00000000..a54dee3b Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCAlarm.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCCoreDevCfg.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCCoreDevCfg.so new file mode 100644 index 00000000..5ada40ff Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCCoreDevCfg.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCDisplay.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCDisplay.so new file mode 100644 index 00000000..9871c9e8 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCDisplay.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCGeneralCfgMgr.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCGeneralCfgMgr.so new file mode 100644 index 00000000..76662331 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCGeneralCfgMgr.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCIndustry.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCIndustry.so new file mode 100644 index 00000000..4b11107d Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCIndustry.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCPlayBack.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCPlayBack.so new file mode 100644 index 00000000..6137552b Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCPlayBack.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCPreview.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCPreview.so new file mode 100644 index 00000000..035cd3d8 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCPreview.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCVoiceTalk.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCVoiceTalk.so new file mode 100644 index 00000000..6a2ab908 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libHCVoiceTalk.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libStreamTransClient.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libStreamTransClient.so new file mode 100644 index 00000000..6b16337d Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libStreamTransClient.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libSystemTransform.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libSystemTransform.so new file mode 100644 index 00000000..086c6318 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libSystemTransform.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libanalyzedata.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libanalyzedata.so new file mode 100644 index 00000000..fa416e92 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libanalyzedata.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDKCom/libiconv2.so b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libiconv2.so new file mode 100644 index 00000000..d17b0a8d Binary files /dev/null and b/ruoyi-modules/Sis/linux64/HCNetSDKCom/libiconv2.so differ diff --git a/ruoyi-modules/Sis/linux64/HCNetSDK_Log_Switch.xml b/ruoyi-modules/Sis/linux64/HCNetSDK_Log_Switch.xml new file mode 100644 index 00000000..c661a303 --- /dev/null +++ b/ruoyi-modules/Sis/linux64/HCNetSDK_Log_Switch.xml @@ -0,0 +1,12 @@ + + + + 3 + ./SDKLOG/ + true + + + 120 + 1 + + diff --git a/ruoyi-modules/Sis/linux64/libAudioRender.so b/ruoyi-modules/Sis/linux64/libAudioRender.so new file mode 100644 index 00000000..f39a4a1b Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libAudioRender.so differ diff --git a/ruoyi-modules/Sis/linux64/libHCCore.so b/ruoyi-modules/Sis/linux64/libHCCore.so new file mode 100644 index 00000000..78469021 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libHCCore.so differ diff --git a/ruoyi-modules/Sis/linux64/libNPQos.so b/ruoyi-modules/Sis/linux64/libNPQos.so new file mode 100644 index 00000000..49727157 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libNPQos.so differ diff --git a/ruoyi-modules/Sis/linux64/libPlayCtrl.so b/ruoyi-modules/Sis/linux64/libPlayCtrl.so new file mode 100644 index 00000000..e255c229 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libPlayCtrl.so differ diff --git a/ruoyi-modules/Sis/linux64/libSuperRender.so b/ruoyi-modules/Sis/linux64/libSuperRender.so new file mode 100644 index 00000000..3f36846f Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libSuperRender.so differ diff --git a/ruoyi-modules/Sis/linux64/libcrypto.so.1.1 b/ruoyi-modules/Sis/linux64/libcrypto.so.1.1 new file mode 100644 index 00000000..88c3746e Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libcrypto.so.1.1 differ diff --git a/ruoyi-modules/Sis/linux64/libhcnetsdk.so b/ruoyi-modules/Sis/linux64/libhcnetsdk.so new file mode 100644 index 00000000..2607cee2 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libhcnetsdk.so differ diff --git a/ruoyi-modules/Sis/linux64/libhpr.so b/ruoyi-modules/Sis/linux64/libhpr.so new file mode 100644 index 00000000..8efcabbc Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libhpr.so differ diff --git a/ruoyi-modules/Sis/linux64/libopenal.so.1 b/ruoyi-modules/Sis/linux64/libopenal.so.1 new file mode 100644 index 00000000..a9dcb820 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libopenal.so.1 differ diff --git a/ruoyi-modules/Sis/linux64/libssl.so.1.1 b/ruoyi-modules/Sis/linux64/libssl.so.1.1 new file mode 100644 index 00000000..f3e44813 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libssl.so.1.1 differ diff --git a/ruoyi-modules/Sis/linux64/libz.so b/ruoyi-modules/Sis/linux64/libz.so new file mode 100644 index 00000000..13b4ed93 Binary files /dev/null and b/ruoyi-modules/Sis/linux64/libz.so differ diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/covert/CommonBeanCovert.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/covert/CommonBeanCovert.java index cabe53bf..c16eabb1 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/covert/CommonBeanCovert.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/covert/CommonBeanCovert.java @@ -24,4 +24,5 @@ public interface CommonBeanCovert { List sdkChannelEntity2Remote(List sdkChannels); + RemoteSisDeviceManage entities2Remote(SisDeviceManage sisDeviceManage); } diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/dubbo/RemoteDeviceServiceImpl.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/dubbo/RemoteDeviceServiceImpl.java index 8b495801..eb158ced 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/dubbo/RemoteDeviceServiceImpl.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/dubbo/RemoteDeviceServiceImpl.java @@ -3,6 +3,7 @@ package org.dromara.sis.dubbo; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboService; import org.dromara.sis.api.RemoteDeviceService; import org.dromara.sis.api.domain.RemoteSdkChannel; import org.dromara.sis.api.domain.RemoteSisDeviceChannel; @@ -14,6 +15,7 @@ import org.dromara.sis.sdk.hik.HikSdkConstans; import org.dromara.sis.service.ISisDeviceChannelService; import org.dromara.sis.service.ISisDeviceManageService; import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; import java.util.List; @@ -25,6 +27,8 @@ import java.util.List; @Slf4j @Component @RequiredArgsConstructor +@Service +@DubboService public class RemoteDeviceServiceImpl implements RemoteDeviceService { private final ISisDeviceManageService deviceManageService; @@ -41,6 +45,12 @@ public class RemoteDeviceServiceImpl implements RemoteDeviceService { return deviceManageService.updateDeviceState(CommonBeanCovert.INSTANCE.Remote2Entity(item)); } + @Override + public RemoteSisDeviceManage queryDeviceById(Long id) { + SisDeviceManage sisDeviceManage = deviceManageService.queryDeviceById(id); + return CommonBeanCovert.INSTANCE.entities2Remote(sisDeviceManage); + } + @Override public List queryDeviceChannels(String deviceIp) { List channels = deviceChannelService.queryByDeviceIp(deviceIp); diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/ISisDeviceChannelService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/ISisDeviceChannelService.java index 8cf5edb7..c16df746 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/ISisDeviceChannelService.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/ISisDeviceChannelService.java @@ -4,6 +4,7 @@ import jakarta.validation.constraints.NotEmpty; import org.dromara.common.core.domain.TreeNode; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.sis.api.domain.RemoteSisDeviceChannel; import org.dromara.sis.domain.SisDeviceChannel; import org.dromara.sis.domain.bo.SisDeviceChannelBo; import org.dromara.sis.domain.bo.SisDeviceManageBo; @@ -138,4 +139,5 @@ public interface ISisDeviceChannelService { * @return 返回通道信息 */ SisDeviceChannel queryChannels(@NotEmpty String deviceIp, @NotEmpty String channelNo); + } diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/ISisDeviceManageService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/ISisDeviceManageService.java index 06f89f2d..745faef2 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/ISisDeviceManageService.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/ISisDeviceManageService.java @@ -3,6 +3,7 @@ package org.dromara.sis.service; import org.dromara.common.core.domain.TreeNode; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.sis.api.domain.RemoteSisDeviceManage; import org.dromara.sis.domain.SisDeviceManage; import org.dromara.sis.domain.bo.SisDeviceManageBo; import org.dromara.sis.domain.vo.SisDeviceManageVo; @@ -26,6 +27,7 @@ public interface ISisDeviceManageService { */ SisDeviceManageVo queryById(Long id); + /** * 分页查询设备管理列表 * @@ -95,6 +97,9 @@ public interface ISisDeviceManageService { */ List queryHikDevices(); + + SisDeviceManage queryDeviceById(Long id); + /** * 更新设备状态信息 * @param sisDeviceManage 设备信息 diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisDeviceManageServiceImpl.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisDeviceManageServiceImpl.java index 5a82f2bd..10d0ae28 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisDeviceManageServiceImpl.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisDeviceManageServiceImpl.java @@ -13,6 +13,7 @@ import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.sis.api.domain.RemoteSisDeviceManage; import org.dromara.sis.api.enums.FactoryNoEnum; import org.dromara.sis.domain.SisDeviceManage; import org.dromara.sis.domain.bo.SisDeviceManageBo; @@ -57,6 +58,7 @@ public class SisDeviceManageServiceImpl implements ISisDeviceManageService { return deviceManageVo; } + /** * 分页查询设备管理列表 * @@ -222,6 +224,12 @@ public class SisDeviceManageServiceImpl implements ISisDeviceManageService { return baseMapper.selectList(lqw); } + + @Override + public SisDeviceManage queryDeviceById(Long id) { + return baseMapper.selectById(id); + } + @Override public Boolean updateDeviceState(SisDeviceManage sisDeviceManage) { LambdaUpdateWrapper lqw = Wrappers.lambdaUpdate(); diff --git a/ruoyi-visual/ruoyi-nacos/src/main/resources/application.properties b/ruoyi-visual/ruoyi-nacos/src/main/resources/application.properties index 5aa89231..5e6962ab 100644 --- a/ruoyi-visual/ruoyi-nacos/src/main/resources/application.properties +++ b/ruoyi-visual/ruoyi-nacos/src/main/resources/application.properties @@ -40,8 +40,8 @@ spring.sql.init.platform=mysql db.num=1 ### Connect URL of DB: -db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true -db.user.0=root +db.url.0=jdbc:mysql://192.168.24.101:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true +db.user.0=by db.password.0=123456 ### the maximum retry times for push