From 433ef91d356b3d5c55faaa1c5e52929dfa2298dc Mon Sep 17 00:00:00 2001 From: chenze <1824191732@qq.com> Date: Thu, 22 Aug 2024 19:49:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E6=99=BA=E8=83=BD?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WisdomDeviceController.java | 92 ++++++ .../controller/WisdomPanelController.java | 89 +++++ .../WisdomPanelEquipmentController.java | 76 +++++ .../controller/WisdomRoomController.java | 124 +++++++ .../controller/WisdomStaffController.java | 76 +++++ .../java/com/ics/admin/domain/DeviceVo.java | 21 ++ .../com/ics/admin/domain/WisdomDevice.java | 47 +++ .../com/ics/admin/domain/WisdomPanel.java | 38 +++ .../admin/domain/WisdomPanelEquipment.java | 27 ++ .../java/com/ics/admin/domain/WisdomRoom.java | 57 ++++ .../com/ics/admin/domain/WisdomStaff.java | 27 ++ .../ics/admin/mapper/WisdomDeviceMapper.java | 64 ++++ .../mapper/WisdomPanelEquipmentMapper.java | 64 ++++ .../ics/admin/mapper/WisdomPanelMapper.java | 64 ++++ .../ics/admin/mapper/WisdomRoomMapper.java | 64 ++++ .../ics/admin/mapper/WisdomStaffMapper.java | 64 ++++ .../service/IIcsCustomerStaffService.java | 2 + .../admin/service/IWisdomDeviceService.java | 61 ++++ .../service/IWisdomPanelEquipmentService.java | 64 ++++ .../admin/service/IWisdomPanelService.java | 61 ++++ .../ics/admin/service/IWisdomRoomService.java | 63 ++++ .../admin/service/IWisdomStaffService.java | 67 ++++ .../impl/IcsCustomerStaffServiceImpl.java | 5 + .../service/impl/WisdomDeviceServiceImpl.java | 93 ++++++ .../impl/WisdomPanelEquipmentServiceImpl.java | 99 ++++++ .../service/impl/WisdomPanelServiceImpl.java | 93 ++++++ .../service/impl/WisdomRoomServiceImpl.java | 98 ++++++ .../service/impl/WisdomStaffServiceImpl.java | 122 +++++++ .../resources/mapper/admin/RepairMapper.xml | 1 - .../mapper/admin/WisdomDeviceMapper.xml | 121 +++++++ .../admin/WisdomPanelEquipmentMapper.xml | 68 ++++ .../mapper/admin/WisdomPanelMapper.xml | 81 +++++ .../mapper/admin/WisdomRoomMapper.xml | 112 +++++++ .../mapper/admin/WisdomStaffMapper.xml | 90 +++++ ics-common/ics-common-core/pom.xml | 11 + .../com/ics/common/config/WsClientConfig.java | 54 +++ .../com/ics/common/config/WsServerConfig.java | 17 + .../core/controller/BaseController.java | 4 +- .../java/com/ics/common/utils/Sample.java | 6 +- .../ics/common/utils/device/SignUtils.java | 61 ++++ .../utils/device/WisDomDeviceUtils.java | 309 ++++++++++++++++++ .../src/main/java/com/ics/ApplicationRun.java | 2 + .../meeting/ApiRoomContentController.java | 3 + .../mobile/wisdom/WisdomApiController.java | 158 +++++++++ .../main/java/com/ics/server/WsServer.java | 214 ++++++++++++ 45 files changed, 3128 insertions(+), 6 deletions(-) create mode 100644 ics-admin/src/main/java/com/ics/admin/controller/WisdomDeviceController.java create mode 100644 ics-admin/src/main/java/com/ics/admin/controller/WisdomPanelController.java create mode 100644 ics-admin/src/main/java/com/ics/admin/controller/WisdomPanelEquipmentController.java create mode 100644 ics-admin/src/main/java/com/ics/admin/controller/WisdomRoomController.java create mode 100644 ics-admin/src/main/java/com/ics/admin/controller/WisdomStaffController.java create mode 100644 ics-admin/src/main/java/com/ics/admin/domain/DeviceVo.java create mode 100644 ics-admin/src/main/java/com/ics/admin/domain/WisdomDevice.java create mode 100644 ics-admin/src/main/java/com/ics/admin/domain/WisdomPanel.java create mode 100644 ics-admin/src/main/java/com/ics/admin/domain/WisdomPanelEquipment.java create mode 100644 ics-admin/src/main/java/com/ics/admin/domain/WisdomRoom.java create mode 100644 ics-admin/src/main/java/com/ics/admin/domain/WisdomStaff.java create mode 100644 ics-admin/src/main/java/com/ics/admin/mapper/WisdomDeviceMapper.java create mode 100644 ics-admin/src/main/java/com/ics/admin/mapper/WisdomPanelEquipmentMapper.java create mode 100644 ics-admin/src/main/java/com/ics/admin/mapper/WisdomPanelMapper.java create mode 100644 ics-admin/src/main/java/com/ics/admin/mapper/WisdomRoomMapper.java create mode 100644 ics-admin/src/main/java/com/ics/admin/mapper/WisdomStaffMapper.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/IWisdomDeviceService.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/IWisdomPanelEquipmentService.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/IWisdomPanelService.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/IWisdomRoomService.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/IWisdomStaffService.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/impl/WisdomDeviceServiceImpl.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/impl/WisdomPanelEquipmentServiceImpl.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/impl/WisdomPanelServiceImpl.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/impl/WisdomRoomServiceImpl.java create mode 100644 ics-admin/src/main/java/com/ics/admin/service/impl/WisdomStaffServiceImpl.java create mode 100644 ics-admin/src/main/resources/mapper/admin/WisdomDeviceMapper.xml create mode 100644 ics-admin/src/main/resources/mapper/admin/WisdomPanelEquipmentMapper.xml create mode 100644 ics-admin/src/main/resources/mapper/admin/WisdomPanelMapper.xml create mode 100644 ics-admin/src/main/resources/mapper/admin/WisdomRoomMapper.xml create mode 100644 ics-admin/src/main/resources/mapper/admin/WisdomStaffMapper.xml create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/config/WsClientConfig.java create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/config/WsServerConfig.java create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/utils/device/SignUtils.java create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/utils/device/WisDomDeviceUtils.java create mode 100644 ics-web/src/main/java/com/ics/controller/mobile/wisdom/WisdomApiController.java create mode 100644 ics-web/src/main/java/com/ics/server/WsServer.java diff --git a/ics-admin/src/main/java/com/ics/admin/controller/WisdomDeviceController.java b/ics-admin/src/main/java/com/ics/admin/controller/WisdomDeviceController.java new file mode 100644 index 0000000..3a9279b --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/controller/WisdomDeviceController.java @@ -0,0 +1,92 @@ +package com.ics.admin.controller; + +import cn.hutool.core.collection.CollUtil; +import com.ics.admin.domain.WisdomRoom; +import com.ics.admin.service.IWisdomRoomService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.ics.common.core.domain.R; +import com.ics.common.core.controller.BaseController; +import com.ics.admin.domain.WisdomDevice; +import com.ics.admin.service.IWisdomDeviceService; +import org.wf.jwtp.annotation.Ignore; +import org.wf.jwtp.annotation.RequiresPermissions; + +import java.util.List; + +/** + * 智能设备 提供者 + * + * @author chen + * @date 2024-08-21 + */ +@RestController +@RequestMapping("/wisdom/wisdomDevice") +public class WisdomDeviceController extends BaseController { + + @Autowired + private IWisdomDeviceService wisdomDeviceService; + + @Autowired + private IWisdomRoomService wisdomRoomService; + + /** + * 查询智能设备 + */ + @GetMapping("get/{id}") + public WisdomDevice get(@PathVariable("id") Long id) { + return wisdomDeviceService.selectWisdomDeviceById(id); + } + + /** + * 查询智能设备列表 + */ + @RequiresPermissions("wisdom:wisdomDevice:list") + @GetMapping("list") + public R list(WisdomDevice wisdomDevice) { + startPage(); + List wisdomDevices = wisdomDeviceService.selectWisdomDeviceList(wisdomDevice); + if (CollUtil.isNotEmpty(wisdomDevices)){ + for (WisdomDevice device : wisdomDevices) { + WisdomRoom wisdomRoom = wisdomRoomService.selectWisdomRoomById(device.getWisdomRoomId()); + if (wisdomRoom != null) device.setContentName(wisdomRoom.getMeetingName()); + } + } + return result(wisdomDevices); + } + + + /** + * 新增保存智能设备 + */ + @RequiresPermissions("wisdom:wisdomDevice:add") + @PostMapping("save") + public R addSave(@RequestBody WisdomDevice wisdomDevice) { + return toAjax(wisdomDeviceService.insertWisdomDevice(wisdomDevice)); + } + + /** + * 修改保存智能设备 + */ + @RequiresPermissions("wisdom:wisdomDevice:edit") + @PostMapping("update") + public R editSave(@RequestBody WisdomDevice wisdomDevice) { + return toAjax(wisdomDeviceService.updateWisdomDevice(wisdomDevice)); + } + + /** + * 删除智能设备 + */ + @RequiresPermissions("wisdom:wisdomDevice:remove") + @PostMapping("remove") + public R remove(String ids) { + return toAjax(wisdomDeviceService.deleteWisdomDeviceByIds(ids)); + } + +} diff --git a/ics-admin/src/main/java/com/ics/admin/controller/WisdomPanelController.java b/ics-admin/src/main/java/com/ics/admin/controller/WisdomPanelController.java new file mode 100644 index 0000000..1519427 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/controller/WisdomPanelController.java @@ -0,0 +1,89 @@ +package com.ics.admin.controller; + +import com.ics.admin.service.IWisdomRoomService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.ics.common.core.domain.R; +import com.ics.common.core.controller.BaseController; +import com.ics.admin.domain.WisdomPanel; +import com.ics.admin.service.IWisdomPanelService; +import org.wf.jwtp.annotation.Ignore; +import org.wf.jwtp.annotation.RequiresPermissions; + +import java.util.List; + +/** + * 情景面板 提供者 + * + * @author ics + * @date 2024-08-22 + */ +@RestController +@RequestMapping("wisdomPanel") +public class WisdomPanelController extends BaseController { + + @Autowired + private IWisdomPanelService wisdomPanelService; + + @Autowired + private IWisdomRoomService wisdomRoomService; + + /** + * 查询情景面板 + */ + @GetMapping("get/{id}") + public WisdomPanel get(@PathVariable("id") Long id) { + return wisdomPanelService.selectWisdomPanelById(id); + } + + /** + * 查询情景面板列表 + */ + @Ignore + @GetMapping("list") + public R list(WisdomPanel wisdomPanel) { + startPage(); + List wisdomPanels = wisdomPanelService.selectWisdomPanelList(wisdomPanel); + for (WisdomPanel panel : wisdomPanels) { + panel.setMeetingName(wisdomRoomService.selectWisdomRoomById(panel.getWisdomRoom()).getMeetingName()); + } + + return result(wisdomPanels); + } + + + /** + * 新增保存情景面板 + */ +// @RequiresPermissions("admin:panel:add") + @Ignore + @PostMapping("save") + public R addSave(@RequestBody WisdomPanel wisdomPanel) { + return toAjax(wisdomPanelService.insertWisdomPanel(wisdomPanel)); + } + + /** + * 修改保存情景面板 + */ + @RequiresPermissions("admin:panel:edit") + @PostMapping("update") + public R editSave(@RequestBody WisdomPanel wisdomPanel) { + return toAjax(wisdomPanelService.updateWisdomPanel(wisdomPanel)); + } + + /** + * 删除情景面板 + */ + @RequiresPermissions("admin:panel:remove") + @PostMapping("remove") + public R remove(String ids) { + return toAjax(wisdomPanelService.deleteWisdomPanelByIds(ids)); + } + +} diff --git a/ics-admin/src/main/java/com/ics/admin/controller/WisdomPanelEquipmentController.java b/ics-admin/src/main/java/com/ics/admin/controller/WisdomPanelEquipmentController.java new file mode 100644 index 0000000..8f82424 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/controller/WisdomPanelEquipmentController.java @@ -0,0 +1,76 @@ +package com.ics.admin.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.ics.common.core.domain.R; +import com.ics.common.core.controller.BaseController; +import com.ics.admin.domain.WisdomPanelEquipment; +import com.ics.admin.service.IWisdomPanelEquipmentService; +import org.wf.jwtp.annotation.RequiresPermissions; + +/** + * 窗帘关联 提供者 + * + * @author ics + * @date 2024-08-22 + */ +@RestController +@RequestMapping("panelEquipment") +public class WisdomPanelEquipmentController extends BaseController { + + @Autowired + private IWisdomPanelEquipmentService wisdomPanelEquipmentService; + + /** + * 查询窗帘关联 + */ + @GetMapping("get/{id}") + public WisdomPanelEquipment get(@PathVariable("id") Long id) { + return wisdomPanelEquipmentService.selectWisdomPanelEquipmentById(id); + } + + /** + * 查询窗帘关联列表 + */ + @RequiresPermissions("admin:equipment:list") + @GetMapping("list") + public R list(WisdomPanelEquipment wisdomPanelEquipment) { + startPage(); + return result(wisdomPanelEquipmentService.selectWisdomPanelEquipmentList(wisdomPanelEquipment)); + } + + + /** + * 新增保存窗帘关联 + */ + @RequiresPermissions("admin:equipment:add") + @PostMapping("save") + public R addSave(@RequestBody WisdomPanelEquipment wisdomPanelEquipment) { + return toAjax(wisdomPanelEquipmentService.insertWisdomPanelEquipment(wisdomPanelEquipment)); + } + + /** + * 修改保存窗帘关联 + */ + @RequiresPermissions("admin:equipment:edit") + @PostMapping("update") + public R editSave(@RequestBody WisdomPanelEquipment wisdomPanelEquipment) { + return toAjax(wisdomPanelEquipmentService.updateWisdomPanelEquipment(wisdomPanelEquipment)); + } + + /** + * 删除窗帘关联 + */ + @RequiresPermissions("admin:equipment:remove") + @PostMapping("remove") + public R remove(String ids) { + return toAjax(wisdomPanelEquipmentService.deleteWisdomPanelEquipmentByIds(ids)); + } + +} diff --git a/ics-admin/src/main/java/com/ics/admin/controller/WisdomRoomController.java b/ics-admin/src/main/java/com/ics/admin/controller/WisdomRoomController.java new file mode 100644 index 0000000..85114d8 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/controller/WisdomRoomController.java @@ -0,0 +1,124 @@ +package com.ics.admin.controller; + +import com.ics.admin.domain.WisdomStaff; +import com.ics.admin.service.IIcsCustomerStaffService; +import com.ics.admin.service.IWisdomStaffService; +import com.ics.common.core.domain.IcsCustomerStaff; +import com.ics.common.utils.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.ics.common.core.domain.R; +import com.ics.common.core.controller.BaseController; +import com.ics.admin.domain.WisdomRoom; +import com.ics.admin.service.IWisdomRoomService; +import org.wf.jwtp.annotation.RequiresPermissions; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 智能房间 提供者 + * + * @author ics + * @date 2024-08-21 + */ +@RestController +@RequestMapping("/admin/wisdomRoom") +public class WisdomRoomController extends BaseController { + + @Autowired + private IWisdomRoomService wisdomRoomService; + + @Autowired + private IWisdomStaffService wisdomStaffService; + + @Autowired + private IIcsCustomerStaffService customerStaffService; + + /** + * 查询智能房间 + */ + @GetMapping("get/{id}") + public WisdomRoom get(@PathVariable("id") Long id) { + return wisdomRoomService.selectWisdomRoomById(id); + } + + /** + * 查询智能房间列表 + */ + @RequiresPermissions("wisdom:wisdomRoom:list") + @GetMapping("list") + public R list(WisdomRoom wisdomRoom) { + startPage(); + List wisdomRooms = wisdomRoomService.selectList(wisdomRoom); + for (WisdomRoom room : wisdomRooms) { + List collect = wisdomStaffService.selectWisdomStaffByRoomId(room.getId()); + room.setStaffId(collect); + room.setStaffLists(customerStaffService.selectList()); + } + return result(wisdomRooms); + } + + + /** + * 新增保存智能房间 + */ + @RequiresPermissions("wisdom:wisdomRoom:add") + @PostMapping("save") + public R addSave(@RequestBody WisdomRoom wisdomRoom) { + int i = wisdomRoomService.insertWisdomRoom(wisdomRoom); + Long id = wisdomRoom.getId(); + WisdomStaff wisdomStaff = new WisdomStaff(); + for (Long s : wisdomRoom.getStaffId()) { + wisdomStaff.setWisdomRoomId(id); + wisdomStaff.setStaffId(s); + wisdomStaffService.insertWisdomStaff(wisdomStaff); + } + return toAjax(i); + } + + /** + * 修改保存智能房间 + */ + @RequiresPermissions("wisdom:wisdomRoom:edit") + @PostMapping("update") + public R editSave(@RequestBody WisdomRoom wisdomRoom) { + int i = wisdomRoomService.updateWisdomRoom(wisdomRoom); + WisdomStaff wisdomStaff = new WisdomStaff(); + List ids = wisdomStaffService.selectWisdomStaffListByRoomId(wisdomRoom.getId()); + String joinStr = StringUtils.join(ids, ","); + if (ids.size()>0) wisdomStaffService.deleteWisdomStaffByIds(joinStr); + for (Long s : wisdomRoom.getStaffId()) { + wisdomStaff.setWisdomRoomId(wisdomRoom.getId()); + wisdomStaff.setStaffId(s); + wisdomStaffService.insertWisdomStaff(wisdomStaff); + } + return toAjax(i); + } + + /** + * 删除智能房间 + */ + @RequiresPermissions("wisdom:wisdomRoom:remove") + @PostMapping("remove") + public R remove(String ids) { + return toAjax(wisdomRoomService.deleteWisdomRoomByIds(ids)); + } + + /** + * 用户列表 + */ + @RequiresPermissions("wisdom:wisdomRoom:view") + @GetMapping("selectStaff") + public R selectStaff() { + List customerStaffs = customerStaffService.selectList(); + return R.data(customerStaffs); + } + +} diff --git a/ics-admin/src/main/java/com/ics/admin/controller/WisdomStaffController.java b/ics-admin/src/main/java/com/ics/admin/controller/WisdomStaffController.java new file mode 100644 index 0000000..d2ab92b --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/controller/WisdomStaffController.java @@ -0,0 +1,76 @@ +package com.ics.admin.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.ics.common.core.domain.R; +import com.ics.common.core.controller.BaseController; +import com.ics.admin.domain.WisdomStaff; +import com.ics.admin.service.IWisdomStaffService; +import org.wf.jwtp.annotation.RequiresPermissions; + +/** + * 房间用户关联 提供者 + * + * @author ics + * @date 2024-08-21 + */ +@RestController +@RequestMapping("staff") +public class WisdomStaffController extends BaseController { + + @Autowired + private IWisdomStaffService wisdomStaffService; + + /** + * 查询房间用户关联 + */ + @GetMapping("get/{id}") + public WisdomStaff get(@PathVariable("id") Long id) { + return wisdomStaffService.selectWisdomStaffById(id); + } + + /** + * 查询房间用户关联列表 + */ + @RequiresPermissions("admin:staff:list") + @GetMapping("list") + public R list(WisdomStaff wisdomStaff) { + startPage(); + return result(wisdomStaffService.selectWisdomStaffList(wisdomStaff)); + } + + + /** + * 新增保存房间用户关联 + */ + @RequiresPermissions("admin:staff:add") + @PostMapping("save") + public R addSave(@RequestBody WisdomStaff wisdomStaff) { + return toAjax(wisdomStaffService.insertWisdomStaff(wisdomStaff)); + } + + /** + * 修改保存房间用户关联 + */ + @RequiresPermissions("admin:staff:edit") + @PostMapping("update") + public R editSave(@RequestBody WisdomStaff wisdomStaff) { + return toAjax(wisdomStaffService.updateWisdomStaff(wisdomStaff)); + } + + /** + * 删除房间用户关联 + */ + @RequiresPermissions("admin:staff:remove") + @PostMapping("remove") + public R remove(String ids) { + return toAjax(wisdomStaffService.deleteWisdomStaffByIds(ids)); + } + +} diff --git a/ics-admin/src/main/java/com/ics/admin/domain/DeviceVo.java b/ics-admin/src/main/java/com/ics/admin/domain/DeviceVo.java new file mode 100644 index 0000000..7de00e5 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/domain/DeviceVo.java @@ -0,0 +1,21 @@ +package com.ics.admin.domain; + +import lombok.Data; + +@Data +public class DeviceVo { + + private Long deviceId; + + private Boolean actionArg; + + private Integer bir; + + private Integer colourTemperature; + + + private String type; + + private String coverType; + +} diff --git a/ics-admin/src/main/java/com/ics/admin/domain/WisdomDevice.java b/ics-admin/src/main/java/com/ics/admin/domain/WisdomDevice.java new file mode 100644 index 0000000..2bb8dbf --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/domain/WisdomDevice.java @@ -0,0 +1,47 @@ +package com.ics.admin.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.ics.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 智能设备对象 tb_wisdom_device + * + * @author chen + * @date 2024-08-21 + */ +@Data +@TableName("tb_wisdom_device") +public class WisdomDevice extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 设备分类 */ + private String type; + + private String typeName; + + /** 设备名称 */ + private String equipmentName; + + /** 设备状态 0在线 1损坏 2离线 */ + private Long status; + + /** 设备编号 */ + private String equipmentNum; + + /** 设备图片 */ + private String pic; + + /** $column.columnComment */ + private String ip; + + /** 园区ID */ + private Long parkId; + + /** 会议室id */ + private Long wisdomRoomId; + + /** 会议室名称 */ + private String contentName; + +} diff --git a/ics-admin/src/main/java/com/ics/admin/domain/WisdomPanel.java b/ics-admin/src/main/java/com/ics/admin/domain/WisdomPanel.java new file mode 100644 index 0000000..6cd106f --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/domain/WisdomPanel.java @@ -0,0 +1,38 @@ +package com.ics.admin.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ics.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 情景面板对象 tb_wisdom_panel + * + * @author ics + * @date 2024-08-22 + */ +@Data +@TableName("tb_wisdom_panel") +public class WisdomPanel extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 面板名称 */ + private String panelName; + + /** 按钮id */ + private Integer buttonId; + + /** 房间id */ + private Long wisdomRoom; + + @TableField(exist = false) + private String meetingName; + + /** 控制面板id */ + private String panelId; + + private String img; + + private String imgOpen; + +} diff --git a/ics-admin/src/main/java/com/ics/admin/domain/WisdomPanelEquipment.java b/ics-admin/src/main/java/com/ics/admin/domain/WisdomPanelEquipment.java new file mode 100644 index 0000000..ab7bea2 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/domain/WisdomPanelEquipment.java @@ -0,0 +1,27 @@ +package com.ics.admin.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.ics.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 窗帘关联对象 tb_wisdom_panel_equipment + * + * @author ics + * @date 2024-08-22 + */ +@Data +@TableName("tb_wisdom_panel_equipment") +public class WisdomPanelEquipment extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 面板id */ + private Long panelId; + + /** 设备id */ + private Long equipmentId; + + /** 类型,open,close */ + private String type; + +} diff --git a/ics-admin/src/main/java/com/ics/admin/domain/WisdomRoom.java b/ics-admin/src/main/java/com/ics/admin/domain/WisdomRoom.java new file mode 100644 index 0000000..0fe41d3 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/domain/WisdomRoom.java @@ -0,0 +1,57 @@ +package com.ics.admin.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ics.common.core.domain.BaseEntity; +import com.ics.common.core.domain.IcsCustomerStaff; +import lombok.Data; +import java.util.Date; +import java.util.List; + +/** + * 智能房间对象 tb_wisdom_room + * + * @author ics + * @date 2024-08-21 + */ +@Data +@TableName("tb_wisdom_room") +public class WisdomRoom extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 类型(会议室、办公室、茶室、路演厅) */ + private String type; + + /** 名称 */ + private String meetingName; + + /** 开始时间 */ + private Date startTime; + + /** 结束时间 */ + private Date endDate; + + /** 金额备注 */ + private String remake; + + private String img; + + /** 园区ID */ + private Long parkId; + + @TableField(exist = false) + private List staffId; + + @TableField(exist = false) + private Integer deviceNum; + + @TableField(exist = false) + private Integer panelNum; + + + @TableField(exist = false) + private List staffLists; + + @TableField(exist = false) + private Long staffIds; +} diff --git a/ics-admin/src/main/java/com/ics/admin/domain/WisdomStaff.java b/ics-admin/src/main/java/com/ics/admin/domain/WisdomStaff.java new file mode 100644 index 0000000..aa2a66e --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/domain/WisdomStaff.java @@ -0,0 +1,27 @@ +package com.ics.admin.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.ics.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 房间用户关联对象 tb_wisdom_staff + * + * @author ics + * @date 2024-08-21 + */ +@Data +@TableName("tb_wisdom_staff") +public class WisdomStaff extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 房间id */ + private Long wisdomRoomId; + + /** 用户id */ + private Long staffId; + + /** 园区ID */ + private Long parkId; + +} diff --git a/ics-admin/src/main/java/com/ics/admin/mapper/WisdomDeviceMapper.java b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomDeviceMapper.java new file mode 100644 index 0000000..f4fe7f0 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomDeviceMapper.java @@ -0,0 +1,64 @@ +package com.ics.admin.mapper; + +import com.ics.admin.domain.WisdomDevice; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 智能设备Mapper接口 + * + * @author chen + * @date 2024-08-21 + */ +@Mapper +public interface WisdomDeviceMapper extends BaseMapper { + /** + * 查询智能设备 + * + * @param id 智能设备ID + * @return 智能设备 + */ + WisdomDevice selectWisdomDeviceById(Long id); + + /** + * 查询智能设备列表 + * + * @param wisdomDevice 智能设备 + * @return 智能设备集合 + */ + List selectWisdomDeviceList(WisdomDevice wisdomDevice); + + /** + * 新增智能设备 + * + * @param wisdomDevice 智能设备 + * @return 结果 + */ + int insertWisdomDevice(WisdomDevice wisdomDevice); + + /** + * 修改智能设备 + * + * @param wisdomDevice 智能设备 + * @return 结果 + */ + int updateWisdomDevice(WisdomDevice wisdomDevice); + + /** + * 删除智能设备 + * + * @param id 智能设备ID + * @return 结果 + */ + int deleteWisdomDeviceById(Long id); + + /** + * 批量删除智能设备 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomDeviceByIds(String[] ids); +} diff --git a/ics-admin/src/main/java/com/ics/admin/mapper/WisdomPanelEquipmentMapper.java b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomPanelEquipmentMapper.java new file mode 100644 index 0000000..f1110a5 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomPanelEquipmentMapper.java @@ -0,0 +1,64 @@ +package com.ics.admin.mapper; + +import com.ics.admin.domain.WisdomPanelEquipment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 窗帘关联Mapper接口 + * + * @author ics + * @date 2024-08-22 + */ +@Mapper +public interface WisdomPanelEquipmentMapper extends BaseMapper { + /** + * 查询窗帘关联 + * + * @param id 窗帘关联ID + * @return 窗帘关联 + */ + WisdomPanelEquipment selectWisdomPanelEquipmentById(Long id); + + /** + * 查询窗帘关联列表 + * + * @param wisdomPanelEquipment 窗帘关联 + * @return 窗帘关联集合 + */ + List selectWisdomPanelEquipmentList(WisdomPanelEquipment wisdomPanelEquipment); + + /** + * 新增窗帘关联 + * + * @param wisdomPanelEquipment 窗帘关联 + * @return 结果 + */ + int insertWisdomPanelEquipment(WisdomPanelEquipment wisdomPanelEquipment); + + /** + * 修改窗帘关联 + * + * @param wisdomPanelEquipment 窗帘关联 + * @return 结果 + */ + int updateWisdomPanelEquipment(WisdomPanelEquipment wisdomPanelEquipment); + + /** + * 删除窗帘关联 + * + * @param id 窗帘关联ID + * @return 结果 + */ + int deleteWisdomPanelEquipmentById(Long id); + + /** + * 批量删除窗帘关联 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomPanelEquipmentByIds(String[] ids); +} diff --git a/ics-admin/src/main/java/com/ics/admin/mapper/WisdomPanelMapper.java b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomPanelMapper.java new file mode 100644 index 0000000..cac68ad --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomPanelMapper.java @@ -0,0 +1,64 @@ +package com.ics.admin.mapper; + +import com.ics.admin.domain.WisdomPanel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 情景面板Mapper接口 + * + * @author ics + * @date 2024-08-22 + */ +@Mapper +public interface WisdomPanelMapper extends BaseMapper { + /** + * 查询情景面板 + * + * @param id 情景面板ID + * @return 情景面板 + */ + WisdomPanel selectWisdomPanelById(Long id); + + /** + * 查询情景面板列表 + * + * @param wisdomPanel 情景面板 + * @return 情景面板集合 + */ + List selectWisdomPanelList(WisdomPanel wisdomPanel); + + /** + * 新增情景面板 + * + * @param wisdomPanel 情景面板 + * @return 结果 + */ + int insertWisdomPanel(WisdomPanel wisdomPanel); + + /** + * 修改情景面板 + * + * @param wisdomPanel 情景面板 + * @return 结果 + */ + int updateWisdomPanel(WisdomPanel wisdomPanel); + + /** + * 删除情景面板 + * + * @param id 情景面板ID + * @return 结果 + */ + int deleteWisdomPanelById(Long id); + + /** + * 批量删除情景面板 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomPanelByIds(String[] ids); +} diff --git a/ics-admin/src/main/java/com/ics/admin/mapper/WisdomRoomMapper.java b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomRoomMapper.java new file mode 100644 index 0000000..086344e --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomRoomMapper.java @@ -0,0 +1,64 @@ +package com.ics.admin.mapper; + +import com.ics.admin.domain.WisdomRoom; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 智能房间Mapper接口 + * + * @author ics + * @date 2024-08-21 + */ +@Mapper +public interface WisdomRoomMapper extends BaseMapper { + /** + * 查询智能房间 + * + * @param id 智能房间ID + * @return 智能房间 + */ + WisdomRoom selectWisdomRoomById(Long id); + + /** + * 查询智能房间列表 + * + * @param wisdomRoom 智能房间 + * @return 智能房间集合 + */ + List selectWisdomRoomList(WisdomRoom wisdomRoom); + + /** + * 新增智能房间 + * + * @param wisdomRoom 智能房间 + * @return 结果 + */ + int insertWisdomRoom(WisdomRoom wisdomRoom); + + /** + * 修改智能房间 + * + * @param wisdomRoom 智能房间 + * @return 结果 + */ + int updateWisdomRoom(WisdomRoom wisdomRoom); + + /** + * 删除智能房间 + * + * @param id 智能房间ID + * @return 结果 + */ + int deleteWisdomRoomById(Long id); + + /** + * 批量删除智能房间 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomRoomByIds(String[] ids); +} diff --git a/ics-admin/src/main/java/com/ics/admin/mapper/WisdomStaffMapper.java b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomStaffMapper.java new file mode 100644 index 0000000..6e8b5f6 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/mapper/WisdomStaffMapper.java @@ -0,0 +1,64 @@ +package com.ics.admin.mapper; + +import com.ics.admin.domain.WisdomStaff; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 房间用户关联Mapper接口 + * + * @author ics + * @date 2024-08-21 + */ +@Mapper +public interface WisdomStaffMapper extends BaseMapper { + /** + * 查询房间用户关联 + * + * @param id 房间用户关联ID + * @return 房间用户关联 + */ + WisdomStaff selectWisdomStaffById(Long id); + + /** + * 查询房间用户关联列表 + * + * @param wisdomStaff 房间用户关联 + * @return 房间用户关联集合 + */ + List selectWisdomStaffList(WisdomStaff wisdomStaff); + + /** + * 新增房间用户关联 + * + * @param wisdomStaff 房间用户关联 + * @return 结果 + */ + int insertWisdomStaff(WisdomStaff wisdomStaff); + + /** + * 修改房间用户关联 + * + * @param wisdomStaff 房间用户关联 + * @return 结果 + */ + int updateWisdomStaff(WisdomStaff wisdomStaff); + + /** + * 删除房间用户关联 + * + * @param id 房间用户关联ID + * @return 结果 + */ + int deleteWisdomStaffById(Long id); + + /** + * 批量删除房间用户关联 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomStaffByIds(String[] ids); +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java b/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java index c9ea29c..8073b85 100644 --- a/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java +++ b/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java @@ -90,5 +90,7 @@ public interface IIcsCustomerStaffService extends IService { IcsCustomerStaff selectUserByMobile(String phone); + List selectList(); + // IcsCustomerStaff selectUserByMobileAndParkId(String phoneNumber, String parkId); } diff --git a/ics-admin/src/main/java/com/ics/admin/service/IWisdomDeviceService.java b/ics-admin/src/main/java/com/ics/admin/service/IWisdomDeviceService.java new file mode 100644 index 0000000..aec9354 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/IWisdomDeviceService.java @@ -0,0 +1,61 @@ +package com.ics.admin.service; + +import com.ics.admin.domain.WisdomDevice; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 智能设备Service接口 + * + * @author chen + * @date 2024-08-21 + */ +public interface IWisdomDeviceService extends IService { + /** + * 查询智能设备 + * + * @param id 智能设备ID + * @return 智能设备 + */ + WisdomDevice selectWisdomDeviceById(Long id); + + /** + * 查询智能设备列表 + * + * @param wisdomDevice 智能设备 + * @return 智能设备集合 + */ + List selectWisdomDeviceList(WisdomDevice wisdomDevice); + + /** + * 新增智能设备 + * + * @param wisdomDevice 智能设备 + * @return 结果 + */ + int insertWisdomDevice(WisdomDevice wisdomDevice); + + /** + * 修改智能设备 + * + * @param wisdomDevice 智能设备 + * @return 结果 + */ + int updateWisdomDevice(WisdomDevice wisdomDevice); + + /** + * 批量删除智能设备 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomDeviceByIds(String ids); + + /** + * 删除智能设备信息 + * + * @param id 智能设备ID + * @return 结果 + */ + int deleteWisdomDeviceById(Long id); +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/IWisdomPanelEquipmentService.java b/ics-admin/src/main/java/com/ics/admin/service/IWisdomPanelEquipmentService.java new file mode 100644 index 0000000..5fc6613 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/IWisdomPanelEquipmentService.java @@ -0,0 +1,64 @@ +package com.ics.admin.service; + +import com.ics.admin.domain.WisdomPanelEquipment; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 窗帘关联Service接口 + * + * @author ics + * @date 2024-08-22 + */ +public interface IWisdomPanelEquipmentService extends IService { + /** + * 查询窗帘关联 + * + * @param id 窗帘关联ID + * @return 窗帘关联 + */ + WisdomPanelEquipment selectWisdomPanelEquipmentById(Long id); + + /** + * 查询窗帘关联列表 + * + * @param wisdomPanelEquipment 窗帘关联 + * @return 窗帘关联集合 + */ + List selectWisdomPanelEquipmentList(WisdomPanelEquipment wisdomPanelEquipment); + + /** + * 新增窗帘关联 + * + * @param wisdomPanelEquipment 窗帘关联 + * @return 结果 + */ + int insertWisdomPanelEquipment(WisdomPanelEquipment wisdomPanelEquipment); + + /** + * 修改窗帘关联 + * + * @param wisdomPanelEquipment 窗帘关联 + * @return 结果 + */ + int updateWisdomPanelEquipment(WisdomPanelEquipment wisdomPanelEquipment); + + /** + * 批量删除窗帘关联 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomPanelEquipmentByIds(String ids); + + /** + * 删除窗帘关联信息 + * + * @param id 窗帘关联ID + * @return 结果 + */ + int deleteWisdomPanelEquipmentById(Long id); + + List selectWisdomPanelEquipmentByPanelId(String panelId); + +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/IWisdomPanelService.java b/ics-admin/src/main/java/com/ics/admin/service/IWisdomPanelService.java new file mode 100644 index 0000000..8d9f7b5 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/IWisdomPanelService.java @@ -0,0 +1,61 @@ +package com.ics.admin.service; + +import com.ics.admin.domain.WisdomPanel; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 情景面板Service接口 + * + * @author ics + * @date 2024-08-22 + */ +public interface IWisdomPanelService extends IService { + /** + * 查询情景面板 + * + * @param id 情景面板ID + * @return 情景面板 + */ + WisdomPanel selectWisdomPanelById(Long id); + + /** + * 查询情景面板列表 + * + * @param wisdomPanel 情景面板 + * @return 情景面板集合 + */ + List selectWisdomPanelList(WisdomPanel wisdomPanel); + + /** + * 新增情景面板 + * + * @param wisdomPanel 情景面板 + * @return 结果 + */ + int insertWisdomPanel(WisdomPanel wisdomPanel); + + /** + * 修改情景面板 + * + * @param wisdomPanel 情景面板 + * @return 结果 + */ + int updateWisdomPanel(WisdomPanel wisdomPanel); + + /** + * 批量删除情景面板 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomPanelByIds(String ids); + + /** + * 删除情景面板信息 + * + * @param id 情景面板ID + * @return 结果 + */ + int deleteWisdomPanelById(Long id); +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/IWisdomRoomService.java b/ics-admin/src/main/java/com/ics/admin/service/IWisdomRoomService.java new file mode 100644 index 0000000..0fca2d7 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/IWisdomRoomService.java @@ -0,0 +1,63 @@ +package com.ics.admin.service; + +import com.ics.admin.domain.WisdomRoom; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 智能房间Service接口 + * + * @author ics + * @date 2024-08-21 + */ +public interface IWisdomRoomService extends IService { + /** + * 查询智能房间 + * + * @param id 智能房间ID + * @return 智能房间 + */ + WisdomRoom selectWisdomRoomById(Long id); + + /** + * 查询智能房间列表 + * + * @param wisdomRoom 智能房间 + * @return 智能房间集合 + */ + List selectWisdomRoomList(WisdomRoom wisdomRoom); + + /** + * 新增智能房间 + * + * @param wisdomRoom 智能房间 + * @return 结果 + */ + int insertWisdomRoom(WisdomRoom wisdomRoom); + + /** + * 修改智能房间 + * + * @param wisdomRoom 智能房间 + * @return 结果 + */ + int updateWisdomRoom(WisdomRoom wisdomRoom); + + /** + * 批量删除智能房间 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomRoomByIds(String ids); + + /** + * 删除智能房间信息 + * + * @param id 智能房间ID + * @return 结果 + */ + int deleteWisdomRoomById(Long id); + + List selectList(WisdomRoom wisdomRoom); +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/IWisdomStaffService.java b/ics-admin/src/main/java/com/ics/admin/service/IWisdomStaffService.java new file mode 100644 index 0000000..d73da24 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/IWisdomStaffService.java @@ -0,0 +1,67 @@ +package com.ics.admin.service; + +import com.ics.admin.domain.WisdomStaff; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 房间用户关联Service接口 + * + * @author ics + * @date 2024-08-21 + */ +public interface IWisdomStaffService extends IService { + /** + * 查询房间用户关联 + * + * @param id 房间用户关联ID + * @return 房间用户关联 + */ + WisdomStaff selectWisdomStaffById(Long id); + + /** + * 查询房间用户关联列表 + * + * @param wisdomStaff 房间用户关联 + * @return 房间用户关联集合 + */ + List selectWisdomStaffList(WisdomStaff wisdomStaff); + + /** + * 新增房间用户关联 + * + * @param wisdomStaff 房间用户关联 + * @return 结果 + */ + int insertWisdomStaff(WisdomStaff wisdomStaff); + + /** + * 修改房间用户关联 + * + * @param wisdomStaff 房间用户关联 + * @return 结果 + */ + int updateWisdomStaff(WisdomStaff wisdomStaff); + + /** + * 批量删除房间用户关联 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteWisdomStaffByIds(String ids); + + /** + * 删除房间用户关联信息 + * + * @param id 房间用户关联ID + * @return 结果 + */ + int deleteWisdomStaffById(Long id); + + int deleteWisdomStaffByRoomId(Long id); + + List selectWisdomStaffListByRoomId(Long id); + + List selectWisdomStaffByRoomId(Long id); +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java index 2db7037..b79ef67 100644 --- a/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java +++ b/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java @@ -299,6 +299,11 @@ public class IcsCustomerStaffServiceImpl extends ServiceImpl selectList() { + + return baseMapper.selectList(null); + } //根据企业查询对应的设备 diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomDeviceServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomDeviceServiceImpl.java new file mode 100644 index 0000000..c240d35 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomDeviceServiceImpl.java @@ -0,0 +1,93 @@ +package com.ics.admin.service.impl; + +import java.util.List; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ics.admin.mapper.WisdomDeviceMapper; +import com.ics.admin.domain.WisdomDevice; +import com.ics.admin.service.IWisdomDeviceService; + +/** + * 智能设备Service业务层处理 + * + * @author chen + * @date 2024-08-21 + */ +@Service +public class WisdomDeviceServiceImpl extends ServiceImpl implements IWisdomDeviceService { + @Autowired + private WisdomDeviceMapper wisdomDeviceMapper; + + /** + * 查询智能设备 + * + * @param id 智能设备ID + * @return 智能设备 + */ + @Override + public WisdomDevice selectWisdomDeviceById(Long id) { + return wisdomDeviceMapper.selectById(id); + } + + /** + * 查询智能设备列表 + * + * @param wisdomDevice 智能设备 + * @return 智能设备 + */ + @Override + public List selectWisdomDeviceList(WisdomDevice wisdomDevice) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq(wisdomDevice.getWisdomRoomId() !=null,"wisdom_room_id",wisdomDevice.getWisdomRoomId()); + return wisdomDeviceMapper.selectList(queryWrapper); + } + + /** + * 新增智能设备 + * + * @param wisdomDevice 智能设备 + * @return 结果 + */ + @Override + public int insertWisdomDevice(WisdomDevice wisdomDevice) { + return wisdomDeviceMapper.insert(wisdomDevice); + } + + /** + * 修改智能设备 + * + * @param wisdomDevice 智能设备 + * @return 结果 + */ + @Override + public int updateWisdomDevice(WisdomDevice wisdomDevice) { + return wisdomDeviceMapper.updateById(wisdomDevice); + } + + /** + * 删除智能设备对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteWisdomDeviceByIds(String ids) { + String[] idsArray = StrUtil.split(ids,","); + return wisdomDeviceMapper.deleteBatchIds(CollUtil.toList(idsArray)); + } + + /** + * 删除智能设备信息 + * + * @param id 智能设备ID + * @return 结果 + */ + @Override + public int deleteWisdomDeviceById(Long id) { + return wisdomDeviceMapper.deleteWisdomDeviceById(id); + } +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomPanelEquipmentServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomPanelEquipmentServiceImpl.java new file mode 100644 index 0000000..b4f2193 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomPanelEquipmentServiceImpl.java @@ -0,0 +1,99 @@ +package com.ics.admin.service.impl; + +import java.util.List; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ics.admin.mapper.WisdomPanelEquipmentMapper; +import com.ics.admin.domain.WisdomPanelEquipment; +import com.ics.admin.service.IWisdomPanelEquipmentService; + +/** + * 窗帘关联Service业务层处理 + * + * @author ics + * @date 2024-08-22 + */ +@Service +public class WisdomPanelEquipmentServiceImpl extends ServiceImpl implements IWisdomPanelEquipmentService { + @Autowired + private WisdomPanelEquipmentMapper wisdomPanelEquipmentMapper; + + /** + * 查询窗帘关联 + * + * @param id 窗帘关联ID + * @return 窗帘关联 + */ + @Override + public WisdomPanelEquipment selectWisdomPanelEquipmentById(Long id) { + return wisdomPanelEquipmentMapper.selectById(id); + } + + /** + * 查询窗帘关联列表 + * + * @param wisdomPanelEquipment 窗帘关联 + * @return 窗帘关联 + */ + @Override + public List selectWisdomPanelEquipmentList(WisdomPanelEquipment wisdomPanelEquipment) { + QueryWrapper queryWrapper = new QueryWrapper(); + return wisdomPanelEquipmentMapper.selectList(queryWrapper); + } + + /** + * 新增窗帘关联 + * + * @param wisdomPanelEquipment 窗帘关联 + * @return 结果 + */ + @Override + public int insertWisdomPanelEquipment(WisdomPanelEquipment wisdomPanelEquipment) { + return wisdomPanelEquipmentMapper.insert(wisdomPanelEquipment); + } + + /** + * 修改窗帘关联 + * + * @param wisdomPanelEquipment 窗帘关联 + * @return 结果 + */ + @Override + public int updateWisdomPanelEquipment(WisdomPanelEquipment wisdomPanelEquipment) { + return wisdomPanelEquipmentMapper.updateById(wisdomPanelEquipment); + } + + /** + * 删除窗帘关联对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteWisdomPanelEquipmentByIds(String ids) { + String[] idsArray = StrUtil.split(ids,","); + return wisdomPanelEquipmentMapper.deleteBatchIds(CollUtil.toList(idsArray)); + } + + /** + * 删除窗帘关联信息 + * + * @param id 窗帘关联ID + * @return 结果 + */ + @Override + public int deleteWisdomPanelEquipmentById(Long id) { + return wisdomPanelEquipmentMapper.deleteWisdomPanelEquipmentById(id); + } + + @Override + public List selectWisdomPanelEquipmentByPanelId(String panelId) { + + QueryWrapper wrapper = new QueryWrapper().eq("panel_id", panelId); + return wisdomPanelEquipmentMapper.selectList(wrapper); + } +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomPanelServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomPanelServiceImpl.java new file mode 100644 index 0000000..d9eeccd --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomPanelServiceImpl.java @@ -0,0 +1,93 @@ +package com.ics.admin.service.impl; + +import java.util.List; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ics.admin.mapper.WisdomPanelMapper; +import com.ics.admin.domain.WisdomPanel; +import com.ics.admin.service.IWisdomPanelService; + +/** + * 情景面板Service业务层处理 + * + * @author ics + * @date 2024-08-22 + */ +@Service +public class WisdomPanelServiceImpl extends ServiceImpl implements IWisdomPanelService { + @Autowired + private WisdomPanelMapper wisdomPanelMapper; + + /** + * 查询情景面板 + * + * @param id 情景面板ID + * @return 情景面板 + */ + @Override + public WisdomPanel selectWisdomPanelById(Long id) { + return wisdomPanelMapper.selectById(id); + } + + /** + * 查询情景面板列表 + * + * @param wisdomPanel 情景面板 + * @return 情景面板 + */ + @Override + public List selectWisdomPanelList(WisdomPanel wisdomPanel) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq(wisdomPanel.getWisdomRoom() !=null,"wisdom_room",wisdomPanel.getWisdomRoom()); + return wisdomPanelMapper.selectList(queryWrapper); + } + + /** + * 新增情景面板 + * + * @param wisdomPanel 情景面板 + * @return 结果 + */ + @Override + public int insertWisdomPanel(WisdomPanel wisdomPanel) { + return wisdomPanelMapper.insert(wisdomPanel); + } + + /** + * 修改情景面板 + * + * @param wisdomPanel 情景面板 + * @return 结果 + */ + @Override + public int updateWisdomPanel(WisdomPanel wisdomPanel) { + return wisdomPanelMapper.updateById(wisdomPanel); + } + + /** + * 删除情景面板对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteWisdomPanelByIds(String ids) { + String[] idsArray = StrUtil.split(ids,","); + return wisdomPanelMapper.deleteBatchIds(CollUtil.toList(idsArray)); + } + + /** + * 删除情景面板信息 + * + * @param id 情景面板ID + * @return 结果 + */ + @Override + public int deleteWisdomPanelById(Long id) { + return wisdomPanelMapper.deleteWisdomPanelById(id); + } +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomRoomServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomRoomServiceImpl.java new file mode 100644 index 0000000..8718a30 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomRoomServiceImpl.java @@ -0,0 +1,98 @@ +package com.ics.admin.service.impl; + +import java.util.List; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ics.admin.mapper.WisdomRoomMapper; +import com.ics.admin.domain.WisdomRoom; +import com.ics.admin.service.IWisdomRoomService; + +/** + * 智能房间Service业务层处理 + * + * @author ics + * @date 2024-08-21 + */ +@Service +public class WisdomRoomServiceImpl extends ServiceImpl implements IWisdomRoomService { + @Autowired + private WisdomRoomMapper wisdomRoomMapper; + + /** + * 查询智能房间 + * + * @param id 智能房间ID + * @return 智能房间 + */ + @Override + public WisdomRoom selectWisdomRoomById(Long id) { + return wisdomRoomMapper.selectById(id); + } + + /** + * 查询智能房间列表 + * + * @param wisdomRoom 智能房间 + * @return 智能房间 + */ + @Override + public List selectWisdomRoomList(WisdomRoom wisdomRoom) { + return wisdomRoomMapper.selectWisdomRoomList(wisdomRoom); + } + + /** + * 新增智能房间 + * + * @param wisdomRoom 智能房间 + * @return 结果 + */ + @Override + public int insertWisdomRoom(WisdomRoom wisdomRoom) { + return wisdomRoomMapper.insert(wisdomRoom); + } + + /** + * 修改智能房间 + * + * @param wisdomRoom 智能房间 + * @return 结果 + */ + @Override + public int updateWisdomRoom(WisdomRoom wisdomRoom) { + return wisdomRoomMapper.updateById(wisdomRoom); + } + + /** + * 删除智能房间对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteWisdomRoomByIds(String ids) { + String[] idsArray = StrUtil.split(ids,","); + return wisdomRoomMapper.deleteBatchIds(CollUtil.toList(idsArray)); + } + + /** + * 删除智能房间信息 + * + * @param id 智能房间ID + * @return 结果 + */ + @Override + public int deleteWisdomRoomById(Long id) { + return wisdomRoomMapper.deleteWisdomRoomById(id); + } + + @Override + public List selectList(WisdomRoom wisdomRoom) { + + QueryWrapper queryWrapper = new QueryWrapper<>(); + return wisdomRoomMapper.selectList(queryWrapper); + } +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomStaffServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomStaffServiceImpl.java new file mode 100644 index 0000000..0bb98e7 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/service/impl/WisdomStaffServiceImpl.java @@ -0,0 +1,122 @@ +package com.ics.admin.service.impl; + +import java.util.List; +import java.util.stream.Collectors; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ics.admin.mapper.WisdomStaffMapper; +import com.ics.admin.domain.WisdomStaff; +import com.ics.admin.service.IWisdomStaffService; + +/** + * 房间用户关联Service业务层处理 + * + * @author ics + * @date 2024-08-21 + */ +@Service +public class WisdomStaffServiceImpl extends ServiceImpl implements IWisdomStaffService { + @Autowired + private WisdomStaffMapper wisdomStaffMapper; + + /** + * 查询房间用户关联 + * + * @param id 房间用户关联ID + * @return 房间用户关联 + */ + @Override + public WisdomStaff selectWisdomStaffById(Long id) { + return wisdomStaffMapper.selectById(id); + } + + /** + * 查询房间用户关联列表 + * + * @param wisdomStaff 房间用户关联 + * @return 房间用户关联 + */ + @Override + public List selectWisdomStaffList(WisdomStaff wisdomStaff) { + QueryWrapper queryWrapper = new QueryWrapper(); + return wisdomStaffMapper.selectList(queryWrapper); + } + + /** + * 新增房间用户关联 + * + * @param wisdomStaff 房间用户关联 + * @return 结果 + */ + @Override + public int insertWisdomStaff(WisdomStaff wisdomStaff) { + return wisdomStaffMapper.insert(wisdomStaff); + } + + /** + * 修改房间用户关联 + * + * @param wisdomStaff 房间用户关联 + * @return 结果 + */ + @Override + public int updateWisdomStaff(WisdomStaff wisdomStaff) { + return wisdomStaffMapper.updateById(wisdomStaff); + } + + /** + * 删除房间用户关联对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteWisdomStaffByIds(String ids) { + String[] idsArray = StrUtil.split(ids,","); + return wisdomStaffMapper.deleteBatchIds(CollUtil.toList(idsArray)); + } + + /** + * 删除房间用户关联信息 + * + * @param id 房间用户关联ID + * @return 结果 + */ + @Override + public int deleteWisdomStaffById(Long id) { + return wisdomStaffMapper.deleteWisdomStaffById(id); + } + + @Override + public int deleteWisdomStaffByRoomId(Long id) { + + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("wisdom_room_id",id); + return wisdomStaffMapper.delete(updateWrapper); + } + + @Override + public List selectWisdomStaffListByRoomId(Long id) { + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("wisdom_room_id",id); + List wisdomStaffs = wisdomStaffMapper.selectList(wrapper); + List collect = wisdomStaffs.stream().map(WisdomStaff::getId).collect(Collectors.toList()); + return collect; + } + + @Override + public List selectWisdomStaffByRoomId(Long id) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("wisdom_room_id",id); + List wisdomStaffs = wisdomStaffMapper.selectList(wrapper); + List collect = wisdomStaffs.stream().map(WisdomStaff::getStaffId).collect(Collectors.toList()); + return collect; + } +} diff --git a/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml b/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml index 1a34e72..da29aa2 100644 --- a/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml +++ b/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml @@ -71,7 +71,6 @@ r.remark, r.worker_score, r.worker_id, - r.customer_id, r.create_by, r.create_time, r.update_by, diff --git a/ics-admin/src/main/resources/mapper/admin/WisdomDeviceMapper.xml b/ics-admin/src/main/resources/mapper/admin/WisdomDeviceMapper.xml new file mode 100644 index 0000000..cc3dd05 --- /dev/null +++ b/ics-admin/src/main/resources/mapper/admin/WisdomDeviceMapper.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT id, type, equipment_name,type_name, status,wisdom_room_id, equipment_num, pic, delete_flag, create_by, create_time, update_by, update_time, ip, tenant_id, park_id, content_id, content_name FROM tb_wisdom_device + + + + + + + + INSERT INTO tb_wisdom_device + + type, + equipment_name, + status, + equipment_num, + pic, + delete_flag, + create_by, + create_time, + update_by, + update_time, + ip, + tenant_id, + type_name, + wisdom_room_id, + park_id, + content_id, + content_name, + + + #{type}, + #{equipmentName}, + #{status}, + #{equipmentNum}, + #{pic}, + #{deleteFlag}, + #{typeName}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{ip}, + #{wisdom_room_id}, + #{tenantId}, + #{parkId}, + #{contentId}, + #{contentName}, + + + + + UPDATE tb_wisdom_device + + type = #{type}, + equipment_name = #{equipmentName}, + status = #{status}, + equipment_num = #{equipmentNum}, + pic = #{pic}, + delete_flag = #{deleteFlag}, + create_by = #{createBy}, + create_time = #{createTime}, + type_name = #{typeName}, + update_by = #{updateBy}, + update_time = #{updateTime}, + ip = #{ip}, + wisdom_room_id = #{wisdomRoomId}, + tenant_id = #{tenantId}, + park_id = #{parkId}, + content_id = #{contentId}, + content_name = #{contentName}, + + WHERE id = #{id} + + + + DELETE FROM tb_wisdom_device WHERE id = #{id} + + + + DELETE FROM tb_wisdom_device where id in + + #{id} + + + + \ No newline at end of file diff --git a/ics-admin/src/main/resources/mapper/admin/WisdomPanelEquipmentMapper.xml b/ics-admin/src/main/resources/mapper/admin/WisdomPanelEquipmentMapper.xml new file mode 100644 index 0000000..c281ec1 --- /dev/null +++ b/ics-admin/src/main/resources/mapper/admin/WisdomPanelEquipmentMapper.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + SELECT id, panel_id, equipment_id, create_time, type FROM tb_wisdom_panel_equipment + + + + + + + + INSERT INTO tb_wisdom_panel_equipment + + panel_id, + equipment_id, + create_time, + type, + + + #{panelId}, + #{equipmentId}, + #{createTime}, + #{type}, + + + + + UPDATE tb_wisdom_panel_equipment + + panel_id = #{panelId}, + equipment_id = #{equipmentId}, + create_time = #{createTime}, + type = #{type}, + + WHERE id = #{id} + + + + DELETE FROM tb_wisdom_panel_equipment WHERE id = #{id} + + + + DELETE FROM tb_wisdom_panel_equipment where id in + + #{id} + + + + \ No newline at end of file diff --git a/ics-admin/src/main/resources/mapper/admin/WisdomPanelMapper.xml b/ics-admin/src/main/resources/mapper/admin/WisdomPanelMapper.xml new file mode 100644 index 0000000..2546428 --- /dev/null +++ b/ics-admin/src/main/resources/mapper/admin/WisdomPanelMapper.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + SELECT id, panel_name, create_time, button_id, wisdom_room, panel_id FROM tb_wisdom_panel + + + + + + + + INSERT INTO tb_wisdom_panel + + panel_name, + create_time, + button_id, + wisdom_room, + img, + img_open, + panel_id, + + + #{panelName}, + #{createTime}, + #{buttonId}, + #{wisdomRoom}, + #{img}, + #{imgOpen}, + #{panelId}, + + + + + UPDATE tb_wisdom_panel + + panel_name = #{panelName}, + create_time = #{createTime}, + button_id = #{buttonId}, + wisdom_room = #{wisdomRoom}, + img = #{img}, + img_open = #{imgOpen}, + panel_id = #{panelId}, + + WHERE id = #{id} + + + + DELETE FROM tb_wisdom_panel WHERE id = #{id} + + + + DELETE FROM tb_wisdom_panel where id in + + #{id} + + + + \ No newline at end of file diff --git a/ics-admin/src/main/resources/mapper/admin/WisdomRoomMapper.xml b/ics-admin/src/main/resources/mapper/admin/WisdomRoomMapper.xml new file mode 100644 index 0000000..ac14771 --- /dev/null +++ b/ics-admin/src/main/resources/mapper/admin/WisdomRoomMapper.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + SELECT id, type, meeting_name, start_time, end_date,img, create_by, create_time, update_by, update_time, version, delete_flag, remake, tenant_id, park_id FROM tb_wisdom_room + + + + + + + + INSERT INTO tb_wisdom_room + + type, + meeting_name, + start_time, + end_date, + create_by, + create_time, + update_by, + update_time, + version, + delete_flag, + img, + remake, + tenant_id, + park_id, + + + #{type}, + #{meetingName}, + #{startTime}, + #{endDate}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{version}, + #{img}, + #{deleteFlag}, + #{remake}, + #{tenantId}, + #{parkId}, + + + + + UPDATE tb_wisdom_room + + type = #{type}, + meeting_name = #{meetingName}, + start_time = #{startTime}, + end_date = #{endDate}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + version = #{version}, + img = #{img}, + delete_flag = #{deleteFlag}, + remake = #{remake}, + tenant_id = #{tenantId}, + park_id = #{parkId}, + + WHERE id = #{id} + + + + DELETE FROM tb_wisdom_room WHERE id = #{id} + + + + DELETE FROM tb_wisdom_room where id in + + #{id} + + + + \ No newline at end of file diff --git a/ics-admin/src/main/resources/mapper/admin/WisdomStaffMapper.xml b/ics-admin/src/main/resources/mapper/admin/WisdomStaffMapper.xml new file mode 100644 index 0000000..edebf24 --- /dev/null +++ b/ics-admin/src/main/resources/mapper/admin/WisdomStaffMapper.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + SELECT id, wisdom_room_id, staff_id, delete_flag, create_by, create_time, update_by, update_time, tenant_id, park_id FROM tb_wisdom_staff + + + + + + + + INSERT INTO tb_wisdom_staff + + id, + wisdom_room_id, + staff_id, + delete_flag, + create_by, + create_time, + update_by, + update_time, + tenant_id, + park_id, + + + #{id}, + #{wisdomRoomId}, + #{staffId}, + #{deleteFlag}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{tenantId}, + #{parkId}, + + + + + UPDATE tb_wisdom_staff + + wisdom_room_id = #{wisdomRoomId}, + staff_id = #{staffId}, + delete_flag = #{deleteFlag}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + tenant_id = #{tenantId}, + park_id = #{parkId}, + + WHERE id = #{id} + + + + DELETE FROM tb_wisdom_staff WHERE id = #{id} + + + + DELETE FROM tb_wisdom_staff where id in + + #{id} + + + + \ No newline at end of file diff --git a/ics-common/ics-common-core/pom.xml b/ics-common/ics-common-core/pom.xml index e01a50d..3af3ab1 100644 --- a/ics-common/ics-common-core/pom.xml +++ b/ics-common/ics-common-core/pom.xml @@ -32,6 +32,17 @@ tea-openapi 0.0.13 + + com.hynnet + jacob + 1.18 + + + + org.java-websocket + Java-WebSocket + 1.5.3 + com.aliyun tea-console diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/config/WsClientConfig.java b/ics-common/ics-common-core/src/main/java/com/ics/common/config/WsClientConfig.java new file mode 100644 index 0000000..dde2947 --- /dev/null +++ b/ics-common/ics-common-core/src/main/java/com/ics/common/config/WsClientConfig.java @@ -0,0 +1,54 @@ +package com.ics.common.config; + +import lombok.extern.slf4j.Slf4j; +import org.java_websocket.client.WebSocketClient; +import org.java_websocket.handshake.ServerHandshake; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.net.URI; +import java.net.URISyntaxException; + +@Slf4j +@Configuration +public class WsClientConfig +{ + // 配置WebSocket客户端 + // + // + @Bean + public WebSocketClient webSocketClient(){ + WebSocketClient wsc = null; + try { + wsc = new WebSocketClient(new URI("ws://localhost:8081/websocket-server")) { + @Override + public void onOpen(ServerHandshake serverHandshake) { + log.info("与服务端建立连接"); + } + + @Override + public void onMessage(String s) { + log.info("收到服务端的消息:{}", s); + } + + @Override + public void onClose(int i, String s, boolean b) { + log.info("与服务端的连接断开 code:{} reason:{} {}", i, s, b); + } + + @Override + public void onError(Exception e) { + log.info("连接报错"); + } + }; + wsc.connect(); + return wsc; + }catch (URISyntaxException e){ + e.printStackTrace(); + } + + return wsc; + } + + +} diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/config/WsServerConfig.java b/ics-common/ics-common-core/src/main/java/com/ics/common/config/WsServerConfig.java new file mode 100644 index 0000000..43cc7f3 --- /dev/null +++ b/ics-common/ics-common-core/src/main/java/com/ics/common/config/WsServerConfig.java @@ -0,0 +1,17 @@ +package com.ics.common.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.socket.server.standard.ServerEndpointExporter; + + +@Configuration +public class WsServerConfig { + + @Bean + public ServerEndpointExporter serverEndpointExporter() { + + return new ServerEndpointExporter(); + + } +} diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/core/controller/BaseController.java b/ics-common/ics-common-core/src/main/java/com/ics/common/core/controller/BaseController.java index 49f04b0..ab7839b 100644 --- a/ics-common/ics-common-core/src/main/java/com/ics/common/core/controller/BaseController.java +++ b/ics-common/ics-common-core/src/main/java/com/ics/common/core/controller/BaseController.java @@ -121,8 +121,8 @@ public class BaseController { Token token = SubjectUtil.getToken(getRequest()); String value = valueOperations.get(ACCESS_USERID + ":" + token.getUserId()); JSONObject jo = StringUtils.isEmpty(value) ? null : JSON.parseObject(value, JSONObject.class); - if (jo != null && jo.containsKey("staffId")) { - return (Integer)jo.get("staffId"); + if (jo != null && jo.containsKey("userId")) { + return (Integer)jo.get("userId"); } return null; } diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/utils/Sample.java b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/Sample.java index 5a0d886..b59e9ab 100644 --- a/ics-common/ics-common-core/src/main/java/com/ics/common/utils/Sample.java +++ b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/Sample.java @@ -36,7 +36,7 @@ public class Sample { SendSmsRequest sendReq = new SendSmsRequest() .setPhoneNumbers(phone) .setSignName("长阳智会云控") - .setTemplateCode("SMS_471775217") + .setTemplateCode("SMS_472080045") .setTemplateParam (json.toJSONString()); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); @@ -74,7 +74,7 @@ public class Sample { SendSmsRequest sendReq = new SendSmsRequest() .setPhoneNumbers(phone) .setSignName("长阳智会云控") - .setTemplateCode("SMS_471945046") + .setTemplateCode("SMS_471965076") .setTemplateParam (json.toJSONString()); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); @@ -113,7 +113,7 @@ public class Sample { SendSmsRequest sendReq = new SendSmsRequest() .setPhoneNumbers(phone) .setSignName("长阳智会云控") - .setTemplateCode("SMS_472025018") + .setTemplateCode("SMS_472065044") .setTemplateParam (json.toJSONString()); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/utils/device/SignUtils.java b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/device/SignUtils.java new file mode 100644 index 0000000..19cf365 --- /dev/null +++ b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/device/SignUtils.java @@ -0,0 +1,61 @@ +package com.ics.common.utils.device; + +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSONObject; +import org.springframework.util.DigestUtils; + +import java.util.HashMap; +import java.util.Map; + + +public class SignUtils { + + /** + * MD5加密 + * + * @param strData + * @return 返回加密字符 + */ + public static String getMD5(String strData) { + return DigestUtils.md5DigestAsHex(strData.getBytes()); + } + + /** + * 签名 + * + * @param appID appID + * @param key key + * @param time 时间戳 + * @return 返回签名 + */ + public static String sign(String appID, String key, Long time) { + String sign1 = getMD5(time + "|" + key); + return getMD5(sign1 + "|" + appID + "|" + key); + } + + public static void lock(String lockId){ + String appID = "90000021"; + String key = "cootoo"; + Long time = System.currentTimeMillis(); + + //http://111.23.208.229:8088/cootoo/openLock + JSONObject on =new JSONObject(); + on.put("appID",appID); + on.put("requestID",time); + on.put("peopleID","20249002"); + on.put("lockID",lockId); + on.put("time",time); + on.put("sign",sign(appID,key,time)); + + Map heads = new HashMap<>(); + + HttpRequest.post("http://111.23.208.229:8088/cootoo/openLock") + .headerMap(heads,false) + .body(on.toString()).timeout(30*1000).execute().body(); + } + + public static void main(String[] args) { + + } + +} diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/utils/device/WisDomDeviceUtils.java b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/device/WisDomDeviceUtils.java new file mode 100644 index 0000000..2b1cba1 --- /dev/null +++ b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/device/WisDomDeviceUtils.java @@ -0,0 +1,309 @@ +package com.ics.common.utils.device; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; + +import java.util.HashMap; +import java.util.Map; + + +@Slf4j +public class WisDomDeviceUtils { + + private static final String appId = "10001415"; + private static final String appKey = "af08e3de-1670-4f80-9844-152cc7bb5e8b"; + + + /** + * 获取设备唯一标识 + * + * @return + */ + public static String getDeviceId() { + + JSONObject jsonObject = new JSONObject(); + + jsonObject.put("pageNo",0); + jsonObject.put("pageSize",10); + + Map heads = new HashMap<>(); + heads.put("Content-Type", "application/json;charset=UTF-8"); + heads.put("appId",appId); + heads.put("appKey",appKey ); + + String result = HttpRequest.post("https://iot.ikonke.com:4432/2.0/developer/ccus") + .headerMap(heads, false) + .body(jsonObject.toString()).timeout(30*1000).execute().body(); + + + JSONObject jsonObject1 = JSON.parseObject(result); + JSONArray data = jsonObject1.getJSONArray("data"); + + System.out.println(data.getJSONObject(0).getString("deviceId")); + System.out.println(data.getJSONObject(0).getString("id")); + System.out.println(data.getJSONObject(0).getString("productId")); + + return "123456"; + } + + + + public static JSONObject getDeviceStatus(String deviceId,String type){ + + JSONObject on =new JSONObject(); + on.put("id",deviceId); + on.put("type",type); + + + Map heads = new HashMap<>(); + heads.put("Content-Type", "application/json;charset=UTF-8"); + heads.put("appId",appId); + heads.put("appKey",appKey ); + + String result = HttpRequest.post("https://iot.ikonke.com:4432/1.0/app/ccu/ef85e561-512d-4e9c-befe-ee4b0d9c2414/deviceStatus") + .headerMap(heads, false) + .body(on.toString()).timeout(30*1000).execute().body(); + + + JSONObject jsonObject1 = JSON.parseObject(result); + JSONObject o = (JSONObject) jsonObject1.get("status"); + JSONObject jsonObject = JSON.parseObject(String.valueOf(o)); + + System.out.println(jsonObject); + return jsonObject; + + } + + public static void main(String[] args) { +// JSONObject jsonObject = getDeviceStatus(210, "KONKE_ZIGBEE_CHOPIN_CURTAIN_CUSTOM"); +// System.out.println(jsonObject); + openCover("4ab376ffdef1f8e0e7b346ead9ab648b","open_cover"); +// openCover("edd8a7b5390b7fa6359d5b411f82a936","close_cover"); + } + + /** + * 设备通用操作 (开关等控制器) + */ + public static Boolean deviceControl(String deviceId,boolean isOn){ + JSONObject jsonObject = new JSONObject(); + + JSONObject on =new JSONObject(); + on.put("on",isOn); + jsonObject.put("actionArg",on); + + Map heads = new HashMap<>(); + heads.put("Content-Type", "application/json;charset=UTF-8"); + heads.put("appId",appId); + heads.put("appKey",appKey ); + + String result = HttpRequest.post("https://iot.ikonke.com:4432/2.0/ccu/CCU_288340/device/"+deviceId+"/opt?realType=KONKE_ZIGBEE_CHOPIN_LIGHT_PROJECT&action=SwitchOpt") + .headerMap(heads, false) + .body(jsonObject.toString()).timeout(30*1000).execute().body(); + + JSONObject jsonObject1 = JSON.parseObject(result); + Boolean success = Boolean.valueOf(jsonObject1.getString("success")); + log.info("灯控接口返回结果:{}",jsonObject1); + log.info(DateUtil.date()+" -------灯控接口结果:{}",success); + + return success; + } + + + /** + *调光灯接口 + */ + public static Boolean dimmingControl(String deviceId,int bri,int colourTemperature){ + JSONObject jsonObject = new JSONObject(); + + JSONObject on =new JSONObject(); + on.put("bri",bri); + on.put("colour_temperature",colourTemperature); + jsonObject.put("actionArg",on); + + Map heads = new HashMap<>(); + heads.put("Content-Type", "application/json;charset=UTF-8"); + heads.put("appId",appId); + heads.put("appKey",appKey ); + + String result = HttpRequest.post("https://iot.ikonke.com:4432/2.0/ccu/CCU_288340/device/"+deviceId+"/opt?realType=KONKE_ZIGBEE_Z3S_GALAXY_DIMMER_LIGHT&action=SetDimmableLightMode") + .headerMap(heads, false) + .body(jsonObject.toString()).timeout(30*1000).execute().body(); + + JSONObject jsonObject1 = JSON.parseObject(result); + Boolean success = Boolean.valueOf(jsonObject1.getString("success")); + log.info("调光灯接口返回结果:{}",jsonObject1); + + log.info(DateUtil.date()+" -------调光灯接口结果:{}",success); + + return success; + } + + //调光灯,亮度调节 +// public static Boolean dimmingLightControl(String deviceId,String mode,boolean on){ +// JSONObject jsonObject = new JSONObject(); +// +// JSONObject on1 =new JSONObject(); +// on1.put("mode",mode); +// on1.put("on",on); +// jsonObject.put("actionArg",on1); +// Map heads = new HashMap<>(); +// heads.put("Content-Type", "application/json;charset=UTF-8"); +// heads.put("appId",appId); +// heads.put("appKey",appKey ); +// +// String result = HttpRequest.post("https://iot.ikonke.com:4432/2.0/ccu/CCU_288340/device/"+deviceId+"/opt?realType=KONKE_ZIGBEE_Z3S_GALAXY_DIMMER_LIGHT&action=SetKLightMode") +// .headerMap(heads, false) +// .body(jsonObject.toString()).timeout(30*1000).execute().body(); +// +// JSONObject jsonObject1 = JSON.parseObject(result); +// Boolean success = Boolean.valueOf(jsonObject1.getString("success")); +// return success; +// } + + + /** + * 情景面板接口 + */ + public static Boolean shortControl(String deviceId,int buttonId){ + JSONObject jsonObject = new JSONObject(); + + JSONObject on =new JSONObject(); + on.put("buttonId",buttonId); + jsonObject.put("actionArg",on); + + Map heads = new HashMap <>(); + heads.put("Content-Type", "application/json;charset=UTF-8"); + heads.put("appId",appId); + heads.put("appKey",appKey ); + + String result = HttpRequest.post("https://iot.ikonke.com:4432/2.0/ccu/CCU_288340/device/"+deviceId+"/opt?realType=KONKE_ZIGBEE_CHOPIN_SHORTCUTPANEL_PROJECT&action=ActiveShortcutPanel") + .headerMap(heads, false) + .body(jsonObject.toString()).timeout(30*1000).execute().body(); + + JSONObject jsonObject1 = JSON.parseObject(result); + Boolean success = Boolean.valueOf(jsonObject1.getString("success")); + log.info("情景面板接口返回结果:{}",jsonObject1); + + log.info(DateUtil.date()+" -------情景面板接口结果:{}",success); + + + + + + + + return success; + } + + /** + * 窗帘接口 + */ + public static Boolean curtainControl(String deviceId,String opt){ + JSONObject jsonObject = new JSONObject(); + + JSONObject on =new JSONObject(); + on.put("opt",opt); + jsonObject.put("actionArg",on); + + Map heads = new HashMap<>(); + heads.put("Content-Type", "application/json;charset=UTF-8"); + heads.put("appId",appId); + heads.put("appKey",appKey ); + + String result = HttpRequest.post("https://iot.ikonke.com:4432/2.0/ccu/CCU_288340/device/"+deviceId+"/opt?realType=KONKE_ZIGBEE_CHOPIN_CURTAIN_CUSTOM&action=MotorOpt") + .headerMap(heads, false) + .body(jsonObject.toString()).timeout(30*1000).execute().body(); + + JSONObject jsonObject1 = JSON.parseObject(result); + Boolean success = Boolean.valueOf(jsonObject1.getString("success")); + log.info("窗帘控制接口返回结果:{}",jsonObject1); + + log.info(DateUtil.date()+" -------调用窗帘控制结果:{}",success); + return success; + } + + + /** + * 插座接口 + * @param deviceId + * @param status + * @return + */ + public static Boolean socketControl(String deviceId, Boolean status) { + JSONObject jsonObject = new JSONObject(); + + JSONObject on =new JSONObject(); + on.put("on",status); + jsonObject.put("actionArg",on); + + Map heads = new HashMap<>(); + heads.put("Content-Type", "application/json;charset=UTF-8"); + heads.put("appId",appId); + heads.put("appKey",appKey ); + + String result = HttpRequest.post("https://iot.ikonke.com:4432/2.0/ccu/CCU_288340/device/"+deviceId+"/opt?realType=KONKE_ZIGBEE_CHOPIN_10A_SOCKET&action=SwitchOpt") + .headerMap(heads, false) + .body(jsonObject.toString()).timeout(30*1000).execute().body(); + + JSONObject jsonObject1 = JSON.parseObject(result); + Boolean success = Boolean.valueOf(jsonObject1.getString("success")); + + log.info("插座接口返回结果:{}",jsonObject1); + log.info(DateUtil.date()+" -------插座接口结果:{}",success); + + return success; + } + + public static Boolean dimmingOpenControl(String deviceId, Boolean status) { + JSONObject jsonObject = new JSONObject(); + + JSONObject on =new JSONObject(); + on.put("on",status); + jsonObject.put("actionArg",on); + + Map heads = new HashMap<>(); + heads.put("Content-Type", "application/json;charset=UTF-8"); + heads.put("appId",appId); + heads.put("appKey",appKey ); + + String result = HttpRequest.post("https://iot.ikonke.com:4432/2.0/ccu/CCU_288340/device/"+deviceId+"/opt?realType=KONKE_ZIGBEE_Z3S_GALAXY_DIMMER_LIGHT&action=SwitchOpt") + .headerMap(heads, false) + .body(jsonObject.toString()).timeout(30*1000).execute().body(); + + JSONObject jsonObject1 = JSON.parseObject(result); + Boolean success = Boolean.valueOf(jsonObject1.getString("success")); + + log.info("调光灯接口返回结果:{}",jsonObject1); + log.info(DateUtil.date()+" -------调光灯接口结果:{}",success); + + return success; + } + + + + /** + * 卷帘开启 + */ + public static Boolean openCover(String deviceId, String status) { + + JSONObject on =new JSONObject(); + on.put("device_id",deviceId); + + Map heads = new HashMap<>(); + heads.put("Authorization","Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI1ZTg3OGUyMmQ3NDc0ZTM4YTFhMmY5ODQzZDcxM2FhOCIsImlhdCI6MTcyMjYwMjU1NCwiZXhwIjoyMDM3OTYyNTU0fQ.Wjo9F0FSbFiVySwFzyHmKwt5ncneis-oPO6sPSffUJg"); + heads.put("Content-Type", "application/json;charset=UTF-8"); + HttpRequest.post("http://222.184.49.22:8123/api/services/cover/"+status) + .headerMap(heads,false) + .body(on.toString()).timeout(30*1000).executeAsync(); + + return false; + } + + + + +} diff --git a/ics-web/src/main/java/com/ics/ApplicationRun.java b/ics-web/src/main/java/com/ics/ApplicationRun.java index b1d9f09..287cd9c 100644 --- a/ics-web/src/main/java/com/ics/ApplicationRun.java +++ b/ics-web/src/main/java/com/ics/ApplicationRun.java @@ -8,12 +8,14 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.context.ApplicationContext; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.web.socket.config.annotation.EnableWebSocket; import org.wf.jwtp.configuration.EnableJwtPermission; /** * 启动程序 * */ +@EnableWebSocket @EnableJwtPermission @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) public class ApplicationRun { diff --git a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java index c303cde..884ac11 100644 --- a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java +++ b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java @@ -221,6 +221,9 @@ public class ApiRoomContentController extends BaseController { boolean save = reservationService.save(reservation); Assert.isTrue(save, "预约失败"); + // 预约成功后,获取门锁 + + //新增预约服务数据 List serveNames = new ArrayList<>(); diff --git a/ics-web/src/main/java/com/ics/controller/mobile/wisdom/WisdomApiController.java b/ics-web/src/main/java/com/ics/controller/mobile/wisdom/WisdomApiController.java new file mode 100644 index 0000000..d5c3007 --- /dev/null +++ b/ics-web/src/main/java/com/ics/controller/mobile/wisdom/WisdomApiController.java @@ -0,0 +1,158 @@ +package com.ics.controller.mobile.wisdom; + + +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSONObject; +import com.ics.admin.domain.*; +import com.ics.admin.service.*; +import com.ics.common.core.controller.BaseController; +import com.ics.common.core.domain.R; +import com.ics.common.utils.device.SignUtils; +import com.ics.common.utils.device.WisDomDeviceUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.wf.jwtp.annotation.Ignore; +import org.wf.jwtp.annotation.RequiresPermissions; + +import java.util.List; + +@RestController +@Slf4j +@RequestMapping("/api/wisdom") +public class WisdomApiController extends BaseController { + + + @Autowired + private IWisdomRoomService wisdomRoomService; + + @Autowired + private IWisdomDeviceService wisdomDeviceService; + + @Autowired + private IWisdomStaffService wisdomStaffService; + + @Autowired + private IIcsCustomerStaffService customerStaffService; + + @Autowired + private IWisdomPanelService wisdomPanelService; + + @Autowired + private IWisdomPanelEquipmentService wisdomPanelEquipmentService; + + + /** + * 获取所有房间信息 + */ + @RequiresPermissions("member:center:view") + @RequestMapping("/getAllRoomInfo") + public R getAllRoomInfo(WisdomRoom wisdomRoom) { + + long currentUserId = getLoginStaffId(); + wisdomRoom.setStaffIds(currentUserId); + + List wisdomRooms = wisdomRoomService.selectWisdomRoomList(wisdomRoom); + for (WisdomRoom room : wisdomRooms) { + WisdomDevice wisdomDevice = new WisdomDevice(); + wisdomDevice.setWisdomRoomId(room.getId()); + List wisdomDevices = wisdomDeviceService.selectWisdomDeviceList(wisdomDevice); + room.setDeviceNum(wisdomDevices.size()); + WisdomPanel wisdomPanel = new WisdomPanel(); + wisdomPanel.setWisdomRoom(room.getId()); + List wisdomPanels = wisdomPanelService.selectWisdomPanelList(wisdomPanel); + room.setPanelNum(wisdomPanels.size()); + } + return R.data(wisdomRooms); + } + + /** + * 根据房间获取对应设备列表 + */ + + @RequiresPermissions("member:center:view") + @RequestMapping("/getAllDeviceInfoByRoomId") + public R getAllDeviceInfoByRoomId(Long id ) { + WisdomDevice wisdomDevice = new WisdomDevice(); + wisdomDevice.setWisdomRoomId(id); + List wisdomDevices = wisdomDeviceService.selectWisdomDeviceList(wisdomDevice); + return R.data(wisdomDevices); + } + + /** + * 根据房间获取对应情景列表 + */ + + @RequiresPermissions("member:center:view") + @GetMapping("/getAllPanelInfoByRoomId") + public R getAllPanelInfoByRoomId(Long id ) { + WisdomPanel wisdomPanel = new WisdomPanel(); + wisdomPanel.setWisdomRoom(id); + List wisdomPanels = wisdomPanelService.selectWisdomPanelList(wisdomPanel); + return R.data(wisdomPanels); + } + + @RequiresPermissions("member:center:view") + @GetMapping("getDeviceInfo") + public R getDeviceInfo(Long id) { + WisdomDevice wisdomDevice = wisdomDeviceService.selectWisdomDeviceById(id); + if (wisdomDevice == null) return R.error("设备不存在"); + + + JSONObject deviceStatus = WisDomDeviceUtils.getDeviceStatus(wisdomDevice.getEquipmentNum(), wisdomDevice.getTypeName()); + + return R.ok(deviceStatus); + } + + + /** + * 根据设备id调用对接接口 + */ + + @RequiresPermissions("member:center:view") + @RequestMapping("/callApiByDeviceId") + public R callApiByDeviceId(@RequestBody DeviceVo deviceVo) { + + WisdomDevice wisdomDevice = wisdomDeviceService.selectWisdomDeviceById(deviceVo.getDeviceId()); + if (wisdomDevice.getType().equals("灯条")) WisDomDeviceUtils.deviceControl(wisdomDevice.getEquipmentNum(),deviceVo.getActionArg()); + if (wisdomDevice.getType().equals("调光灯")){ + Boolean aBoolean = deviceVo.getBir() == null ? WisDomDeviceUtils.dimmingOpenControl(wisdomDevice.getEquipmentNum(), deviceVo.getActionArg()) : WisDomDeviceUtils.dimmingControl(wisdomDevice.getEquipmentNum(), deviceVo.getBir(), deviceVo.getColourTemperature()); + if (!aBoolean) return R.error("调光灯操作失败"); + } + if (wisdomDevice.getType().equals("插座")) WisDomDeviceUtils.socketControl(wisdomDevice.getEquipmentNum(),deviceVo.getActionArg()); + if (wisdomDevice.getType().equals("雾化玻璃")) WisDomDeviceUtils.deviceControl(wisdomDevice.getEquipmentNum(),deviceVo.getActionArg()); + + //todo 窗帘接口 + if (wisdomDevice.getType().equals("窗帘")) WisDomDeviceUtils.openCover(wisdomDevice.getEquipmentNum(), deviceVo.getCoverType()); + if (wisdomDevice.getType().equals("门锁")) SignUtils.lock(wisdomDevice.getEquipmentNum()); + return R.ok(); + } + + /** + * 根据情景面板id 调用对接 + */ + @RequiresPermissions("member:center:view") + @RequestMapping("/callApiByPanelId") + public R callApiByPanelId(@RequestBody WisdomPanel panelVo) { + WisdomPanel wisdomPanel = wisdomPanelService.selectWisdomPanelById(panelVo.getId()); + if(wisdomPanel !=null){ + Boolean aBoolean = WisDomDeviceUtils.shortControl(wisdomPanel.getPanelId(), wisdomPanel.getButtonId()); + //设备 窗帘 +// String panelId = wisdomPanel.getPanelId(); +// List list = wisdomPanelEquipmentService.selectWisdomPanelEquipmentByPanelId(panelId); +// if (CollUtil.isNotEmpty(list)) { +// //如果设备id不等于空 +// for (WisdomPanelEquipment panelEquipment : list) { +// WisdomDevice equipment = wisdomDeviceService.getById(panelEquipment.getEquipmentId()); +// if (null != equipment) { +// Boolean aBoolean1 = WisDomDeviceUtils.openCover(equipment.getEquipmentNum(), panelEquipment.getType()); +// } +// } +// } + } + return R.ok(); + } +} diff --git a/ics-web/src/main/java/com/ics/server/WsServer.java b/ics-web/src/main/java/com/ics/server/WsServer.java new file mode 100644 index 0000000..9221aa1 --- /dev/null +++ b/ics-web/src/main/java/com/ics/server/WsServer.java @@ -0,0 +1,214 @@ +package com.ics.server; + +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.boyue.changyangoffice.domain.DeviceInfo; +//import com.boyue.changyangoffice.domain.R; +//import com.boyue.changyangoffice.entity.Equipment; +//import com.boyue.changyangoffice.entity.Panel; +//import com.boyue.changyangoffice.entity.PanelEquipment; +//import com.boyue.changyangoffice.service.IEquipmentService; +//import com.boyue.changyangoffice.service.IPanelEquipmentService; +//import com.boyue.changyangoffice.service.IPanelService; +//import com.boyue.changyangoffice.utils.DeviceUtils; +import com.ics.common.core.domain.R; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.websocket.*; +import javax.websocket.server.ServerEndpoint; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * @ClassDescription: websocket服务端 + * @JdkVersion: 1.8 + * @Author: 李白 + * @Created: 2023/8/31 14:59 + */ +@Slf4j +@Component +@RestController +@ServerEndpoint(value = "/websocket-server") +//@ServerEndpoint("/") +public class WsServer { + + + private Session session; + +// @Autowired +// private IPanelEquipmentService panelEquipmentService; +// +// @Autowired +// private IEquipmentService equipmentService; +// +// @Autowired +// private IPanelService panelService; + + + /** + * 记录在线连接客户端数量 + */ + private static AtomicInteger onlineCount = new AtomicInteger(0); + /** + * 存放每个连接进来的客户端对应的websocketServer对象,用于后面群发消息 + */ + private static CopyOnWriteArrayList wsServers = new CopyOnWriteArrayList<>(); + + + /** + * 服务端与客户端连接成功时执行 + * + * @param session 会话 + */ + @OnOpen + public void onOpen(Session session) { + //将这次会话信息记录 + + this.session = session; + + //接入的客户端+1 + int count = onlineCount.incrementAndGet(); + //集合中存入客户端对象+1 + wsServers.add(this); + log.info("与客户端连接成功,当前连接的客户端数量为:{}", count); + } + + /** + * 收到客户端的消息时执行 + * + * @param message 消息 + * @param session 会话 + */ + @OnMessage + public void onMessage(String message, Session session) { + log.info("收到来自客户端的消息,客户端地址:{},消息内容:{}", session.getMessageHandlers(), message); + //业务逻辑,对消息的处理 +// sendMessageToAll("群发消息的内容"); + } + + /** + * 连接发生报错时执行 + * + * @param session 会话 + * @param throwable 报错 + */ + @OnError + public void onError(Session session, @NonNull Throwable throwable) { + log.error("连接发生报错"); + throwable.printStackTrace(); + } + + /** + * 连接断开时执行 + */ + @OnClose + public void onClose() { + //接入客户端连接数-1 + int count = onlineCount.decrementAndGet(); + //集合中的客户端对象-1 + wsServers.remove(this); + log.info("服务端断开连接,当前连接的客户端数量为:{}", count); + } + + + /** + * 向客户端推送消息 + * + * @param message 消息 + */ + public void sendMessage(String message) { + + this.session.getAsyncRemote().sendText(message); + log.info("推送消息给客户端:{},消息内容为:{}", this.session.getMessageHandlers(), message); + } + +// @PostMapping("/device/pushDeviceInfo") +// public R pushDeviceInfo(@RequestBody DeviceInfo deviceInfo) throws IOException { +// +// if (null != deviceInfo) { +// log.info("接收到的设备信息:{}", deviceInfo); +// String beanToString = JSON.toJSONString(deviceInfo); +// System.out.println("接收到的设备信息:" + beanToString); +// +// +// sendMessageToAll(beanToString); +// +// //如果类型是 情景面板的 +// JSONObject jsonObject = JSONObject.parseObject(beanToString); +// String pushMsgType = (String) jsonObject.get("pushMsgType"); +// +// if (pushMsgType.equals("ShortcutPanelActivedEvent")) { +// //如果类型是 情景面板的 去查询数据库的情景面板id 如果匹配,查询对应的窗帘 进行开关。 +// //获取 按钮id 和面板id +// JSONObject pushMsg = (JSONObject) jsonObject.get("pushMsg"); +// Integer panelId = (Integer) pushMsg.get("id"); +// String buttonId = (String) pushMsg.get("buttonId"); +// +// QueryWrapper wrapper1 = new QueryWrapper(); +// wrapper1.eq("panel_id", panelId); +// wrapper1.eq("button_id", buttonId); +// +// Panel panel = panelService.getOne(wrapper1); +// if (null != panel) { +// //根据面板id获取对应的设备id +// QueryWrapper wrapper = new QueryWrapper<>(); +// wrapper.eq("panel_id", panel.getId()); +// List list = panelEquipmentService.list(wrapper); +// if (CollUtil.isNotEmpty(list)) { +// //如果设备id不等于空 +// for (PanelEquipment panelEquipment : list) { +// Equipment equipment = equipmentService.getById(panelEquipment.getEquipmentId()); +// if (null != equipment) { +// Boolean aBoolean = DeviceUtils.openCover(equipment.getEquipmentNum(), panelEquipment.getType()); +// } +// } +// } +// } +// +// } +// +// +// } +// +// +// //控克 灯 +// +// +// return R.ok(); +// +// } + + + /** + * 群发消息 + * + * @param message 消息 + */ + public void sendMessageToAll(String message) { + CopyOnWriteArrayList ws = wsServers; + for (WsServer wsServer : ws) { + wsServer.sendMessage(message); + } + } + +// @PostMapping("/send2AllC") +// public void sendMessageToAll1(@RequestBody String message){ +// CopyOnWriteArrayList ws = wsServers; +// for (WsServer wsServer : ws){ +// wsServer.sendMessage(message); +// } +// } + + +} +