diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalProjectController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalProjectController.java new file mode 100644 index 0000000..430d4e1 --- /dev/null +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalProjectController.java @@ -0,0 +1,54 @@ +package org.qinan.safetyeval.adapter.web.institution.app; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.qinan.safetyeval.client.api.institution.EvalProjectApi; +import org.qinan.safetyeval.client.co.institution.EvalProjectCO; +import org.qinan.safetyeval.client.co.institution.EvalProjectEnumsCO; +import org.qinan.safetyeval.client.co.institution.EvalProjectStatisticsCO; +import org.qinan.safetyeval.client.dto.PageResponse; +import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.client.dto.institution.EvalProjectPageQuery; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags = "移动端安评项目") +@RestController +@RequestMapping("/safetyEval/app/institution/eval-project") +public class AppEvalProjectController { + + @Resource + private EvalProjectApi evalProjectApi; + + + @ApiOperation("查询项目详情") + @GetMapping("/get") + public SingleResponse get(@ApiParam("主键ID") @RequestParam String id) { + return evalProjectApi.get(Long.parseLong(id)); + } + + @ApiOperation("分页项目列表") + @GetMapping("/page") + public PageResponse page(@Validated EvalProjectPageQuery query) { + query.setMyProject(true); + return evalProjectApi.page(query); + } + + @ApiOperation("我的项目统计") + @GetMapping("/projectStatistics") + public SingleResponse projectStatistics() { + return evalProjectApi.projectStatistics(); + } + + @ApiOperation("安评项目枚举映射") + @GetMapping("/enums") + public SingleResponse enums() { + return evalProjectApi.enums(); + } +} diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalSignTaskController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalSignTaskController.java new file mode 100644 index 0000000..b1033a9 --- /dev/null +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalSignTaskController.java @@ -0,0 +1,40 @@ +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.EvalSignTaskApi; +import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO; +import org.qinan.safetyeval.client.dto.PageResponse; +import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd; +import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery; +import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; +import org.springframework.util.StringUtils; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "移动端签字任务") +@RestController +@RequestMapping("/safetyEval/app/institution/eval-sign-task") +public class AppEvalSignTaskController { + + @Resource + private EvalSignTaskApi evalSignTaskApi; + + @ApiOperation("签字任务分页") + @GetMapping("/page") + public PageResponse page(@Validated EvalSignTaskPageQuery query) { + if (!StringUtils.hasText(query.getSignerPersonnelId())) { + query.setSignerPersonnelId(String.valueOf(AuthUserContextAdapter.getCurrentUserId())); + } + return evalSignTaskApi.page(query); + } + + @ApiOperation("签字上传") + @PostMapping("/signAndUpload") + public SingleResponse signAndUpload(@RequestBody EditSignTaskSaveCmd cmd) { + return evalSignTaskApi.signAndUpload(cmd); + } +} 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 new file mode 100644 index 0000000..0991d2a --- /dev/null +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppEvalSurveyController.java @@ -0,0 +1,33 @@ +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.EvalSurveyCO; +import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.client.dto.institution.EvalSurveySaveCmd; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "移动现场踏勘") +@RestController +@RequestMapping("/safetyEval/app/institution/eval-survey") +public class AppEvalSurveyController { + + @Resource + private EvalSurveyApi evalSurveyApi; + + @ApiOperation("保存踏勘人员(id空新增/非空修改)") + @PostMapping("/save") + public SingleResponse save(@Validated @RequestBody EvalSurveySaveCmd cmd) { + return evalSurveyApi.save(cmd); + } + + @ApiOperation("查询我的踏勘数据") + @GetMapping("/get") + public SingleResponse get(@RequestParam("projectId") String projectId) { + return evalSurveyApi.get(projectId); + } +} diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppSafetyMessageController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppSafetyMessageController.java new file mode 100644 index 0000000..6e47454 --- /dev/null +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/app/AppSafetyMessageController.java @@ -0,0 +1,56 @@ +package org.qinan.safetyeval.adapter.web.institution.app; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.qinan.safetyeval.client.api.SafetyMessageApi; +import org.qinan.safetyeval.client.co.SafetyMessageCO; +import org.qinan.safetyeval.client.dto.*; +import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; +import org.qinan.safetyeval.infrastructure.dataobject.base.Req; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 消息中心适配层(Controller) + * + * @author safety-eval + */ +@Slf4j +@Api(tags = "移动端消息中心") +@RestController +@RequestMapping("/safetyEval/app/safetyMessage") +public class AppSafetyMessageController { + + @Resource + private SafetyMessageApi safetyMessageApi; + + @ApiOperation("查询消息详情") + @GetMapping("/get") + public SingleResponse get(@ApiParam("主键ID") @RequestParam Long id) { + return safetyMessageApi.get(id); + } + + @ApiOperation("批量标为已读") + @PostMapping("/batchMarkedAsRead") + public SingleResponse batchMarkedAsRead(@ApiParam("主键IDj集合") @RequestBody Req> req) { + return safetyMessageApi.batchMarkedAsRead(req.getData()); + } + + @ApiOperation("删除消息") + @PostMapping("/delete") + public SingleResponse delete(@ApiParam("主键ID") @RequestBody Req req) { + return safetyMessageApi.delete(req.getData()); + } + + @ApiOperation("分页查询消息") + @GetMapping("/page") + public PageResponse page(@Validated SafetyMessagePageQuery query) { + query.setReceiveId(AuthUserContextAdapter.getCurrentUserId()); + return safetyMessageApi.page(query); + } +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java index f82cc0a..cde63dd 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java @@ -77,7 +77,6 @@ public class EvalProjectExecutor implements EvalProjectApi { @Override public PageResponse page(EvalProjectPageQuery query) { EvalProjectQuery domainQuery = evalProjectCmdConvertor.convertPageQueryToQ(query); - domainQuery.setOrgId(institutionOrgSupport.resolveCurrentOrgId()); PageResult pageResult = evalProjectDomainService.page(domainQuery); return PageResponse.of( evalProjectCmdConvertor.convertEListToCOList(pageResult.getRecords()), 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 803c862..ac190b5 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,5 +1,6 @@ package org.qinan.safetyeval.app.executor.institution; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.qinan.safetyeval.app.convertor.EvalSurveyCmdConvertor; import org.qinan.safetyeval.client.api.institution.EvalSurveyApi; import org.qinan.safetyeval.client.co.institution.EvalSurveyCO; @@ -12,11 +13,17 @@ 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.EvalSurveyDoConvertor; +import org.qinan.safetyeval.infrastructure.dataobject.EvalSurveyDO; +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 java.util.List; + @Service public class EvalSurveyExecutor implements EvalSurveyApi { @@ -31,6 +38,10 @@ public class EvalSurveyExecutor implements EvalSurveyApi { @Lazy @Autowired(required = false) private EvalSurveyCmdConvertor evalSurveyCmdConvertor; + @Autowired + private EvalSurveyMapper evalSurveyMapper; + @Autowired + private EvalSurveyDoConvertor evalSurveyDoConvertor; @Override public SingleResponse save(EvalSurveySaveCmd cmd) { @@ -55,4 +66,14 @@ public class EvalSurveyExecutor implements EvalSurveyApi { evalSurveyCmdConvertor.convertEListToCOList(pageResult.getRecords()), pageResult.getTotal()); } + + @Override + public SingleResponse get(String projectId) { + List evalSurveyDOS = evalSurveyMapper.selectList(new LambdaQueryWrapper() + .eq(EvalSurveyDO::getProjectId, projectId) + .eq(EvalSurveyDO::getPersonnelId, AuthUserContextAdapter.getCurrentUserId()) + .last("limit 1")); + EvalSurveyEntity evalSurveyEntity = evalSurveyDoConvertor.convertDoToE(evalSurveyDOS.get(0)); + return SingleResponse.success(evalSurveyCmdConvertor.convertEToCO(evalSurveyEntity)); + } } 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 fe22722..89e3c1f 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 @@ -11,4 +11,6 @@ public interface EvalSurveyApi { SingleResponse save(EvalSurveySaveCmd cmd); PageResponse page(EvalSurveyPageQuery query); + + SingleResponse get(String projectId); } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalSignTaskCO.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalSignTaskCO.java index d998c11..27614fd 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalSignTaskCO.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalSignTaskCO.java @@ -24,10 +24,10 @@ public class EvalSignTaskCO { private String taskTitle; @ApiModelProperty("待签角色") private String signerRoles; - @ApiModelProperty(value = "任务状态编码:1待签 2已签 3已作废", example = "1") + @ApiModelProperty(value = "任务状态编码:1待签 2已签", example = "1") private Integer taskStatusCode; - @ApiModelProperty(value = "任务状态名称:待签/已签/已作废", example = "待签") + @ApiModelProperty(value = "任务状态名称:待签/已签", example = "待签") private String taskStatusName; @ApiModelProperty(value = "任务下发时间") diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EditSignTaskSaveCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EditSignTaskSaveCmd.java index 2924722..06fa103 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EditSignTaskSaveCmd.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EditSignTaskSaveCmd.java @@ -9,6 +9,6 @@ public class EditSignTaskSaveCmd { @ApiModelProperty(value = "任务id") private Long id; - @ApiModelProperty("签字图片") + @ApiModelProperty("签字图片,多个以逗号隔开") private String signerUrl; } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalProjectPageQuery.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalProjectPageQuery.java index 68d07d5..36082ee 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalProjectPageQuery.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalProjectPageQuery.java @@ -25,4 +25,7 @@ public class EvalProjectPageQuery extends BasePageQuery { private Boolean isStatutory; private Long customerId; + + @ApiModelProperty("app关键字搜素") + private String keyword; } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalSurveySaveCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalSurveySaveCmd.java index 00c5267..b50378f 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalSurveySaveCmd.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalSurveySaveCmd.java @@ -45,9 +45,9 @@ public class EvalSurveySaveCmd { @ApiModelProperty("签退时间") private LocalDateTime signOutTime; - @ApiModelProperty("现场图片") + @ApiModelProperty("现场图片,多个以逗号隔开") private String sceneUrl; - @ApiModelProperty("签字图片") + @ApiModelProperty("签字图片,多个以逗号隔开") private String signatureUrl; } diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/query/EvalProjectQuery.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/query/EvalProjectQuery.java index ce96aea..695dc91 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/query/EvalProjectQuery.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/query/EvalProjectQuery.java @@ -35,4 +35,7 @@ public class EvalProjectQuery { @ApiModelProperty("是否法定项目 1是 0否") private Boolean isStatutory; + + @ApiModelProperty("app关键字搜素") + private String keyword; } diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/EvalProjectGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/EvalProjectGatewayImpl.java index 96a8409..c1f1ffc 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/EvalProjectGatewayImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/EvalProjectGatewayImpl.java @@ -157,6 +157,9 @@ public class EvalProjectGatewayImpl implements EvalProjectGateway { if (!CollectionUtils.isEmpty(query.getProjectIds())) { wrapper.in(EvalProjectDO::getId, query.getProjectIds()); } + if (StringUtils.hasText(query.getKeyword())) { + wrapper.and(o -> o.like(EvalProjectDO::getProjectName, query.getKeyword()).or().like(EvalProjectDO::getProjectNo, query.getKeyword())); + } if (Boolean.TRUE.equals(query.getMyProject())) { wrapper.apply("JSON_CONTAINS(participants_json, JSON_OBJECT('id', {0}))", AuthUserContextAdapter.getCurrentUserId()); } diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/support/InstitutionOrgSupport.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/support/InstitutionOrgSupport.java index 7952ccc..0ac2852 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/support/InstitutionOrgSupport.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/support/InstitutionOrgSupport.java @@ -16,9 +16,6 @@ public class InstitutionOrgSupport { if (orgId == null) { orgId = ThreadLocalUserInfoAdapter.get(); } - if (orgId == null) { - throw new BizException(ErrorCode.ORG_INFO_NOT_FOUND); - } return orgId; }