购买api
This commit is contained in:
@@ -185,6 +185,33 @@ namespace Home.Controllers
|
|||||||
return new ApiResult(data);
|
return new ApiResult(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost,AllowAnonymous]
|
||||||
|
public async Task<ApiResult> ApiCreateOrder([FromBody]CreateOrderRequest request)
|
||||||
|
{
|
||||||
|
request.UseAccountAmount = 1;
|
||||||
|
request.CouponId = 0;
|
||||||
|
//通过apikey获取用户信息
|
||||||
|
var userEntity = m_UserService.Query(m => m.apikey == request.apikey).FirstOrDefault();
|
||||||
|
if (userEntity == null)
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "apikey不正确");
|
||||||
|
}
|
||||||
|
var userId = userEntity.Id;
|
||||||
|
var ret = await m_ProductOrderService.CreateOrder(request, userId);
|
||||||
|
|
||||||
|
if (ret.Code != ResultCode.C_SUCCESS)
|
||||||
|
{
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
if (ret.Data.OtherPayAmount == 0)
|
||||||
|
{
|
||||||
|
await m_ProductOrderService.ProcessOrderAccount(ret.Data);
|
||||||
|
return new ApiResult("00");
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "未知错误!联系客服解决!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#region 微信支付
|
#region 微信支付
|
||||||
private async Task<string> CreateWxPayOrder(ProductOrderEntity request)
|
private async Task<string> CreateWxPayOrder(ProductOrderEntity request)
|
||||||
|
|||||||
@@ -755,6 +755,18 @@ namespace Home.Controllers
|
|||||||
return await m_ProductAccountService.UpdateAccountPwd(request);
|
return await m_ProductAccountService.UpdateAccountPwd(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost, AllowAnonymous]
|
||||||
|
public async Task<ApiResult> ApiUpdateAccountPwd([FromBody]UpdateAccountPwdRequest request)
|
||||||
|
{
|
||||||
|
//通过apikey获取用户信息
|
||||||
|
var userEntity = m_UserService.Query(m => m.apikey == request.apikey).FirstOrDefault();
|
||||||
|
if (userEntity == null)
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "apikey不正确");
|
||||||
|
}
|
||||||
|
return await m_ProductAccountService.ApiUpdateAccountPwd(request,userEntity.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ namespace Hncore.Pass.BaseInfo.Models
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// ID
|
/// ID
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
||||||
|
public string apikey { get; set; }
|
||||||
public int TenantId { get; set; }
|
public int TenantId { get; set; }
|
||||||
public int agent_id { get; set; }
|
public int agent_id { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -321,6 +321,91 @@ namespace Hncore.Pass.Vpn.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//api接口,供新开测试使用
|
||||||
|
[HttpPost,AllowAnonymous]
|
||||||
|
public async Task<ApiResult> ApiCreateTestAccount([FromBody]CreateTestAccountRequest request)
|
||||||
|
{
|
||||||
|
if (request.Account.NotHas() || request.Pwd.NotHas())
|
||||||
|
{
|
||||||
|
return Error("账户和密码不能为空");
|
||||||
|
}
|
||||||
|
if (request.Account == request.Pwd)
|
||||||
|
{
|
||||||
|
return Error("账户和密码不能一致");
|
||||||
|
}
|
||||||
|
if (request.apikey.NotHas())
|
||||||
|
{
|
||||||
|
return Error("非法请求");
|
||||||
|
}
|
||||||
|
//通过apikey获取用户信息
|
||||||
|
var userEntity = m_UserService.Query(m => m.apikey == request.apikey).FirstOrDefault();
|
||||||
|
if (userEntity == null)
|
||||||
|
{
|
||||||
|
return Error("apikey不正确");
|
||||||
|
}
|
||||||
|
var userId = userEntity.Id;
|
||||||
|
var packageEntity = await m_PackageService.GetById(request.PackageId);
|
||||||
|
if (packageEntity==null|| packageEntity.Status==0)
|
||||||
|
{
|
||||||
|
return Error("套餐不存在");
|
||||||
|
}
|
||||||
|
if (packageEntity.IsTest == 0)
|
||||||
|
{
|
||||||
|
return Error("非测试套餐");
|
||||||
|
}
|
||||||
|
|
||||||
|
var flag = await m_AccountService.CheckAccountExist(packageEntity.ProductId, new List<string> { request.Account });
|
||||||
|
if (flag)
|
||||||
|
{
|
||||||
|
return Error("账号已经存在");
|
||||||
|
}
|
||||||
|
var restTimes = await m_AccountService.GetRestTestCount(userId);
|
||||||
|
|
||||||
|
var is_verify = await m_AccountService.GetUserStatus(userId);
|
||||||
|
|
||||||
|
if (restTimes <= 0)
|
||||||
|
{
|
||||||
|
return Error("没有测试次数了");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_verify == 0)
|
||||||
|
{
|
||||||
|
return Error("请点击前往实名认证");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var ret= await m_agentService.NewAccount(0, request.PackageId, request.Account, request.Pwd, accountType: 0);
|
||||||
|
|
||||||
|
if (ret.Code == ResultCode.C_SUCCESS)
|
||||||
|
{
|
||||||
|
var ProductEntity = await m_ProductService.GetById(packageEntity.ProductId);
|
||||||
|
var accountEntity = new ProductAccountEntity()
|
||||||
|
{
|
||||||
|
Account = request.Account,
|
||||||
|
AccountType = (int)AccountType.Test,
|
||||||
|
ConnectCount = 1,
|
||||||
|
StartTime = DateTime.Now,
|
||||||
|
EndTime = DateTime.Now.AddHours(packageEntity.DayCount),
|
||||||
|
PackageId = packageEntity.Id,
|
||||||
|
PackageName = packageEntity.Name,
|
||||||
|
ProductId = packageEntity.ProductId,
|
||||||
|
ProductName = ProductEntity.Name,
|
||||||
|
Pwd = request.Pwd,
|
||||||
|
ChargeStatus = AccountChargeStatus.Normal,
|
||||||
|
UserId = userEntity.Id,
|
||||||
|
UserCode = userEntity.LoginCode,
|
||||||
|
};
|
||||||
|
await m_AccountService.Add(accountEntity);
|
||||||
|
|
||||||
|
//前边已经通过apikey获取到数据--故注释
|
||||||
|
// var userEntity = await m_UserService.GetById(userId);
|
||||||
|
userEntity.UseTestCount++;
|
||||||
|
await m_UserService.Update(userEntity);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否在线
|
/// 是否在线
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ namespace Hncore.Pass.Vpn.Domain
|
|||||||
public string ManagerName { get; set; }
|
public string ManagerName { get; set; }
|
||||||
public int is_verify { get; set; }
|
public int is_verify { get; set; }
|
||||||
public int agent_id {get; set;}
|
public int agent_id {get; set;}
|
||||||
|
public string apikey {get; set;}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,7 @@ namespace Hncore.Pass.Vpn.Request.Product
|
|||||||
{
|
{
|
||||||
public class CreateOrderRequest
|
public class CreateOrderRequest
|
||||||
{
|
{
|
||||||
|
public string apikey { get; set; }
|
||||||
public OrderType OrderType { get; set; }
|
public OrderType OrderType { get; set; }
|
||||||
|
|
||||||
public int PackageId { get; set; }
|
public int PackageId { get; set; }
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ namespace Hncore.Pass.Vpn.Request.Product
|
|||||||
{
|
{
|
||||||
public class CreateTestAccountRequest
|
public class CreateTestAccountRequest
|
||||||
{
|
{
|
||||||
|
public string apikey { get; set; }
|
||||||
public int ProductId { get; set; }
|
public int ProductId { get; set; }
|
||||||
|
|
||||||
public int PackageId { get; set; }
|
public int PackageId { get; set; }
|
||||||
|
|||||||
@@ -2,7 +2,10 @@
|
|||||||
{
|
{
|
||||||
public class UpdateAccountPwdRequest
|
public class UpdateAccountPwdRequest
|
||||||
{
|
{
|
||||||
|
public string apikey { get; set; }
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
public string Account { get; set; }
|
||||||
public string Pwd { get; set; }
|
public string Pwd { get; set; }
|
||||||
|
public string RePwd { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,6 +149,27 @@ namespace Hncore.Pass.Vpn.Service
|
|||||||
return new ApiResult(1);
|
return new ApiResult(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<ApiResult> ApiUpdateAccountPwd(UpdateAccountPwdRequest request,int userid)
|
||||||
|
{
|
||||||
|
var entity = await this.Query(m => m.Account == request.Account && m.Pwd == request.Pwd && m.DeleteTag == 0 && m.UserId == userid).FirstOrDefaultAsync();
|
||||||
|
if (entity == null)
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "账号不存在");
|
||||||
|
}
|
||||||
|
if (request.Pwd.NotHas())
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "密码不能为空");
|
||||||
|
}
|
||||||
|
var agentRet = await m_AgentService.UpdateAccountPwd(entity.ProductId.Value, entity.Account, request.RePwd);
|
||||||
|
if (!agentRet)
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "远程更新失败");
|
||||||
|
}
|
||||||
|
entity.Pwd = request.Pwd;
|
||||||
|
await this.Update(entity);
|
||||||
|
return new ApiResult(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public async Task<List<ProductAccountEntity>> GetUserTestAccount(int userId)
|
public async Task<List<ProductAccountEntity>> GetUserTestAccount(int userId)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user