package net.northking.cctp.platform;

import cn.gjing.tools.auth.config.EnableAuthorization;
import net.northking.cctp.common.config.EnableNKCloud;
import net.northking.cctp.common.config.EnableNKWebMvc;
import net.northking.cctp.common.s3.EnableS3;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * 公共平台
 *
 * @author xiusong.xie
 * @since 1.0
 */
@SpringBootApplication
@EnableDiscoveryClient
@MapperScan({"net.northking.cctp.platform.db.mapper", "net.northking.cctp.platform.db.dao"})
@EnableNKCloud
@EnableNKWebMvc
@EnableCaching
@EnableScheduling
@EnableAsync
@EnableS3
@EnableAuthorization
@EnableTransactionManagement // 开启事务
@EnableFeignClients(basePackages = {"net.northking.cctp.platform", "net.northking.cctp.common.feign","com.hzbank.testteam.autotest"})
@ComponentScan(basePackages = {"net.northking.cctp.platform","com.hzbank.testteam.autotest"})
public class PlatformApplication
{
  private static final Logger logger = LoggerFactory.getLogger(PlatformApplication.class);

  public static void main(String[] args)
  {
    logger.info("微服务启动----开始 .................");
    SpringApplication.run(PlatformApplication.class, args);
    logger.info("微服务启动----完成 .................");

  }


}
