diff --git a/api/src/main/java/com/xiang/app/module/jntyzx/pojo/req/VenueInfoQueryRequest.java b/api/src/main/java/com/xiang/app/module/jntyzx/pojo/req/VenueInfoQueryRequest.java new file mode 100644 index 0000000..98747ab --- /dev/null +++ b/api/src/main/java/com/xiang/app/module/jntyzx/pojo/req/VenueInfoQueryRequest.java @@ -0,0 +1,35 @@ +package com.xiang.app.module.jntyzx.pojo.req; + +import com.xiang.xservice.basic.common.req.BaseRequest; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; +import java.time.LocalDate; + +/** + * @Author: xiang + * @Date: 2026-04-09 09:39 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class VenueInfoQueryRequest extends BaseRequest { + + /** + * 日期 + */ + @NotNull(message = "日期不能为空") + private LocalDate date; + /** + * 时间段 例如 20:00-21:00 + */ + private String sj; + + /** + * 场地名称 + */ + private String placeName; + +} diff --git a/api/src/main/java/com/xiang/app/module/jntyzx/pojo/req/VenueInfoSubscribeRequest.java b/api/src/main/java/com/xiang/app/module/jntyzx/pojo/req/VenueInfoSubscribeRequest.java new file mode 100644 index 0000000..984c07e --- /dev/null +++ b/api/src/main/java/com/xiang/app/module/jntyzx/pojo/req/VenueInfoSubscribeRequest.java @@ -0,0 +1,11 @@ +package com.xiang.app.module.jntyzx.pojo.req; + +import lombok.Data; + +/** + * @Author: xiang + * @Date: 2026-04-09 10:00 + */ +@Data +public class VenueInfoSubscribeRequest { +} diff --git a/api/src/main/java/com/xiang/app/module/jntyzx/pojo/resp/VenueInfoQueryResp.java b/api/src/main/java/com/xiang/app/module/jntyzx/pojo/resp/VenueInfoQueryResp.java new file mode 100644 index 0000000..db29214 --- /dev/null +++ b/api/src/main/java/com/xiang/app/module/jntyzx/pojo/resp/VenueInfoQueryResp.java @@ -0,0 +1,53 @@ +package com.xiang.app.module.jntyzx.pojo.resp; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * @Author: xiang + * @Date: 2026-04-09 09:42 + */ +@Data +@AllArgsConstructor +public class VenueInfoQueryResp { + + /** + * 场地名称 + */ + private String placeName; + + /** + * 日期 + */ + private LocalDate date; + + /** + * 时间范围 + */ + private String sjName; + + /** + * 价格 + */ + private BigDecimal money; + + /** + * 联系人 + */ + private String contacts; + + /** + * 0:可订购 2:zlb 4:已订购 + */ + private Integer type; + private Long placeMainId; + private Integer placeId; + private Integer scheduleId; + private String className; + private String classCode; + private String appointments; + private String cTypeCode; +} diff --git a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/converts/VenueInfoConverter.java b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/converts/VenueInfoConverter.java new file mode 100644 index 0000000..e47deff --- /dev/null +++ b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/converts/VenueInfoConverter.java @@ -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 toPage(Page page); +} diff --git a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/manage/IVenueInfoManage.java b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/manage/IVenueInfoManage.java index 8e13255..24a63f1 100644 --- a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/manage/IVenueInfoManage.java +++ b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/manage/IVenueInfoManage.java @@ -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 { List queryByDate(LocalDate date); List queryByType(LocalDate date, Integer type); + + Page page(VenueInfoQueryRequest request); } diff --git a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/manage/VenueInfoManageImpl.java b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/manage/VenueInfoManageImpl.java index 4549cd7..b15eaf3 100644 --- a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/manage/VenueInfoManageImpl.java +++ b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/manage/VenueInfoManageImpl.java @@ -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 page(VenueInfoQueryRequest request) { + Page page = new Page<>(request.getCurrent(), request.getPageSize()); + LambdaQueryWrapper 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); + } } diff --git a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/IVenueService.java b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/IVenueService.java index a5aac9d..c581cea 100644 --- a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/IVenueService.java +++ b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/IVenueService.java @@ -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 sitePositionLists); + + /** + * 查询场地列表信息 + * @param request + * @return + */ + Page list(@NotNull(message = "请求参数不能为空") @Valid VenueInfoQueryRequest request); } diff --git a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/impl/UserTokenInfoServiceImpl.java b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/impl/UserTokenInfoServiceImpl.java index 57e5dc5..004f444 100644 --- a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/impl/UserTokenInfoServiceImpl.java +++ b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/impl/UserTokenInfoServiceImpl.java @@ -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); diff --git a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/impl/VenueServiceImpl.java b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/impl/VenueServiceImpl.java index db8cc24..7e9ac05 100644 --- a/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/impl/VenueServiceImpl.java +++ b/xservice-core/src/main/java/com/xiang/app/modules/jntyzx/service/impl/VenueServiceImpl.java @@ -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 queryVenueService() { @@ -155,6 +160,12 @@ public class VenueServiceImpl implements IVenueService { return true; } + @Override + public Page list(VenueInfoQueryRequest request) { + Page page = venueInfoManage.page(request); + return venueInfoConverter.toPage(page); + } + private void updateDatabase(List list, boolean isToday) { List venueInfoDOS = Lists.newArrayList(); if (isToday) { diff --git a/xservice-server/src/main/java/com/xiang/app/server/jntyzx/OrderServer.java b/xservice-server/src/main/java/com/xiang/app/server/jntyzx/OrderServer.java new file mode 100644 index 0000000..980d9af --- /dev/null +++ b/xservice-server/src/main/java/com/xiang/app/server/jntyzx/OrderServer.java @@ -0,0 +1,18 @@ +package com.xiang.app.server.jntyzx; + +import com.xiang.app.modules.jntyzx.service.IJtOrderService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: xiang + * @Date: 2026-04-09 10:01 + */ +@RestController +@RequestMapping("/private/apps/jntyzx/order") +@RequiredArgsConstructor +public class OrderServer { + private final IJtOrderService orderService; + +} diff --git a/xservice-server/src/main/java/com/xiang/app/server/jntyzx/VenueInfoServer.java b/xservice-server/src/main/java/com/xiang/app/server/jntyzx/VenueInfoServer.java new file mode 100644 index 0000000..fd33140 --- /dev/null +++ b/xservice-server/src/main/java/com/xiang/app/server/jntyzx/VenueInfoServer.java @@ -0,0 +1,38 @@ +package com.xiang.app.server.jntyzx; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xiang.app.module.jntyzx.pojo.req.VenueInfoQueryRequest; +import com.xiang.app.module.jntyzx.pojo.req.VenueInfoSubscribeRequest; +import com.xiang.app.module.jntyzx.pojo.resp.VenueInfoQueryResp; +import com.xiang.app.modules.jntyzx.service.IVenueService; +import com.xiang.xservice.basic.common.resp.Result; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; + +/** + * @Author: xiang + * @Date: 2026-04-09 09:36 + */ +@RestController +@RequestMapping("/private/apps/jntyzx/venue") +@RequiredArgsConstructor +public class VenueInfoServer { + + private final IVenueService venueService; + + @PostMapping("/page") + public Result> list(@RequestBody @NotNull(message = "请求参数不能为空") @Valid VenueInfoQueryRequest request) { + return Result.data(venueService.list(request)); + } + + @PostMapping("/subscribe") + public Result subscribe(@RequestBody @NotNull(message = "请求参数不能为空") @Valid VenueInfoSubscribeRequest request) { + return Result.data(null); + } +} diff --git a/xservice-server/src/main/resources/application-outside.yml b/xservice-server/src/main/resources/application-outside.yml index 208cdbb..4f82d23 100644 --- a/xservice-server/src/main/resources/application-outside.yml +++ b/xservice-server/src/main/resources/application-outside.yml @@ -6,7 +6,7 @@ spring: namespace: 00131110-3ecb-4a35-8bbb-624edde1d937 server-addr: http://general.xiangtech.xyz:8848 # 是否启用健康检查 - register-enabled: false +# register-enabled: false username: nacos password: nacos datasource: diff --git a/xservice-server/src/main/resources/application.yml b/xservice-server/src/main/resources/application.yml index 3801e4d..c60b104 100644 --- a/xservice-server/src/main/resources/application.yml +++ b/xservice-server/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: local + active: outside application: name: xservice-cornucopia main: