package com.mortals.xhx.daemon.applicationservice;

import com.alibaba.fastjson.JSON;
import com.mortals.xhx.module.demo.model.DemoEntity;
import com.mortals.xhx.module.demo.model.DemoQuery;
import com.mortals.xhx.module.demo.service.DemoService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.mortals.framework.springcloud.service.IApplicationStartedService;

/**
 * 应用级服务，在应用启动后、停止过程中调用
 * 应用已经完成启动完成，才调用该服务
 * 应用场景：
 * 1、应用任务，应用启动后定时或间隔执行的任务
 * 2、Socket服务端
 * @author	zxfei
 * @date	2020年7月15日
 */
@Component
public class DemoStartedService implements IApplicationStartedService {
    
    private static Log logger = LogFactory.getLog(DemoStartedService.class);

    @Autowired
    private DemoService demoService;


    @Override
    public void start() {
        logger.info("开始服务..[配置已加载完成，并且所有框架都已经初始化]");

        DemoEntity entity = demoService.selectOne(new DemoQuery(), null);

        //DemoEntity entity = demoService.get(1L);

        logger.info(JSON.toJSONString(entity));

    }

    @Override
    public void stop() {
        logger.info("停止服务..");
    }

    @Override
    public int getOrder() {
        return 10;
    }

}
