소스 검색

企微报批通知添加

yuanrf 1 개월 전
부모
커밋
7327c2e7ac
2개의 변경된 파일64개의 추가작업 그리고 4개의 파일을 삭제
  1. 31 4
      OASystem/OASystem.Api/Controllers/GroupsController.cs
  2. 33 0
      OASystem/OASystem.Api/OAMethodLib/QiYeWeChatAPI/AppNotice/Library.cs

+ 31 - 4
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -95,7 +95,7 @@ namespace OASystem.API.Controllers
         private readonly EnterExitCostRepository _enterExitCostRep;
         private readonly IHubContext<ChatHub, IChatClient> _hubContext;
         private readonly UsersRepository _usersRep;
-        private readonly IJuHeApiService _juHeApi; 
+        private readonly IJuHeApiService _juHeApi;
         private readonly InvertedListRepository _invertedListRep;
         private readonly VisaFeeInfoRepository _visaFeeInfoRep;
         private readonly TicketBlackCodeRepository _ticketBlackCodeRep;
@@ -2746,6 +2746,32 @@ FROM
             return index;
         }
 
+        /// <summary>
+        /// 报批完成企微通知
+        /// </summary>
+        /// <param name="diid"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> EnterpriseWeChatNotificationAsyncBaoPi(int diid)
+        {
+            var users = new List<string>();
+            var ssd = _sqlSugar.Queryable<Sys_SetData>()
+            .First(x => x.Id == 1460);
+
+            try
+            {
+                users = JsonConvert.DeserializeObject<List<string>>(ssd.Remark);
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, ex.Message));
+            }
+
+            var res = await AppNoticeLibrary.SendUserMsg_BaoPi_ToUser(users, diid);
+            return Ok(JsonView(res));
+        }
+
+
         #endregion
 
         #region 团组&签证
@@ -2833,7 +2859,8 @@ FROM
                 return Ok(JsonView(false, "读取项目文件失败"));
             }
 
-            var fileReq = new DeepSeekFileUploadRequest() {
+            var fileReq = new DeepSeekFileUploadRequest()
+            {
                 Files = new List<IFormFile> { localFile, visaFile },
             };
             var filesResult = new List<FileUploadResult>();
@@ -2887,7 +2914,7 @@ FROM
                 var fileIds = filesResult.Where(x => x.Success).Select(x => x.FileId).ToList();
                 _logger.LogInformation("使用 {FileCount} 个文件进行聊天", fileIds.Count);
                 string question = string.Format("将上传的文件内容按照识别为JSON格式,并按照 AusNewVisaApplicationForm 指定的实体类结构进行映射。确保字段和值对应、文档中数据的完整性、复选框选择打勾后的文本。第一项从不识别\"比如美国(2024年7月29日)\"相关文字。");
-                var response = await _deepSeekService.ChatWithFilesAsync(fileIds,question);
+                var response = await _deepSeekService.ChatWithFilesAsync(fileIds, question);
 
                 return Ok(response);
             }
@@ -4098,7 +4125,7 @@ FROM
 
                                 if (priceExpNames != null && priceExpNames.Count > 0)
                                 {
-                                    _detail.PriceNameContent += $"({string.Join("+",priceExpNames)})"; 
+                                    _detail.PriceNameContent += $"({string.Join("+", priceExpNames)})";
                                 }
 
                                 _detail.PriceMsgContent = $@"邀请费用:{_ioa.InviteCost:#0.00} {inviteCurrCode}({inviteCurrName})<br/>" +

+ 33 - 0
OASystem/OASystem.Api/OAMethodLib/QiYeWeChatAPI/AppNotice/Library.cs

@@ -1545,6 +1545,39 @@ DateTime.Now.ToString("yyyy-MM-dd HH:mm"));
 
         #endregion
 
+        #region 报批通知
+        public static async Task<bool> SendUserMsg_BaoPi_ToUser(List<string> msgUserList, int diid)
+        {
+            var di = _grpDeleRep.Query<Grp_DelegationInfo>(s => s.IsDel == 0 && s.Id == diid).First();
+            if (di == null) return false;
+
+            msgUserList.Add("235");
+            msgUserList = msgUserList.Distinct().ToList();
+            List<string> qwUserIdList = GetQiyeChatUserIdList(msgUserList);
+            var resMsg = string.Format(@" ` 报批通知 `  
+> “{0}团组已完成报批,请进行下一步业务操作”
+- 客户单位:{1}
+- 出访日期:{2}
+- 天数:{3}
+- 人数:{4}
+",
+di.TeamName,
+di.ClientName,
+di.VisitDate.ToString("yyyy-MM-dd"),
+di.VisitDays,
+di.VisitPNumber);
+
+            ResponseBase result = await _qiYeWeChatApiService.GroupStatus_SendMessage_ToUser_Markdown(qwUserIdList, resMsg);
+            if (result.errcode != 0)
+            {
+                //抄送日志 
+                return false;
+            }
+            return true;
+
+        }
+        #endregion
+
         #region Helper
 
         private static string getClientNameStr(List<SimplClientInfo> list, string origin)