|
|
@ -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; |
|
|
|
} |
|
|
@ -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; |
|
|
|
} |
|
|
|
|
|
|
|