using AutoMapper; using Elight.Entity; using Elight.Entity.APPDto.Lawyer; using Elight.Entity.AppMode.Lawyer; using Elight.Logic; using Elight.Utility.Code; using Elight.Utility.logs; using java.util; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using SqlSugar; using System.Text; using static _24Hour.Controllers.Common.LawyerArchivesController; namespace _24Hour.Controllers.Common { /// /// 律师服务 /// [ApiController] [Route("api/LawyerUnAuthorize")] public class LawyerArchivesUnAuthorizeController : Controller { #region Identity private readonly SqlSugarClient _db;//数据库 private readonly ILogger logger;//日志 private readonly IMapper mapper; public LawyerArchivesUnAuthorizeController(ILogger _logger, SqlSugarClient db, IMapper _mapper) { this.logger = _logger; _db = db; this.mapper = _mapper; } #endregion /// /// 一体机查询所有的未完成的预约信息 /// /// [HttpGet("GetAllArchivesUncompleted")] public async Task>> GetAllArchivesUncompleted(string unitcode) { var res = new Result>(); var list = await _db.Queryable() .Where(x => x.IsDeleted == 0) .Where(x => x.status != 2 && x.permissibleEndTime > DateTime.Now) .Where(x => x.unitcode == unitcode) .Where(x => x.IsDeleted == 0) .ToListAsync(); var data = mapper.Map>(list); res.result = data; res.IsSucceed = true; return res; } /// /// 获取卷宗下所有的文件信息 /// /// /// [HttpPost("GetJzFileInfo")] public async Task GetJzFileInfo(IEnumerable jzids) { var result = new Result(); var list = await _db.Queryable() .Includes(x => x.jzml, q => q.jzwj) .Where(x => jzids.Contains(x.Id)) .ToListAsync(); var dtos = mapper.Map>(list); var listdata = dtos.Select(x => new { jzid = x.Id, files = x.jzml.OrderBy(x => x.mlsxh) .SelectMany(e => e.jzwj.OrderBy(x => x.wjsxh)) .Select((q) => new { order = q.wjsxh, fileid = q.Id, filepath = q.jpgwjlj }).OrderBy(x => x.order) }).ToList(); result.result = listdata; result.IsSucceed = true; return result; } /// /// 上传一体机的文件缓存状态 /// /// /// [HttpPost("UploadWJDownloadStatus")] public async Task UploadWJDownloadStatus(IEnumerable dtos) { var result = new Result(); try { _db.BeginTran(); var updatelist = await _db.Queryable().In(q => q.jzlbxxId, dtos.Select(x => x.jzlbxxId).ToList()).ToListAsync(); updatelist.ForEach(q => { var value = dtos.FirstOrDefault(x => x.jzlbxxId == q.jzlbxxId); q.downloadedCount = value?.downloadedCount; }); var num = await _db.Updateable(updatelist).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "更新成功"; } } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; } return result; } /// /// 解密字符串信息 /// /// /// [HttpPost] [Route("DecodeData")] public Task> DecodeData(DecodeQRDataModel data) { Result result = new(); try { var qrdata = data.QRData; var count = data.QRData.Length; var a = count % 4; if (a != 0) { for (int i = 0; i < a; i++) { qrdata += "="; } } result.result = Encoding.UTF8.GetString(Convert.FromBase64String(qrdata)); result.IsSucceed = true; return Task.FromResult(result); } catch (Exception ex) { logger.LogError(ex, ""); result.IsSucceed = false; return Task.FromResult(result); } } } }