|
@@ -1,6 +1,7 @@
|
|
|
package com.fdkankan.jp.xspace.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.fdkankan.jp.xspace.common.PageInfo;
|
|
@@ -11,12 +12,13 @@ import com.fdkankan.jp.xspace.mapper.IScenePlusMapper;
|
|
|
import com.fdkankan.jp.xspace.service.IScenePlusService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fdkankan.jp.xspace.service.IUserRoleService;
|
|
|
+import com.fdkankan.jp.xspace.service.IUserService;
|
|
|
import com.fdkankan.jp.xspace.vo.SceneVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -31,6 +33,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
|
|
|
|
|
|
@Autowired
|
|
|
private IUserRoleService userRoleService;
|
|
|
+ @Autowired
|
|
|
+ private IUserService userService;
|
|
|
|
|
|
@Override
|
|
|
public PageInfo pageSgMesh(SceneDTO param, User user) {
|
|
@@ -48,9 +52,19 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
|
|
|
}
|
|
|
|
|
|
Page<ScenePlus> page = this.baseMapper.pageSgMesh(new Page<>(param.getPageNum(), param.getPageSize()), param);
|
|
|
+ Set<Long> userIds = page.getRecords().stream().filter(v -> Objects.nonNull(v.getUserId())).map(ScenePlus::getUserId).collect(Collectors.toSet());
|
|
|
+ Map<Long, String> userNameMap = new HashMap<>();
|
|
|
+ if(CollUtil.isNotEmpty(userIds)){
|
|
|
+ List<User> users = userService.listByIds(userIds);
|
|
|
+ users.stream().forEach(v->{
|
|
|
+ userNameMap.put(v.getId(), v.getUserName());
|
|
|
+ });
|
|
|
+ }
|
|
|
List<SceneVO> sceneVOList = BeanUtil.copyToList(page.getRecords(), SceneVO.class);
|
|
|
sceneVOList.stream().forEach(v->{
|
|
|
- v.setUserName(user.getUserName());
|
|
|
+ if(Objects.nonNull(v.getUserId()) && userNameMap.get(v.getUserId()) != null){
|
|
|
+ v.setUserName(userNameMap.get(v.getUserId()));
|
|
|
+ }
|
|
|
if(!roleIds.contains(5L)){
|
|
|
if(!v.getUserId().equals(user.getId())){
|
|
|
v.setPermitSync(0);
|