using Infrastructure.Attribute;
using Microsoft.AspNetCore.Http;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Infrastructure;
using ARW.Model;
using ARW.Repository;
using ARW.Repository.Business.CreateTable.BaseFiledTemplates;
using ARW.Service.Business.IBusinessService.CreateTable.BaseFiledTemplates;
using ARW.Model.Dto.Business.CreateTable.BaseFiledTemplates;
using ARW.Model.Models.Business.CreateTable.BaseFiledTemplates;
using ARW.Model.Vo.Business.CreateTable.BaseFiledTemplates;
using ARW.Model.Models.Business.ToolCustomers;
namespace ARW.Service.Business.BusinessService.CreateTable.BaseFiledTemplates
{
///
/// 基础字段模板接口实现类
///
[AppService(ServiceType = typeof(IBaseFiledTemplateService), ServiceLifetime = LifeTime.Transient)]
public class BaseFiledTemplateServiceImpl : BaseService, IBaseFiledTemplateService
{
private readonly BaseFiledTemplateRepository _BaseFiledTemplateRepository;
public BaseFiledTemplateServiceImpl(BaseFiledTemplateRepository BaseFiledTemplateRepository)
{
this._BaseFiledTemplateRepository = BaseFiledTemplateRepository;
}
#region 业务逻辑代码
///
/// 查询基础字段模板分页列表
///
public Task> GetBaseFiledTemplateList(BaseFiledTemplateQueryDto parm)
{
//开始拼装查询条件d
var predicate = Expressionable.Create();
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BaseFiledTemplateName), it => it.BaseFiledTemplateName.Contains(parm.BaseFiledTemplateName));
var query = _BaseFiledTemplateRepository
.Queryable()
.LeftJoin((s, c) => s.BaseFiledTemplateCustomerGuid == c.ToolCustomerGuid)
.Where(predicate.ToExpression())
.OrderBy(s => s.Update_time, OrderByType.Desc)
.Select((s, c) => new BaseFiledTemplateVo
{
BaseFiledTemplateId = s.BaseFiledTemplateId,
BaseFiledTemplateGuid = s.BaseFiledTemplateGuid,
BaseFiledTemplateCustomerGuid = s.BaseFiledTemplateCustomerGuid,
BaseFiledTemplateCustomerName = c.ToolCustomerName,
BaseFiledTemplateName = s.BaseFiledTemplateName,
BaseFiledTemplateContent = s.BaseFiledTemplateContent,
});
return query.ToPageAsync(parm);
}
///
/// 添加或修改基础字段模板
///
public async Task AddOrUpdateBaseFiledTemplate(BaseFiledTemplate model)
{
if (model.BaseFiledTemplateId != 0)
{
var response = await _BaseFiledTemplateRepository.UpdateAsync(model);
return "修改成功!";
}
else
{
var response = await _BaseFiledTemplateRepository.InsertReturnSnowflakeIdAsync(model);
return "添加成功!";
}
}
#region Excel处理
///
/// Excel数据导出处理
///
public async Task> HandleExportData(List data)
{
return data;
}
#endregion
#endregion
}
}