|
@@ -21,6 +21,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
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;
|
|
@@ -48,11 +49,24 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
|
|
|
@Autowired
|
|
|
ISysUserService sysUserService;
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public Object getAuthList(SceneParam param) {
|
|
|
if(StringUtils.isBlank(param.getNum())){
|
|
|
throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
}
|
|
|
+
|
|
|
+ ScenePro pro = sceneProService.getByNum(param.getNum());
|
|
|
+ ScenePlus plus = scenePlusService.getByNum(param.getNum());
|
|
|
+ if(pro == null && plus == null){
|
|
|
+ throw new BusinessException(ResultCode.SCENE_NOT_EXIST);
|
|
|
+ }
|
|
|
+ Long sceneUserId = pro == null ? plus.getUserId(): pro.getUserId();
|
|
|
+
|
|
|
+ SysUser byId = sysUserService.getById(Long.valueOf(StpUtil.getLoginId().toString()));
|
|
|
+ JyUser loginUser = jyUserService.getBySysId(byId.getId());
|
|
|
+
|
|
|
+
|
|
|
JySceneAuth jySceneAuth = jySceneAuthService.getByNum(param.getNum());
|
|
|
if(jySceneAuth == null ){
|
|
|
return new JySceneAuth(0);
|
|
@@ -63,21 +77,43 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
|
|
|
|
|
|
LambdaQueryWrapper<JySceneUserAuth> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(JySceneUserAuth::getNum,param.getNum());
|
|
|
+ if(!sceneUserId.equals(loginUser.getUserId())){
|
|
|
+ List<Integer> ids = new ArrayList<>();
|
|
|
+ getSubAuthorIdsById(loginUser.getId(),param.getNum(),ids);
|
|
|
+ wrapper.in(JySceneUserAuth::getAuthorId,ids);
|
|
|
+ }
|
|
|
wrapper.orderByDesc(JySceneUserAuth::getCreateTime);
|
|
|
Page<JySceneUserAuth> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
|
|
|
+
|
|
|
List<Integer> jyUserIds = page.getRecords().stream().map(JySceneUserAuth::getJyUserId).collect(Collectors.toList());
|
|
|
HashMap<Integer, JyUser> map = jyUserService.getByIds(jyUserIds);
|
|
|
+
|
|
|
for (JySceneUserAuth jySceneUserAuth : page.getRecords()) {
|
|
|
JyUser jyUser = map.get(jySceneUserAuth.getJyUserId());
|
|
|
if(jyUser != null){
|
|
|
jySceneUserAuth.setRyId(jyUser.getRyId());
|
|
|
jySceneUserAuth.setRyNickName(jyUser.getRyNickName());
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
jySceneAuth.setPageInfo(PageInfo.PageInfo(page));
|
|
|
return jySceneAuth;
|
|
|
}
|
|
|
|
|
|
+ private void getSubAuthorIdsById(Integer id,String num,List<Integer> ids) {
|
|
|
+ ids.add(id);
|
|
|
+ LambdaQueryWrapper<JySceneUserAuth> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(JySceneUserAuth::getNum,num);
|
|
|
+ wrapper.eq(JySceneUserAuth::getAuthorId,id);
|
|
|
+ List<JySceneUserAuth> list = this.list(wrapper);
|
|
|
+ if(list.size() >0){
|
|
|
+ for (JySceneUserAuth auth : list) {
|
|
|
+ ids.add(auth.getAuthorId());
|
|
|
+ getSubAuthorIdsById(auth.getAuthorId(),num,ids);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public void addAuth(JySceneUserAuth param) {
|
|
@@ -114,6 +150,9 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
|
|
|
param.setId(auth.getId());
|
|
|
}
|
|
|
param.setJyUserId(jyUser.getId());
|
|
|
+ SysUser byId = sysUserService.getById(Long.valueOf(StpUtil.getLoginId().toString()));
|
|
|
+ JyUser loginUser = jyUserService.getBySysId(byId.getId());
|
|
|
+ param.setAuthorId(loginUser.getId());
|
|
|
this.saveOrUpdate(param);
|
|
|
|
|
|
}
|