diff --git a/api_v1/Appointment.Api/Appointment.Api/Controllers/ApptJNCController.cs b/api_v1/Appointment.Api/Appointment.Api/Controllers/ApptJNCController.cs index 6c00ada..145557c 100644 --- a/api_v1/Appointment.Api/Appointment.Api/Controllers/ApptJNCController.cs +++ b/api_v1/Appointment.Api/Appointment.Api/Controllers/ApptJNCController.cs @@ -51,9 +51,9 @@ namespace Appointment.Api.Controllers /// /// [HttpPost] - public ApiResult ApplyOrder(ApplyOrderReq req) + public async Task ApplyOrder(ApplyOrderReq req) { - return apptRepoJNC.ApplyOrder(req); + return await apptRepoJNC.ApplyOrder(req); } /// @@ -73,9 +73,9 @@ namespace Appointment.Api.Controllers /// /// [HttpPost] - public ApiResult AuditorSummary(ApplyOrderReq req) + public async Task AuditorSummary(ApplyOrderReq req) { - return apptRepoJNC.AuditorSummary(req); + return await apptRepoJNC.AuditorSummary(req); } /// @@ -84,9 +84,9 @@ namespace Appointment.Api.Controllers /// /// [HttpPost] - public ApiResult RejectSummary(ApplyOrderReq req) + public async Task RejectSummary(ApplyOrderReq req) { - return apptRepoJNC.RejectSummary(req); + return await apptRepoJNC.RejectSummary(req); } /// @@ -95,9 +95,9 @@ namespace Appointment.Api.Controllers /// /// [HttpPost] - public ApiResult ManualCopy(ApptSendReq req) + public async Task ManualCopy(ApptSendReq req) { - return apptRepoJNC.ManualCopy(req); + return await apptRepoJNC.ManualCopy(req); } /// diff --git a/api_v1/Appointment.IRepository/IApptRepoJNC.cs b/api_v1/Appointment.IRepository/IApptRepoJNC.cs index 9b67857..b3553c5 100644 --- a/api_v1/Appointment.IRepository/IApptRepoJNC.cs +++ b/api_v1/Appointment.IRepository/IApptRepoJNC.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; namespace Appointment.IRepository { @@ -27,7 +28,7 @@ namespace Appointment.IRepository /// /// /// - public ApiResult ApplyOrder(ApplyOrderReq req); + Task ApplyOrder(ApplyOrderReq req); /// /// 取消OA单 @@ -41,21 +42,21 @@ namespace Appointment.IRepository /// /// /// - public ApiResult AuditorSummary(ApplyOrderReq req); + Task AuditorSummary(ApplyOrderReq req); /// /// 被驳回 /// /// /// - public ApiResult RejectSummary(ApplyOrderReq req); + Task RejectSummary(ApplyOrderReq req); /// /// 手动抄送 /// /// /// - public ApiResult ManualCopy(ApptSendReq req); + Task ManualCopy(ApptSendReq req); /// /// 信息回复 diff --git a/api_v1/Appointment.Repository/ApptRepoJNC.cs b/api_v1/Appointment.Repository/ApptRepoJNC.cs index 5d9195c..ee87c51 100644 --- a/api_v1/Appointment.Repository/ApptRepoJNC.cs +++ b/api_v1/Appointment.Repository/ApptRepoJNC.cs @@ -9,6 +9,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; +using System.Threading.Tasks; namespace Appointment.Repository { @@ -1164,7 +1165,7 @@ namespace Appointment.Repository /// /// /// - public ApiResult ApplyOrder(ApplyOrderReq req) + public async Task ApplyOrder(ApplyOrderReq req) { DateTime now = DateTime.Now; req = req.Replace(); @@ -1176,7 +1177,7 @@ namespace Appointment.Repository var loginUserRes = BaseRepo.DECLoginInfo(req.AccountDes); if (!loginUserRes.IsSuccess) return ApiResult.Failed(loginUserRes.Msg); - var summaryM = Db.Queryable().Where(t => t.Id == req.Id).First(); + var summaryM = await Db.Queryable().Where(t => t.Id == req.Id).FirstAsync(); if (summaryM == null || summaryM.ApptTypeId != 2) return ApiResult.Failed("未获取订单数据!"); if (summaryM.UserId != loginUserRes.Info.UserAccount) return ApiResult.Failed("只有创建人具有操作权限!"); //if (summaryM.AuditorStatus != (int)EnumAuditorStatus.江南春模式暂订单 @@ -1226,7 +1227,7 @@ namespace Appointment.Repository } InsertReturnId(apptAuditLog); - PostMsg(summaryM); + _ = await PostMsg(summaryM); return ApiResult.Success(); } @@ -1422,19 +1423,19 @@ namespace Appointment.Repository /// /// /// - public ApiResult AuditorSummary(ApplyOrderReq req) + public async Task AuditorSummary(ApplyOrderReq req) { req = req.Replace(); if (req.RemarkPics != null && req.RemarkPics.Count > 5) { return ApiResult.Failed("操作失败,最多只可上传5张图片!"); } - ApptSummary summaryM = Db.Queryable() - .Where(t => t.Id == req.Id && t.ApptTypeId == 2).First(); + ApptSummary summaryM = await Db.Queryable() + .Where(t => t.Id == req.Id && t.ApptTypeId == 2).FirstAsync(); if (summaryM == null) return ApiResult.Failed("订单不存在"); if (summaryM.AuditorStatus == (int)EnumAuditorJncStatus.审核单申请) { - return ApprovedByAuditor(req); + return await ApprovedByAuditor(req); } DateTime now = DateTime.Now; @@ -1532,15 +1533,15 @@ namespace Appointment.Repository if (nextStatus == EnumAuditorJncStatus.完成单) { - AotoCopy(summaryM.Id.Value); + _ = await AotoCopy(summaryM.Id.Value); } - PostMsg(summaryM); + _ = await PostMsg(summaryM); //2025-05-14 确定单(总经理审核通过)后 直接变成完成单(销售员已确定完成,已群发,自动抄送) 省去 销售员再次 确定 if (nextStatus == EnumAuditorJncStatus.确定单) { - AuditorSummary(new ApplyOrderReq + await AuditorSummary(new ApplyOrderReq { AccountDes = "@@@自动@@@", Id = summaryM.Id.Value, @@ -1557,7 +1558,7 @@ namespace Appointment.Repository /// /// /// - public ApiResult RejectSummary(ApplyOrderReq req) + public async Task RejectSummary(ApplyOrderReq req) { DateTime now = DateTime.Now; @@ -1573,8 +1574,8 @@ namespace Appointment.Repository if (JncAuditor.Length != 5) return ApiResult.Failed("审核配置无效!"); - ApptSummary summaryM = Db.Queryable() - .Where(t => t.Id == req.Id && t.ApptTypeId == 2).First(); + ApptSummary summaryM = await Db.Queryable() + .Where(t => t.Id == req.Id && t.ApptTypeId == 2).FirstAsync(); if (summaryM == null) return ApiResult.Failed("订单不存在"); // 判断权限 @@ -1639,7 +1640,7 @@ namespace Appointment.Repository if (!inRe.IsSuccess) return ApiResult.Failed(inRe.Msg); _ApptLog.SetLog("appt_summary", req.Id.ToString(), oldData, JsonConvert.SerializeObject(summaryM), loginUserRes.Info.UserAccount, 1); - PostMsg(summaryM); + _ = await PostMsg(summaryM); return ApiResult.Success(); } @@ -1648,7 +1649,7 @@ namespace Appointment.Repository /// /// /// - public ApiResult ManualCopy(ApptSendReq req) + public async Task ManualCopy(ApptSendReq req) { DateTime now = DateTime.Now; @@ -1661,7 +1662,7 @@ namespace Appointment.Repository if (req.ToUserAccounts == null || req.ToUserAccounts.Length <= 0) return ApiResult.Failed("操作失败,未选择抄送人!"); - var userList = Db.Queryable().Where(t => t.Locked == "F").In(t => t.OpId, req.ToUserAccounts).ToList().Replace(); + var userList = await Db.Queryable().Where(t => t.Locked == "F").In(t => t.OpId, req.ToUserAccounts).ToListAsync().Replace(); if (userList.Count != req.ToUserAccounts.Length) { List notUser = new List(); @@ -1696,7 +1697,7 @@ namespace Appointment.Repository { if (!string.IsNullOrEmpty(item.WxServiceId)) { - SetCopyMsg(loginUserRes.Info.UserName, summaryM.BuyerTitle, item.WxServiceId, false, req.Remark); + await SetCopyMsg(loginUserRes.Info.UserName, summaryM.BuyerTitle, item.WxServiceId, false, req.Remark); } } @@ -3083,7 +3084,7 @@ namespace Appointment.Repository /// 预定部对预定单进行审批通过 【新的订单替换原来的订单】 /// /// - private ApiResult ApprovedByAuditor(ApplyOrderReq req) + private async Task ApprovedByAuditor(ApplyOrderReq req) { DateTime now = DateTime.Now; @@ -3091,22 +3092,22 @@ namespace Appointment.Repository if (!loginUserRes.IsSuccess) return ApiResult.Failed(loginUserRes.Msg); if (JncAuditor.Length != 5) return ApiResult.Failed("审核配置无效!"); - var summaryM = Db.Queryable() + var summaryM = await Db.Queryable() .Mapper(t => t.ApptRoomList, t => t.ApptRoomList.First().ApptId) .Mapper(t => t.ApptMeetingList, t => t.ApptMeetingList.First().ApptId) .Mapper(t => t.ApptCateringList, t => t.ApptCateringList.First().ApptId) .Mapper(t => t.ApptSpringList, t => t.ApptSpringList.First().ApptId) .Mapper(t => t.ApptRemarks, t => t.ApptRemarks.First().ApptId) - .Where(t => t.Id == req.Id).First(); + .Where(t => t.Id == req.Id).FirstAsync(); if (summaryM == null || summaryM.ApptTypeId != 2) return ApiResult.Failed("未获取订单数据!"); if (summaryM.AuditorStatus != (int)EnumAuditorJncStatus.审核单申请) return ApiResult.Failed("非待确定状态不可提交!"); string jncAuditor = JncAuditor[0]; - var userGroup = Db.Queryable((u, a) => new JoinQueryInfos( + var userGroup = await Db.Queryable((u, a) => new JoinQueryInfos( JoinType.Left, u.OpGroup == a.OpGroup )) .Where((u, a) => u.OpId.Trim() == loginUserRes.Info.UserAccount && a.ApptTypeId == 2 && a.OpDescript == jncAuditor) - .ToList(); + .ToListAsync(); if (userGroup == null || userGroup.Count < 1) return ApiResult.Failed("没有操作权限!"); var auditM = Db.Queryable() @@ -3602,7 +3603,7 @@ namespace Appointment.Repository return ApiResult.Failed(ex.Message); } } - PostMsg(summaryM); + _ = await PostMsg(summaryM); return ApiResult.Success(); } @@ -3610,7 +3611,7 @@ namespace Appointment.Repository /// 实时计算机发送消息模板 /// /// - private void PostMsg(ApptSummary summary) + private async Task PostMsg(ApptSummary summary) { try { @@ -3618,21 +3619,21 @@ namespace Appointment.Repository string AppId = BaseConfig.App(new string[] { "WeChatService", "AppId" }); string Hotelid = BaseConfig.App(new string[] { "Hotelid" }); string appId = BaseConfig.App(new string[] { "WeChat", "AppId" });// 小程序的appid - var userAll = Db.Queryable().ToList().Replace(); + var userAll = await Db.Queryable().ToListAsync().Replace(); var userCreate = userAll.Where(t => t.OpId == summary.UserId).FirstOrDefault(); - if (userCreate == null) return; + if (userCreate == null) return new ApiResult { Code = 500, Msg = "用户信息不存在" }; List createUserOpenid = new List() { userCreate.WxServiceId }; - var audimM = Db.Queryable().Where(t => t.ApptId == summary.Id).OrderBy(t => t.Id, OrderByType.Desc).First(); + var audimM = await Db.Queryable().Where(t => t.ApptId == summary.Id).OrderBy(t => t.Id, OrderByType.Desc).FirstAsync(); if (summary.AuditorStatus == (int)EnumAuditorJncStatus.审核单申请) { // 发送给预定部审核人员 string jncAuditor = JncAuditor[0]; - var auditorS = Db.Queryable().Where(t => t.OpDescript == jncAuditor).First(); + var auditorS = await Db.Queryable().Where(t => t.OpDescript == jncAuditor).FirstAsync(); if (auditorS != null) { - var usersPost = Db.Queryable().Where(t => t.OpGroup == auditorS.OpGroup && !string.IsNullOrEmpty(t.WxServiceId)).ToList(); + var usersPost = await Db.Queryable().Where(t => t.OpGroup == auditorS.OpGroup && !string.IsNullOrEmpty(t.WxServiceId)).ToListAsync(); if (usersPost != null && usersPost.Count > 0) { if (AppId == "wx3f193488e04b2ed8") // 江南春 @@ -3661,7 +3662,7 @@ namespace Appointment.Repository if (tousers != null && tousers.Count > 0) { - if (string.IsNullOrWhiteSpace(appId)) ApiResult.Failed("缺少配置参数 [AppId]!"); + if (string.IsNullOrWhiteSpace(appId)) return new ApiResult { Code = 500, Msg = "缺少配置参数 [AppId]!" }; foreach (var touser in tousers) { @@ -4318,6 +4319,8 @@ namespace Appointment.Repository { _logger.Error(ex.Message); } + + return ApiResult.Success(); } /// @@ -4328,11 +4331,12 @@ namespace Appointment.Repository /// 接收人程序openid /// 自动手动,true-自动,false-手动 /// 手动自动备注 - private void SetCopyMsg(string createUserName, string buyerTitle, string wxSericeOpenId, bool autoCopy, string remark) + private async Task SetCopyMsg(string createUserName, string buyerTitle, string wxSericeOpenId, bool autoCopy, string remark) { // 收到的自动抄送的消息 try { + await Task.Delay(1); DateTime now = DateTime.Now; string AppId = BaseConfig.App(new string[] { "WeChatService", "AppId" }); string Hotelid = BaseConfig.App(new string[] { "Hotelid" }); @@ -4416,24 +4420,26 @@ namespace Appointment.Repository { _logger.Error(ex.ToString()); } + + return ApiResult.Success(); } /// /// 自动抄送 /// /// - private void AotoCopy(int id) + private async Task AotoCopy(int id) { DateTime now = DateTime.Now; - ApptSummary summary = Db.Queryable() + ApptSummary summary = await Db.Queryable() .Mapper(t => t.ApptRoomList, t => t.ApptRoomList.First().ApptId) .Mapper(t => t.ApptMeetingList, t => t.ApptMeetingList.First().ApptId) .Mapper(t => t.ApptCateringList, t => t.ApptCateringList.First().ApptId) .Mapper(t => t.ApptSpringList, t => t.ApptSpringList.First().ApptId) .Mapper(t => t.ApptRemarks, t => t.ApptRemarks.First().ApptId) - .Where(t => t.Id == id && t.ApptTypeId == 2).First(); - if (summary.AuditorStatus != (int)EnumAuditorJncStatus.完成单) return; + .Where(t => t.Id == id && t.ApptTypeId == 2).FirstAsync(); + if (summary.AuditorStatus != (int)EnumAuditorJncStatus.完成单) return new ApiResult { Code = 500, Msg = "不符合自动抄送条件" }; try { @@ -4520,7 +4526,7 @@ namespace Appointment.Repository }); if (!string.IsNullOrEmpty(item.WxServiceId)) { - SetCopyMsg(createUserName, summary.BuyerTitle, item.WxServiceId, true, ""); + _ = await SetCopyMsg(createUserName, summary.BuyerTitle, item.WxServiceId, true, ""); } } InsertRange(apptAuditLogs); @@ -4530,6 +4536,8 @@ namespace Appointment.Repository { _logger.Error(ex.Message); } + + return new ApiResult { Code = 200, Msg = "自动抄送成功" }; } ///