Browse Source

20220316

master
zy_Java 3 years ago
parent
commit
039d75ff55
  1. 89
      src/main/java/com/ccsens/ptos_zero/service/TallService.java

89
src/main/java/com/ccsens/ptos_zero/service/TallService.java

@ -3,11 +3,13 @@ package com.ccsens.ptos_zero.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.BooleanUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.ccsens.ptos_zero.bean.po.ProRole;
import com.ccsens.ptos_zero.bean.po.ProRoleExample;
import com.ccsens.ptos_zero.bean.po.ProTaskSub;
import com.ccsens.ptos_zero.bean.po.ProUser;
import com.ccsens.ptos_zero.bean.vo.DeliverVo;
@ -164,6 +166,17 @@ public class TallService implements ITallService {
@Override
public List<TallProjectVo.ProjectInfo> queryProjectByUser(String token, TallProjectDto.QueryProjectDto param) {
TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET));
// List<TallProjectVo.ProjectInfo> projectInfos = new ArrayList<>();
// TallProjectVo.ProjectInfo projectInfo = new TallProjectVo.ProjectInfo();
// projectInfo.setId(1485932638408675328L);
// projectInfo.setName("我的");
// projectInfo.setUrl("http://101.201.226.163:7310");
// projectInfo.setBusinessCode("ZERO");
// projectInfo.setDomainCode("tall_dh");
// projectInfos.add(projectInfo);
// TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET));
if(ObjectUtil.isNull(userByToken)){
return null;
}
@ -201,7 +214,7 @@ public class TallService implements ITallService {
@Override
public TallRoleVo.QueryRole queryShowRole(String token, TallRoleDto.QueryRoleById param) {
//TODO 通过token向tall获取用户信息,
TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET));
TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET));
if(ObjectUtil.isNull(userByToken)){
throw new BaseException(CodeEnum.NOT_LOGIN);
}
@ -217,15 +230,43 @@ public class TallService implements ITallService {
//查询当前用户在项目下的角色,没有则算作关注者
List<ProRole> userRoleList = proRoleDao.queryRoleByUserId(param.getProjectId(),user == null ? null : user.getId());
//查询用户可见的角色
List<TallRoleVo.RoleInfo> roleInfoList = new ArrayList<>();
if(CollectionUtil.isNotEmpty(userRoleList)){
//不是关注者,查询可见的角色(完全屏蔽才不可见)
roleInfoList = proRoleDao.notAttentionQueryRole(param.getProjectId(),userRoleList);
if(CollectionUtil.isNotEmpty(roleInfoList)){
roleInfoList.forEach(roleInfo -> {
if("我".equals(roleInfo.getName())){
roleInfo.setMine(1);
}
});
}
}else {
//是关注者查询可见的角色(未设置过对谁不可见信息的角色)
roleInfoList = proRoleDao.attentionQueryRole(param.getProjectId());
// //是关注者查询可见的角色(未设置过对谁不可见信息的角色)
// roleInfoList = proRoleDao.attentionQueryRole(param.getProjectId());
//TODO 0号项目游客查看所有,默认属于管理员
ProRoleExample proRoleExample = new ProRoleExample();
proRoleExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
List<ProRole> proRoles = proRoleDao.selectByExample(proRoleExample);
if(CollectionUtil.isNotEmpty(proRoles)){
for (ProRole proRole : proRoles) {
if("我".equals(proRole.getName())){
TallRoleVo.RoleInfo roleInfo = new TallRoleVo.RoleInfo();
roleInfo.setId(proRole.getId());
roleInfo.setName(proRole.getName());
roleInfo.setMine(1);
roleInfoList.add(roleInfo);
}else if("管理员".equals(proRole.getName())){
TallRoleVo.RoleInfo roleInfo = new TallRoleVo.RoleInfo();
roleInfo.setId(proRole.getId());
roleInfo.setName(proRole.getName());
roleInfo.setMine(1);
roleInfoList.add(roleInfo);
}
}
}
}
//查询配置信息
List<Long> showRoleList = proRoleDao.queryShowByUserAndProject(param.getProjectId(),userByToken.getId());
@ -285,19 +326,13 @@ public class TallService implements ITallService {
@Override
public List<TallTaskVo.QueryTask> queryPermanentGlobalTask(String token, TallTaskDto.QueryPermanentGlobalTask param) {
TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET));
if(ObjectUtil.isNull(userByToken)){
throw new BaseException(CodeEnum.NOT_LOGIN);
}
//通过手机号获取用户在服务内的userId
ProUser user = null;
if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){
user = userDao.getUserIdByPhone(userByToken.getPhone());
}
// if(ObjectUtil.isNull(user)){
// throw new BaseException(ZeroCodeError.NOT_USER_SERVER);
// }
Long userId = null;
//查找当前角色是否有查看权限
Boolean isLook = queryRoleIsLook(param.getRoleId(), userId);
if (BooleanUtil.isFalse(isLook)) {
throw new BaseException(CodeEnum.NO_POWER);
}
List<Long> roleIds = new ArrayList<>();
roleIds.add(param.getRoleId());
@ -308,24 +343,20 @@ public class TallService implements ITallService {
queryCheckerOfTask(permanentGlobalTask);
//TODO 查询插件展示信息
queryPluginShow(permanentGlobalTask,user == null ? null : user.getId());
queryPluginShow(permanentGlobalTask,null);
return permanentGlobalTask;
}
@Override
public List<TallTaskVo.QueryTask> queryGlobalTask(String token, TallTaskDto.QueryGlobalTask param) {
TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET));
if(ObjectUtil.isNull(userByToken)){
throw new BaseException(CodeEnum.NOT_LOGIN);
}
//通过手机号获取用户在服务内的userId
ProUser user = null;
if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){
user = userDao.getUserIdByPhone(userByToken.getPhone());
//TODO 通过token向tall获取用户信息,
Long userId = null;
//查找当前角色是否有查看权限
Boolean isLook = queryRoleIsLook(param.getRoleId(), userId);
if (BooleanUtil.isFalse(isLook)) {
throw new BaseException(CodeEnum.NO_POWER);
}
// if(ObjectUtil.isNull(user)){
// throw new BaseException(ZeroCodeError.NOT_USER_SERVER);
// }
List<Long> roleIds = new ArrayList<>();
roleIds.add(param.getRoleId());
@ -336,7 +367,7 @@ public class TallService implements ITallService {
queryCheckerOfTask(globalTask);
//TODO 查询插件展示信息
queryPluginShow(globalTask,user == null ? null : user.getId());
queryPluginShow(globalTask,null);
return globalTask;
}

Loading…
Cancel
Save