You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

59 lines
1.9 KiB

using Znyc.CloudCar.IRepository.User;
using Znyc.CloudCar.IServices.User;
using Znyc.CloudCar.Model.Entities;
using Znyc.CloudCar.Model.ViewModels.ReportsCallBack;
using Znyc.CloudCar.Utility.Extensions;
namespace Znyc.CloudCar.Services.User
{
public class UserCardService : IUserCardService
{
private readonly IUserCardRepository _userCardRepository;
public UserCardService(IUserCardRepository userCardRepository)
{
_userCardRepository = userCardRepository;
}
/// <summary>
/// 新增信息
/// </summary>
/// <param name="userId"></param>
/// <param name="cardId"></param>
/// <param name="time"></param>
/// <returns></returns>
public async Task AddUserCardAsync(long userId, long cardId, int time)
{
Console.WriteLine($"{userId}|{cardId}|{time}");
var userCard = await _userCardRepository.GetAsync(x => x.UserId == userId && x.IsEnabled == true);
await _userCardRepository.InsertAsync(new UserCardEntity
{
UserId = userId,
CardId = cardId,
StartTime = DateTime.Now,
EndTime = DateTime.Now.AddMonths(time)
});
}
/// <summary>
/// 优惠卡到期禁用
/// </summary>
/// <returns></returns>
public async Task<ResponseOutput> UpdateUserCardAsync()
{
int id = await _userCardRepository.Select
.Where(x => x.IsEnabled && x.EndTime <= DateTime.Now)
.ToUpdate()
.Set(x => x.IsEnabled, false)
.ExecuteAffrowsAsync();
ResponseOutput response = new ResponseOutput()
{
Successed = true,
Msg = "优惠卡到期禁用成功",
Code = 1
};
return response;
}
}
}