diff --git a/src/main/java/com/easysoftware/application/applyform/ApplyFormServiceImpl.java b/src/main/java/com/easysoftware/application/applyform/ApplyFormServiceImpl.java index 7e36ddbd8c3341fd2885d7ad85dbb1c3f1fcf2e1..9ff2be52131d3cab2ff9c313e312cdaf5e9b2d8d 100644 --- a/src/main/java/com/easysoftware/application/applyform/ApplyFormServiceImpl.java +++ b/src/main/java/com/easysoftware/application/applyform/ApplyFormServiceImpl.java @@ -22,11 +22,9 @@ import org.springframework.stereotype.Service; import com.easysoftware.application.applyform.dto.ApplyFormSearchMaintainerCondition; import com.easysoftware.application.applyform.dto.MyApply; import com.easysoftware.application.applyform.dto.ProcessApply; -import com.easysoftware.application.applyform.vo.ApplyFormContentVO; import com.easysoftware.application.applyform.vo.ApplyFormSearchMaintainerVO; import com.easysoftware.common.exception.DeleteException; import com.easysoftware.common.exception.InsertException; -import com.easysoftware.common.exception.NoneResException; import com.easysoftware.common.exception.ParamErrorException; import com.easysoftware.common.exception.UpdateException; import com.easysoftware.common.utils.ResultUtil; @@ -75,7 +73,15 @@ public class ApplyFormServiceImpl implements ApplyFormService { */ @Override public ResponseEntity searchApplyFromByAdmin(ApplyFormSearchAdminCondition condition) { - Map res = applyFormGateway.queryApplyFormByCondition(condition); + Map res = new HashMap<>(); + if (condition.getName().equals("formPage")) { + res = applyFormGateway.queryApplyFormByConditionAdmin(condition); + } else if (condition.getName().equals("formContent")) { + res = applyFormGateway.queryApplyFormContentByConditionAdmin(condition); + } else if (condition.getName().equals("approved")) { + res = applyFormGateway.queryApprovedApplyFormByConditionAdmin(condition); + } + return ResultUtil.success(HttpStatus.OK, res); } @@ -89,10 +95,6 @@ public class ApplyFormServiceImpl implements ApplyFormService { Map map = applyFormGateway.queryApplyFormByPage(condition); Long total = (Long) map.get("total"); List appylFormVOs = (List) map.get("list"); - if (total == 0 || appylFormVOs.size() == 0) { - throw new NoneResException("the apply forms is null"); - } - Map res = new HashMap<>(); res.put("total", total); res.put("list", appylFormVOs); @@ -113,16 +115,7 @@ public class ApplyFormServiceImpl implements ApplyFormService { Map res = applyFormGateway.queryApplyFormByApplyId(condition.getApplyId()); - Long total = (Long) res.get("total"); - - List list = (List) res.get("list"); - - if (total == 0 || list.size() == 0) { - throw new ParamErrorException("the apply form content does not exist"); - } - return res; - } /** diff --git a/src/main/java/com/easysoftware/application/applyform/dto/ApplyFormSearchAdminCondition.java b/src/main/java/com/easysoftware/application/applyform/dto/ApplyFormSearchAdminCondition.java index 6053a30aa80aecffa2e88417e3ca2753d21c8b5c..1a7959a7febc9a94c98fbfdf22a8190d5f47fdad 100644 --- a/src/main/java/com/easysoftware/application/applyform/dto/ApplyFormSearchAdminCondition.java +++ b/src/main/java/com/easysoftware/application/applyform/dto/ApplyFormSearchAdminCondition.java @@ -67,4 +67,15 @@ public class ApplyFormSearchAdminCondition { @Pattern(regexp = PackageConstant.VALID_STR_REG, message = PackageConstant.VALID_MESSAGE) private String timeOrder; + /** + * 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; + + /** + * Apply form number. + */ + private Long applyId; } diff --git a/src/main/java/com/easysoftware/common/constant/PackageConstant.java b/src/main/java/com/easysoftware/common/constant/PackageConstant.java index 61c1d2c8dc48d4a8f9da8a504517e2d9e4641442..2b5e09bc5b63cf208ae779151528245872d8dab8 100644 --- a/src/main/java/com/easysoftware/common/constant/PackageConstant.java +++ b/src/main/java/com/easysoftware/common/constant/PackageConstant.java @@ -263,4 +263,9 @@ public final class PackageConstant { * maintainer in apply_form table. */ public static final String APPLY_FORM_MAINTAINER = "maintainer"; + + /** + * maintainer in apply_form table. + */ + public static final String APPLY_FORM_ADMIN = "adminstrator"; } 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 078442c376015f9437a2e3a5f12662789a91ba78..5ec2783f5abee4589dea097ee5b572ed4db39235 100644 --- a/src/main/java/com/easysoftware/domain/applyform/gateway/ApplyFormGateway.java +++ b/src/main/java/com/easysoftware/domain/applyform/gateway/ApplyFormGateway.java @@ -53,7 +53,23 @@ public interface ApplyFormGateway { * @param condition The search condition for querying apply form * @return A map containing relevant information */ - Map queryApplyFormByCondition(ApplyFormSearchAdminCondition condition); + Map queryApplyFormByConditionAdmin(ApplyFormSearchAdminCondition condition); + + /** + * Query information based on the provided search condition. + * + * @param condition The search condition for querying apply form + * @return A map containing relevant information + */ + Map queryApplyFormContentByConditionAdmin(ApplyFormSearchAdminCondition condition); + + /** + * Query apporved apply form based on the provided search condition. + * + * @param condition The search condition for querying apply form + * @return A map containing relevant information + */ + Map queryApprovedApplyFormByConditionAdmin(ApplyFormSearchAdminCondition condition); /** * MyApply apply based on the provided condition.. 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 5ac33095a12bac339f5825c77ed049f5618ac20c..d18c2744c7825a65cce8ba9b9a4d5b80304fc8c5 100644 --- a/src/main/java/com/easysoftware/infrastructure/applyform/gatewayimpl/ApplyFormGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/applyform/gatewayimpl/ApplyFormGatewayImpl.java @@ -208,7 +208,7 @@ public class ApplyFormGatewayImpl implements ApplyFormGateway { * @return A map containing relevant information */ @Override - public Map queryApplyFormByCondition(ApplyFormSearchAdminCondition condition) { + public Map queryApplyFormByConditionAdmin(ApplyFormSearchAdminCondition condition) { int pageNum = condition.getPageNum(); int pageSize = condition.getPageSize(); Page page = new Page<>(pageNum, pageSize); @@ -226,6 +226,68 @@ public class ApplyFormGatewayImpl implements ApplyFormGateway { return res; } + /** + * Query information based on the provided search condition. + * + * @param condition The search condition for querying apply form + * @return A map containing relevant information + */ + @Override + public Map queryApplyFormContentByConditionAdmin(ApplyFormSearchAdminCondition condition) { + + QueryWrapper queryWrapperForm = new QueryWrapper<>(); + queryWrapperForm.eq(PackageConstant.APPLY_FORM_ID, condition.getApplyId()); + List applyFormListDOs = applyFormDOMapper.selectList(queryWrapperForm); + List applyFormListVOs = ApplyFormConvertor.toApplyFormVO(applyFormListDOs); + + QueryWrapper queryWrapperRecords = new QueryWrapper<>(); + queryWrapperRecords.eq(PackageConstant.APPLY_FORM_ID, condition.getApplyId()); + + List applyhandleRecordsDOs = applyHandleRecordsDOMapper.selectList(queryWrapperRecords); + + List applyFormContentVOs = new ArrayList<>(); + for (ApplyFormSearchMaintainerVO applyFormVO : applyFormListVOs) { + ApplyFormContentVO applyFormContentVO = new ApplyFormContentVO(); + BeanUtils.copyProperties(applyFormVO, applyFormContentVO); + applyFormContentVO.setComment(applyhandleRecordsDOs.get(0).getComment()); + applyFormContentVOs.add(applyFormContentVO); + } + + Map res = new HashMap<>(); + res.put("total", (long) applyFormContentVOs.size()); + res.put("list", applyFormContentVOs); + + return res; + } + + /** + * Query apporved apply form based on the provided search condition. + * + * @param condition The search condition for querying apply form + * @return A map containing relevant information + */ + @Override + public Map queryApprovedApplyFormByConditionAdmin(ApplyFormSearchAdminCondition condition) { + String userName = userPermission.getUserName(); + + int pageNum = condition.getPageNum(); + int pageSize = condition.getPageSize(); + Page page = new Page<>(pageNum, pageSize); + QueryWrapper queryWrapperForm = new QueryWrapper<>(); + queryWrapperForm.eq(PackageConstant.APPLY_FORM_ADMIN, userName); + + IPage resPage = applyFormDOMapper.selectPage(page, queryWrapperForm); + long total = resPage.getTotal(); + List applyFormDOs = resPage.getRecords(); + List applyFormVOs = ApplyFormConvertor.toApplyFormVO(applyFormDOs); + + Map res = new HashMap<>(); + res.put("total", total); + res.put("list", applyFormVOs); + + return res; + } + /** * initWrapperByCondition. *