✨ feat: 添加报名截止时间验证功能
This commit is contained in:
@@ -447,6 +447,10 @@ public class OutdoorFairController extends BaseController
|
|||||||
if (RoleUtils.isCompanyAdmin()) {
|
if (RoleUtils.isCompanyAdmin()) {
|
||||||
return AjaxResult.error("企业用户无权新增户外招聘会");
|
return AjaxResult.error("企业用户无权新增户外招聘会");
|
||||||
}
|
}
|
||||||
|
String timeValidationError = validateRegistrationDeadline(outdoorFair);
|
||||||
|
if (timeValidationError != null) {
|
||||||
|
return AjaxResult.error(timeValidationError);
|
||||||
|
}
|
||||||
fillVenueFields(outdoorFair);
|
fillVenueFields(outdoorFair);
|
||||||
boolean saved = outdoorFairService.save(outdoorFair);
|
boolean saved = outdoorFairService.save(outdoorFair);
|
||||||
if (saved) {
|
if (saved) {
|
||||||
@@ -468,6 +472,10 @@ public class OutdoorFairController extends BaseController
|
|||||||
if (RoleUtils.isCompanyAdmin()) {
|
if (RoleUtils.isCompanyAdmin()) {
|
||||||
return AjaxResult.error("企业用户无权编辑户外招聘会");
|
return AjaxResult.error("企业用户无权编辑户外招聘会");
|
||||||
}
|
}
|
||||||
|
String timeValidationError = validateRegistrationDeadline(outdoorFair);
|
||||||
|
if (timeValidationError != null) {
|
||||||
|
return AjaxResult.error(timeValidationError);
|
||||||
|
}
|
||||||
OutdoorFair oldFair = outdoorFair.getId() == null ? null : outdoorFairService.getById(outdoorFair.getId());
|
OutdoorFair oldFair = outdoorFair.getId() == null ? null : outdoorFairService.getById(outdoorFair.getId());
|
||||||
fillVenueFields(outdoorFair);
|
fillVenueFields(outdoorFair);
|
||||||
boolean venueChanged = oldFair == null || !java.util.Objects.equals(oldFair.getVenueId(), outdoorFair.getVenueId());
|
boolean venueChanged = oldFair == null || !java.util.Objects.equals(oldFair.getVenueId(), outdoorFair.getVenueId());
|
||||||
@@ -1081,6 +1089,17 @@ public class OutdoorFairController extends BaseController
|
|||||||
return (boothCount != null && boothCount > 0) || (bookingCount != null && bookingCount > 0);
|
return (boothCount != null && boothCount > 0) || (bookingCount != null && bookingCount > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static String validateRegistrationDeadline(OutdoorFair outdoorFair)
|
||||||
|
{
|
||||||
|
if (outdoorFair != null
|
||||||
|
&& outdoorFair.getApplyEndTime() != null
|
||||||
|
&& outdoorFair.getHoldTime() != null
|
||||||
|
&& outdoorFair.getApplyEndTime().after(outdoorFair.getHoldTime())) {
|
||||||
|
return "报名截止时间不能晚于招聘会举办时间";
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将当前场地模板克隆为招聘会自己的展位图。模板与副本只在这里发生单向复制,之后互不影响。
|
* 将当前场地模板克隆为招聘会自己的展位图。模板与副本只在这里发生单向复制,之后互不影响。
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
package com.ruoyi.cms.controller.cms;
|
package com.ruoyi.cms.controller.cms;
|
||||||
|
|
||||||
|
import com.ruoyi.cms.domain.OutdoorFair;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.mock.web.MockHttpServletRequest;
|
import org.springframework.mock.web.MockHttpServletRequest;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||||
|
|
||||||
class OutdoorFairControllerTest
|
class OutdoorFairControllerTest
|
||||||
{
|
{
|
||||||
@@ -79,6 +82,30 @@ class OutdoorFairControllerTest
|
|||||||
buildCompanyH5Url(request, 12L, 34L));
|
buildCompanyH5Url(request, 12L, 34L));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void registrationDeadlineCannotBeAfterFairHoldTime()
|
||||||
|
{
|
||||||
|
OutdoorFair fair = fairWithTimes(1_000L, 1_001L);
|
||||||
|
|
||||||
|
assertEquals("报名截止时间不能晚于招聘会举办时间",
|
||||||
|
OutdoorFairController.validateRegistrationDeadline(fair));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void registrationDeadlineCanEqualOrPrecedeFairHoldTime()
|
||||||
|
{
|
||||||
|
assertNull(OutdoorFairController.validateRegistrationDeadline(fairWithTimes(1_000L, 1_000L)));
|
||||||
|
assertNull(OutdoorFairController.validateRegistrationDeadline(fairWithTimes(1_000L, 999L)));
|
||||||
|
}
|
||||||
|
|
||||||
|
private OutdoorFair fairWithTimes(long holdTime, long applyEndTime)
|
||||||
|
{
|
||||||
|
OutdoorFair fair = new OutdoorFair();
|
||||||
|
fair.setHoldTime(new Date(holdTime));
|
||||||
|
fair.setApplyEndTime(new Date(applyEndTime));
|
||||||
|
return fair;
|
||||||
|
}
|
||||||
|
|
||||||
private String buildCompanyH5Url(MockHttpServletRequest request, Long fairId, Long companyId)
|
private String buildCompanyH5Url(MockHttpServletRequest request, Long fairId, Long companyId)
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user