using com.sun.xml.@internal.bind.v2.model.core; using Elight.Entity; using Elight.Entity.APPDto.Lawyer; using Elight.Logic; using Elight.Utility; using Elight.Utility.Code; using Elight.Utility.Extensions; using Elight.Utility.logs; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using SqlSugar; using System.Net.WebSockets; using System.Text; using static com.sun.tools.@internal.xjc.reader.xmlschema.bindinfo.BIConversion; using static java.security.cert.CertPathValidatorException; using User = Elight.Utility.User; namespace _24Hour.Controllers.Common { /// /// 律师服务 /// [Authorize] [ApiController] [Route("api/Lawyer")] public class LawyerservicesController : Controller { private static Dictionary CONNECT_POOL = new Dictionary();//用户连接池 #region Identity private readonly SqlSugarClient _db;//数据库 private readonly WriteSysLog _logs;//操作日志 App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户 private readonly ILogger _logger;//日志 Result result = new Result(); public LawyerservicesController(ILogger logger, SqlSugarClient db, WriteSysLog logs, User user) { _logger = logger; _db = db; _logs = logs; _userdata = user.Userdata(); } #endregion #region 律师服务增删改查 /// /// app--根据当前登录人查询律师预约分页查询 /// /// /// [HttpPost] [Route("QueryLawyereuser")] public async Task QueryLawyereuser(App_LawyerServicesInput Lawyeredata) { RefAsync totalNumber = 0;//总数据 //查询律师服务预约记录 var list = await _db.Queryable() .WhereIF(Lawyeredata.name != null, q => q.name.Contains(Lawyeredata.name)) .WhereIF(Lawyeredata.objectstr != null, q => q.objectstr.Contains(Lawyeredata.objectstr)) .WhereIF(Lawyeredata.state != null, q => q.state == Lawyeredata.state) .WhereIF(Lawyeredata.unitId.NotNull(), q => q.unitCode.Contains(Lawyeredata.unitId)) .WhereIF(Lawyeredata.StartTime != null && Lawyeredata.EndTime != null, q => q.receptiontime >= Lawyeredata.StartTime && q.receptiontime < Lawyeredata.EndTime.Value.AddDays(1)) .Where(q => q.IsDeleted == 0 && q.createuserId == _userdata.Id).ToPageListAsync(Lawyeredata.PageIndex, Lawyeredata.PageSize, totalNumber); Lawyeredata.RowsCount = totalNumber; var data = new QueryResult(Lawyeredata, list.OrderByDescending(q => q.creationtime).ToList()); result.IsSucceed = true; result.result = data; return result; } /// /// 律师服务分页查询 /// /// /// [HttpPost] [Route("QueryLawyer")] public async Task QueryLawyer(App_LawyerServicesInput Lawyerdata) { RefAsync totalNumber = 0;//总数据 //查询律师服务 var list = await _db.Queryable() .WhereIF(Lawyerdata.name != null, q => q.name.Contains(Lawyerdata.name)) .WhereIF(Lawyerdata.objectstr != null, q => q.objectstr.Contains(Lawyerdata.objectstr)) .WhereIF(Lawyerdata.unitId != null, q => q.unitCode.Contains(Lawyerdata.unitId)) .WhereIF(Lawyerdata.state != null, q => q.state == Lawyerdata.state) .WhereIF(Lawyerdata.StartTime != null && Lawyerdata.EndTime != null, q => q.receptiontime >= Lawyerdata.StartTime && q.receptiontime < Lawyerdata.EndTime.Value.AddDays(1)) .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode).ToPageListAsync(Lawyerdata.PageIndex, Lawyerdata.PageSize, totalNumber); Lawyerdata.RowsCount = totalNumber; var data = new QueryResult(Lawyerdata, list.OrderByDescending(q => q.creationtime).ToList()); result.IsSucceed = true; result.result = data; return result; } /// /// 添加律师服务 /// /// /// [HttpPost] [Route("AddLawyer")] public async Task AddDevice(App_LawyerServicesModel Lawyerdata) { try { _db.BeginTran(); Lawyerdata.Id = Guid.NewGuid().ToString(); Lawyerdata.createuserId = _userdata.Id.ToString(); Lawyerdata.createusername = _userdata.name; var num = await _db.Insertable(Lawyerdata).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "添加成功"; } } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; LogService.WriteLog(ex, "添加律师服务预约"); } _logs.WriteSysLogadd("律师服务", "添加律师服务", result, _db); return result; } /// /// 修改律师服务预约 /// /// /// [HttpPost] [Route("UpdateLawyer")] public async Task UpdateLawyer(App_LawyerServicesModel Lawyerdata) { try { _db.BeginTran(); var num = await _db.Updateable(Lawyerdata).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "修改成功"; } } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; LogService.WriteLog(ex, "修改律师服务预约"); } _logs.WriteSysLogadd("律师服务", "修改律师服务预约", result, _db); return result; } /// /// 删除律师服务预约 /// /// /// [HttpPost] [Route("DeleteLawyer")] public async Task DeleteLawyer(CurrencyDelete Currency) { try { _db.BeginTran(); var Deletelist = await _db.Queryable().In(q => q.Id, Currency.id).ToListAsync(); Deletelist.ForEach(q => { q.IsDeleted = 1; }); var num = await _db.Updateable(Deletelist).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "删除成功"; } } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; LogService.WriteLog(ex, "删除律师阅卷"); } _logs.WriteSysLogadd("律师服务", "删除律师服务预约", result, _db); return result; } #endregion #region 律师预约修改办理人及状态修改 /// /// 修改律师服务预约办理人 /// /// 律师服务预约Id /// 推送办理人Id /// [HttpGet] [Route("UpdateLawyeruser")] public async Task UpdateLawyeruser(string? Id, string? transactors) { try { var Lawyerbol = await _db.Queryable().Where(q => q.Id == Id).ToListAsync(); if (Lawyerbol.Count() > 0) { Lawyerbol.FirstOrDefault().receptionuser = transactors; _db.BeginTran(); var num = await _db.Updateable(Lawyerbol.FirstOrDefault()).UpdateColumns(it => new { it.receptionuser }).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "修改成功"; } } else { result.IsSucceed = false; result.result = "未找到预约信息"; } } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; LogService.WriteLog(ex, "修改律师服务预约办理人"); } _logs.WriteSysLogadd("律师服务", "修改律师服务预约办理人", result, _db); return result; } /// /// 修改律师服务预约状态 /// /// 律师服务预约Id /// 状态 /// 拒绝原因 /// [HttpGet] [Route("UpdateLawyerstate")] public async Task UpdateLawyerstate(string? Id, int state, string? reason) { try { var Lawyerbol = await _db.Queryable().Where(q => q.Id == Id).ToListAsync(); if (Lawyerbol.Any()) { Lawyerbol.FirstOrDefault().state = state; if (reason.NotNull()) Lawyerbol.FirstOrDefault().reason = reason; Lawyerbol.FirstOrDefault().acceptancetime = DateTime.Now; _db.BeginTran(); var num = await _db.Updateable(Lawyerbol.FirstOrDefault()).UpdateColumns(it => new { it.state, it.reason, it.acceptancetime }).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "同意"; } } else { result.IsSucceed = false; result.result = "未找到预约信息"; } } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; LogService.WriteLog(ex, "修改律师服务预约状态"); } _logs.WriteSysLogadd("律师服务", "修改律师服务预约状态", result, _db); return result; } #endregion } }