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
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;
|
|
}
|
|
}
|
|
}
|
|
|