|
|
@ -3,13 +3,13 @@ package com.ccsens.ptccsens.service; |
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import cn.hutool.core.io.FileUtil; |
|
|
|
import cn.hutool.core.lang.Snowflake; |
|
|
|
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.ptccsens.bean.dto.FinanceDto; |
|
|
|
import com.ccsens.ptccsens.bean.po.*; |
|
|
|
import com.ccsens.ptccsens.bean.vo.ClockingInVo; |
|
|
|
import com.ccsens.ptccsens.bean.vo.DeliverVo; |
|
|
|
import com.ccsens.ptccsens.bean.vo.FinanceVo; |
|
|
|
import com.ccsens.ptccsens.persist.dao.*; |
|
|
@ -50,6 +50,8 @@ import java.util.stream.Collectors; |
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|
|
|
public class TallService implements ITallService { |
|
|
|
|
|
|
|
@Resource |
|
|
|
private Snowflake snowflake; |
|
|
|
@Resource |
|
|
|
private ProRoleDao proRoleDao; |
|
|
|
@Resource |
|
|
@ -109,17 +111,7 @@ public class TallService implements ITallService { |
|
|
|
@SneakyThrows |
|
|
|
@Override |
|
|
|
public TallProjectVo.ProjectInfo importWbs(String token, MultipartFile params) { |
|
|
|
//TODO 根据token获取用户信息
|
|
|
|
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); |
|
|
|
} |
|
|
|
log.info("token获取的用户信息:{}", userByToken); |
|
|
|
//通过手机号获取用户在服务内的userId
|
|
|
|
ProUser user = null; |
|
|
|
if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){ |
|
|
|
user = userDao.getUserIdByPhone(userByToken.getPhone()); |
|
|
|
} |
|
|
|
ProUser user = getUserByToken(token); |
|
|
|
log.info("本服务下的用户信息:{}", user); |
|
|
|
if(ObjectUtil.isNull(user)){ |
|
|
|
throw new BaseException(BasicsCodeError.NOT_USER_SERVER); |
|
|
@ -145,6 +137,21 @@ public class TallService implements ITallService { |
|
|
|
return importService.importWbs(fullPath,user.getId(),null); |
|
|
|
} |
|
|
|
|
|
|
|
private ProUser getUserByToken(String token) { |
|
|
|
//根据token获取用户信息
|
|
|
|
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); |
|
|
|
} |
|
|
|
log.info("token获取的用户信息:{}", userByToken); |
|
|
|
//通过手机号获取用户在服务内的userId
|
|
|
|
ProUser user = null; |
|
|
|
if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){ |
|
|
|
user = userDao.getUserIdByPhone(userByToken.getPhone()); |
|
|
|
} |
|
|
|
return user; |
|
|
|
} |
|
|
|
|
|
|
|
@SneakyThrows |
|
|
|
@Override |
|
|
|
public TallWbsVo.WbsPath exportWbs(String token, TallProjectDto.ProjectById param) { |
|
|
@ -193,15 +200,15 @@ 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)); |
|
|
|
if(ObjectUtil.isNull(userByToken)){ |
|
|
|
return null; |
|
|
|
} |
|
|
|
//通过手机号获取用户在服务内的userId
|
|
|
|
ProUser user = null; |
|
|
|
if(StrUtil.isNotBlank(userByToken.getPhone())){ |
|
|
|
user = userDao.getUserIdByPhone(userByToken.getPhone()); |
|
|
|
} |
|
|
|
// TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET));
|
|
|
|
// if(ObjectUtil.isNull(userByToken)){
|
|
|
|
// return null;
|
|
|
|
// }
|
|
|
|
// //通过手机号获取用户在服务内的userId
|
|
|
|
// ProUser user = null;
|
|
|
|
// if(StrUtil.isNotBlank(userByToken.getPhone())){
|
|
|
|
// user = userDao.getUserIdByPhone(userByToken.getPhone());
|
|
|
|
// }
|
|
|
|
|
|
|
|
//TODO 暂时查询全部,无论是否查到user
|
|
|
|
// List<TallProjectVo.ProjectInfo> projectInfos = new ArrayList<>();
|
|
|
@ -230,16 +237,9 @@ 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)); |
|
|
|
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()); |
|
|
|
} |
|
|
|
|
|
|
|
ProUser user = getUserByToken(token); |
|
|
|
log.info("本服务下的用户信息:{}", user); |
|
|
|
//返回的对象
|
|
|
|
TallRoleVo.QueryRole queryRole = new TallRoleVo.QueryRole(); |
|
|
|
List<TallRoleVo.RoleInfo> visibleList = new ArrayList<>(); |
|
|
@ -249,7 +249,7 @@ public class TallService implements ITallService { |
|
|
|
List<ProRole> userRoleList = proRoleDao.queryRoleByUserId(param.getProjectId(),user == null ? null : user.getId()); |
|
|
|
|
|
|
|
//查询用户可见的角色
|
|
|
|
List<TallRoleVo.RoleInfo> roleInfoList = new ArrayList<>(); |
|
|
|
List<TallRoleVo.RoleInfo> roleInfoList; |
|
|
|
if(CollectionUtil.isNotEmpty(userRoleList)){ |
|
|
|
//不是关注者,查询可见的角色(完全屏蔽才不可见)
|
|
|
|
roleInfoList = proRoleDao.notAttentionQueryRole(param.getProjectId(),userRoleList); |
|
|
@ -258,7 +258,7 @@ public class TallService implements ITallService { |
|
|
|
roleInfoList = proRoleDao.attentionQueryRole(param.getProjectId()); |
|
|
|
} |
|
|
|
//查询配置信息
|
|
|
|
List<Long> showRoleList = proRoleDao.queryShowByUserAndProject(param.getProjectId(),userByToken.getId()); |
|
|
|
List<Long> showRoleList = proRoleDao.queryShowByUserAndProject(param.getProjectId(),user == null ? null : user.getId()); |
|
|
|
if(CollectionUtil.isNotEmpty(showRoleList)){ |
|
|
|
for (Long showRoleId : showRoleList) { |
|
|
|
//循环配置内的信息去匹配角色列表,来确定角色该放在什么地方
|
|
|
@ -315,18 +315,9 @@ 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(BasicsCodeError.NOT_USER_SERVER);
|
|
|
|
// }
|
|
|
|
|
|
|
|
ProUser user = getUserByToken(token); |
|
|
|
log.info("本服务下的用户信息:{}", user); |
|
|
|
|
|
|
|
List<Long> roleIds = new ArrayList<>(); |
|
|
|
roleIds.add(param.getRoleId()); |
|
|
@ -337,25 +328,16 @@ public class TallService implements ITallService { |
|
|
|
//查询任务下的检查人
|
|
|
|
queryCheckerOfTask(permanentGlobalTask); |
|
|
|
|
|
|
|
//TODO 查询插件展示信息
|
|
|
|
//查询插件展示信息
|
|
|
|
queryPluginShow(permanentGlobalTask,user == null ? null : user.getId()); |
|
|
|
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()); |
|
|
|
} |
|
|
|
// if(ObjectUtil.isNull(user)){
|
|
|
|
// throw new BaseException(BasicsCodeError.NOT_USER_SERVER);
|
|
|
|
// }
|
|
|
|
|
|
|
|
ProUser user = getUserByToken(token); |
|
|
|
log.info("本服务下的用户信息:{}", user); |
|
|
|
|
|
|
|
List<Long> roleIds = new ArrayList<>(); |
|
|
|
roleIds.add(param.getRoleId()); |
|
|
@ -365,20 +347,14 @@ public class TallService implements ITallService { |
|
|
|
//查询任务下的检查人
|
|
|
|
queryCheckerOfTask(globalTask); |
|
|
|
|
|
|
|
//TODO 查询插件展示信息
|
|
|
|
//查询插件展示信息
|
|
|
|
queryPluginShow(globalTask,user == null ? null : user.getId()); |
|
|
|
return globalTask; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<TallTaskVo.QueryTask> queryRegularTask(String token, TallTaskDto.QueryRegularTask param) { |
|
|
|
//TODO 通过token向tall获取用户信息,
|
|
|
|
// Long userId = null;
|
|
|
|
// //查找当前角色是否有查看权限
|
|
|
|
// Boolean isLook = queryRoleIsLook(param.getRoleId(), userId);
|
|
|
|
// if (BooleanUtil.isFalse(isLook)) {
|
|
|
|
// throw new BaseException(BasicsCodeError.NOT_PERMISSION);
|
|
|
|
// }
|
|
|
|
|
|
|
|
//查找类型:0向上查找,1向下查找(默认),下查包含自己,上查不包含
|
|
|
|
//根据参数配置sql语句
|
|
|
|
String query = ""; |
|
|
@ -393,7 +369,6 @@ public class TallService implements ITallService { |
|
|
|
List<Long> roleIds = new ArrayList<>(); |
|
|
|
roleIds.add(param.getRoleId()); |
|
|
|
|
|
|
|
//TODO 季度未实现
|
|
|
|
List<TallTaskVo.QueryTask> regularTask = taskDetailDao.queryRegularTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat); |
|
|
|
//如果该时段没有任务向上或向下补充
|
|
|
|
if (CollectionUtil.isEmpty(regularTask)) { |
|
|
@ -568,19 +543,8 @@ public class TallService implements ITallService { |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<TallTaskVo.QueryTask> queryRegularTaskAndPlugin(String token, TallTaskDto.QueryRegularTask param) { |
|
|
|
//TODO 根据token获取用户信息
|
|
|
|
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(BasicsCodeError.NOT_USER_SERVER);
|
|
|
|
// }
|
|
|
|
ProUser user = getUserByToken(token); |
|
|
|
log.info("本服务下的用户信息:{}", user); |
|
|
|
|
|
|
|
//查找类型:0向上查找,1向下查找(默认),下查包含自己,上查不包含
|
|
|
|
//根据参数配置sql语句
|
|
|
@ -596,7 +560,6 @@ public class TallService implements ITallService { |
|
|
|
List<Long> roleIds = new ArrayList<>(); |
|
|
|
roleIds.add(param.getRoleId()); |
|
|
|
|
|
|
|
//TODO 季度未实现
|
|
|
|
List<TallTaskVo.QueryTask> regularTask = taskDetailDao.queryRegularTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat); |
|
|
|
//如果该时段没有任务向上或向下补充
|
|
|
|
if (CollectionUtil.isEmpty(regularTask)) { |
|
|
@ -618,7 +581,7 @@ public class TallService implements ITallService { |
|
|
|
queryPluginForTask(replenishTask); |
|
|
|
//查询任务下的检查人
|
|
|
|
queryCheckerOfTask(replenishTask); |
|
|
|
//TODO 查询插件展示信息
|
|
|
|
//查询插件展示信息
|
|
|
|
queryPluginShow(regularTask,user == null ? null : user.getId()); |
|
|
|
return replenishTask; |
|
|
|
} |
|
|
@ -626,7 +589,7 @@ public class TallService implements ITallService { |
|
|
|
//查询任务下的检查人
|
|
|
|
queryCheckerOfTask(regularTask); |
|
|
|
|
|
|
|
//TODO 查询插件展示信息
|
|
|
|
//查询插件展示信息
|
|
|
|
queryPluginShow(regularTask,user == null ? null : user.getId()); |
|
|
|
|
|
|
|
return regularTask; |
|
|
@ -646,53 +609,27 @@ public class TallService implements ITallService { |
|
|
|
//TODO 判断插件类型,暂时一个个的判断,之后应该是统一的接口
|
|
|
|
Long pluginId = plugin.getPluginId(); |
|
|
|
if (pluginId == 15L) { |
|
|
|
//TODO 查找交付物的信息
|
|
|
|
//查找交付物的信息
|
|
|
|
DeliverVo.DeliverOfTask deliverByTask = pluDeliverDao.getDeliverByTask(queryTask.getId(), userId); |
|
|
|
plugin.setData(JSON.toJSONString(deliverByTask)); |
|
|
|
} else if (pluginId == 18L) { |
|
|
|
//TODO 查找财务条的信息
|
|
|
|
//查找财务条的信息
|
|
|
|
FinanceVo.FinanceItem byTask = financeService.getByTask(new FinanceDto.TaskId(queryTask.getDetailId())); |
|
|
|
plugin.setData(JSON.toJSONString(byTask)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// queryTask.getPlugins().forEach(pluginInfos -> {
|
|
|
|
// if(CollectionUtil.isNotEmpty(pluginInfos)){
|
|
|
|
// pluginInfos.forEach(plugin ->{
|
|
|
|
// //TODO 判断插件类型,暂时一个个的判断,之后应该是统一的接口
|
|
|
|
// Long pluginId = plugin.getPluginId();
|
|
|
|
// if (pluginId == 15L) {
|
|
|
|
// //TODO 查找交付物的信息
|
|
|
|
// DeliverVo.DeliverOfTask deliverByTask = pluDeliverDao.getDeliverByTask(queryTask.getId(), userId);
|
|
|
|
// plugin.setData(JSON.toJSONString(deliverByTask));
|
|
|
|
// } else if (pluginId == 18L) {
|
|
|
|
// //TODO 查找财务条的信息
|
|
|
|
// FinanceVo.FinanceItem byTask = financeService.getByTask(new FinanceDto.TaskId(queryTask.getDetailId()));
|
|
|
|
// plugin.setData(JSON.toJSONString(byTask));
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageInfo<TallTaskVo.QueryTask> pageQueryRegularTask(String token, TallTaskDto.PageQueryRegularTask param) { |
|
|
|
//TODO 根据token获取用户信息
|
|
|
|
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(BasicsCodeError.NOT_USER_SERVER);
|
|
|
|
// }
|
|
|
|
|
|
|
|
ProUser user = getUserByToken(token); |
|
|
|
log.info("本服务下的用户信息:{}", user); |
|
|
|
|
|
|
|
//查询用的时间
|
|
|
|
Long queryTime = System.currentTimeMillis(); |
|
|
|
|
|
|
@ -717,7 +654,7 @@ public class TallService implements ITallService { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//如果查看的角色项目经理,则查看所有任务
|
|
|
|
//如果查看的角色项目经理,则查看所有任务
|
|
|
|
int isPm = 0; |
|
|
|
ProRole role = proRoleDao.selectByPrimaryKey(param.getRoleId()); |
|
|
|
if(ObjectUtil.isNotNull(role)){ |
|
|
@ -740,36 +677,16 @@ public class TallService implements ITallService { |
|
|
|
queryPluginForTask(queryTaskPageInfo.getList()); |
|
|
|
//查询任务下的检查人
|
|
|
|
queryCheckerOfTask(queryTaskPageInfo.getList()); |
|
|
|
//TODO 查询插件展示信息
|
|
|
|
//查询插件展示信息
|
|
|
|
queryPluginShow(queryTaskPageInfo.getList(),user == null ? null : user.getId()); |
|
|
|
} |
|
|
|
// //获取任务列表
|
|
|
|
// PageHelper.startPage(param.getPageNum(),param.getPageSize());
|
|
|
|
// List<TallTaskVo.QueryTask> regularTask = taskDetailDao.pageQueryRegularTask(param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType(),param.getTaskId(),param.getTriggerType());
|
|
|
|
// PageInfo<TallTaskVo.QueryTask> queryTaskPageInfo = new PageInfo<>(regularTask);
|
|
|
|
// if(CollectionUtil.isNotEmpty(queryTaskPageInfo.getList())){
|
|
|
|
// if(param.getQueryType() == 0){
|
|
|
|
// //向上查找任务顺序是倒的,需要改成正序
|
|
|
|
// List<TallTaskVo.QueryTask> taskList = new ArrayList<>();
|
|
|
|
// for (int i = queryTaskPageInfo.getList().size() - 1; i >= 0; i--) {
|
|
|
|
// taskList.add(queryTaskPageInfo.getList().get(i));
|
|
|
|
// }
|
|
|
|
// queryTaskPageInfo.setList(taskList);
|
|
|
|
// }
|
|
|
|
// //查询任务下的插件
|
|
|
|
// queryPluginForTask(queryTaskPageInfo.getList());
|
|
|
|
// //查询任务下的检查人
|
|
|
|
// queryCheckerOfTask(queryTaskPageInfo.getList());
|
|
|
|
// //TODO 查询插件展示信息
|
|
|
|
// queryPluginShow(queryTaskPageInfo.getList(),user == null ? null : user.getId());
|
|
|
|
// }
|
|
|
|
|
|
|
|
return queryTaskPageInfo; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<TallTaskVo.QueryTask> queryAllTask(TallTaskDto.QueryAllTask param) { |
|
|
|
List<TallTaskVo.QueryTask> queryTaskList = null; |
|
|
|
List<TallTaskVo.QueryTask> queryTaskList = new ArrayList<>(); |
|
|
|
//通过手机号查找服务内的用户
|
|
|
|
ProUser user = userDao.getUserIdByPhone(param.getPhone()); |
|
|
|
if(ObjectUtil.isNull(user)){ |
|
|
@ -800,16 +717,10 @@ public class TallService implements ITallService { |
|
|
|
|
|
|
|
@Override |
|
|
|
public void deleteProject(String token, TallProjectDto.ProjectById params) { |
|
|
|
//根据token获取用户信息
|
|
|
|
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()); |
|
|
|
} |
|
|
|
//查找用户
|
|
|
|
ProUser user = getUserByToken(token); |
|
|
|
log.info("本服务下的用户信息:{}", user); |
|
|
|
|
|
|
|
if(ObjectUtil.isNull(user)){ |
|
|
|
throw new BaseException(BasicsCodeError.NOT_USER_SERVER); |
|
|
|
} |
|
|
@ -818,7 +729,7 @@ public class TallService implements ITallService { |
|
|
|
if (power < 1) { |
|
|
|
throw new BaseException(BasicsCodeError.NO_POWER); |
|
|
|
} |
|
|
|
//TODO 删除项目 暂时只删除项目
|
|
|
|
//删除项目
|
|
|
|
ProTaskDetail project = new ProTaskDetail(); |
|
|
|
project.setId(params.getProjectId()); |
|
|
|
project.setRecStatus((byte) 2); |
|
|
@ -959,4 +870,50 @@ public class TallService implements ITallService { |
|
|
|
taskPanelInfoExample.createCriteria().andTaskDetailIdIn(allTaskId); |
|
|
|
taskPanelInfoMapper.updateByExampleSelective(taskPanelInfo,taskPanelInfoExample); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void dragProject(String token, TallProjectDto.MoveProject params) { |
|
|
|
//获取用户信息
|
|
|
|
ProUser user = getUserByToken(token); |
|
|
|
log.info("本服务下的用户信息:{}", user); |
|
|
|
if(ObjectUtil.isNull(user)){ |
|
|
|
throw new BaseException(BasicsCodeError.NOT_USER_SERVER); |
|
|
|
} |
|
|
|
//检查移动的项目是否存在
|
|
|
|
ProTaskDetail moveProject = taskDetailDao.selectByPrimaryKey(params.getMoveProjectId()); |
|
|
|
if(ObjectUtil.isNull(moveProject)){ |
|
|
|
throw new BaseException(BasicsCodeError.PROJECT_NOT_FOUND); |
|
|
|
} |
|
|
|
//如果目标项目id不为空,检查项目是否存在
|
|
|
|
if(ObjectUtil.isNotNull(params.getTargetProjectId())){ |
|
|
|
ProTaskDetail targetProject = taskDetailDao.selectByPrimaryKey(params.getTargetProjectId()); |
|
|
|
if(ObjectUtil.isNull(targetProject)){ |
|
|
|
throw new BaseException(BasicsCodeError.PROJECT_NOT_FOUND); |
|
|
|
} |
|
|
|
} |
|
|
|
//TODO 检查用户权限(用户必须是移动项目的项目经理)
|
|
|
|
//判断用户是否是项目经理
|
|
|
|
Integer power = powerService.queryUserPower(params.getMoveProjectId(), user.getId()); |
|
|
|
if (power < 1) { |
|
|
|
throw new BaseException(BasicsCodeError.NO_POWER); |
|
|
|
} |
|
|
|
//删除之前的层级关系
|
|
|
|
ProParentTaskExample parentTaskExample = new ProParentTaskExample(); |
|
|
|
parentTaskExample.createCriteria().andTaskDetailIdEqualTo(params.getMoveProjectId()); |
|
|
|
List<ProParentTask> proParentTasks = parentTaskDao.selectByExample(parentTaskExample); |
|
|
|
if(CollectionUtil.isNotEmpty(proParentTasks)){ |
|
|
|
proParentTasks.forEach(proParentTask -> { |
|
|
|
proParentTask.setRecStatus((byte) 2); |
|
|
|
parentTaskDao.updateByPrimaryKeySelective(proParentTask); |
|
|
|
}); |
|
|
|
} |
|
|
|
//重新添加
|
|
|
|
if(ObjectUtil.isNotNull(params.getTargetProjectId())){ |
|
|
|
ProParentTask proParentTask = new ProParentTask(); |
|
|
|
proParentTask.setId(snowflake.nextId()); |
|
|
|
proParentTask.setTaskDetailId(params.getMoveProjectId()); |
|
|
|
proParentTask.setParentTaskDetailId(params.getTargetProjectId()); |
|
|
|
parentTaskDao.insertSelective(proParentTask); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|