|
@@ -9,6 +9,7 @@ import com.fdkankan.manage.common.CameraTypeEnum;
|
|
|
import com.fdkankan.manage.common.PageInfo;
|
|
|
import com.fdkankan.manage.common.ResultCode;
|
|
|
import com.fdkankan.manage.common.ResultData;
|
|
|
+import com.fdkankan.manage.config.ManageConfig;
|
|
|
import com.fdkankan.manage.controller.BaseController;
|
|
|
import com.fdkankan.manage.entity.*;
|
|
|
import com.fdkankan.manage.exception.BusinessException;
|
|
@@ -42,6 +43,8 @@ public class InnerAPIController extends BaseController {
|
|
|
IJyUserShareService jyUserShareService;
|
|
|
@Autowired
|
|
|
IJySceneAuthService jySceneAuthService;
|
|
|
+ @Autowired
|
|
|
+ ManageConfig manageConfig;
|
|
|
|
|
|
@PostMapping("/getByRyId")
|
|
|
public ResultData getByRyId(@RequestBody UserParam param){
|
|
@@ -210,43 +213,51 @@ public class InnerAPIController extends BaseController {
|
|
|
if(jyUser == null){
|
|
|
throw new BusinessException(ResultCode.JY_ID_NO_EXIST);
|
|
|
}
|
|
|
+ AllShareParam allShareParam = new AllShareParam();
|
|
|
+ allShareParam.getUserIds().add(jyUser.getId());
|
|
|
+ //设置全局公开场景
|
|
|
+ if(!manageConfig.getNumList().isEmpty()){
|
|
|
+ param.getAuthNumList().addAll(manageConfig.getNumList());
|
|
|
+ }
|
|
|
|
|
|
- UserShareParam shareParam = new UserShareParam();
|
|
|
- shareParam.setJyUserId(Math.toIntExact(jyUser.getUserId()));
|
|
|
- shareParam.setPageNum(param.getPageNum());
|
|
|
- shareParam.setPageSize(param.getPageSize());
|
|
|
- Page<UserShareSceneVo> page= jyUserShareService.sceneList(shareParam);
|
|
|
- List<String> numList = page.getRecords().stream().map(UserShareSceneVo::getNum).collect(Collectors.toList());
|
|
|
- HashMap<String, JySceneAuth> authMap = jySceneAuthService.getByNumList(numList);
|
|
|
- HashMap<String, List<JySceneUserAuth>> userSceneAuthMap = jySceneUserAuthService.getByNumList(numList);
|
|
|
- HashSet<Integer> userIds = new HashSet<>();
|
|
|
- for (String key : userSceneAuthMap.keySet()) {
|
|
|
- List<JySceneUserAuth> userAuths = userSceneAuthMap.get(key);
|
|
|
- for (JySceneUserAuth userAuth : userAuths) {
|
|
|
- userIds.add(userAuth.getJyUserId());
|
|
|
+ //获取分享主用户
|
|
|
+ List<JyUserShare> jyUserShares = jyUserShareService.getByJyUserId(jyUser.getId());
|
|
|
+ if(!jyUserShares.isEmpty()){
|
|
|
+ jyUserShares.forEach(e -> allShareParam.getUserIds().add(e.getMainJyUserId()));
|
|
|
+ }
|
|
|
+ //获取本平台公开场景
|
|
|
+ List<String> openNums = jySceneAuthService.getNumListByPlatform(jyUser.getPlatformId(),1);
|
|
|
+ if(!openNums.isEmpty()){
|
|
|
+ allShareParam.getNumList().addAll(openNums);
|
|
|
+ }
|
|
|
+ //获取授权场景
|
|
|
+ HashMap<String,JySceneUserAuth> authHashMap = new HashMap<>();
|
|
|
+ HashMap<String,JySceneUserAuth> openHashMap = new HashMap<>();
|
|
|
+ List<JySceneUserAuth> jySceneUserAuths = jySceneUserAuthService.getByJyUserId(jyUser.getId());
|
|
|
+ jySceneUserAuths.stream().filter(e ->e.getNum() != null && e.getAuthType() == 0).forEach( e-> authHashMap.put(e.getNum(),e));
|
|
|
+ jySceneUserAuths.stream().filter(e ->e.getNum() != null && e.getAuthType() == 1).forEach( e-> openHashMap.put(e.getNum(),e));
|
|
|
+
|
|
|
+ List<String> allAuthNum = new ArrayList<>();
|
|
|
+ allAuthNum.addAll(authHashMap.keySet());
|
|
|
+ allAuthNum.addAll(openHashMap.keySet());
|
|
|
+ HashMap<String, JySceneAuth> authMap = jySceneAuthService.getByNumList(allAuthNum);
|
|
|
+
|
|
|
+ if(!authHashMap.isEmpty()){
|
|
|
+ List<String> authNumList = authHashMap.keySet().stream().filter(e -> authMap.get(e)!=null && authMap.get(e).getAuthType() == 0).collect(Collectors.toList());
|
|
|
+ if(!authNumList.isEmpty()){
|
|
|
+ allShareParam.getNumList().addAll(authNumList);
|
|
|
}
|
|
|
}
|
|
|
- HashMap<Integer, JyUser> userHashMap = jyUserService.getByIds(new ArrayList<>(userIds));
|
|
|
-
|
|
|
- for (UserShareSceneVo record : page.getRecords()) {
|
|
|
- JySceneAuth jySceneAuth = authMap.get(record.getNum());
|
|
|
- if(jySceneAuth != null){
|
|
|
- record.setAuthType(jySceneAuth.getAuthType());
|
|
|
- List<JySceneUserAuth> userAuths = userSceneAuthMap.get(record.getNum()+"_"+jySceneAuth.getAuthType());
|
|
|
- if(userAuths != null && !userAuths.isEmpty()){
|
|
|
- for (JySceneUserAuth userAuth : userAuths) {
|
|
|
- JyUser jyUser1 = userHashMap.get(userAuth.getJyUserId());
|
|
|
- if(jyUser1 != null){
|
|
|
- userAuth.setRyId(jyUser1.getRyId());
|
|
|
- userAuth.setRyNo(jyUser1.getRyNo());
|
|
|
- userAuth.setRyNickName(jyUser1.getRyNickName());
|
|
|
- }
|
|
|
- }
|
|
|
- record.setAuthList(userAuths);
|
|
|
- }
|
|
|
+ if(!openHashMap.isEmpty()){
|
|
|
+ List<String> openAuthNumList = openHashMap.keySet().stream().filter(e -> authMap.get(e)!=null && authMap.get(e).getAuthType() == 1).collect(Collectors.toList());
|
|
|
+ if(!openAuthNumList.isEmpty()){
|
|
|
+ allShareParam.getNumList().addAll(openAuthNumList);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ Page<UserShareSceneVo> page= scenePlusService.allScenePageList(new Page<>(param.getPageNum(), param.getPageSize()),allShareParam);
|
|
|
+
|
|
|
return ResultData.ok(PageInfo.PageInfo(page));
|
|
|
}
|
|
|
|