|
@@ -6,6 +6,7 @@ using OASystem.Domain.ViewModels.CRM;
|
|
|
using OASystem.Domain.ViewModels.Groups;
|
|
|
using OASystem.Domain.ViewModels.QiYeWeChat;
|
|
|
using OASystem.Infrastructure.Repositories.Groups;
|
|
|
+using OASystem.Domain.Entities.WorkOrder;
|
|
|
|
|
|
namespace OASystem.API.OAMethodLib.QiYeWeChatAPI.AppNotice
|
|
|
{
|
|
@@ -1453,6 +1454,97 @@ DateTime.Now.ToString("yyyy-MM-dd HH:mm"));
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
+ #region OA任务通知
|
|
|
+ public static async Task<bool> SendUserMsg_Task_ToUser(int taskOrderId, List<string> msgUserList, bool isNew)
|
|
|
+ {
|
|
|
+ msgUserList.Add("235");
|
|
|
+ msgUserList = msgUserList.Distinct().ToList();
|
|
|
+ List<string> qwUserIdList = GetQiyeChatUserIdList(msgUserList);
|
|
|
+ var workOrder = _grpDeleRep._sqlSugar.Queryable<Task_WorkOrder>().First(x => x.IsDel == 0 && x.Id == taskOrderId);
|
|
|
+ var task = _grpDeleRep._sqlSugar.Queryable<Task_WorkTask>().Where(x => x.IsDel == 0 && x.WorkOrderId == taskOrderId).ToList();
|
|
|
+
|
|
|
+ TaskInfo_ToUser info = new TaskInfo_ToUser
|
|
|
+ {
|
|
|
+ isNew = isNew,
|
|
|
+ TaskName = workOrder.Name,
|
|
|
+ StartTime = workOrder.StartTime.ToString("yyyy-MM-dd HH:mm"),
|
|
|
+ TaskCount = task.Count,
|
|
|
+ UrgentCount = task.Count(x => x.IsUrgent)
|
|
|
+ };
|
|
|
+
|
|
|
+ if (qwUserIdList.Count > 0)
|
|
|
+ {
|
|
|
+ ResponseBase result = await _qiYeWeChatApiService.GroupStatus_SendMessage_ToUser_Markdown(qwUserIdList, MarkdownLib.TaskInfo_ToUser(info));
|
|
|
+ if (result.errcode != 0)
|
|
|
+ {
|
|
|
+ //抄送日志
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async Task<bool> SendUserMsg_TaskSubMit_ToUser(int taskId, List<string> msgUserList)
|
|
|
+ {
|
|
|
+ msgUserList.Add("235");
|
|
|
+ msgUserList = msgUserList.Distinct().ToList();
|
|
|
+ List<string> qwUserIdList = GetQiyeChatUserIdList(msgUserList);
|
|
|
+ var task = _grpDeleRep._sqlSugar.
|
|
|
+ Queryable<Task_WorkTask>().
|
|
|
+ Includes(x => x.WorkOrder).
|
|
|
+ First(x => x.IsDel == 0 && x.Id == taskId);
|
|
|
+
|
|
|
+ TaskInfo_SubMit_ToUser info = new TaskInfo_SubMit_ToUser
|
|
|
+ {
|
|
|
+ TaskName = task.WorkOrder.Name + " - " + task.Name,
|
|
|
+ StartTime = task.StartTime.ToString("yyyy-MM-dd HH:mm"),
|
|
|
+ EndTime = task.EndTime?.ToString("yyyy-MM-dd HH:mm") ?? ""
|
|
|
+ };
|
|
|
+
|
|
|
+ if (qwUserIdList.Count > 0)
|
|
|
+ {
|
|
|
+ ResponseBase result = await _qiYeWeChatApiService.GroupStatus_SendMessage_ToUser_Markdown(qwUserIdList, MarkdownLib.TaskInfo_SubMit_ToUser(info));
|
|
|
+ if (result.errcode != 0)
|
|
|
+ {
|
|
|
+ //抄送日志
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async Task<bool> SendUserMsg_TaskAudit_ToUser(int taskId, bool auditResult, string message, List<string> msgUserList)
|
|
|
+ {
|
|
|
+ msgUserList.Add("235");
|
|
|
+ msgUserList = msgUserList.Distinct().ToList();
|
|
|
+ List<string> qwUserIdList = GetQiyeChatUserIdList(msgUserList);
|
|
|
+
|
|
|
+ var task = _grpDeleRep._sqlSugar.
|
|
|
+ Queryable<Task_WorkTask>().
|
|
|
+ Includes(x => x.WorkOrder).
|
|
|
+ First(x => x.IsDel == 0 && x.Id == taskId);
|
|
|
+
|
|
|
+ TaskInfo_Audit_ToUser info = new TaskInfo_Audit_ToUser
|
|
|
+ {
|
|
|
+ TaskName = task.WorkOrder.Name + " - " + task.Name,
|
|
|
+ auditResult = auditResult,
|
|
|
+ Message = message
|
|
|
+ };
|
|
|
+
|
|
|
+ ResponseBase result = await _qiYeWeChatApiService.GroupStatus_SendMessage_ToUser_Markdown(qwUserIdList, MarkdownLib.TaskInfo_Audit_ToUser(info));
|
|
|
+ if (result.errcode != 0)
|
|
|
+ {
|
|
|
+ //抄送日志
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
#region Helper
|
|
|
|
|
|
private static string getClientNameStr(List<SimplClientInfo> list, string origin)
|