From 4f22f35680bf7829b10bd7ae3b0dd669f71cdd01 Mon Sep 17 00:00:00 2001 From: XieChengzhi Date: Wed, 14 Aug 2024 11:23:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=8F=E4=BD=9C=E5=B9=B3=E5=8F=B0=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3=E5=A2=9E=E5=8A=A0=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/query/CoMaintainerAdapter.java | 16 ++-------- .../applyform/ApplyFormService.java | 7 ---- .../applyform/ApplyFormServiceImpl.java | 32 ++++++++++++++----- .../ApplyFormSearchMaintainerCondition.java | 9 ++++++ .../applyform/gateway/ApplyFormGateway.java | 2 +- .../gatewayimpl/ApplyFormGatewayImpl.java | 18 +++++++++-- 6 files changed, 52 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/easysoftware/adapter/query/CoMaintainerAdapter.java b/src/main/java/com/easysoftware/adapter/query/CoMaintainerAdapter.java index 188d04c..e6a901a 100644 --- a/src/main/java/com/easysoftware/adapter/query/CoMaintainerAdapter.java +++ b/src/main/java/com/easysoftware/adapter/query/CoMaintainerAdapter.java @@ -20,7 +20,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -122,21 +121,10 @@ public class CoMaintainerAdapter { * @return ResponseEntity. */ @GetMapping("/query/apply") - // @RequestLimitRedis() + @RequestLimitRedis() + @CoMaintainerPermission() public ResponseEntity queryApplyFromByMaintainer(@Valid final ApplyFormSearchMaintainerCondition condition) { return applyFormService.searchApplyFromByMaintainer(condition); } - - /** - * Query apply form based on the provided search condition by applyId. - * - * @param applyId The search condition for querying apply form. - * @return ResponseEntity. - */ - @GetMapping("/query/apply/{applyId}") - // @RequestLimitRedis() - public ResponseEntity queryApplyFromByApplyId(@PathVariable("applyId") Long applyId) { - return applyFormService.searchApplyFromByApplyId(applyId); - } } diff --git a/src/main/java/com/easysoftware/application/applyform/ApplyFormService.java b/src/main/java/com/easysoftware/application/applyform/ApplyFormService.java index 77a6bd6..26ea6dd 100644 --- a/src/main/java/com/easysoftware/application/applyform/ApplyFormService.java +++ b/src/main/java/com/easysoftware/application/applyform/ApplyFormService.java @@ -25,11 +25,4 @@ public interface ApplyFormService { */ ResponseEntity searchApplyFromByMaintainer(ApplyFormSearchMaintainerCondition condition); - /** - *Search for apply form based on the provided search condition by applyId. - * - * @param applyId The search id for querying apply form. - * @return ResponseEntity. - */ - ResponseEntity searchApplyFromByApplyId(Long applyId); } diff --git a/src/main/java/com/easysoftware/application/applyform/ApplyFormServiceImpl.java b/src/main/java/com/easysoftware/application/applyform/ApplyFormServiceImpl.java index 9cf9890..5f5cd07 100644 --- a/src/main/java/com/easysoftware/application/applyform/ApplyFormServiceImpl.java +++ b/src/main/java/com/easysoftware/application/applyform/ApplyFormServiceImpl.java @@ -45,7 +45,24 @@ public class ApplyFormServiceImpl implements ApplyFormService { */ @Override public ResponseEntity searchApplyFromByMaintainer(ApplyFormSearchMaintainerCondition condition) { - Map map = applyFormGateway.queryApplyFormByMaintainer(condition); + Map res = new HashMap<>(); + if (condition.getName().equals("formPage")) { + res = searchApplyFromByPage(condition); + } else if (condition.getName().equals("formContent")) { + res = searchApplyFromByApplyId(condition); + } + + return ResultUtil.success(HttpStatus.OK, res); + } + + /** + * Search for apply form based on the provided page condition. + * + * @param condition The page condition for querying apply form. + * @return ResponseEntity. + */ + private Map searchApplyFromByPage(ApplyFormSearchMaintainerCondition condition) { + Map map = applyFormGateway.queryApplyFormByPage(condition); Long total = (Long) map.get("total"); List appylFormVOs = (List) map.get("list"); if (total == 0 || appylFormVOs.size() == 0) { @@ -56,22 +73,21 @@ public class ApplyFormServiceImpl implements ApplyFormService { res.put("total", total); res.put("list", appylFormVOs); - return ResultUtil.success(HttpStatus.OK, res); + return res; } /** * Search for apply form based on the provided search condition. * - * @param applyId The search condition for querying apply form by applyId. + * @param condition The search condition for querying apply form by applyId. * @return ResponseEntity. */ - @Override - public ResponseEntity searchApplyFromByApplyId(Long applyId) { - if (applyId == null) { + private Map searchApplyFromByApplyId(ApplyFormSearchMaintainerCondition condition) { + if (condition.getApplyId() == null) { throw new ParamErrorException("the applyId can not be null"); } - Map res = applyFormGateway.queryApplyFormByApplyId(applyId); + Map res = applyFormGateway.queryApplyFormByApplyId(condition.getApplyId()); Long total = (Long) res.get("total"); @@ -81,7 +97,7 @@ public class ApplyFormServiceImpl implements ApplyFormService { throw new ParamErrorException("the apply form content does not exist"); } - return ResultUtil.success(HttpStatus.OK, res); + return res; } diff --git a/src/main/java/com/easysoftware/application/applyform/dto/ApplyFormSearchMaintainerCondition.java b/src/main/java/com/easysoftware/application/applyform/dto/ApplyFormSearchMaintainerCondition.java index fb32a6c..7e96185 100644 --- a/src/main/java/com/easysoftware/application/applyform/dto/ApplyFormSearchMaintainerCondition.java +++ b/src/main/java/com/easysoftware/application/applyform/dto/ApplyFormSearchMaintainerCondition.java @@ -15,6 +15,8 @@ import org.hibernate.validator.constraints.Range; import com.easysoftware.common.constant.PackageConstant; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -40,6 +42,13 @@ public class ApplyFormSearchMaintainerCondition { @NotNull private Integer pageSize = 10; + /** + * Name (maximum length: PackageConstant.MAX_FIELD_LENGTH). + */ + @Size(max = PackageConstant.MAX_FIELD_LENGTH) + @Pattern(regexp = PackageConstant.VALID_STR_REG, message = PackageConstant.VALID_MESSAGE) + private String name; + /** * Application number. */ diff --git a/src/main/java/com/easysoftware/domain/applyform/gateway/ApplyFormGateway.java b/src/main/java/com/easysoftware/domain/applyform/gateway/ApplyFormGateway.java index 31eebac..f36fa80 100644 --- a/src/main/java/com/easysoftware/domain/applyform/gateway/ApplyFormGateway.java +++ b/src/main/java/com/easysoftware/domain/applyform/gateway/ApplyFormGateway.java @@ -26,7 +26,7 @@ public interface ApplyFormGateway { * @param condition The search condition for querying apply form * @return A map containing relevant information */ - Map queryApplyFormByMaintainer(ApplyFormSearchMaintainerCondition condition); + Map queryApplyFormByPage(ApplyFormSearchMaintainerCondition condition); /** * Query information based on the provided search condition by appId. diff --git a/src/main/java/com/easysoftware/infrastructure/applyform/gatewayimpl/ApplyFormGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/applyform/gatewayimpl/ApplyFormGatewayImpl.java index b8be46a..bb548b7 100644 --- a/src/main/java/com/easysoftware/infrastructure/applyform/gatewayimpl/ApplyFormGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/applyform/gatewayimpl/ApplyFormGatewayImpl.java @@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.easysoftware.application.applyform.dto.ApplyFormSearchMaintainerCondition; import com.easysoftware.application.applyform.vo.ApplyFormContentVO; import com.easysoftware.application.applyform.vo.ApplyFormSearchMaintainerVO; +import com.easysoftware.common.account.UserPermission; import com.easysoftware.domain.applyform.gateway.ApplyFormGateway; import com.easysoftware.infrastructure.apply.gatewayimpl.dataobject.ApplyhandleRecordsDO; import com.easysoftware.infrastructure.applyform.gatewayimpl.converter.ApplyFormConvertor; @@ -47,6 +48,12 @@ public class ApplyFormGatewayImpl implements ApplyFormGateway { @Autowired private ApplyHandleRecordsDOMapper applyHandleRecordsDOMapper; + /** + * Autowired permission for the UserPermission. + */ + @Autowired + private UserPermission userPermission; + /** * Query information based on the provided search condition. * @@ -54,11 +61,15 @@ public class ApplyFormGatewayImpl implements ApplyFormGateway { * @return A map containing relevant information */ @Override - public Map queryApplyFormByMaintainer(ApplyFormSearchMaintainerCondition condition) { + public Map queryApplyFormByPage(ApplyFormSearchMaintainerCondition condition) { int pageNum = condition.getPageNum(); int pageSize = condition.getPageSize(); + String maintainer = userPermission.getUserLogin(); + Page page = new Page<>(pageNum, pageSize); - IPage resPage = applyFormDOMapper.selectPage(page, null); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("maintainer", maintainer); + IPage resPage = applyFormDOMapper.selectPage(page, wrapper); long total = resPage.getTotal(); List applyFormDOs = resPage.getRecords(); @@ -79,14 +90,17 @@ public class ApplyFormGatewayImpl implements ApplyFormGateway { * @return A map containing relevant information */ public Map queryApplyFormByApplyId(Long applyId) { + String maintainer = userPermission.getUserLogin(); QueryWrapper queryWrapperForm = new QueryWrapper<>(); queryWrapperForm.eq("apply_id", applyId); + queryWrapperForm.eq("maintainer", maintainer); List applyFormListDOs = applyFormDOMapper.selectList(queryWrapperForm); List applyFormListVOs = ApplyFormConvertor.toApplyFormVO(applyFormListDOs); QueryWrapper queryWrapperRecords = new QueryWrapper<>(); queryWrapperRecords.eq("apply_id", applyId); + queryWrapperRecords.eq("maintainer", maintainer); List applyhandleRecordsDOs = applyHandleRecordsDOMapper.selectList(queryWrapperRecords); -- Gitee