package com.liquidnet.service.goblin.controller.Inner;

import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.service.impl.inner.GoblinArtistTopicJobServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 艺人专题定时任务入口（供 executor 服务通过 Feign 调用）
 *
 * xxl-job 配置说明：
 *   - 在 xxl-job 平台新增定时任务
 *   - JobHandler：sev-goblin:artistTopicOfflineExpired（接口走 rsc/** 免登录，与 NFT/收钱吧 job 一致）
 *   - CRON：建议每 10 分钟 0 0/10 * * * ?
 *   - 执行器：liquidnet-service-executor
 *   - 任务参数：无
 *   - 路由策略：第一个
 */
@Slf4j
@Api(tags = "艺人专题定时任务")
@RestController
@RequestMapping("/rsc/job/artistTopic")
public class GoblinArtistTopicJobController {

    @Autowired
    private GoblinArtistTopicJobServiceImpl goblinArtistTopicJobService;

    @PostMapping("/offlineExpired")
    @ApiOperation("授权过期自动下架已上架专题（同一店铺+艺人无未过期新授权时）")
    public ResponseDto<String> offlineExpired() {
        log.info("[艺人专题过期下架] 收到任务");
        return goblinArtistTopicJobService.offlineExpired();
    }
}
