perf:场馆和用户接口

This commit is contained in:
Xiang
2026-04-09 14:03:12 +08:00
parent 1d21a1d9d5
commit dd4d9c639a
13 changed files with 218 additions and 3 deletions

View File

@@ -0,0 +1,16 @@
package com.xiang.app.modules.jntyzx.converts;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xiang.app.module.jntyzx.pojo.resp.VenueInfoQueryResp;
import com.xiang.app.modules.jntyzx.entity.pojo.VenueInfoDO;
import org.mapstruct.Mapper;
/**
* @Author: xiang
* @Date: 2026-04-09 09:54
*/
@Mapper(componentModel = "spring")
public interface VenueInfoConverter {
Page<VenueInfoQueryResp> toPage(Page<VenueInfoDO> page);
}

View File

@@ -1,6 +1,8 @@
package com.xiang.app.modules.jntyzx.manage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiang.app.module.jntyzx.pojo.req.VenueInfoQueryRequest;
import com.xiang.app.modules.jntyzx.entity.pojo.VenueInfoDO;
import java.time.LocalDate;
@@ -15,4 +17,6 @@ public interface IVenueInfoManage extends IService<VenueInfoDO> {
List<VenueInfoDO> queryByDate(LocalDate date);
List<VenueInfoDO> queryByType(LocalDate date, Integer type);
Page<VenueInfoDO> page(VenueInfoQueryRequest request);
}

View File

@@ -2,9 +2,12 @@ package com.xiang.app.modules.jntyzx.manage;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiang.app.module.jntyzx.pojo.req.VenueInfoQueryRequest;
import com.xiang.app.modules.jntyzx.entity.pojo.VenueInfoDO;
import com.xiang.app.modules.jntyzx.mapper.JntyzxVenueInfoMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
@@ -30,4 +33,18 @@ public class VenueInfoManageImpl extends ServiceImpl<JntyzxVenueInfoMapper, Venu
lqw.eq(VenueInfoDO::getType, type);
return baseMapper.selectList(lqw);
}
@Override
public Page<VenueInfoDO> page(VenueInfoQueryRequest request) {
Page<VenueInfoDO> page = new Page<>(request.getCurrent(), request.getPageSize());
LambdaQueryWrapper<VenueInfoDO> lqw = Wrappers.lambdaQuery();
lqw.eq(VenueInfoDO::getDate, request.getDate());
if (StringUtils.isNotBlank(request.getSj())) {
lqw.eq(VenueInfoDO::getSjName, request.getSj());
}
if (StringUtils.isNotBlank(request.getPlaceName())) {
lqw.like(VenueInfoDO::getPlaceName, request.getPlaceName());
}
return baseMapper.selectPage(page, lqw);
}
}

View File

@@ -1,9 +1,14 @@
package com.xiang.app.modules.jntyzx.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xiang.app.module.jntyzx.pojo.req.VenueInfoQueryRequest;
import com.xiang.app.module.jntyzx.pojo.resp.VenueInfoQueryResp;
import com.xiang.app.modules.jntyzx.entity.pojo.VenueInfoDO;
import com.xiang.app.modules.jntyzx.entity.resp.query.SitePositionList;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
@@ -31,4 +36,11 @@ public interface IVenueService {
* @return
*/
boolean saveTomorrowVenueInfo(List<SitePositionList> sitePositionLists);
/**
* 查询场地列表信息
* @param request
* @return
*/
Page<VenueInfoQueryResp> list(@NotNull(message = "请求参数不能为空") @Valid VenueInfoQueryRequest request);
}

View File

@@ -94,7 +94,7 @@ public class UserTokenInfoServiceImpl implements IUserTokenInfoService {
public boolean updateTokenByName(String name, String token) {
UserTokenInfoDO userTokenInfoDO = userTokenInfoManage.getByName(name);
if (Objects.isNull(userTokenInfoDO)) {
return false;
throw new BusinessException("用户信息不存在!");
}
userTokenInfoDO.setToken(token);
boolean flag = userTokenInfoManage.updateById(userTokenInfoDO);

View File

@@ -1,7 +1,11 @@
package com.xiang.app.modules.jntyzx.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.xiang.app.module.jntyzx.pojo.req.VenueInfoQueryRequest;
import com.xiang.app.module.jntyzx.pojo.resp.VenueInfoQueryResp;
import com.xiang.app.modules.jntyzx.converts.VenueInfoConverter;
import com.xiang.app.modules.jntyzx.entity.pojo.VenueInfoDO;
import com.xiang.app.modules.jntyzx.entity.resp.query.SitePositionList;
import com.xiang.app.modules.jntyzx.manage.IVenueInfoManage;
@@ -34,6 +38,7 @@ public class VenueServiceImpl implements IVenueService {
private final IJntyzxHttpService jntyzxHttpService;
private final IVenueInfoManage venueInfoManage;
private final IUserTokenInfoService userTokenInfoService;
private final VenueInfoConverter venueInfoConverter;
@Override
public List<SitePositionList> queryVenueService() {
@@ -155,6 +160,12 @@ public class VenueServiceImpl implements IVenueService {
return true;
}
@Override
public Page<VenueInfoQueryResp> list(VenueInfoQueryRequest request) {
Page<VenueInfoDO> page = venueInfoManage.page(request);
return venueInfoConverter.toPage(page);
}
private void updateDatabase(List<SitePositionList> list, boolean isToday) {
List<VenueInfoDO> venueInfoDOS = Lists.newArrayList();
if (isToday) {