using BPA.SAAS.Manage.Application.AExternalPlatform.Service.ThirdpartyPush.Dtos;
using BPA.SAAS.Manage.Application.AExternalPlatform.Service.ThirdpartyPush.Services;
using BPA.SAAS.Manage.Core.System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPA.SAAS.Manage.Application.AExternalPlatform.Service.ThirdpartyPush
{
    [ApiDescriptionSettings("开放平台", Tag = "aaaa")]
    public class ThirdpartyPushServices: IDynamicApiController
    {
        IThirdpartyPushService _thirdpartyPushService;
        public ThirdpartyPushServices(IThirdpartyPushService thirdpartyPushService)
        {
            _thirdpartyPushService = thirdpartyPushService;
        }

        #region 设备 回调级下发数据和记录

        /// <summary>
        /// 添加 三方 回调设备记录
        /// </summary>
        /// <param name="inputDto"></param>
        /// <returns></returns>
        public async Task<bool> AddThirdpartyPushRecord(BPA_ThirdpartyPushRecord inputDto)
        {
            return await _thirdpartyPushService.AddThirdpartyPushRecord(inputDto);

        }


        /// <summary>
        /// 修改 第三方订单的回调
        /// </summary>
        /// <param name="inputDto"></param>
        /// <returns></returns>
        [HttpPost("/api/hirdpartypush/updatethirdpartypushrecord"), AllowAnonymous]
        public async Task<bool> UpdateThirdpartyPushRecord(ThirdpartyPushRecordDto inputDto)
        {
            return await _thirdpartyPushService.UpdateThirdpartyPushRecord(inputDto);

        }

        /// <summary>
        /// 更具店铺获取设备
        /// </summary>
        /// <param name="inputDto"></param>
        /// <returns></returns>
        public async Task<List<string>> GetDeviceByStoreId(List<string> inputDto)
        {
            return await _thirdpartyPushService.GetDeviceByStoreId(inputDto);
        }

        [ AllowAnonymous, NonUnify]
        public async Task<bool> aaaaa(aaaaaaaaaaaa aaa)
        {
            return true;
        }

        #endregion
    }


    public class aaaaaaaaaaaa
    {
        public int a1 { get; set; }

        public bool a2 { get; set; }

        public DateTime a3 { get; set; }

        public aaaa5 a4 { get; set; }

        public List<aaaa5> a5 { get; set;}
    }

    public class aaaa5
    {
        public string   aaa { get; set; }
    }
}
