From 1d1e45174cd6317b81694eddacaa8952cabb31fd Mon Sep 17 00:00:00 2001 From: ziin Date: Tue, 13 Jan 2026 18:44:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(host):=20=E6=96=B0=E5=A2=9E=E4=B8=BB?= =?UTF-8?q?=E6=92=AD=E6=94=B6=E5=85=A5=E7=BB=9F=E8=AE=A1=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HostInfoController.java | 19 ++++ .../mapper/ServerHostsRevenueStatsMapper.java | 12 +++ .../model/entity/ServerHostsRevenueStats.java | 87 +++++++++++++++++++ .../ServerHostsRevenueStatsService.java | 13 +++ .../ServerHostsRevenueStatsServiceImpl.java | 18 ++++ .../mapper/ServerHostsRevenueStatsMapper.xml | 22 +++++ 6 files changed, 171 insertions(+) create mode 100644 src/main/java/com/yupi/springbootinit/mapper/ServerHostsRevenueStatsMapper.java create mode 100644 src/main/java/com/yupi/springbootinit/model/entity/ServerHostsRevenueStats.java create mode 100644 src/main/java/com/yupi/springbootinit/service/ServerHostsRevenueStatsService.java create mode 100644 src/main/java/com/yupi/springbootinit/service/impl/ServerHostsRevenueStatsServiceImpl.java create mode 100644 src/main/resources/mapper/ServerHostsRevenueStatsMapper.xml diff --git a/src/main/java/com/yupi/springbootinit/controller/HostInfoController.java b/src/main/java/com/yupi/springbootinit/controller/HostInfoController.java index 824400e..36c18ce 100644 --- a/src/main/java/com/yupi/springbootinit/controller/HostInfoController.java +++ b/src/main/java/com/yupi/springbootinit/controller/HostInfoController.java @@ -8,7 +8,9 @@ import com.yupi.springbootinit.model.dto.host.ServerLiveHostDetailDTO; import com.yupi.springbootinit.model.entity.NewHosts; import com.yupi.springbootinit.model.vo.hosts.NewHostsVO; import com.yupi.springbootinit.model.vo.hosts.ServerLiveHostDetailVO; +import com.yupi.springbootinit.model.entity.ServerHostsRevenueStats; import com.yupi.springbootinit.service.HostInfoService; +import com.yupi.springbootinit.service.ServerHostsRevenueStatsService; import com.yupi.springbootinit.service.ServerLiveHostDetailService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -33,6 +35,9 @@ public class HostInfoController { @Resource private ServerLiveHostDetailService serverLiveHostDetailService; + @Resource + private ServerHostsRevenueStatsService serverHostsRevenueStatsService; + @PostMapping("hosts_info") public BaseResponse> hostsInfo(@RequestBody HostInfoDTO hostInfoDTO){ Page conditionHosts = hostInfoService.getConditionHosts(hostInfoDTO); @@ -64,4 +69,18 @@ public class HostInfoController { List result = serverLiveHostDetailService.getLiveHostDetailByHostsIdAndTenantId(detailDTO); return ResultUtils.success(result); } + + /** + * 根据displayId查询主播收入统计 + */ + @GetMapping("/revenue_stats") + public BaseResponse > getRevenueStatsByDisplayId(@RequestParam String displayId){ + List list = serverHostsRevenueStatsService.lambdaQuery() + .eq(ServerHostsRevenueStats::getDisplayId, displayId) + .list(); + return ResultUtils.success(list); + } + + + } diff --git a/src/main/java/com/yupi/springbootinit/mapper/ServerHostsRevenueStatsMapper.java b/src/main/java/com/yupi/springbootinit/mapper/ServerHostsRevenueStatsMapper.java new file mode 100644 index 0000000..e0d0a9f --- /dev/null +++ b/src/main/java/com/yupi/springbootinit/mapper/ServerHostsRevenueStatsMapper.java @@ -0,0 +1,12 @@ +package com.yupi.springbootinit.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yupi.springbootinit.model.entity.ServerHostsRevenueStats; + +/* +* @author: ziin +* @date: 2026/1/12 20:13 +*/ + +public interface ServerHostsRevenueStatsMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/yupi/springbootinit/model/entity/ServerHostsRevenueStats.java b/src/main/java/com/yupi/springbootinit/model/entity/ServerHostsRevenueStats.java new file mode 100644 index 0000000..059a3bd --- /dev/null +++ b/src/main/java/com/yupi/springbootinit/model/entity/ServerHostsRevenueStats.java @@ -0,0 +1,87 @@ +package com.yupi.springbootinit.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; + +/* +* @author: ziin +* @date: 2026/1/12 20:13 +*/ + +/** + * 用户收入数据统计表 + */ +@ApiModel(description="主播收入数据统计表") +@TableName(value = "server_hosts_revenue_stats") +@Data +public class ServerHostsRevenueStats { + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="自增主键") + private Long id; + + /** + * 租户Id + */ + @TableField(value = "tenant_id") + @ApiModelProperty(value="租户Id") + private Long tenantId; + + /** + * 历史收入数据列表 (数组格式) + */ + @TableField(value = "history") + @ApiModelProperty(value="历史收入数据列表 (数组格式)") + private String history; + + /** + * 展示ID/用户标识 + */ + @TableField(value = "display_id") + @ApiModelProperty(value="展示ID/用户标识") + private String displayId; + + /** + * 今日收入 + */ + @TableField(value = "today_revenue") + @ApiModelProperty(value="今日收入") + private BigDecimal todayRevenue; + + /** + * 累计总收入 + */ + @TableField(value = "total_revenue") + @ApiModelProperty(value="累计总收入") + private BigDecimal totalRevenue; + + /** + * 统计的天数/周期数 + */ + @TableField(value = "last_days_count") + @ApiModelProperty(value="统计的天数/周期数") + private Integer lastDaysCount; + + /** + * 最后更新时间 + */ + @TableField(value = "updated_at") + @ApiModelProperty(value="最后更新时间") + private Date updatedAt; + + /** + * 创建时间 + */ + @TableField(value = "created_at") + @ApiModelProperty(value="创建时间") + private Date createdAt; +} \ No newline at end of file diff --git a/src/main/java/com/yupi/springbootinit/service/ServerHostsRevenueStatsService.java b/src/main/java/com/yupi/springbootinit/service/ServerHostsRevenueStatsService.java new file mode 100644 index 0000000..0ed42f6 --- /dev/null +++ b/src/main/java/com/yupi/springbootinit/service/ServerHostsRevenueStatsService.java @@ -0,0 +1,13 @@ +package com.yupi.springbootinit.service; + +import com.yupi.springbootinit.model.entity.ServerHostsRevenueStats; +import com.baomidou.mybatisplus.extension.service.IService; + /* +* @author: ziin +* @date: 2026/1/12 20:13 +*/ + +public interface ServerHostsRevenueStatsService extends IService{ + + +} diff --git a/src/main/java/com/yupi/springbootinit/service/impl/ServerHostsRevenueStatsServiceImpl.java b/src/main/java/com/yupi/springbootinit/service/impl/ServerHostsRevenueStatsServiceImpl.java new file mode 100644 index 0000000..e5e4426 --- /dev/null +++ b/src/main/java/com/yupi/springbootinit/service/impl/ServerHostsRevenueStatsServiceImpl.java @@ -0,0 +1,18 @@ +package com.yupi.springbootinit.service.impl; + +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yupi.springbootinit.model.entity.ServerHostsRevenueStats; +import com.yupi.springbootinit.mapper.ServerHostsRevenueStatsMapper; +import com.yupi.springbootinit.service.ServerHostsRevenueStatsService; +/* +* @author: ziin +* @date: 2026/1/12 20:13 +*/ + +@Service +public class ServerHostsRevenueStatsServiceImpl extends ServiceImpl implements ServerHostsRevenueStatsService{ + +} diff --git a/src/main/resources/mapper/ServerHostsRevenueStatsMapper.xml b/src/main/resources/mapper/ServerHostsRevenueStatsMapper.xml new file mode 100644 index 0000000..933f775 --- /dev/null +++ b/src/main/resources/mapper/ServerHostsRevenueStatsMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + id, tenant_id, history, display_id, today_revenue, total_revenue, last_days_count, + updated_at, created_at + + \ No newline at end of file