using Attribute;
using Model;
using Model.Base;
using Repository;
using Service;
using Microsoft.AspNetCore.Mvc;
using Vo.Admin;
namespace Services
{
///
/// 好哒交易记录Service业务层处理
///
[AppService(ServiceType = typeof(IHdTradeRecordService), ServiceLifetime = LifeTime.Transient)]
public class HdTradeRecordService : BaseService, IHdTradeRecordService
{
///
/// 好哒交易记录-列表
///
/// 参数请求体
/// 分页参数
/// 列表
public PagedInfo getHdTradeRecordList([FromQuery] PagerInfo page, [FromQuery] HdTradeRecord param)
{
//拼装查询条件
var predicate = Expressionable.Create();
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.agentId), m => m.agentId.Contains(param.agentId));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.merchId), m => m.merchId.Contains(param.merchId));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.merchName), m => m.merchName.Contains(param.merchName));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.ordId), m => m.ordId.Contains(param.ordId));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.transAmt), m => m.transAmt.Contains(param.transAmt));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.feeAmt), m => m.feeAmt.Contains(param.feeAmt));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.simFee), m => m.simFee.Contains(param.simFee));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.s0Fee), m => m.s0Fee.Contains(param.s0Fee));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.feeRate), m => m.feeRate.Contains(param.feeRate));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.cardType), m => m.cardType.Contains(param.cardType));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.devId), m => m.devId.Contains(param.devId));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.transStat), m => m.transStat.Contains(param.transStat));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.transType), m => m.transType.Contains(param.transType));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.paymentMethod), m => m.paymentMethod.Contains(param.paymentMethod));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.settleType), m => m.settleType.Contains(param.settleType));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.transDate), m => m.transDate.Contains(param.transDate));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.transTime), m => m.transTime.Contains(param.transTime));
predicate = predicate.AndIF(!string.IsNullOrEmpty(param.quickPassFlag), m => m.quickPassFlag.Contains(param.quickPassFlag));
var response = Queryable()
.Where(predicate.ToExpression())
.SplitTable(DateTime.Now.AddMonths(-3), DateTime.Now)
.OrderByDescending(m => m.id)
.ToPage(page);
return response;
}
///
/// 好哒交易记录-详情
///
/// ID
/// 详情
public HdTradeRecord getHdTradeRecordQuery(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 addHdTradeRecord([FromBody] HdTradeRecord param)
{
return Insertable(param).SplitTable().ExecuteReturnSnowflakeId();
}
///
/// 好哒交易记录-修改
///
/// 参数请求体
/// 修改
public long updateHdTradeRecord([FromBody] HdTradeRecord param)
{
return Context.Updateable(param).SplitTable().ExecuteCommand();
}
///
/// 好哒交易记录-删除
///
/// ID
/// 删除
public long deleteHdTradeRecord(long id)
{
return Context.Deleteable(id).SplitTable().ExecuteCommand();
}
}
}