123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- using AutoMapper;
- using OASystem.Domain;
- using OASystem.Domain.AesEncryption;
- using OASystem.Domain.Dtos.Resource;
- using OASystem.Domain.Entities.Groups;
- using OASystem.Domain.Entities.Resource;
- using OASystem.Domain.ViewModels.Resource;
- using Org.BouncyCastle.Utilities;
- using SqlSugar.Extensions;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace OASystem.Infrastructure.Repositories.Resource
- {
- public class LocalGuideDataRepository : BaseRepository<Res_LocalGuideData, LocalGuideDataView>
- {
- private readonly IMapper _mapper;
- public LocalGuideDataRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
- {
- _mapper = mapper;
- }
- public async Task<Result> LocalGuideOperation(LocalGuideOperationDto dto)
- {
- var localGuideDat = _mapper.Map<Res_LocalGuideData>(dto);
- localGuideDat.LastUpdate = DateTime.Now;
- EncryptionProcessor.EncryptProperties(localGuideDat);
- if (dto.Status == 1)//添加
- {
- string selectSql = string.Format(@"select * from Res_LocalGuideData where UnitArea='{0}' and UnitName='{1}' and Contact='{2}' and ContactTel='{3}'",
- AesEncryptionHelper.Encrypt(dto.UnitArea),
- AesEncryptionHelper.Encrypt(dto.UnitName),
- AesEncryptionHelper.Encrypt(dto.Contact),
- AesEncryptionHelper.Encrypt(dto.ContactTel));
- var LocalGuideData = await _sqlSugar.SqlQueryable<Res_LocalGuideData>(selectSql).FirstAsync();//查询是否存在
- if (LocalGuideData != null) return new Result() { Code = -1, Msg = "该信息已存在,请勿重复添加!" };
- else//不存在,可添加
- {
- int id = await AddAsyncReturnId(localGuideDat);
- if (id == 0) return new Result() { Code = -1, Msg = "添加失败!" };
- return new Result() { Code = 0, Msg = "添加成功!", Data = new { Id = id } };
- }
- }
- else if (dto.Status == 2)//修改
- {
- var res = await _sqlSugar.Updateable(localGuideDat).IgnoreColumns(x => new { x.IsDel, x.CreateUserId, x.CreateTime, x.DeleteUserId, x.DeleteTime }).ExecuteCommandAsync();
- if (res < 1)
- {
- return new Result() { Code = -1, Msg = "修改失败!" };
- }
- return new Result() { Code = 0, Msg = "修改成功!" };
- }
- return new Result() { Code = -1, Msg = "请传入Status参数,1添加 2修改!" };
- }
- public async Task<Result> QueryLocalGuide(QueryLocalGuide dto)
- {
- Result result = new Result() { Code = -2, Msg = "未知错误" };
- var localGuideDatas = await _sqlSugar.Queryable<Res_LocalGuideData>().Where(x => x.IsDel == 0).ToListAsync();
- string unitName = dto.UnitName, unitArea = dto.UnitArea, contact = dto.Contact, contactTel = dto.ContactTel;
- int pageSize = dto.PageSize, pageIndex = dto.PageIndex;
- //处理要查询的字段解密
- foreach (var item in localGuideDatas)
- {
- if (!string.IsNullOrEmpty(unitName)) AesEncryptionHelper.Decrypt(unitName);
- if (!string.IsNullOrEmpty(unitArea)) AesEncryptionHelper.Decrypt(unitName);
- if (!string.IsNullOrEmpty(contact)) AesEncryptionHelper.Decrypt(unitName);
- if (!string.IsNullOrEmpty(contactTel)) AesEncryptionHelper.Decrypt(unitName);
- }
- localGuideDatas = localGuideDatas
- .WhereIF(!string.IsNullOrEmpty(unitName),x => x.UnitName.Contains(unitName))
- .WhereIF(!string.IsNullOrEmpty(unitArea), x => x.UnitArea.Contains(unitArea))
- .WhereIF(!string.IsNullOrEmpty(contact), x => x.Contact.Contains(contact))
- .WhereIF(!string.IsNullOrEmpty(contactTel), x => x.ContactTel.Contains(contactTel))
- .ToList();
- if (dto.PortType == 1 || dto.PortType == 2)
- {
- if (localGuideDatas.Count == 0)
- {
- return result = new Result() { Code = 0, Msg = "暂无数据" };
- }
- localGuideDatas = localGuideDatas.OrderByDescending(x => x.CreateTime).ToList();
- if (dto.PageSize == 0 || dto.PageIndex == 0)
- {
- foreach (var item in localGuideDatas) EncryptionProcessor.DecryptProperties(item);
- return result = new Result()
- {
- Code = 0,
- Msg = "查询成功",
- Data = localGuideDatas,
- };
- }
- else
- {
- int totalItems = localGuideDatas.Count();
- int totalPages = (int)Math.Ceiling((double)totalItems / pageSize);
- int skip = (pageIndex - 1) * pageSize;
- var pageSource = localGuideDatas.Skip(skip).Take(pageSize).ToList();
- foreach (var item in pageSource) EncryptionProcessor.DecryptProperties(item);
- return result = new Result()
- {
- Code = 0,
- Msg = "查询成功",
- Data = new { pageCount = totalItems, totalPage = totalPages, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = pageSource },
- };
- }
- }
- else if (dto.PortType == 3)
- {
- if (localGuideDatas.Count == 0)
- {
- return result = new Result() { Code = 0, Msg = "暂无数据" };
- }
- localGuideDatas = localGuideDatas.OrderByDescending(x => x.CreateTime).ToList();
- if (dto.PageSize == 0 && dto.PageIndex == 0)
- {
- foreach (var item in localGuideDatas) EncryptionProcessor.DecryptProperties(item);
- return result = new Result()
- {
- Code = 0,
- Msg = "查询成功",
- Data = localGuideDatas,
- };
- }
- else
- {
- int totalItems = localGuideDatas.Count();
- int totalPages = (int)Math.Ceiling((double)totalItems / pageSize);
- int skip = (pageIndex - 1) * pageSize;
- var pageSource = localGuideDatas.Skip(skip).Take(pageSize).ToList();
- foreach (var item in pageSource) EncryptionProcessor.DecryptProperties(item); ;
- var pageSoure1 = _mapper.Map<Res_LocalGuideData_ListItemView>(pageSource);
- return result = new Result()
- {
- Code = 0,
- Msg = "查询成功",
- Data = new { pageCount = totalItems, totalPage = pageSource, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = pageSoure1 },
- };
- }
- }
- return result = new Result() { Code = -2, Msg = "请传入PortType参数!1:Web,2:Android,3:IOS" };
- }
- }
- }
|