diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalSurveyController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalSurveyController.java index 0991d2a..f72f0a1 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalSurveyController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalSurveyController.java @@ -3,6 +3,7 @@ package org.qinan.safetyeval.adapter.web.institution.app; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.qinan.safetyeval.client.api.institution.EvalSurveyApi; +import org.qinan.safetyeval.client.co.institution.EvalProjectMemberCO; import org.qinan.safetyeval.client.co.institution.EvalSurveyCO; import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalSurveySaveCmd; @@ -30,4 +31,10 @@ public class AppEvalSurveyController { public SingleResponse get(@RequestParam("projectId") String projectId) { return evalSurveyApi.get(projectId); } + + @ApiOperation("获取当前项目组人员信息详情,以便打卡信息填充") + @GetMapping("/getProjectCurrent") + public SingleResponse getProjectCurrent(@RequestParam("projectId") String projectId) { + return evalSurveyApi.getProjectCurrent(projectId); + } } diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/OrgPersonnelController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppOrgPersonnelController.java similarity index 91% rename from safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/OrgPersonnelController.java rename to safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppOrgPersonnelController.java index 822cb99..163a073 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/OrgPersonnelController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppOrgPersonnelController.java @@ -19,8 +19,8 @@ import javax.annotation.Resource; */ @Api(tags = "移动端人员信息管理") @RestController -@RequestMapping("/safetyEval/org-personnel") -public class OrgPersonnelController { +@RequestMapping("/safetyEval/app/org-personnel") +public class AppOrgPersonnelController { @Resource private OrgPersonnelApi orgPersonnelApi; diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSurveyExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSurveyExecutor.java index ac190b5..f072249 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSurveyExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSurveyExecutor.java @@ -1,28 +1,37 @@ package org.qinan.safetyeval.app.executor.institution; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.qinan.safetyeval.app.convertor.EvalProjectMemberCmdConvertor; import org.qinan.safetyeval.app.convertor.EvalSurveyCmdConvertor; import org.qinan.safetyeval.client.api.institution.EvalSurveyApi; +import org.qinan.safetyeval.client.co.institution.EvalProjectMemberCO; import org.qinan.safetyeval.client.co.institution.EvalSurveyCO; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalSurveyPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalSurveySaveCmd; +import org.qinan.safetyeval.domain.entity.EvalProjectMemberEntity; import org.qinan.safetyeval.domain.entity.EvalSurveyEntity; import org.qinan.safetyeval.domain.exception.ErrorCode; import org.qinan.safetyeval.domain.query.EvalSurveyQuery; import org.qinan.safetyeval.domain.query.PageResult; import org.qinan.safetyeval.domain.service.EvalSurveyDomainService; import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; +import org.qinan.safetyeval.infrastructure.convertor.EvalProjectMemberDoConvertor; import org.qinan.safetyeval.infrastructure.convertor.EvalSurveyDoConvertor; +import org.qinan.safetyeval.infrastructure.dataobject.EvalProjectMemberDO; import org.qinan.safetyeval.infrastructure.dataobject.EvalSurveyDO; +import org.qinan.safetyeval.infrastructure.mapper.EvalProjectMemberMapper; import org.qinan.safetyeval.infrastructure.mapper.EvalSurveyMapper; import org.qinan.safetyeval.infrastructure.support.InstitutionOrgSupport; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import java.util.List; +import java.util.stream.Collectors; @Service public class EvalSurveyExecutor implements EvalSurveyApi { @@ -42,6 +51,13 @@ public class EvalSurveyExecutor implements EvalSurveyApi { private EvalSurveyMapper evalSurveyMapper; @Autowired private EvalSurveyDoConvertor evalSurveyDoConvertor; + @Autowired + private EvalProjectMemberMapper evalProjectMemberMapper; + + @Resource + private EvalProjectMemberDoConvertor evalProjectMemberDoConvertor; + @Autowired + private EvalProjectMemberCmdConvertor evalProjectMemberCmdConvertor; @Override public SingleResponse save(EvalSurveySaveCmd cmd) { @@ -76,4 +92,17 @@ public class EvalSurveyExecutor implements EvalSurveyApi { EvalSurveyEntity evalSurveyEntity = evalSurveyDoConvertor.convertDoToE(evalSurveyDOS.get(0)); return SingleResponse.success(evalSurveyCmdConvertor.convertEToCO(evalSurveyEntity)); } + + @Override + public SingleResponse getProjectCurrent(String projectId) { + List evalProjectMemberDOS = evalProjectMemberMapper.selectList(new LambdaQueryWrapper() + .eq(EvalProjectMemberDO::getProjectId, projectId) + .eq(EvalProjectMemberDO::getPersonnelId, AuthUserContextAdapter.getCurrentUserId()) + .last("limit 1")); + if (CollectionUtils.isEmpty(evalProjectMemberDOS)) { + return SingleResponse.success(null); + } + List dbList = evalProjectMemberDOS.stream().map(evalProjectMemberDoConvertor::convertDoToE).collect(Collectors.toList()); + return SingleResponse.success(evalProjectMemberCmdConvertor.convertEListToCOList(dbList).get(0)); + } } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalSurveyApi.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalSurveyApi.java index 89e3c1f..706aaaa 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalSurveyApi.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalSurveyApi.java @@ -1,5 +1,6 @@ package org.qinan.safetyeval.client.api.institution; +import org.qinan.safetyeval.client.co.institution.EvalProjectMemberCO; import org.qinan.safetyeval.client.co.institution.EvalSurveyCO; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; @@ -13,4 +14,6 @@ public interface EvalSurveyApi { PageResponse page(EvalSurveyPageQuery query); SingleResponse get(String projectId); + + SingleResponse getProjectCurrent(String projectId); }