using Azure;
using HuanMeng.DotNetCore.Base;
using HuanMeng.DotNetCore.Utility;
using HuanMeng.DotNetCore.WeChat;
using HuanMeng.MiaoYu.Code.Mall;
using HuanMeng.MiaoYu.Code.Other;
using HuanMeng.MiaoYu.Code.Users;
using HuanMeng.MiaoYu.Model.Dto;
using HuanMeng.MiaoYu.Model.Dto.Account;
using HuanMeng.MiaoYu.Model.Dto.Shop;
using HuanMeng.MiaoYu.WebApi.Base;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using System.Numerics;
using System.Text.RegularExpressions;
namespace HuanMeng.MiaoYu.WebApi.Controllers
{
///
/// 账号控制器
///
[Route("api/[controller]/[action]")]
[ApiController]
public class AccountController : MiaoYuControllerBase
{
public AccountController(IServiceProvider _serviceProvider, ILogger logger) : base(_serviceProvider)
{
//logger.LogInformation("aaaaa");
}
///
/// 登录-发送手机号验证码
///
///
///
///
[HttpPost]
public async Task> SendPhoneNumber([FromBody] RequestPhoneNumberModel phone)
{
if (!PhoneNumberValidator.IsPhoneNumber(phone.PhoneNumber))
{
throw new ArgumentException("请输入正确的手机号");
}
UserBLL userBLL = new UserBLL(ServiceProvider);
return await userBLL.SendPhoneNumber(phone.PhoneNumber);
}
///
/// 登录- 登录
///
///
///
[HttpPost]
[AllowAnonymous]
public async Task> AccountLogIn([FromBody] RequestLoginModel requestLoginModel)
{
UserBLL userBLL = new UserBLL(ServiceProvider);
return await userBLL.AccountLogIn(requestLoginModel);
}
///
/// 用户-用户
///
///
[Authorize]
[HttpGet]
public async Task> GetUserInfo()
{
UserBLL userBLL = new UserBLL(ServiceProvider);
return await userBLL.GetUserInfo();
}
///
/// 解析微信用户数据
///
///
[AllowAnonymous]
[HttpPost]
public async Task GetMiniProgramUserInfo([FromBody] WXBizDataCryptModel wXBizDataCryptModel)
{
UserBLL userBLL = new UserBLL(ServiceProvider);
return await userBLL.GetMiniProgramUserInfo(wXBizDataCryptModel);
}
///
/// 我的账户
///
///
[HttpGet]
public async Task> GetMyAccount()
{
ProductBLL productBLL = new ProductBLL(ServiceProvider);
return await productBLL.GetMyAccountInfoList();
}
///
/// 我的 - 获取交易记录
///
///
[HttpGet]
public async Task>> GetTransactionRecords()
{
UserBLL userBLL = new UserBLL(ServiceProvider);
return await userBLL.GetTransactionRecords();
}
///
/// 修改用户昵称
///
///
///
///
[HttpPost]
public async Task> UpdateUserNickName([FromBody] RequestAccountCommonUser requestAccountCommonUser)
{
UserBLL userBLL = new UserBLL(ServiceProvider);
return await userBLL.UpdateUserNickName(requestAccountCommonUser.NickName);
}
///
/// 修改用户头像
///
///
///
///
[HttpPost]
public async Task> UpdateUserIcon([FromBody] RequestAccountCommonUserImage requestAccountCommonUserImage)
{
UserBLL userBLL = new UserBLL(ServiceProvider);
return await userBLL.UpdateUserIcon(requestAccountCommonUserImage.UserIcon);
}
///
/// 商城 - 获取商城商品 Mall
///
///
[AllowAnonymous]
[HttpGet]
public async Task> GetMallItem()
{
ProductBLL productBLL = new ProductBLL(ServiceProvider);
return await productBLL.GetShopInfoListAsync();
}
///
/// 注销账号
///
///
[HttpPost]
[Authorize]
public async Task> Logout()
{
UserBLL userBLL = new UserBLL(ServiceProvider);
return await userBLL.Logout();
}
}
}