|
@@ -18,17 +18,16 @@ import com.fdkankan.manage.vo.request.SceneParam;
|
|
|
import com.fdkankan.manage.vo.response.CheckOtherVo;
|
|
|
import com.fdkankan.manage.vo.response.ManageLoginResponse;
|
|
|
import com.fdkankan.manage.vo.response.SceneAuthVo;
|
|
|
+import com.fdkankan.manage.vo.response.SceneUserAuthVo;
|
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.tomcat.util.security.Escape;
|
|
|
import org.joda.time.DateTime;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -394,4 +393,84 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
|
|
|
wrapper.eq(JySceneUserAuth::getJyUserId,jyUserId);
|
|
|
this.remove(wrapper);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object getSceneList(SceneParam param) {
|
|
|
+ JyUser jyUser = null;
|
|
|
+ if(StringUtils.isNotBlank(param.getRyId()) ){
|
|
|
+ jyUser = jyUserService.getByRyId(param.getRyId());
|
|
|
+ if(jyUser == null){
|
|
|
+ throw new BusinessException(ResultCode.JY_ID_NO_EXIST);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(param.getRyNo()) ){
|
|
|
+ jyUser = jyUserService.getByRyNo(param.getRyNo());
|
|
|
+ if(jyUser == null){
|
|
|
+ throw new BusinessException(ResultCode.JY_ID_NO_EXIST);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(jyUser == null){
|
|
|
+ throw new BusinessException(ResultCode.JY_ID_NO_EXIST);
|
|
|
+ }
|
|
|
+
|
|
|
+ Long userId = jyUser.getUserId();
|
|
|
+ LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(ScenePlus::getUserId,userId);
|
|
|
+ Page<ScenePlus> page = scenePlusService.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
|
|
|
+ List<String> numList = page.getRecords().stream().map(ScenePlus::getNum).collect(Collectors.toList());
|
|
|
+
|
|
|
+ HashMap<String,JySceneAuth> sceneAuthMap = jySceneAuthService.getByNumList(numList);
|
|
|
+ HashMap<String,List<JySceneUserAuth>> jySceneUserMap = jySceneUserAuthService.getByNumList(numList);
|
|
|
+ List<Integer> jyUserIds = new ArrayList<>();
|
|
|
+ List<SceneUserAuthVo> voList = new ArrayList<>();
|
|
|
+ for (ScenePlus record : page.getRecords()) {
|
|
|
+ SceneUserAuthVo vo = new SceneUserAuthVo();
|
|
|
+ BeanUtils.copyProperties(record,vo);
|
|
|
+
|
|
|
+ JySceneAuth jySceneAuth = sceneAuthMap.get(record.getNum());
|
|
|
+ if(jySceneAuth != null){
|
|
|
+ vo.setAuthType(jySceneAuth.getAuthType());
|
|
|
+ List<JySceneUserAuth> jySceneUserAuthList = jySceneUserMap.get(record.getNum() + "_" + jySceneAuth.getAuthType());
|
|
|
+ List<Integer> ids = jySceneUserAuthList.stream().map(JySceneUserAuth::getJyUserId).collect(Collectors.toList());
|
|
|
+ jyUserIds.addAll(ids);
|
|
|
+ vo.setAuthList(jySceneUserAuthList);
|
|
|
+ }
|
|
|
+ voList.add(vo);
|
|
|
+ }
|
|
|
+ HashMap<Integer, JyUser> userHashMap = jyUserService.getByIds(jyUserIds);
|
|
|
+
|
|
|
+ for (SceneUserAuthVo sceneUserAuthVo : voList) {
|
|
|
+ List<JySceneUserAuth> authList = sceneUserAuthVo.getAuthList();
|
|
|
+ for (JySceneUserAuth jySceneUserAuth : authList) {
|
|
|
+ JyUser jyUser1 = userHashMap.get(jySceneUserAuth.getJyUserId());
|
|
|
+ if(jyUser1 != null){
|
|
|
+ jySceneUserAuth.setRyNo(jyUser1.getRyNo());
|
|
|
+ jySceneUserAuth.setRyNickName(jyUser1.getRyNickName());
|
|
|
+ jySceneUserAuth.setRyId(jyUser1.getRyId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Page<SceneUserAuthVo> pageVo = new Page<>(param.getPageNum(),param.getPageSize());
|
|
|
+ pageVo.setRecords(voList);
|
|
|
+ pageVo.setTotal(page.getTotal());
|
|
|
+ return pageVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HashMap<String, List<JySceneUserAuth>> getByNumList(List<String> numList) {
|
|
|
+ HashMap<String, List<JySceneUserAuth>> map = new HashMap<>();
|
|
|
+ if(numList.isEmpty()){
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<JySceneUserAuth> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.in(JySceneUserAuth::getNum,numList);
|
|
|
+ List<JySceneUserAuth> list = this.list(wrapper);
|
|
|
+ for (JySceneUserAuth e : list) {
|
|
|
+ String key = e.getNum() + "_"+ e.getAuthType();
|
|
|
+ map.computeIfAbsent(key, k -> new ArrayList<>());
|
|
|
+ map.get(key).add(e);
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
}
|