diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/show/EqUserEquipmentController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/show/EqUserEquipmentController.java new file mode 100644 index 000000000..bf522ea6f --- /dev/null +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/show/EqUserEquipmentController.java @@ -0,0 +1,39 @@ +package org.dromara.web.controller.show; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.RequiredArgsConstructor; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.web.service.IEqEquipmentService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.web.domain.vo.EqUserEquipmentVo; +import org.dromara.web.domain.bo.EqUserEquipmentBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 设备信息 + * + * @author zzc + * @date 2024-08-13 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/userEquipment") +public class EqUserEquipmentController extends BaseController { + + private final IEqEquipmentService eqEquipmentService; + + /** + * 查询设备信息列表 + */ + @SaCheckPermission("device:userEquipment:list") + @GetMapping("/list") + public IPage list(EqUserEquipmentBo bo, PageQuery pageQuery) { + return eqEquipmentService.queryEqUserEquipment(bo, pageQuery); + } + + +} diff --git a/ruoyi-admin/src/main/java/org/dromara/web/domain/EqUserEquipment.java b/ruoyi-admin/src/main/java/org/dromara/web/domain/EqUserEquipment.java new file mode 100644 index 000000000..0adcd4ba9 --- /dev/null +++ b/ruoyi-admin/src/main/java/org/dromara/web/domain/EqUserEquipment.java @@ -0,0 +1,55 @@ +package org.dromara.web.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 设备信息对象 eq_user_equipment + * + * @author zzc + * @date 2024-08-13 + */ +@Data +public class EqUserEquipment implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 用户id + */ + private Long userId; + + /** + * 客户名称 + */ + private String nickName; + + /** + * 绑定账号 + */ + private String userName; + + /** + * 绑定设备(个) + */ + @TableId(value = "bind_num") + private Integer bindNum; + + /** + * 在线设备(个) + */ + private Integer onlineNum; + + /** + * 离线设备(个) + */ + private Integer offlineNum; + + +} diff --git a/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqUserEquipmentBo.java b/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqUserEquipmentBo.java new file mode 100644 index 000000000..9c47e378e --- /dev/null +++ b/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqUserEquipmentBo.java @@ -0,0 +1,23 @@ +package org.dromara.web.domain.bo; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 设备信息业务对象 eq_user_equipment + * + * @author zzc + * @date 2024-08-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class EqUserEquipmentBo extends BaseEntity { + + /** + * 客户名称 + */ + private String nickName; + + +} diff --git a/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/EqUserEquipmentVo.java b/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/EqUserEquipmentVo.java new file mode 100644 index 000000000..65b3ac6cc --- /dev/null +++ b/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/EqUserEquipmentVo.java @@ -0,0 +1,56 @@ +package org.dromara.web.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + + + +/** + * 设备信息视图对象 eq_user_equipment + * + * @author zzc + * @date 2024-08-13 + */ +@Data +@ExcelIgnoreUnannotated +public class EqUserEquipmentVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 客户名称 + */ + @ExcelProperty(value = "客户名称") + private String nickName; + + /** + * 绑定账号 + */ + @ExcelProperty(value = "绑定账号") + private String userName; + + /** + * 绑定设备(个) + */ + @ExcelProperty(value = "绑定设备(个)") + private Integer bindNum; + + /** + * 在线设备(个) + */ + @ExcelProperty(value = "在线设备(个)") + private Integer onlineNum; + + /** + * 离线设备(个) + */ + @ExcelProperty(value = "离线设备(个)") + private Integer offlineNum; + + +} diff --git a/ruoyi-admin/src/main/java/org/dromara/web/mapper/EqEquipmentMapper.java b/ruoyi-admin/src/main/java/org/dromara/web/mapper/EqEquipmentMapper.java index 74f07b6cc..f2fedc1e7 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/mapper/EqEquipmentMapper.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/mapper/EqEquipmentMapper.java @@ -1,8 +1,13 @@ package org.dromara.web.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.web.domain.EqEquipment; import org.dromara.web.domain.vo.EqEquipmentVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.web.domain.vo.EqUserEquipmentVo; + +import java.util.List; /** * 设备信息Mapper接口 @@ -12,4 +17,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface EqEquipmentMapper extends BaseMapperPlus { + IPage selectEquipmentVoPage(Page page, String nickName); } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/IEqEquipmentService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/IEqEquipmentService.java index 182d17cb5..176018073 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/IEqEquipmentService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/IEqEquipmentService.java @@ -1,14 +1,13 @@ package org.dromara.web.service; -import org.dromara.web.domain.bo.EqAppHomeBo; -import org.dromara.web.domain.bo.EqDeviceCmdBo; -import org.dromara.web.domain.bo.EqDeviceSetBo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.dromara.web.domain.bo.*; import org.dromara.web.domain.vo.EqEquipmentDetailVo; import org.dromara.web.domain.vo.EqEquipmentStatusVo; import org.dromara.web.domain.vo.EqEquipmentVo; -import org.dromara.web.domain.bo.EqEquipmentBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.web.domain.vo.EqUserEquipmentVo; import java.util.Collection; import java.util.List; @@ -95,4 +94,6 @@ public interface IEqEquipmentService { * @return */ boolean updateByBos(List bos); + + IPage queryEqUserEquipment(EqUserEquipmentBo bo, PageQuery pageQuery); } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqEquipmentServiceImpl.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqEquipmentServiceImpl.java index a546070c8..a7ee9ded5 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqEquipmentServiceImpl.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqEquipmentServiceImpl.java @@ -1,5 +1,7 @@ package org.dromara.web.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MessageUtils; import org.dromara.common.core.utils.StringUtils; @@ -15,13 +17,11 @@ import org.dromara.web.device.*; import org.dromara.web.device.iot.DeviceDto; import org.dromara.web.device.iot.DeviceMsgDto; import org.dromara.web.device.iot.DeviceServerMsgDto; -import org.dromara.web.domain.bo.EqAppHomeBo; -import org.dromara.web.domain.bo.EqDeviceCmdBo; -import org.dromara.web.domain.bo.EqDeviceSetBo; +import org.dromara.web.domain.bo.*; import org.dromara.web.domain.vo.EqEquipmentDetailVo; +import org.dromara.web.domain.vo.EqUserEquipmentVo; import org.dromara.web.service.IotService; import org.springframework.stereotype.Service; -import org.dromara.web.domain.bo.EqEquipmentBo; import org.dromara.web.domain.vo.EqEquipmentVo; import org.dromara.web.domain.EqEquipment; import org.dromara.web.mapper.EqEquipmentMapper; @@ -277,6 +277,13 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService { } return baseMapper.updateBatchById(eqEquipments); } + @Override + public IPage queryEqUserEquipment(EqUserEquipmentBo bo, PageQuery pageQuery) { + Page page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()); + // 调用Mapper中的新方法 + IPage voPage = baseMapper.selectEquipmentVoPage(page, bo.getNickName()); + return voPage; + } } diff --git a/ruoyi-admin/src/main/resources/mapper/device/EqEquipmentMapper.xml b/ruoyi-admin/src/main/resources/mapper/device/EqEquipmentMapper.xml index f907d9c10..20b78b780 100644 --- a/ruoyi-admin/src/main/resources/mapper/device/EqEquipmentMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/device/EqEquipmentMapper.xml @@ -4,4 +4,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +