diff --git a/B3WeChat/Rpcs/ApproveMessageRpc.cs b/B3WeChat/Rpcs/ApproveMessageRpc.cs index f9642a7..e250dda 100644 --- a/B3WeChat/Rpcs/ApproveMessageRpc.cs +++ b/B3WeChat/Rpcs/ApproveMessageRpc.cs @@ -48,14 +48,18 @@ namespace BWP.B3WeChat.Rpcs ApproveMessageBL.Instance.Insert(message); -#if !DEBUG - var mainSystemConfig = new MainSystemConfig(); - var internetAccessAddress = mainSystemConfig.InternetAccessAddress.Value; - var originUrl = internetAccessAddress + "app/index.html?messageid=" + message.ID; + var messageid = message.ID; + var originUrl = GetMessageInternetAccessUrl(messageid); SendMessageUtil.SendTodoMessage(openID, context.CustomerName, message.Username, "微信工作流审批", DateTime.Now, originUrl); + } -#endif + public static string GetMessageInternetAccessUrl(string messageid) + { + var mainSystemConfig = new MainSystemConfig(); + var internetAccessAddress = mainSystemConfig.InternetAccessAddress.Value; + var originUrl = internetAccessAddress + "app/index.html?messageid=" + messageid; + return originUrl; } diff --git a/B3WeChat/Rpcs/ClientRpc.cs b/B3WeChat/Rpcs/ClientRpc.cs index 6ed1654..b8ece65 100644 --- a/B3WeChat/Rpcs/ClientRpc.cs +++ b/B3WeChat/Rpcs/ClientRpc.cs @@ -1,5 +1,6 @@ using Bwp.MainSystem.BO; using BWP.B3WeChat.BO; +using BWP.B3WeChat.BO.NamedValueTemplate; using BWP.B3WeChat.Utils; using Forks.EnterpriseServices.DomainObjects2; using Forks.EnterpriseServices.DomainObjects2.DQuery; @@ -40,6 +41,29 @@ namespace BWP.B3WeChat.Rpcs SendMessageUtil.SendSystemMessage(CustomerUserContext.Current.GetOpenID(username), username, content); } + [Rpc] + public static void SendFollowMessage(string username, string content, string businessNo) + { + var query = new DQueryDom(new JoinAlias(typeof(ApproveMessage))); + query.Where.Conditions.Add(DQCondition.EQ("CustomerCode", CustomerUserContext.Current.CustomerCode)); + query.Where.Conditions.Add(DQCondition.EQ("BusinessNo", businessNo)); + query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("ApproveResult"), + DQExpression.Value(审批状态.已审批), DQExpression.Value(审批状态.已退回))); + query.Range = SelectRange.Top(1); + query.Columns.Add(DQSelectColumn.Field("ID")); + var messageid = query.EExecuteScalar(); + if (string.IsNullOrEmpty(messageid)) + { + Send(username, content); + return; + } + var url = ApproveMessageRpc.GetMessageInternetAccessUrl(messageid); + SendMessageUtil.SendSystemMessage(CustomerUserContext.Current.GetOpenID(username), username, content, url); + + } + + + static string GetOpenId(string username) { string customer = GetDeviceNumber(); diff --git a/B3WeChat/Utils/SendMessageUtil.cs b/B3WeChat/Utils/SendMessageUtil.cs index cf7334a..062d633 100644 --- a/B3WeChat/Utils/SendMessageUtil.cs +++ b/B3WeChat/Utils/SendMessageUtil.cs @@ -72,14 +72,14 @@ namespace BWP.B3WeChat.Utils //时间:{{keyword1.DATA}} //描述:{{keyword2.DATA}} //{{remark.DATA}} - public static void SendSystemMessage(string openID,string name,string content) + public static void SendSystemMessage(string openID,string name,string content,string url="") { var dict = new Dictionary(); var first = string.Format("你好,ERP系统中的用户{0},系统发给你下面的消息", name); dict.Add("first",new ValueColor(first)); dict.Add("keyword1", new ValueColor(FormatTime(DateTime.Now))); dict.Add("keyword2", new ValueColor(content)); - InOutMessageUtil.SendTemplateMessage(openID, "QEgY8xa4BuAAcyTex1qXuN9KeKM93O9XHCz2Ti-oCpc", dict); + InOutMessageUtil.SendTemplateMessage(openID, "QEgY8xa4BuAAcyTex1qXuN9KeKM93O9XHCz2Ti-oCpc", dict, url); } public static void SendCloseMessage(string openID, string messageID,string description)