From e9855f7c8e304670190aa7a4adf71d3f02b2d8dc Mon Sep 17 00:00:00 2001 From: liujiaqiang <1448951783@qq.com> Date: Fri, 27 Oct 2023 19:48:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=8B=E5=B8=88=E6=9C=8D=E5=8A=A1pc=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=8F=8A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E6=8E=A8=E9=80=81=E6=A8=A1=E6=9D=BF=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 24Hour/Controllers/Common/CommonController.cs | 56 ++++++++++++++++++- .../Common/LawyerservicesController.cs | 31 ++++++++-- 24Hour/Controllers/LoginController.cs | 2 +- 24Hour/WechatMessagerClient.cs | 27 ++++++--- Elight.Entity/SystemModel/UpdateuserDto.cs | 9 +++ Elight.Utility/User.cs | 8 ++- 6 files changed, 117 insertions(+), 16 deletions(-) diff --git a/24Hour/Controllers/Common/CommonController.cs b/24Hour/Controllers/Common/CommonController.cs index eaf943a..f4dfa39 100644 --- a/24Hour/Controllers/Common/CommonController.cs +++ b/24Hour/Controllers/Common/CommonController.cs @@ -1370,6 +1370,8 @@ namespace _24Hour.Controllers.Common return result; } Lawyerboldata.acceptancetime = dto.time; + Lawyerboldata.receptiontime = dto.starttime; + Lawyerboldata.receptionEndtime = dto.endtime; Lawyerboldata.reason = dto.reason; Lawyerboldata.state = Convert.ToInt32(dto.state); Lawyerboldata.operatorId = newmodel.Id; @@ -1380,6 +1382,7 @@ namespace _24Hour.Controllers.Common Lawyerboldata.receptionuser = dto.userId; Lawyerboldata.receptionusername = dto.username; } + var userdata = await _db.Queryable() .Where(q => q.Id == Lawyerboldata.createuserId).ToArrayAsync(); _db.BeginTran(); @@ -1392,7 +1395,7 @@ namespace _24Hour.Controllers.Common await _SocketCon.system(dto.userId); if (dto.Type == 1) { - if (Convert.ToInt32(dto.state) == 1) + if (dto.state == 1) { //判单预约人是否有微信openId if (!string.IsNullOrEmpty(userdata.FirstOrDefault()?.wechatId)) @@ -1404,7 +1407,7 @@ namespace _24Hour.Controllers.Common //判单预约人是否有微信openId if (!string.IsNullOrEmpty(userdata.FirstOrDefault()?.wechatId)) //发送拒绝订阅号消息 - _wechatMessagerClient.sbwxts(userdata.FirstOrDefault()?.wechatId, Lawyerboldata?.operatorName, unitname, Lawyerboldata?.receptiontime, Lawyerboldata?.matter); + _wechatMessagerClient.sbwxts(userdata.FirstOrDefault()?.wechatId, Lawyerboldata?.operatorName, unitname, Lawyerboldata?.receptiontime, Lawyerboldata?.matter, Lawyerboldata?.reason); } } result.IsSucceed = true; @@ -2651,6 +2654,55 @@ namespace _24Hour.Controllers.Common return Json(outParm); }); } + /// + /// 文件上传--附件 + /// + /// + [HttpPost] + [Route("Upload_Files1")] + [AllowAnonymous] + public async Task Upload_Files1(IFormFile file) + { + Result outParm = new Result(); + return await Task.Run(() => + { + if (file.Length <= 0) + { + outParm.IsSucceed = false; + outParm.Message = "请上传文件!"; + return Json(outParm); + } + try + { + var size = Request.Form.Files.Sum(f => f.Length); + IFormFile file = Request.Form.Files.FirstOrDefault(); + var fname = $@"{file.FileName}"; + var hzname = $"{Path.GetExtension(fname)}"; + var _path = $"/CaseFile/card/{DateTime.Now.ToString("yyyy-MM-dd")}"; + var dic = Path.Combine(Environment.CurrentDirectory, "wwwroot"); + if (!string.IsNullOrEmpty(_path)) + dic += _path; + if (!System.IO.Directory.Exists(dic)) + Directory.CreateDirectory(dic); + var filename = $"{DateTime.Now:yyyyMMddHHmmssfff}{Path.GetExtension(fname)}"; + var filepath = Path.Combine(_path, $"{filename}"); + var path = Path.Combine(dic, $"{filename}"); + using (var stream = new FileStream(path, FileMode.OpenOrCreate)) + { + file.CopyToAsync(stream).Wait(); + } + var __path = $"{_path}/{filename}"; + outParm.IsSucceed = true; + outParm.result = new { hzname = hzname, url = __path, tile = Path.GetFileNameWithoutExtension(file.FileName), size, DataPath = path, filePath = dic }; + } + catch (Exception e) + { + outParm.IsSucceed = false; + outParm.Message = $"文件上传失败!{e.Message}"; + } + return Json(outParm); + }); + } #endregion } } diff --git a/24Hour/Controllers/Common/LawyerservicesController.cs b/24Hour/Controllers/Common/LawyerservicesController.cs index 3a439bf..d30b43e 100644 --- a/24Hour/Controllers/Common/LawyerservicesController.cs +++ b/24Hour/Controllers/Common/LawyerservicesController.cs @@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using SqlSugar; +using sun.security.x509; using System.Net.WebSockets; using System.Text; using static com.sun.tools.@internal.xjc.reader.xmlschema.bindinfo.BIConversion; @@ -32,14 +33,18 @@ namespace _24Hour.Controllers.Common private readonly SqlSugarClient _db;//数据库 private readonly WriteSysLog _logs;//操作日志 App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户 - private readonly ILogger _logger;//日志 + private readonly ILogger _logger;//日志 + private readonly WechatMessagerClient _wechatMessagerClient; + private readonly List _Unitdata;//当前用户 Result result = new Result(); - public LawyerservicesController(ILogger logger, SqlSugarClient db, WriteSysLog logs, User user) + public LawyerservicesController(ILogger logger, SqlSugarClient db, WriteSysLog logs, User user, WechatMessagerClient wechatMessagerClient) { _logger = logger; _db = db; _logs = logs; - _userdata = user.Userdata(); + _userdata = user.Userdata(); + _Unitdata = _db.Queryable().Where(q => q.IsDelete == 0).ToList(); + _wechatMessagerClient = wechatMessagerClient; } #endregion @@ -280,7 +285,25 @@ namespace _24Hour.Controllers.Common .receptionEndtime}).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) - { + { + var userdata = await _db.Queryable() + .Where(q => q.Id == Lawyerboldata.createuserId).ToArrayAsync(); + //获取单位信息 + var unitname = _Unitdata.FirstOrDefault(q => q.unitCode == Lawyerboldata.unitCode)?.unitname; + if (state == 1) + { + //判单预约人是否有微信openId + if (!string.IsNullOrEmpty(userdata.FirstOrDefault()?.wechatId)) + //发送晨成功订阅号消息 + _wechatMessagerClient.wxts(userdata.FirstOrDefault()?.wechatId, Lawyerboldata?.operatorName, unitname, Lawyerboldata?.receptiontime, Lawyerboldata?.objectstr + "-" + Lawyerboldata?.matter, Lawyerboldata?.reason); + } + else + { + //判单预约人是否有微信openId + if (!string.IsNullOrEmpty(userdata.FirstOrDefault()?.wechatId)) + //发送拒绝订阅号消息 + _wechatMessagerClient.sbwxts(userdata.FirstOrDefault()?.wechatId, Lawyerboldata?.operatorName, unitname, Lawyerboldata?.receptiontime, Lawyerboldata?.matter, Lawyerboldata?.reason); + } result.IsSucceed = true; result.result = "同意"; } diff --git a/24Hour/Controllers/LoginController.cs b/24Hour/Controllers/LoginController.cs index 450baf9..7b15bac 100644 --- a/24Hour/Controllers/LoginController.cs +++ b/24Hour/Controllers/LoginController.cs @@ -435,7 +435,7 @@ namespace _24Hour.Controllers //} if (string.IsNullOrEmpty(UserModel.wechatId) == false) { - if (await _db.Queryable().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0)) + if (await _db.Queryable().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0&&x.audit!=1)) { ret.IsSucceed = false; ret.Message = "ǰ΢˺Ű"; diff --git a/24Hour/WechatMessagerClient.cs b/24Hour/WechatMessagerClient.cs index 849f89f..c227612 100644 --- a/24Hour/WechatMessagerClient.cs +++ b/24Hour/WechatMessagerClient.cs @@ -8,6 +8,7 @@ using Microsoft.IdentityModel.Logging; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Runtime.Caching; +using static java.security.cert.CertPathValidatorException; namespace _24Hour { @@ -103,10 +104,14 @@ namespace _24Hour string posturl = $"{url}{token}";//发送地址 var thing4 = matter; var thing5 = attention; - if (matter.Length>20) + if (!string.IsNullOrEmpty(matter) && matter.Length>20) thing4 = matter.Substring(0, 17)+"..."; - if (attention.Length>20) - thing5 = attention.Substring(0, 17)+"..."; + else + thing4 = ""; + if (!string.IsNullOrEmpty(attention) && attention.Length > 20) + thing5 = attention.Substring(0, 17) + "..."; + else + thing5 = ""; msg = new { touser = useropenId, @@ -144,7 +149,7 @@ namespace _24Hour /// 律师预约微信消息提醒,失败 /// /// - public bool sbwxts(string? useropenId,string? name,string? unit,DateTime? datetime,string? matter) + public bool sbwxts(string? useropenId,string? name,string? unit,DateTime? datetime,string? matter,string? reason) { try { @@ -173,21 +178,29 @@ namespace _24Hour object msg = null; string posturl = $"{url}{token}";//发送地址 var thing4 = matter; - if (matter.Length > 20) + if (!string.IsNullOrEmpty(matter)&&matter.Length > 20) thing4 = matter.Substring(0, 17) + "..."; + else + thing4 = ""; + var thing5 = reason; + if (!string.IsNullOrEmpty(reason) && reason.Length > 20) + thing5 = reason.Substring(0, 17) + "..."; + else + thing5 = ""; msg = new { touser = useropenId, - template_id = "sPbZd6ro14L4uCR_TyDlB4g-sR20zzqcvb-c6QkV3U4", + template_id = "sPbZd6ro14L4uCR_TyDlB_nKKBq-iSvVBlOCmtTDDt0", page = "pages/selfService/reception/reception", miniprogram_state = $"{_configuration.GetSection("Wechat:miniprogram_state").Value}", lang = "zh_CN", data = new { - thing1 = new { value = $"{name}" },//访问人 + //thing1 = new { value = $"{name}" },//访问人 thing2 = new { value = $"{unit}" },//访问单位 time3 = new { value = $"{datetime:yyyy年MM月dd日 HH:mm}" },//预约时间 thing4 = new { value = $"{thing4}" },//事由 + thing5 = new { value = $"{thing5}" },//事由 }, }; var re = HttpHelper.Post(posturl, msg); diff --git a/Elight.Entity/SystemModel/UpdateuserDto.cs b/Elight.Entity/SystemModel/UpdateuserDto.cs index d1877f2..6fa085d 100644 --- a/Elight.Entity/SystemModel/UpdateuserDto.cs +++ b/Elight.Entity/SystemModel/UpdateuserDto.cs @@ -36,6 +36,15 @@ namespace Elight.Entity.SystemModel /// 选择时间 /// public DateTime? time { get; set; } + /// + /// 开始 + /// + public DateTime? starttime { get; set; } + /// + /// 结束 + /// + public DateTime? endtime { get; set; } + public int? Type { get; set; } } diff --git a/Elight.Utility/User.cs b/Elight.Utility/User.cs index d0e17b8..56c40f7 100644 --- a/Elight.Utility/User.cs +++ b/Elight.Utility/User.cs @@ -34,8 +34,12 @@ namespace Elight.Utility public App_Sys_UserModel Userdata() { var data = _accessor?.HttpContext?.User?.FindFirst(ClaimTypes.UserData); - var da = JsonConvert.DeserializeObject(data.Value); - return da; + if (data!=null) + { + var da = JsonConvert.DeserializeObject(data.Value); + return da; + }else + return null; } } }