Browse Source

20211209

master
zy_Java 4 years ago
parent
commit
55ea60ea45
  1. 9
      src/main/java/com/ccsens/experiment/api/ProjectController.java
  2. 7
      src/main/java/com/ccsens/experiment/persist/dao/OrganizationDao.java
  3. 19
      src/main/java/com/ccsens/experiment/service/ExperimentService.java
  4. 8
      src/main/java/com/ccsens/experiment/service/IExperimentService.java
  5. 29
      src/main/java/com/ccsens/experiment/service/OrganizationService.java
  6. 9
      src/main/resources/mapper_dao/OrganizationDao.xml

9
src/main/java/com/ccsens/experiment/api/ProjectController.java

@ -79,4 +79,13 @@ public class ProjectController {
log.info("删除项目结束");
return JsonResponse.newInstance().ok();
}
@RequestMapping(value = "/authorization", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<Byte> getAuthorizationByProjectId(@ApiParam @Validated @RequestBody CProjectDto.ProjectById params) throws Exception{
log.info("查看用户对项目的权限:{}",params);
Byte authorization = experimentService.getAuthorizationByProjectId(params.getProjectId(),params.getUserId());
// projectService.deleteProjectById(params,null);
log.info("用户对项目的权限:{}",authorization);
return JsonResponse.newInstance().ok(authorization);
}
}

7
src/main/java/com/ccsens/experiment/persist/dao/OrganizationDao.java

@ -20,4 +20,11 @@ public interface OrganizationDao extends OrganizationMapper {
* @return 返回成员信息
*/
List<OrganizationVo.OrganizationMember> queryMemberByName(@Param("experimentId") Long experimentId, @Param("name") String name);
/**
* 查找课题下所有成员的userId
* @param experimentId 课题id
* @return 返回所有成员的userId
*/
List<Long> getUserIdByExperimentId(@Param("experimentId")Long experimentId);
}

19
src/main/java/com/ccsens/experiment/service/ExperimentService.java

@ -14,10 +14,7 @@ import com.ccsens.experiment.bean.dto.SubExperimentDto;
import com.ccsens.experiment.bean.po.*;
import com.ccsens.experiment.bean.vo.ExperimentVo;
import com.ccsens.experiment.bean.vo.SubExperimentVo;
import com.ccsens.experiment.persist.dao.ExperimentDao;
import com.ccsens.experiment.persist.dao.ExperimentFlowDao;
import com.ccsens.experiment.persist.dao.ExperimentStatusDao;
import com.ccsens.experiment.persist.dao.PlanTaskDao;
import com.ccsens.experiment.persist.dao.*;
import com.ccsens.experiment.persist.mapper.*;
import com.ccsens.experiment.util.ExperimentCodeError;
import com.ccsens.experiment.util.ExperimentConstant;
@ -63,6 +60,8 @@ public class ExperimentService implements IExperimentService {
private BusinessFileMapper businessFileMapper;
@Resource
private SubExperimentStageMapper subExperimentStageMapper;
@Resource
private OrganizationDao organizationDao;
/**
* 创建课题
@ -367,6 +366,12 @@ public class ExperimentService implements IExperimentService {
return getExperimentationVo;
}
@Override
public Byte getAuthorizationByProjectId(Long projectId, Long userId) {
return null;
}
/**
* 修改课题的信息
*/
@ -549,7 +554,10 @@ public class ExperimentService implements IExperimentService {
experimentFlowDao.saveTaskPluginList(taskPluginList);
//调用tall3的接口添加一个项目,并将当前用户关联项目
Set<Long> userIdSet = new HashSet<>();
//查询最上级的课题id
Long experimentId = experimentDao.getExperimentIdBySub(experiment.getId());
List<Long> userIdList = organizationDao.getUserIdByExperimentId(experimentId);
Set<Long> userIdSet = new HashSet<>(userIdList);
userIdSet.add(userId);
ProjectDto.SaveProjectDto saveProjectDto = new ProjectDto.SaveProjectDto();
@ -612,5 +620,4 @@ public class ExperimentService implements IExperimentService {
// }
return member;
}
}

8
src/main/java/com/ccsens/experiment/service/IExperimentService.java

@ -96,4 +96,12 @@ public interface IExperimentService {
* @return 返回实验信息
*/
SubExperimentVo.GetExperimentationVo getExperimentationById(SubExperimentDto.GetExperimentation param);
/**
* 查看用户对课题的权限
* @param projectId 项目
* @param userId userId
* @return 返回权限
*/
Byte getAuthorizationByProjectId(Long projectId, Long userId);
}

29
src/main/java/com/ccsens/experiment/service/OrganizationService.java

@ -2,6 +2,7 @@ package com.ccsens.experiment.service;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.cloudutil.bean.tall.dto.ProjectDto;
import com.ccsens.cloudutil.feign.Tall3FeignClient;
import com.ccsens.experiment.bean.dto.OrganizationDto;
import com.ccsens.experiment.bean.po.OrganizationMember;
@ -12,6 +13,7 @@ import com.ccsens.experiment.persist.mapper.OrganizationMemberMapper;
import com.ccsens.experiment.util.ExperimentCodeError;
import com.ccsens.experiment.util.ExperimentConstant;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.PropUtil;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;
@ -20,7 +22,11 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* @author
*/
@ -67,6 +73,24 @@ public class OrganizationService implements IOrganizationService {
//TODO 机构信息
organizationMemberMapper.insertSelective(member);
//所有成员都能看到项目
saveUserIdProject(experimentId);
}
private void saveUserIdProject(Long experimentId) {
//查找项目下所有成员的userId
List<Long> userIdList = organizationDao.getUserIdByExperimentId(experimentId);
Set<Long> userIdSet = new HashSet<>(userIdList);
ProjectDto.SaveProjectDto saveProjectDto = new ProjectDto.SaveProjectDto();
saveProjectDto.setId(experimentId);
saveProjectDto.setUserIdList(userIdSet);
JsonResponse jsonResponse = tall3FeignClient.saveProjectList(saveProjectDto);
if (null == jsonResponse){
throw new BaseException(ExperimentCodeError.FEIGN_ERROR);
}else if(!jsonResponse.getCode().equals(ExperimentCodeError.SUCCESS.getCode())){
throw new BaseException(ExperimentCodeError.FEIGN_ERROR);
}
}
@Override
@ -79,6 +103,10 @@ public class OrganizationService implements IOrganizationService {
if(ObjectUtil.isNotNull(param.getPhone())){
member.setPhone(param.getPhone());
// TODO 修改userID
//根据手机号获取userId
JsonResponse<Long> userIdByPhone = tall3FeignClient.getUserIdByPhone(param.getPhone());
log.info("通过tall3获取手机号对应的userId:{}",userIdByPhone);
member.setUserId(userIdByPhone.getData());
}
organizationMemberMapper.updateByPrimaryKeySelective(member);
}
@ -91,6 +119,7 @@ public class OrganizationService implements IOrganizationService {
}
member.setRecStatus((byte) 2);
organizationMemberMapper.updateByPrimaryKeySelective(member);
saveUserIdProject(member.getExperimentId());
}

9
src/main/resources/mapper_dao/OrganizationDao.xml

@ -53,4 +53,13 @@
and m.rec_status = 0
ORDER BY e.type
</select>
<select id="getUserIdByExperimentId" resultType="java.lang.Long">
SELECT
user_id
FROM
t_organization_member
WHERE
experiment_id = #{experimentId}
and rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save