|
|
|
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 SqlSugar.Extensions;
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
[HttpGet("GetLawyerCardIdByArchivesId")]
|
|
|
|
public async Task<Result<string>> GetLawyerCardIdByArchivesId(string jzid)
|
|
|
|
{
|
|
|
|
var res = new Result<string>();
|
|
|
|
try
|
|
|
|
{
|
|
|
|
|
|
|
|
var lawyerid = await _db.Queryable<LawyerArchives>()
|
|
|
|
.Where(x => x.jzlbxxId == jzid).Select(x => x.lawyerId)
|
|
|
|
.FirstAsync();
|
|
|
|
|
|
|
|
var lawyer = await _db.Queryable<App_Sys_UserModel>()
|
|
|
|
.Where(x => x.Id == lawyerid)
|
|
|
|
.FirstAsync();
|
|
|
|
|
|
|
|
res.result = lawyer.cardId;
|
|
|
|
res.IsSucceed = true;
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
catch
|
|
|
|
{
|
|
|
|
res.result = string.Empty;
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|