/// <summary> /// 创建站内消息对象 /// </summary> /// <param name="senderId"></param> /// <param name="recipientId"></param> /// <param name="content"></param> /// <returns></returns> private IEnumerable<FapMessage> CreateMessage(string[] recipientId, string content) { List<FapMessage> fapMessages = new List<FapMessage>(); for (int i = 0; i < recipientId.Length; i++) { FapMessage message = new FapMessage(); message.Title = "流程提醒"; //message.SEmpUid = senderId; message.MsgContent = content; message.REmpUid = recipientId[i]; message.SendTime = DateTimeUtils.CurrentDateTimeStr; message.MsgCategory = FapMessageCategory.Notice; fapMessages.Add(message); } return fapMessages; }
public void PayrollOffNotice(string caseUid) { PayCase pc = _dbContext.Get <PayCase>(caseUid); if (pc.PayFlag == 0) { throw new FapException("薪资还未发放,还不能发送通知"); } string sql = $"select {pc.TableName}.EmpUid,Employee.Mailbox,Employee.EmpName from {pc.TableName} left join Employee on {pc.TableName}.EmpUid=Employee.Fid"; var empList = _dbContext.Query(sql); if (empList.Any()) { string mailContent = pc.PayYM + "份薪资已发放,请登录HCM系统查看。员工自助--》我的薪资"; string msgContent = pc.PayYM + "份薪资已发放。"; string sendTime = DateTimeUtils.CurrentDateTimeStr; List <string> lmail = new List <string>(); List <FapMessage> lmsg = new List <FapMessage>(); foreach (var emp in empList) { FapMessage message = new FapMessage { HasRead = 0, MsgCategory = "Notice", MsgContent = msgContent, REmpUid = emp.EmpUid, SendTime = sendTime, Title = "薪资发放通知" }; lmsg.Add(message); string mailBox = emp.Mailbox; if (mailBox.IsPresent()) { lmail.Add($"{emp.EmpName}<{emp.Mailbox}>"); } } _dbContext.InsertBatchSql <FapMessage>(lmsg); if (lmail.Any()) { FapMail fmail = new FapMail(); fmail.IsSeparate = 1; fmail.Recipient = "薪资套人员"; fmail.Subject = "薪资发放通知"; fmail.MailContent = mailContent; fmail.RecipientEmailAddress = string.Join(";", lmail); fmail.SendStatus = 0; _dbContext.Insert <FapMail>(fmail); } } }
/// <summary> /// 发送站内信 /// </summary> /// <param name="message"></param> public void SendMessage(FapMessage message) { _dataAccessor.Insert(message); }