diff --git a/src/main/java/com/yupi/springbootinit/common/PageRequest.java b/src/main/java/com/yupi/springbootinit/common/PageRequest.java
index f17de55..6a0e96e 100644
--- a/src/main/java/com/yupi/springbootinit/common/PageRequest.java
+++ b/src/main/java/com/yupi/springbootinit/common/PageRequest.java
@@ -1,6 +1,8 @@
package com.yupi.springbootinit.common;
import com.yupi.springbootinit.constant.CommonConstant;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -10,25 +12,20 @@ import lombok.Data;
* @from 编程导航知识星球
*/
@Data
+@ApiModel("分页信息基础类")
public class PageRequest {
/**
* 当前页号
*/
+ @ApiModelProperty(value = "当前页数", example = " 1")
private int current = 1;
/**
* 页面大小
*/
- private int pageSize = 10;
+ @ApiModelProperty(value = "当前页面大小", example = " 20")
+ private int pageSize = 20;
- /**
- * 排序字段
- */
- private String sortField;
- /**
- * 排序顺序(默认升序)
- */
- private String sortOrder = CommonConstant.SORT_ORDER_ASC;
}
diff --git a/src/main/java/com/yupi/springbootinit/controller/HostInfoController.java b/src/main/java/com/yupi/springbootinit/controller/HostInfoController.java
index d041fab..ffb25e0 100644
--- a/src/main/java/com/yupi/springbootinit/controller/HostInfoController.java
+++ b/src/main/java/com/yupi/springbootinit/controller/HostInfoController.java
@@ -1,6 +1,7 @@
package com.yupi.springbootinit.controller;
import cn.dev33.satoken.stp.StpUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yupi.springbootinit.common.BaseResponse;
import com.yupi.springbootinit.common.ResultUtils;
import com.yupi.springbootinit.model.dto.host.HostInfoDTO;
@@ -26,10 +27,9 @@ public class HostInfoController {
@Resource
private HostInfoService hostInfoService;
-
@PostMapping("hosts_info")
- public BaseResponse> hostsInfo(@RequestBody HostInfoDTO hostInfoDTO){
- List hostsVOList=hostInfoService.getConditionHosts(hostInfoDTO);
- return ResultUtils.success(hostsVOList);
+ public BaseResponse> hostsInfo(@RequestBody HostInfoDTO hostInfoDTO){
+ Page conditionHosts = hostInfoService.getConditionHosts(hostInfoDTO);
+ return ResultUtils.success(conditionHosts);
}
}
diff --git a/src/main/java/com/yupi/springbootinit/mapper/NewHostsMapper.java b/src/main/java/com/yupi/springbootinit/mapper/NewHostsMapper.java
index 9df0f32..a91308d 100644
--- a/src/main/java/com/yupi/springbootinit/mapper/NewHostsMapper.java
+++ b/src/main/java/com/yupi/springbootinit/mapper/NewHostsMapper.java
@@ -1,8 +1,13 @@
package com.yupi.springbootinit.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yupi.springbootinit.model.dto.host.HostInfoDTO;
import com.yupi.springbootinit.model.entity.NewHosts;
import java.util.List;
+
+import com.yupi.springbootinit.model.vo.hosts.NewHostsVO;
import org.apache.ibatis.annotations.Param;
/*
@@ -23,4 +28,6 @@ public interface NewHostsMapper extends BaseMapper {
int updateByPrimaryKey(NewHosts record);
int batchInsert(@Param("list") List list);
+
+ Page selectPageByCondition(@Param("page") Page page, @Param("hostInfoDTO") HostInfoDTO hostInfoDTO);
}
\ No newline at end of file
diff --git a/src/main/java/com/yupi/springbootinit/model/dto/host/HostInfoDTO.java b/src/main/java/com/yupi/springbootinit/model/dto/host/HostInfoDTO.java
index 81e554f..c40c9d4 100644
--- a/src/main/java/com/yupi/springbootinit/model/dto/host/HostInfoDTO.java
+++ b/src/main/java/com/yupi/springbootinit/model/dto/host/HostInfoDTO.java
@@ -1,7 +1,12 @@
package com.yupi.springbootinit.model.dto.host;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yupi.springbootinit.common.PageRequest;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.io.Serializable;
import java.util.Date;
/*
@@ -9,80 +14,157 @@ import java.util.Date;
* @date: 2025/6/10 18:58
*/
@Data
-public class HostInfoDTO {
+@ApiModel("主播信息DTO类")
+public class HostInfoDTO extends PageRequest implements Serializable {
/**
* 主键
*/
+ @ApiModelProperty(value = "主键ID", example = "1")
private Long id;
/**
* 主播id
*/
+ @ApiModelProperty(value = "主播ID", example = "host123")
private String hostsId;
/**
* 主播等级
*/
+ @ApiModelProperty(value = "主播等级", example = "A")
private String hostsLevel;
/**
* 主播金币
*/
+ @ApiModelProperty(value = "主播当前金币数", example = "5000")
private Integer hostsCoins;
+ /**
+ * 主播金币最大值
+ */
+ @ApiModelProperty(value = "主播金币查询最大值", example = "10000")
+ private Integer hostsCoinsMax;
+
+ /**
+ * 主播金币最小值
+ */
+ @ApiModelProperty(value = "主播金币查询最小值", example = "1000")
+ private Integer hostsCoinsMin;
+
/**
* 邀请类型
*/
+ @ApiModelProperty(value = "邀请类型(1:普票 2:金票)", example = "1")
private Integer invitationType;
/**
* 粉丝数量
*/
+ @ApiModelProperty(value = "粉丝数量", example = "10000")
private Integer fans;
+ /**
+ * 粉丝数量最大值
+ */
+ @ApiModelProperty(value = "粉丝数量查询最大值", example = "50000")
+ private Integer fansMax;
+
+ /**
+ * 粉丝数量最小值
+ */
+ @ApiModelProperty(value = "粉丝数量查询最小值", example = "1000")
+ private Integer fansMin;
+
/**
* 关注数量
*/
+ @ApiModelProperty(value = "关注数量", example = "500")
private Integer fllowernum;
+ /**
+ * 关注数量最大值
+ */
+ @ApiModelProperty(value = "关注数量查询最大值", example = "1000")
+ private Integer fllowernumMax;
+
+ /**
+ * 关注数量最小值
+ */
+ @ApiModelProperty(value = "关注数量查询最小值", example = "100")
+ private Integer fllowernumMin;
+
/**
* 昨日金币
*/
+ @ApiModelProperty(value = "主播昨日金币数", example = "2000")
private Integer yesterdayCoins;
+ /**
+ * 昨日金币最大值
+ */
+ @ApiModelProperty(value = "昨日金币查询最大值", example = "5000")
+ private Integer yesterdayCoinsMax;
+
+ /**
+ * 昨日金币最小值
+ */
+ @ApiModelProperty(value = "昨日金币查询最小值", example = "500")
+ private Integer yesterdayCoinsMin;
+
/**
* 主播国家
*/
+ @ApiModelProperty(value = "主播所在国家", example = "美国")
private String country;
/**
* 直播类型 娱乐,游戏
*/
+ @ApiModelProperty(value = "直播类型(娱乐/游戏)", example = "娱乐")
private String hostsKind;
/**
* 租户 Id
*/
+ @ApiModelProperty(value = "租户ID", example = "1001")
private Long tenantId;
/**
* 入库人
*/
+ @ApiModelProperty(value = "数据创建人ID", example = "101")
private Integer creator;
/**
* 数据插入时间
*/
+ @ApiModelProperty(value = "创建时间(yyyy-MM-dd)", example = "2023-01-01")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
/**
- * 更新人
+ * 数据插入最大
*/
- private String updater;
+ @ApiModelProperty(value = "创建时间查询上限(yyyy-MM-dd)", example = "2023-12-31")
+ private Date createTimeMax;
/**
- * 更新时间
+ * 数据插入最小
*/
- private Date updateTime;
+ @ApiModelProperty(value = "创建时间查询下限(yyyy-MM-dd)", example = "2023-01-01")
+ private Date createTimeMin;
+
+ /**
+ * 排序规则
+ */
+ @ApiModelProperty(value = "排序方式(asc/desc)", example = "desc")
+ private String sort;
+
+ /**
+ * 按照何种业务排序
+ */
+ @ApiModelProperty(value = "排序字段(createTime/hostsCoins/fans等)", example = "hostsCoins")
+ private String sortName;
}
diff --git a/src/main/java/com/yupi/springbootinit/model/vo/hosts/NewHostsVO.java b/src/main/java/com/yupi/springbootinit/model/vo/hosts/NewHostsVO.java
index 8c9f7db..c02433d 100644
--- a/src/main/java/com/yupi/springbootinit/model/vo/hosts/NewHostsVO.java
+++ b/src/main/java/com/yupi/springbootinit/model/vo/hosts/NewHostsVO.java
@@ -2,6 +2,7 @@ package com.yupi.springbootinit.model.vo.hosts;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@@ -15,42 +16,49 @@ public class NewHostsVO {
/**
* 主键
*/
- @TableId(value = "id", type = IdType.AUTO)
+ @TableId(value = "id")
private Long id;
/**
* 主播id
*/
+ @TableId(value = "hosts_id")
private String hostsId;
/**
* 主播等级
*/
+ @TableId(value = "hosts_level")
private String hostsLevel;
/**
* 主播金币
*/
+ @TableId(value = "hosts_coins")
private Integer hostsCoins;
/**
* 邀请类型
*/
+ @TableId(value = "invitation_type")
private Integer invitationType;
/**
* 粉丝数量
*/
+ @TableId(value = "fans")
private Integer fans;
/**
* 关注数量
*/
+ @TableId(value = "fllowernum")
private Integer fllowernum;
/**
* 昨日金币
*/
+ @TableId(value = "yesterday_coins")
private Integer yesterdayCoins;
/**
@@ -61,21 +69,14 @@ public class NewHostsVO {
/**
* 直播类型 娱乐,游戏
*/
+ @TableId(value = "hosts_kind")
private String hostsKind;
- /**
- * 租户 Id
- */
- private Long tenantId;
-
- /**
- * 入库人
- */
- private Long creator;
-
/**
* 数据插入时间
*/
+ @TableId(value = "create_time")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
}
\ No newline at end of file
diff --git a/src/main/java/com/yupi/springbootinit/service/HostInfoService.java b/src/main/java/com/yupi/springbootinit/service/HostInfoService.java
index 402cccb..a5a59aa 100644
--- a/src/main/java/com/yupi/springbootinit/service/HostInfoService.java
+++ b/src/main/java/com/yupi/springbootinit/service/HostInfoService.java
@@ -1,6 +1,7 @@
package com.yupi.springbootinit.service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yupi.springbootinit.model.dto.host.HostInfoDTO;
import com.yupi.springbootinit.model.entity.NewHosts;
@@ -16,5 +17,5 @@ import java.util.concurrent.CompletableFuture;
public interface HostInfoService extends IService {
- List getConditionHosts(HostInfoDTO hostInfoDTO);
+ Page getConditionHosts(HostInfoDTO hostInfoDTO);
}
diff --git a/src/main/java/com/yupi/springbootinit/service/impl/HostInfoServiceImpl.java b/src/main/java/com/yupi/springbootinit/service/impl/HostInfoServiceImpl.java
index 69a1a7b..a8d009f 100644
--- a/src/main/java/com/yupi/springbootinit/service/impl/HostInfoServiceImpl.java
+++ b/src/main/java/com/yupi/springbootinit/service/impl/HostInfoServiceImpl.java
@@ -1,7 +1,11 @@
package com.yupi.springbootinit.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
+import com.yupi.springbootinit.common.BaseResponse;
+import com.yupi.springbootinit.common.ResultUtils;
import com.yupi.springbootinit.mapper.NewHostsMapper;
import com.yupi.springbootinit.model.dto.host.HostInfoDTO;
import com.yupi.springbootinit.model.entity.NewHosts;
@@ -12,7 +16,9 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StopWatch;
+import org.springframework.web.bind.annotation.RequestBody;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@@ -27,10 +33,12 @@ import java.util.concurrent.CompletableFuture;
@Transactional(rollbackFor = Exception.class)
public class HostInfoServiceImpl extends ServiceImpl implements HostInfoService {
+ @Resource
+ private NewHostsMapper newHostsMapper;
@Override
- public List getConditionHosts(HostInfoDTO hostInfoDTO) {
-
- return List.of();
+ public Page getConditionHosts(@RequestBody HostInfoDTO hostInfoDTO) {
+ Page page = new Page<>(hostInfoDTO.getCurrent(),hostInfoDTO.getPageSize());
+ return newHostsMapper.selectPageByCondition(page, hostInfoDTO);
}
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index fff6c02..fd5da89 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -8,7 +8,7 @@ spring:
# todo 需替换配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://localhost:3306/ruoyi-vue-pro?rewriteBatchedStatements=true
+ url: jdbc:mysql://localhost:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
username: root
password: 123asd
# Redis 配置
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 67c0989..b46a616 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -8,7 +8,7 @@ spring:
# todo 需替换配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://localhost:3306/ruoyi-vue-pro?rewriteBatchedStatements=true
+ url: jdbc:mysql://localhost:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
username: root
password: 123asd
# Redis 配置
diff --git a/src/main/resources/mapper/NewHostsMapper.xml b/src/main/resources/mapper/NewHostsMapper.xml
index 5279c82..17202fb 100644
--- a/src/main/resources/mapper/NewHostsMapper.xml
+++ b/src/main/resources/mapper/NewHostsMapper.xml
@@ -20,6 +20,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
id, hosts_id, hosts_level, hosts_coins, Invitation_type, fans, fllowernum, yesterday_coins,
@@ -222,4 +239,91 @@
#{item.tenantId,jdbcType=BIGINT}, #{item.creator,jdbcType=INTEGER})
+
+
\ No newline at end of file