You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
188 lines
6.6 KiB
188 lines
6.6 KiB
using AutoMapper; |
|
using com.sun.xml.@internal.bind.v2.runtime.unmarshaller; |
|
using Elight.Entity; |
|
using Elight.Entity.APPDto.Lawyer; |
|
using Elight.Entity.AppMode.Lawyer; |
|
using Elight.Logic; |
|
using Elight.Utility.Code; |
|
using Elight.Utility.Extensions; |
|
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 |
|
{ |
|
/// <summary> |
|
/// 律师服务 |
|
/// </summary> |
|
[ApiController] |
|
[Route("api/LawyerUnAuthorize")] |
|
public class LawyerArchivesUnAuthorizeController : Controller |
|
{ |
|
#region Identity |
|
private readonly SqlSugarClient _db;//数据库 |
|
private readonly ILogger<LawyerArchivesController> logger;//日志 |
|
|
|
private readonly IMapper mapper; |
|
public LawyerArchivesUnAuthorizeController(ILogger<LawyerArchivesController> _logger, SqlSugarClient db, IMapper _mapper) |
|
{ |
|
this.logger = _logger; |
|
_db = db; |
|
this.mapper = _mapper; |
|
} |
|
#endregion |
|
|
|
/// <summary> |
|
/// 一体机查询所有的未完成的预约信息 |
|
/// </summary> |
|
/// <returns></returns> |
|
[HttpGet("GetAllArchivesUncompleted")] |
|
public async Task<Result<IEnumerable<LawyerArchivesDto>>> GetAllArchivesUncompleted(string unitcode) |
|
{ |
|
var res = new Result<IEnumerable<LawyerArchivesDto>>(); |
|
var list = await _db.Queryable<LawyerArchives>() |
|
.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<IEnumerable<LawyerArchivesDto>>(list); |
|
res.result = data; |
|
res.IsSucceed = true; |
|
return res; |
|
} |
|
/// <summary> |
|
/// 获取卷宗下所有的文件信息 |
|
/// </summary> |
|
/// <param name="jzid"></param> |
|
/// <returns></returns> |
|
[HttpPost("GetJzFileInfo")] |
|
public async Task<Result> GetJzFileInfo(IEnumerable<string> jzids) |
|
{ |
|
var result = new Result(); |
|
try |
|
{ |
|
var jzinfo = await _db.Queryable<JZJBXX>() |
|
.Includes(x => x.jzml.OrderBy(x => x.mlsxh).ToList()) |
|
.Includes(x => x.jzml, x => x.jzwj.OrderBy(x => x.wjsxh).ToList()) |
|
.In(x => x.Id, jzids).ToListAsync(); |
|
if (jzinfo != null) |
|
{ |
|
var a = mapper.Map<List<JZJBXXDto>>(jzinfo); |
|
var data = a.Select(jzinfo => new |
|
{ |
|
id = jzinfo.Id, |
|
files = jzinfo?.jzml?.Where(x => x.fmlbh == null) |
|
.OrderBy(x => x.mlsxh) |
|
.Select(juan => |
|
{ |
|
return jzinfo.jzml.Where(ml => ml.fmlbh == juan.mlbh) |
|
.OrderBy(sx => sx.mlsxh) |
|
.SelectMany(x => x.jzwj.OrderBy(q => q.wjsxh).ToList()) |
|
.Select(r=>new { |
|
order = r.wjsxh, |
|
fileid = r.Id, |
|
filepath = r.jpgwjlj |
|
}).ToList(); |
|
}) |
|
}); |
|
var resultdata = data.Select(e => new |
|
{ |
|
jzid = e.id, |
|
files = e?.files?.SelectMany(q => q).ToList() |
|
}).ToList(); |
|
|
|
result.result = resultdata; |
|
result.IsSucceed = true; |
|
return result; |
|
} |
|
else |
|
{ |
|
result.IsSucceed = false; |
|
return result; |
|
} |
|
; |
|
} |
|
catch (Exception ex) |
|
{ |
|
logger.LogError(ex, "获取卷宗文件失败"); |
|
result.Message = ex.Message; |
|
result.IsSucceed = false; |
|
return result; |
|
} |
|
} |
|
/// <summary> |
|
/// 上传一体机的文件缓存状态 |
|
/// </summary> |
|
/// <param name="dic"></param> |
|
/// <returns></returns> |
|
[HttpPost("UploadWJDownloadStatus")] |
|
public async Task<Result> UploadWJDownloadStatus(IEnumerable<LawyerArchivesDto> dtos) |
|
{ |
|
var result = new Result(); |
|
try |
|
{ |
|
_db.BeginTran(); |
|
var updatelist = await _db.Queryable<LawyerArchives>().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; |
|
} |
|
|
|
/// <summary> |
|
/// 解密字符串信息 |
|
/// </summary> |
|
/// <param name="basestr"></param> |
|
/// <returns></returns> |
|
[HttpPost] |
|
[Route("DecodeData")] |
|
public Task<Result<string>> DecodeData(DecodeQRDataModel data) |
|
{ |
|
Result<string> 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); |
|
} |
|
} |
|
} |
|
} |