Browse Source

自定义微信消息

master
wugang 7 years ago
parent
commit
44eefeafb4
5 changed files with 169 additions and 0 deletions
  1. +1
    -0
      BWP.B3_YunKen.Web/BWP.B3_YunKen.Web.csproj
  2. +86
    -0
      BWP.B3_YunKen.Web/Pages/WeixinMessage_/CusAcceptWeixinMessageTemplate.cs
  3. +11
    -0
      BWP.B3_YunKen.Web/PluginClass.cs
  4. +70
    -0
      BWP.B3_YunKen/BLActions/CusrAcceptDoCheckSendWeixinMessage.cs
  5. +1
    -0
      BWP.B3_YunKen/BWP.B3_YunKen.csproj

+ 1
- 0
BWP.B3_YunKen.Web/BWP.B3_YunKen.Web.csproj View File

@ -194,6 +194,7 @@
</Compile>
<Compile Include="Pages\TypeIOCs\SaleOutStorePrintAfterAddParameters.cs" />
<Compile Include="Pages\Utils\Second_ConvertRatioRowManager.cs" />
<Compile Include="Pages\WeixinMessage_\CusAcceptWeixinMessageTemplate.cs" />
<Compile Include="Pages\YunKenDFEntityLink.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="PluginClass.cs" />


+ 86
- 0
BWP.B3_YunKen.Web/Pages/WeixinMessage_/CusAcceptWeixinMessageTemplate.cs View File

@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;
using BWP.B3Frameworks.BO;
using BWP.B3Frameworks.Utils;
using BWP.B3Sale.BL;
using Forks.EnterpriseServices.BusinessInterfaces;
namespace BWP.Web.Pages.WeixinMessage_
{
public class CusAcceptWeixinMessageTemplate : WeixinMessageUtil.IWeixinMessageView
{
WeixinMessage mMessage;
public CusAcceptWeixinMessageTemplate(WeixinMessage message)
{
mMessage = message;
}
public System.Web.UI.Control CreateContent()
{
var bl = BIFactory.Create<ICustomerAcceptBL>();
var cusAccept = bl.Load(mMessage.TargetID.Value);
var html = @"
<article class=""weui-article"">
<h1>{title}</h1>
<section>
<table border=""1"" cellspacing=""0"">
<tr><td></td><td>{AccountingUnit_ID}</td><td></td><td>{LoadTime}</td></tr>
<tr><td></td><td>{AcceptNumber}</td><td></td><td>{Money}</td></tr>
<tr><td></td><td>{Deliveryman_Name}</td><td></td><td>{Car_Name}</td></tr>
<tr><td></td><td>{FreightPrice}</td><td></td><td>{Customer_Name}</td></tr>
</table>
<table border=""1"" cellspacing=""0"" style=""margin-top:10px;"">
<tr><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr>
{trs}
</table>
</section>
</article>
";
html = html.Replace("{title}", mMessage.Title);
html = html.Replace("{AccountingUnit_ID}", cusAccept.AccountingUnit_ID == null ? "" : cusAccept.AccountingUnit_ID.Value.ToString()).Replace("{LoadTime}", cusAccept.LoadTime == null ? "" : cusAccept.LoadTime.Value.ToString()).Replace("{AcceptNumber}", cusAccept.AcceptNumber == null ? "" : cusAccept.AcceptNumber.Value.ToString()).Replace("{Money}", cusAccept.Money == null ? string.Empty : cusAccept.Money.Value.ToString()).Replace("{Deliveryman_Name}", cusAccept.Deliveryman_Name).Replace("{Car_Name}", cusAccept.Car_Name).Replace("{FreightPrice}", cusAccept.FreightPrice == null ? string.Empty : cusAccept.FreightPrice.Value.ToString()).Replace("{Customer_Name}", cusAccept.Customer_Name);
if (cusAccept.Details.Count() > 0) {
var str = new StringBuilder();
foreach (var detail in cusAccept.Details) {
str.Append("<str>");
str.Append("<td>");
str.Append(detail.Goods_Name);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.Goods_Spec);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.AcceptNum);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.Money);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.Unit);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.Goods_SecondUnit);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.BrandItem_Name);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.Remark);
str.Append("</td>");
str.Append("</str>");
}
html = html.Replace("{trs}", str.ToString());
}
return new LiteralControl(html);
}
public string GetTitle()
{
return mMessage.Title;
}
}
}

+ 11
- 0
BWP.B3_YunKen.Web/PluginClass.cs View File

@ -18,6 +18,10 @@ using BWP.Web.Pages.B3Sale.Bills.Verification_;
using BWP.Web.Pages.B3Sale.Bills.ReturnInStore_;
using BWP.Web.Pages.B3Sale.Bills.ReturnApplication_;
using BWP.B3Frameworks;
using BWP.B3Frameworks.Utils;
using System;
using BWP.Web.Pages;
using BWP.Web.Pages.WeixinMessage_;
namespace BWP.B3_YunKen.Web
{
@ -44,6 +48,7 @@ namespace BWP.B3_YunKen.Web
GlobalFlags.On(B3SaleConsts.Flags.UseCustomerAcceptDate);
GlobalFlags.On(B3SaleConsts.Flags.CustAcceptAnalyseUseDealerZone);
GlobalFlags.On(B3FrameworksConsts.GlobalFlags.);
GlobalFlags.On(B3SaleConsts.Flags.SetPriceByBrandItem);
WpfPageFactory.RegisterPageOverlay(typeof(OrderEdit).FullName, typeof(OrderEdit_Ext).FullName);
WpfPageFactory.RegisterPageOverlay(typeof(SaleOutStoreEdit).FullName, typeof(SaleOutStoreEdit_Ext).FullName);
WpfPageFactory.RegisterPageOverlay(typeof(SaleForecastEdit).FullName, typeof(SaleForecastEdit_Ext).FullName);
@ -62,6 +67,12 @@ namespace BWP.B3_YunKen.Web
WeChatDataTemplateNameAttribute.SetCustomName(typeof(Order), "耘垦销售订单");
WeChatDataTemplateNameAttribute.SetCustomName(typeof(SaleOutStore), "耘垦销售出库单");
WeChatDataTemplateNameAttribute.SetCustomName(typeof(SaleForecast), "耘垦销售预报");
WeixinMessageUtil.RegisterCustomView("耘垦客户验收", (message) => { return new CusAcceptWeixinMessageTemplate(message); });
}
public static bool TryGetViewCreator(string type, Func<int, int> creator)
{
return true;
}
public void OnUnitInit()


+ 70
- 0
BWP.B3_YunKen/BLActions/CusrAcceptDoCheckSendWeixinMessage.cs View File

@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BWP.B3Frameworks.BO;
using BWP.B3Frameworks.BO.NamedValueTemplate;
using BWP.B3Frameworks.Utils;
using BWP.B3Sale.BL;
using BWP.B3Sale.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.SqlDoms;
using TSingSoft.WebPluginFramework.BIPlugins.BLEvents;
using Forks.EnterpriseServices.BusinessInterfaces;
using BWP.B3Frameworks.BL;
namespace BWP.B3_YunKen.BLActions
{
public class CusrAcceptDoCheckSendWeixinMessage : IBLMethodAction
{
public string Description
{
get { return "【客户验收】审核时发送微信消息给{客户}和{销售人员}"; }
}
public void Execute(IDmoContext context, object customer, object parameter)
{
var dmo = customer as CustomerAccept;
if (dmo == null)
return;
string empUserName;
string cusUserName;
if (dmo.Employee_ID != null) {
empUserName = InnerBLUtil.GetDmoProperty<Employee, string>(context.Session, "User_Name", new Tuple<string, object>("Employee_ID", dmo.Employee_ID));
InsertExternalMessage(dmo, empUserName, context);
}
if (dmo.Customer_ID != null) {
cusUserName = InnerBLUtil.GetDmoProperty<Customer, string>(context.Session, "User_Name", new Tuple<string, object>("Customer_ID", dmo.Customer_ID));
InsertExternalMessage(dmo, cusUserName, context);
}
}
private void InsertExternalMessage(CustomerAccept accept, string userName, IDmoContext context)
{
var message = new WeixinMessage();
message.Title = "客户验收单No."+accept.ID;
message.TargetID = accept.ID;
message.Type = "耘垦客户验收";
var url = WeixinMessageUtil.NewWeixinMessageUrl(context.Session, message);
var externalMessageBL = BIFactory.Create<IExternalMessageBL>(context);
var externalMessage = new ExternalMessage();
externalMessage.Type = ExternalMessageType.;
externalMessage.Receiver = userName;
externalMessage.Url = url;
externalMessage.Subject = message.Title;
externalMessageBL.Insert(externalMessage);
}
public IList<string> Features
{
get { return new List<string>(); }
}
public string Name
{
get { return "B3_YunKen.【客户验收】审核时发送微信消息给{客户}和{销售人员}"; }
}
}
}

+ 1
- 0
BWP.B3_YunKen/BWP.B3_YunKen.csproj View File

@ -65,6 +65,7 @@
<Compile Include="B3YunKenOnlineConfiguration.cs" />
<Compile Include="BLActions\CusAcceptUpdateAcceptInfoBLAction.cs" />
<Compile Include="BLActions\CusAcceptUpdateDateAction.cs" />
<Compile Include="BLActions\CusrAcceptDoCheckSendWeixinMessage.cs" />
<Compile Include="BLActions\CustomerCreditPolicyBLAction.cs" />
<Compile Include="BLActions\OrderBLIsSetWrappageActions.cs" />
<Compile Include="BLActions\SaleForecastBLIsSetWrappageActions.cs" />


Loading…
Cancel
Save