From 965e6d542cab2ac8c94be0a09dcc8e0823f423ea Mon Sep 17 00:00:00 2001 From: lld <15027638633@163.com> Date: Sun, 5 Apr 2026 18:48:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E4=BA=AB=E8=AE=BE=E5=A4=87=E6=9A=82?= =?UTF-8?q?=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysAgriInfoController.java | 11 +++++++ .../agri/system/mapper/SysAgriInfoMapper.java | 7 ++++ .../system/service/ISysAgriInfoService.java | 7 ++++ .../service/impl/SysAgriInfoServiceImpl.java | 33 +++++++++++++++++++ .../mapper/system/SysAgriInfoMapper.xml | 30 +++++++++++++++++ 5 files changed, 88 insertions(+) diff --git a/agri-system/src/main/java/com/agri/system/controller/SysAgriInfoController.java b/agri-system/src/main/java/com/agri/system/controller/SysAgriInfoController.java index 8ed66b0..0928d10 100644 --- a/agri-system/src/main/java/com/agri/system/controller/SysAgriInfoController.java +++ b/agri-system/src/main/java/com/agri/system/controller/SysAgriInfoController.java @@ -10,6 +10,7 @@ import com.agri.common.utils.poi.ExcelUtil; import com.agri.system.domain.SysAgriInfo; import com.agri.system.domain.SysUserAgri; import com.agri.system.domain.vo.AgriInfoView; +import com.agri.system.domain.vo.AgriShareInfoVO; import com.agri.system.service.ISysAgriInfoService; import com.agri.system.service.ISysUserAgriService; import org.apache.commons.lang3.StringUtils; @@ -168,4 +169,14 @@ public class SysAgriInfoController extends BaseController return update? success():error(); } + + /** + * 查询设备分享信息(可分享列表 + 分享给我的设备列表) + */ + @PreAuthorize("@ss.hasPermi('assets:agri:list')") + @GetMapping("/selectShareInfo") + public AjaxResult selectShareInfo() { + AgriShareInfoVO result = sysAgriInfoService.selectShareInfoByUser(); + return success(result); + } } diff --git a/agri-system/src/main/java/com/agri/system/mapper/SysAgriInfoMapper.java b/agri-system/src/main/java/com/agri/system/mapper/SysAgriInfoMapper.java index be18ec5..e7c12d7 100644 --- a/agri-system/src/main/java/com/agri/system/mapper/SysAgriInfoMapper.java +++ b/agri-system/src/main/java/com/agri/system/mapper/SysAgriInfoMapper.java @@ -73,4 +73,11 @@ public interface SysAgriInfoMapper extends BaseMapper { public List findAgriInfoByUser(SysAgriInfo sysAgriInfo); List findAgriOfAutoInfo(); + + /** + * 查询设备分享列表(我的分享 + 分享给我的),带shared_count + * @param sysAgriInfo 查询条件 + * @return 设备分享列表 + */ + List selectShareList(SysAgriInfo sysAgriInfo); } diff --git a/agri-system/src/main/java/com/agri/system/service/ISysAgriInfoService.java b/agri-system/src/main/java/com/agri/system/service/ISysAgriInfoService.java index 776cbe8..05ad0d9 100644 --- a/agri-system/src/main/java/com/agri/system/service/ISysAgriInfoService.java +++ b/agri-system/src/main/java/com/agri/system/service/ISysAgriInfoService.java @@ -3,6 +3,7 @@ package com.agri.system.service; import com.agri.system.domain.SysAgriInfo; import com.agri.system.domain.vo.AgriAutoInfoVo; import com.agri.system.domain.vo.AgriInfoView; +import com.agri.system.domain.vo.AgriShareInfoVO; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -74,4 +75,10 @@ public interface ISysAgriInfoService extends IService { List queryImeiByUserId(Long userId); + + /** + * 查询设备分享信息(可分享列表 + 分享给我的设备列表) + * @return 设备分享信息 + */ + AgriShareInfoVO selectShareInfoByUser(); } diff --git a/agri-system/src/main/java/com/agri/system/service/impl/SysAgriInfoServiceImpl.java b/agri-system/src/main/java/com/agri/system/service/impl/SysAgriInfoServiceImpl.java index 3d75f6e..5c8a2c9 100644 --- a/agri-system/src/main/java/com/agri/system/service/impl/SysAgriInfoServiceImpl.java +++ b/agri-system/src/main/java/com/agri/system/service/impl/SysAgriInfoServiceImpl.java @@ -8,6 +8,7 @@ import com.agri.system.domain.SysAgriInfo; import com.agri.system.domain.SysUserAgri; import com.agri.system.domain.vo.AgriAutoInfoVo; import com.agri.system.domain.vo.AgriInfoView; +import com.agri.system.domain.vo.AgriShareInfoVO; import com.agri.system.mapper.SysAgriInfoMapper; import com.agri.system.service.ISysAgriInfoService; import com.agri.system.service.ISysUserAgriService; @@ -295,4 +296,36 @@ public class SysAgriInfoServiceImpl extends ServiceImpl allDevices = baseMapper.selectShareList(query); + + // 根据 inviteBy 字段拆分 + // 我的分享:invite_by = userId(我是邀请人/owner) + List mySharedDevices = allDevices.stream() + .filter(device -> userId.equals(device.getInviteBy())) + .collect(Collectors.toList()); + + // 分享给我的:invite_by != userId 且 invite_by != null(别人邀请我) + List toMeDevices = allDevices.stream() + .filter(device -> device.getInviteBy() != null + && !userId.equals(device.getInviteBy())) + .collect(Collectors.toList()); + + result.setMySharedDevices(mySharedDevices); + result.setToMeDevices(toMeDevices); + + return result; + } } diff --git a/agri-system/src/main/resources/mapper/system/SysAgriInfoMapper.xml b/agri-system/src/main/resources/mapper/system/SysAgriInfoMapper.xml index 8467d4e..10a9033 100644 --- a/agri-system/src/main/resources/mapper/system/SysAgriInfoMapper.xml +++ b/agri-system/src/main/resources/mapper/system/SysAgriInfoMapper.xml @@ -237,4 +237,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and agri.work_mode = 1 + + +