package cn.axzo.msg.center.notices.client.task.process;

import cn.axzo.msg.center.notices.client.task.LoggerJobHandler;
import cn.azxo.framework.common.model.JobPageRequest;
import cn.azxo.framework.common.utils.LogUtil;
import com.alibaba.fastjson.JSON;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @Classname MessageProcessingJobHandler
 * @Author: szg
 * @Date: 2021年05月28日 17:14
 * @Description: 补偿回调未成功的短信
 */
@Slf4j
@Component
public class MessageProcessingJobHandler extends LoggerJobHandler {

    @Override
    @XxlJob(value = "messageProcessingJobHandler")
    public ReturnT<String> execute(String param) {
        return jobLoggerTemplate.execute(() -> {
            log.info("MessageProcessingJobHandler.execute task Start ......");
            try {
                JobPageRequest request = jobParamResolver.resolver(param);
                log.info("MessageProcessingJobHandler.execute task request is {}", JSON.toJSONString(request));
                taskService.aliYunMessageProcessingHandle(request);
            } catch (Exception e) {
                LogUtil.error("MessageProcessingJobHandler.execute is error", e);
                return ReturnT.FAIL;
            }
            log.info("MessageProcessingJobHandler.execute task End ......");
            return ReturnT.SUCCESS;
        });
    }

}
