Compare commits

..

3 Commits

Author SHA1 Message Date
fe48dfe3a1 feat(newhosts): 新增最近7天直播场次筛选条件
在主播分页查询中支持按「有无直播记录」过滤。
2025-12-19 15:49:44 +08:00
d5c51a80c6 fix(system): 修正WebAI过期账号禁用逻辑中的字段引用错误 2025-12-15 21:09:33 +08:00
aa905d47ac refactor(system): 修正类名大小写规范 2025-12-11 21:03:11 +08:00
3 changed files with 29 additions and 3 deletions

View File

@@ -148,4 +148,7 @@ public class NewHostsPageReqVO extends PageParam {
@Schema(description = "国家英文名", example = "United States") @Schema(description = "国家英文名", example = "United States")
private String countryEng; private String countryEng;
@Schema(description = "最近 7天 是否存在直播场次", example = "0")
private Integer hasLiveRecoder;
} }

View File

@@ -107,6 +107,29 @@
<if test="req.invitationType != null"> <if test="req.invitationType != null">
and ns.Invitation_type =#{req.invitationType,jdbcType=INTEGER} and ns.Invitation_type =#{req.invitationType,jdbcType=INTEGER}
</if> </if>
<!-- 判断主播是否有直播场次 -->
<if test="req.hasLiveRecoder != null">
<choose>
<when test="req.hasLiveRecoder == 0">
AND EXISTS (
SELECT 1
FROM server_live_host_detail ld
WHERE ld.deleted = 0
AND ld.tenant_id = ns.tenant_id
AND ld.hosts_id = ns.hosts_id
)
</when>
<when test="req.hasLiveRecoder == 1">
AND NOT EXISTS (
SELECT 1
FROM server_live_host_detail ld
WHERE ld.deleted = 0
AND ld.tenant_id = ns.tenant_id
AND ld.hosts_id = ns.hosts_id
)
</when>
</choose>
</if>
<!-- 排序类型 --> <!-- 排序类型 -->
group by group by
ns.hosts_id ns.hosts_id

View File

@@ -21,7 +21,7 @@ import java.util.List;/*
*/ */
@Slf4j @Slf4j
@Component @Component
public class disableWebAIExpiredAccount implements JobHandler{ public class DisableWebAIExpiredAccount implements JobHandler{
/** /**
* 租户数据访问对象 * 租户数据访问对象
@@ -44,7 +44,7 @@ public class disableWebAIExpiredAccount implements JobHandler{
Long tenantId = TenantContextHolder.getTenantId(); Long tenantId = TenantContextHolder.getTenantId();
TenantDO tenant = tenantMapper.selectById(tenantId); TenantDO tenant = tenantMapper.selectById(tenantId);
if (tenant.getExpireTime()!=null) { if (tenant.getExpireTime()!=null) {
Duration brotherDuration = LocalDateTimeUtil.between(tenant.getExpireTime(), LocalDateTime.now()); Duration brotherDuration = LocalDateTimeUtil.between(tenant.getAiExpireTime(), LocalDateTime.now());
long minutes = brotherDuration.toMinutes(); long minutes = brotherDuration.toMinutes();
LambdaQueryWrapper<AdminUserDO> aiUserQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<AdminUserDO> aiUserQueryWrapper = new LambdaQueryWrapper<>();
aiUserQueryWrapper.eq(AdminUserDO::getTenantId, tenantId); aiUserQueryWrapper.eq(AdminUserDO::getTenantId, tenantId);
@@ -56,7 +56,7 @@ public class disableWebAIExpiredAccount implements JobHandler{
adminUserDO.setWebAi((byte) 0); adminUserDO.setWebAi((byte) 0);
userMapper.updateById(adminUserDO); userMapper.updateById(adminUserDO);
aiAccountNum++; aiAccountNum++;
log.info("禁用过期爬虫账号账号ID{}", adminUserDO.getId()); log.info("禁用过期WebAI账号账号ID{}", adminUserDO.getId());
} }
} }
// 返回操作结果包含禁用的AI账号和大哥账号数量统计 // 返回操作结果包含禁用的AI账号和大哥账号数量统计