using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Ropin.Inspection.Api.Common;
using Ropin.Inspection.Model;
using Ropin.Inspection.Service;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Ropin.Inspection.Api.Controllers
{
    public class TbdmProvController : BaseController
    {
        public readonly ILogger<TbdmProvController> _logger;
        private readonly ITbdmProvService _TbdmProvService;
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="TbdmProvService"></param>
        /// <param name="logger"></param>
        public TbdmProvController(ITbdmProvService TbdmProvService, ILogger<TbdmProvController> logger)
        {
            _TbdmProvService = TbdmProvService;
            _logger = logger;
        }
        /// <summary>
        /// 获取行政区域树
        /// </summary>
        /// <returns></returns>
        [HttpGet("GetProvListTreeAsync")]
        [AllowAnonymous]
        public async Task<ApiResult> GetProvListTreeAsync()
        {

            try
            {
                var content = await _TbdmProvService.GetProvListTreeAsync();
                return new ApiResult<List<TbdmProvViewModel>>(content);
            }
            catch (Exception ex)
            {
                return new ApiResult(ReturnCode.GeneralError, ex.Message);
            }
        }
    }
}