using Attribute;
using Model;
using Model.Base;
using Repository;
using Service;
using Microsoft.AspNetCore.Mvc;
using Vo.Admin;
namespace Services
{
///
/// 好哒押金记录Service业务层处理
///
[AppService(ServiceType = typeof(IHdDepositRecordService), ServiceLifetime = LifeTime.Transient)]
public class HdDepositRecordService : BaseService, IHdDepositRecordService
{
///
/// 好哒押金记录-列表
///
/// 参数请求体
/// 分页参数
/// 列表
public PagedInfo getHdDepositRecordList([FromQuery] PagerInfo page, [FromQuery] HdDepositRecord param)
{
//拼装查询条件
var predicate = Expressionable.Create();
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.effectiveTime), m => m.effectiveTime.Contains(param.effectiveTime));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.deviceType), m => m.deviceType.Contains(param.deviceType));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.channelKind), m => m.channelKind.Contains(param.channelKind));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.snNo), m => m.snNo.Contains(param.snNo));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.depositAmount), m => m.depositAmount.Contains(param.depositAmount));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.activityId), m => m.activityId.Contains(param.activityId));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.mchtNm), m => m.mchtNm.Contains(param.mchtNm));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.mchtNo), m => m.mchtNo.Contains(param.mchtNo));
var response = Queryable()
.Where(predicate.ToExpression())
.SplitTable(DateTime.Now.AddMonths(-3), DateTime.Now)
.OrderByDescending(m => m.id)
.ToPage(page);
return response;
}
///
/// 好哒押金记录-详情
///
/// ID
/// 详情
public HdDepositRecord getHdDepositRecordQuery(long id)
{
//拼装查询条件
var predicate = Expressionable.Create();
predicate = predicate.AndIF(id > 0, m => m.id == id);
var response = Queryable()
.Where(predicate.ToExpression())
.SplitTable(DateTime.Now.AddMonths(-3), DateTime.Now)
.First();
return response;
}
///
/// 好哒押金记录-添加
///
/// 参数请求体
/// 添加
public long addHdDepositRecord([FromBody] HdDepositRecord param)
{
return Insertable(param).SplitTable().ExecuteReturnSnowflakeId();
}
///
/// 好哒押金记录-修改
///
/// 参数请求体
/// 修改
public long updateHdDepositRecord([FromBody] HdDepositRecord param)
{
return Context.Updateable(param).SplitTable().ExecuteCommand();
}
///
/// 好哒押金记录-删除
///
/// ID
/// 删除
public long deleteHdDepositRecord(long id)
{
return Context.Deleteable(id).SplitTable().ExecuteCommand();
}
}
}