物联用户权限功能优化

This commit is contained in:
xy
2025-11-17 09:38:43 +08:00
parent 6e5aab4791
commit 2451df7d8d
6 changed files with 63 additions and 11 deletions

View File

@@ -185,5 +185,15 @@ public class CsLedgerController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, details, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getEngineeringHaveDevs")
@ApiOperation("根据工程信息获取有设备的工程")
@ApiImplicitParam(name = "list", value = "查询条件", required = true)
public HttpResult<List<DevDetailDTO>> getEngineeringHaveDevs(@RequestBody @Validated List<String> list){
String methodDescribe = getMethodDescribe("getEngineeringHaveDevs");
List<DevDetailDTO> details = csLedgerService.getEngineeringHaveDevs(list);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, details, methodDescribe);
}
}

View File

@@ -89,4 +89,7 @@ public interface ICsLedgerService extends IService<CsLedger> {
List<DevDetailDTO> getInfoByIds(List<String> list);
List<DevDetailDTO> getDevInfoByEngineerIds(List<String> list);
List<DevDetailDTO> getEngineeringHaveDevs(List<String> list);
}

View File

@@ -36,10 +36,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -224,6 +222,7 @@ public class CsEngineeringServiceImpl extends ServiceImpl<CsEngineeringMapper, C
@Override
public List<CsEngineeringPO> getUnlinkedEngineering(String userId) {
List<CsEngineeringPO> result = new ArrayList<>();
List<String> list1 = new ArrayList<>();
//根据用户信息获取设备信息
List<String> devList = csDeviceUserFeignClient.findDevByUserId(userId).getData();
@@ -236,13 +235,28 @@ public class CsEngineeringServiceImpl extends ServiceImpl<CsEngineeringMapper, C
}
});
}
//获取有工程信息
//获取有设备的工程信息
LambdaQueryWrapper<CsEngineeringPO> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(CsEngineeringPO::getStatus,"1");
if (CollectionUtil.isNotEmpty(list1)) {
queryWrapper2.notIn(CsEngineeringPO::getId,list1);
}
return this.baseMapper.selectList(queryWrapper2);
List<CsEngineeringPO> list = this.baseMapper.selectList(queryWrapper2);
//剔除没有设备的工程
if (CollectionUtil.isNotEmpty(list)) {
Map<String, CsEngineeringPO> map = list.stream().collect(Collectors.toMap(CsEngineeringPO::getId, Function.identity()));
List<String> list2 = list.stream().map(CsEngineeringPO::getId).collect(Collectors.toList());
List<DevDetailDTO> ledger = csLedgerFeignClient.getEngineeringHaveDevs(list2).getData();
if (CollectionUtil.isNotEmpty(ledger)) {
ledger.forEach(item->{
CsEngineeringPO po = new CsEngineeringPO();
po.setId(item.getEngineeringid());
po.setName(map.get(item.getEngineeringid()).getName());
result.add(po);
});
}
}
return result;
}

View File

@@ -837,6 +837,27 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
return details;
}
@Override
public List<DevDetailDTO> getEngineeringHaveDevs(List<String> list) {
List<DevDetailDTO> result = new ArrayList<>();
list.forEach(item->{
LambdaQueryWrapper<CsLedger> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CsLedger::getPid, item);
List<CsLedger> project = this.list(queryWrapper);
//工程id
List<String> projectIds = project.stream().map(CsLedger::getId).collect(Collectors.toList());
LambdaQueryWrapper<CsLedger> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.in(CsLedger::getPid, projectIds);
List<CsLedger> dev = this.list(queryWrapper2);
if (CollectionUtil.isNotEmpty(dev)) {
DevDetailDTO dto = new DevDetailDTO();
dto.setEngineeringid(item);
result.add(dto);
}
});
return result;
}
/**
* 获取子节点
*/