feat: add outdoor fair time and company filters

This commit is contained in:
2026-07-24 10:27:39 +08:00
parent 3784dd5208
commit f22867fcf0
3 changed files with 35 additions and 2 deletions

View File

@@ -124,11 +124,14 @@ public class OutdoorFairController extends BaseController
@ApiOperation("查询户外招聘会列表") @ApiOperation("查询户外招聘会列表")
@PreAuthorize("@ss.hasPermi('cms:outdoorFair:list')") @PreAuthorize("@ss.hasPermi('cms:outdoorFair:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(OutdoorFair outdoorFair, HttpServletRequest request) public TableDataInfo list(OutdoorFair outdoorFair,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime,
HttpServletRequest request)
{ {
Company company = RoleUtils.isCompanyAdmin() ? getCurrentCompanyOrNull() : null; Company company = RoleUtils.isCompanyAdmin() ? getCurrentCompanyOrNull() : null;
startPage(); startPage();
List<OutdoorFair> list = outdoorFairService.selectOutdoorFairList(outdoorFair); List<OutdoorFair> list = outdoorFairService.selectOutdoorFairList(outdoorFair, startTime, endTime);
fillReservedBoothCount(list); fillReservedBoothCount(list);
fillCompanyApplyState(list, request, company); fillCompanyApplyState(list, request, company);
return getDataTable(list); return getDataTable(list);
@@ -552,12 +555,18 @@ public class OutdoorFairController extends BaseController
@PreAuthorize("@ss.hasPermi('cms:outdoorFair:query')") @PreAuthorize("@ss.hasPermi('cms:outdoorFair:query')")
@GetMapping("/{fairId}/companies") @GetMapping("/{fairId}/companies")
public AjaxResult listCompanies(@PathVariable Long fairId, String companyName, public AjaxResult listCompanies(@PathVariable Long fairId, String companyName,
String reviewStatus,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime,
Integer current, Integer pageSize, Integer current, Integer pageSize,
HttpServletRequest request) HttpServletRequest request)
{ {
LambdaQueryWrapper<FairCompany> relationWrapper = new LambdaQueryWrapper<FairCompany>() LambdaQueryWrapper<FairCompany> relationWrapper = new LambdaQueryWrapper<FairCompany>()
.eq(FairCompany::getJobFairId, fairId) .eq(FairCompany::getJobFairId, fairId)
.orderByDesc(FairCompany::getId); .orderByDesc(FairCompany::getId);
relationWrapper.eq(StringUtils.isNotBlank(reviewStatus), FairCompany::getReviewStatus, reviewStatus);
relationWrapper.ge(startTime != null, FairCompany::getCreateTime, startTime);
relationWrapper.le(endTime != null, FairCompany::getCreateTime, endTime);
if (RoleUtils.isCompanyAdmin()) { if (RoleUtils.isCompanyAdmin()) {
Company company = getCurrentCompanyOrNull(); Company company = getCurrentCompanyOrNull();
if (company == null) { if (company == null) {
@@ -616,6 +625,7 @@ public class OutdoorFairController extends BaseController
row.put("reviewBy", relation.getReviewBy()); row.put("reviewBy", relation.getReviewBy());
row.put("reviewTime", relation.getReviewTime()); row.put("reviewTime", relation.getReviewTime());
row.put("reviewRemark", relation.getReviewRemark()); row.put("reviewRemark", relation.getReviewRemark());
row.put("registrationTime", relation.getCreateTime());
OutdoorFairDevice device = deviceMap.get(company.getCompanyId()); OutdoorFairDevice device = deviceMap.get(company.getCompanyId());
String h5Url = buildOutdoorFairCompanyH5Url(request, fairId, company.getCompanyId()); String h5Url = buildOutdoorFairCompanyH5Url(request, fairId, company.getCompanyId());
row.put("deviceId", device == null ? null : device.getId()); row.put("deviceId", device == null ? null : device.getId());

View File

@@ -1,6 +1,7 @@
package com.ruoyi.cms.service; package com.ruoyi.cms.service;
import java.util.Collection; import java.util.Collection;
import java.util.Date;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@@ -22,6 +23,16 @@ public interface IOutdoorFairService extends IService<OutdoorFair>
*/ */
List<OutdoorFair> selectOutdoorFairList(OutdoorFair outdoorFair); List<OutdoorFair> selectOutdoorFairList(OutdoorFair outdoorFair);
/**
* 按招聘会举办开始/结束时间筛选列表。
*
* @param outdoorFair 基础查询条件
* @param startTime 举办开始时间下限
* @param endTime 举办结束时间上限
* @return 户外招聘会集合
*/
List<OutdoorFair> selectOutdoorFairList(OutdoorFair outdoorFair, Date startTime, Date endTime);
/** /**
* 删除户外招聘会及其展位副本、展位预定记录。 * 删除户外招聘会及其展位副本、展位预定记录。
* *

View File

@@ -1,6 +1,7 @@
package com.ruoyi.cms.service.impl; package com.ruoyi.cms.service.impl;
import java.util.Collection; import java.util.Collection;
import java.util.Date;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -44,6 +45,15 @@ public class OutdoorFairServiceImpl extends ServiceImpl<OutdoorFairMapper, Outdo
*/ */
@Override @Override
public List<OutdoorFair> selectOutdoorFairList(OutdoorFair outdoorFair) public List<OutdoorFair> selectOutdoorFairList(OutdoorFair outdoorFair)
{
return selectOutdoorFairList(outdoorFair, null, null);
}
/**
* 查询户外招聘会列表,并按举办时间边界筛选。
*/
@Override
public List<OutdoorFair> selectOutdoorFairList(OutdoorFair outdoorFair, Date startTime, Date endTime)
{ {
LambdaQueryWrapper<OutdoorFair> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OutdoorFair> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotBlank(outdoorFair.getTitle()), OutdoorFair::getTitle, outdoorFair.getTitle()); queryWrapper.like(StringUtils.isNotBlank(outdoorFair.getTitle()), OutdoorFair::getTitle, outdoorFair.getTitle());
@@ -52,6 +62,8 @@ public class OutdoorFairServiceImpl extends ServiceImpl<OutdoorFairMapper, Outdo
queryWrapper.eq(StringUtils.isNotBlank(outdoorFair.getRegion()), OutdoorFair::getRegion, outdoorFair.getRegion()); queryWrapper.eq(StringUtils.isNotBlank(outdoorFair.getRegion()), OutdoorFair::getRegion, outdoorFair.getRegion());
queryWrapper.eq(outdoorFair.getVenueId() != null, OutdoorFair::getVenueId, outdoorFair.getVenueId()); queryWrapper.eq(outdoorFair.getVenueId() != null, OutdoorFair::getVenueId, outdoorFair.getVenueId());
queryWrapper.eq(outdoorFair.getOnlineApply() != null, OutdoorFair::getOnlineApply, outdoorFair.getOnlineApply()); queryWrapper.eq(outdoorFair.getOnlineApply() != null, OutdoorFair::getOnlineApply, outdoorFair.getOnlineApply());
queryWrapper.ge(startTime != null, OutdoorFair::getHoldTime, startTime);
queryWrapper.le(endTime != null, OutdoorFair::getEndTime, endTime);
queryWrapper.orderByDesc(OutdoorFair::getHoldTime); queryWrapper.orderByDesc(OutdoorFair::getHoldTime);
queryWrapper.orderByDesc(OutdoorFair::getCreateTime); queryWrapper.orderByDesc(OutdoorFair::getCreateTime);
return list(queryWrapper); return list(queryWrapper);