diff --git a/src/main/java/com/easysoftware/adapter/query/CoMaintainerAdapter.java b/src/main/java/com/easysoftware/adapter/query/CoMaintainerAdapter.java index 188d04c59c0a9a1c49d2732dfa9d2199c9cee3a2..e6a901af844535013f4e549e5995d3afc8513b68 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 77a6bd6a7ea32ee44135bbd9b9f825226bc880b9..26ea6ddabeb0ff71ad6cd5ff0399c8eb3d3d1b2e 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 9cf9890c436eabe8c2dffd998968ff1f2e10c796..5f5cd079de5f89283f2eab76f1d00bcf1e412299 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 fb32a6c735d935b30e076c27e56b9a51698618e7..7e96185f3f739b527584554e23a6535d7c66a784 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 31eebac0efca0e916b68438dee3c815db6ed3d65..f36fa80b1606f7c0277329f212b489611b603b05 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 b8be46adebdb5176ef7f289708d3c75502e41327..bb548b7368ebc1d1356d0601630bc36fdd22087a 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);