From ce93b6e846a9688db550ed40e6718c0e58d524ec Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 17 二月 2025 11:18:36 +0800 Subject: [PATCH] 设备权限 --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IMdcUserProductionService.java | 6 ++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java | 33 +++++++++++++++++++++++++++------ lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcUserProductionServiceImpl.java | 12 ++++++++++++ 3 files changed, 45 insertions(+), 6 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java index 5ba9d64..39fc70b 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; @@ -169,6 +170,8 @@ mdcProductionEquipmentMapper.insert(mdcProductionEquipment); } } + //step.3 淇濆瓨璁惧瀵瑰簲鐨勪骇绾挎潈闄� + addDevicePermission(mdcEquipment); } @Override @@ -207,6 +210,8 @@ mdcEquipmentDepartMapper.insert(equipmentDepart); } } + //鍒犻櫎鎵�鏈夎澶囨潈闄� + dncDevicePermissionMapper.delete(new QueryWrapper<DncDevicePermission>().lambda().eq(DncDevicePermission::getDeviceId, mdcEquipment.getId())); //step.3 淇敼浜х嚎 String productions = mdcEquipment.getSelectedProduction(); String[] array = {}; @@ -221,15 +226,31 @@ mdcProductionEquipmentMapper.insert(productionEquipment); } } + addDevicePermission(mdcEquipment); //step.4 淇敼璁惧鏉冮檺 - //鍏堝垹鍚庡姞 - dncDevicePermissionMapper.delete(new QueryWrapper<DncDevicePermission>().lambda().eq(DncDevicePermission::getDeviceId, mdcEquipment.getId())); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = user.getId(); - DncDevicePermission dncDevicePermission=new DncDevicePermission(); - dncDevicePermission.setDeviceId(mdcEquipment.getId()); - dncDevicePermission.setUserId(userId); - dncDevicePermissionMapper.insert(dncDevicePermission); + List<DncDevicePermission> dncDevicePermissions=dncDevicePermissionMapper.selectList(new LambdaQueryWrapper<DncDevicePermission>() + .eq(DncDevicePermission::getDeviceId, mdcEquipment.getId()).eq(DncDevicePermission ::getUserId, userId)); + if (CollectionUtils.isEmpty(dncDevicePermissions)){ + DncDevicePermission dncDevicePermission=new DncDevicePermission(); + dncDevicePermission.setDeviceId(mdcEquipment.getId()); + dncDevicePermission.setUserId(userId); + dncDevicePermissionMapper.insert(dncDevicePermission); + } + } + + private void addDevicePermission(MdcEquipment mdcEquipment) { + List<String> productionIds=mdcProductionEquipmentMapper + .selectList(new LambdaQueryWrapper<MdcProductionEquipment>().eq(MdcProductionEquipment::getEquipmentId, mdcEquipment.getId())) + .stream().map(MdcProductionEquipment::getProductionId).collect(Collectors.toList()); + List<MdcUserProduction> mdcUserProductionList=mdcUserProductionService.queryByProductionIds(productionIds); + mdcUserProductionList.forEach(item->{ + DncDevicePermission devicePermission=new DncDevicePermission(); + devicePermission.setDeviceId(mdcEquipment.getId()); + devicePermission.setUserId(item.getUserId()); + dncDevicePermissionMapper.insert(devicePermission); + }); } @Override diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IMdcUserProductionService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IMdcUserProductionService.java index b53553d..5b2ca52 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IMdcUserProductionService.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IMdcUserProductionService.java @@ -25,6 +25,12 @@ List<String> queryProductionIdsByUserId(String userId); /** + * 鏍规嵁涓�缁勮溅闂磇d鏌ヨ鐢ㄦ埛浜х嚎淇℃伅 + * @param productionIds + */ + List<MdcUserProduction> queryByProductionIds(List<String> productionIds); + + /** * 鍒犻櫎涓�缁勫璞� * @param mdcUserProductions * @return diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcUserProductionServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcUserProductionServiceImpl.java index 8d13636..a293443 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcUserProductionServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcUserProductionServiceImpl.java @@ -67,6 +67,18 @@ return this.baseMapper.queryProductionIdsByUserId(userId); } + /** + * 鏍规嵁涓�缁勮溅闂磇d鏌ヨ鐢ㄦ埛浜х嚎淇℃伅 + * @param productionIds + */ + @Override + public List<MdcUserProduction> queryByProductionIds(List<String> productionIds){ + if (!productionIds.isEmpty()){ + return super.list(new LambdaQueryWrapper<MdcUserProduction>().in(MdcUserProduction::getProId, productionIds)); + } + return null; + } + @Override @Transactional(rollbackFor = {Exception.class}) public boolean removeByCollection(List<MdcUserProduction> mdcUserProductions) { -- Gitblit v1.9.3