Browse Source

审批消息支持模板

master
yashen 9 years ago
parent
commit
0870fd25ec
6 changed files with 49 additions and 50 deletions
  1. +1
    -1
      B3WeChat.Web/Pages/B3WeChat/ContentTemplate_/ContentTemplateEdit.cs
  2. +35
    -23
      B3WeChat/CustomerUserContext.cs
  3. +7
    -20
      B3WeChat/Rpcs/ApproveMessageRpc.cs
  4. +5
    -0
      WebFolder/app/app.03d376cb.js
  5. +0
    -5
      WebFolder/app/app.a1509feb.js
  6. +1
    -1
      WebFolder/app/index.html

+ 1
- 1
B3WeChat.Web/Pages/B3WeChat/ContentTemplate_/ContentTemplateEdit.cs View File

@ -18,7 +18,7 @@ namespace BWP.Web.Pages.B3WeChat.ContentTemplate_
{ {
var layoutManager = new LayoutManager("", mDFInfo, mDFContainer); var layoutManager = new LayoutManager("", mDFInfo, mDFContainer);
layoutManager.Add("Text", InputCreator.CreateTextArea(160, 400));
layoutManager.Add("Text", InputCreator.CreateTextArea(480, 640));
var config = new AutoLayoutConfig(); var config = new AutoLayoutConfig();
layoutManager.Config = config; layoutManager.Config = config;
config.Add("Name"); config.Add("Name");


+ 35
- 23
B3WeChat/CustomerUserContext.cs View File

@ -1,4 +1,4 @@
 using Bwp.MainSystem.BO;
using Bwp.MainSystem.BO;
using BWP.B3WeChat.BO; using BWP.B3WeChat.BO;
using Forks.EnterpriseServices.DomainObjects2; using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery; using Forks.EnterpriseServices.DomainObjects2.DQuery;
@ -7,50 +7,62 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Web;
using TSingSoft.WebPluginFramework; using TSingSoft.WebPluginFramework;
namespace BWP.B3WeChat namespace BWP.B3WeChat
{ {
public class CustomerUserContext public class CustomerUserContext
{ {
CustomerUser mUser;
public CustomerUser User
string mCustomerCode;
public string CustomerCode
{ {
get get
{ {
return mUser;
return mCustomerCode;
} }
} }
[ThreadStatic]
static Lazy<CustomerUserContext> mCurrent = new Lazy<CustomerUserContext>(() =>
public string GetOpenID(string customerUsername)
{ {
var user = BLContext.User;
var query = new DQueryDom(new JoinAlias(typeof(DeviceAuthentication)));
query.Where.Conditions.Add(DQCondition.EQ("Ticket", user.UserTag.ToString("N")));
query.Columns.Add(DQSelectColumn.Field("DeviceNumber"));
var query = new DQueryDom(new JoinAlias(typeof(CustomerUser)));
query.Where.Conditions.Add(DQCondition.EQ("CustomerCode", CustomerCode));
query.Where.Conditions.Add(DQCondition.EQ("CustomerUsername", customerUsername));
query.Columns.Add(DQSelectColumn.Field("OpenID"));
query.Range = SelectRange.Top(1); query.Range = SelectRange.Top(1);
var deviceNumber = query.EExecuteScalar<string>();
var context = new CustomerUserContext();
var result = query.EExecuteScalar<string>();
return result;
}
var dmoQuery = new DmoQuery(typeof(CustomerUser));
dmoQuery.Where.Conditions.Add(DQCondition.EQ("CustomerCode", deviceNumber));
dmoQuery.Where.Conditions.Add(DQCondition.EQ("CustomerUsername", user.Name));
dmoQuery.Range = SelectRange.Top(1);
context.mUser = dmoQuery.EExecuteScalar<CustomerUser>();
return context;
});
public static CustomerUserContext Current public static CustomerUserContext Current
{ {
get get
{ {
return mCurrent.Value;
var httpContext = HttpContext.Current;
var key = "CustomerUserContext";
if (httpContext != null && httpContext.Items.Contains(key))
{
return (CustomerUserContext)httpContext.Items[key];
}
else
{
var user = BLContext.User;
var query = new DQueryDom(new JoinAlias(typeof(DeviceAuthentication)));
query.Where.Conditions.Add(DQCondition.EQ("Ticket", user.UserTag.ToString("N")));
query.Columns.Add(DQSelectColumn.Field("DeviceNumber"));
query.Range = SelectRange.Top(1);
var deviceNumber = query.EExecuteScalar<string>();
var context = new CustomerUserContext();
context.mCustomerCode = deviceNumber;
if (httpContext != null)
{
httpContext.Items[key] = context;
}
return context;
}
} }
} }


+ 7
- 20
B3WeChat/Rpcs/ApproveMessageRpc.cs View File

@ -24,44 +24,31 @@ namespace BWP.B3WeChat.Rpcs
{ {
static IApproveMessageBL bl = BIFactory.Create<IApproveMessageBL>(); static IApproveMessageBL bl = BIFactory.Create<IApproveMessageBL>();
const string authUrlTemplate = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={APPID}&redirect_uri={REDIRECT_URI}&response_type=code&scope=snsapi_base#wechat_redirect";
[Rpc] [Rpc]
public static void Insert(ApproveMessage message) public static void Insert(ApproveMessage message)
{ {
var deviceNumber = ClientRpc.GetDeviceNumber();
message.CustomerCode = deviceNumber;
var query = new DQueryDom(new JoinAlias(typeof(CustomerUser)));
query.Where.Conditions.Add(DQCondition.EQ("CustomerCode", deviceNumber));
query.Where.Conditions.Add(DQCondition.EQ("CustomerUsername", message.Username));
query.Columns.Add(DQSelectColumn.Field("OpenID"));
query.Range = SelectRange.Top(1);
var openID = query.EExecuteScalar<string>();
var context = CustomerUserContext.Current;
message.CustomerCode = context.CustomerCode;
var openID = context.GetOpenID(message.Username);
if (string.IsNullOrEmpty(openID)) if (string.IsNullOrEmpty(openID))
{ {
throw new Exception("审批用户没有关注公众号"); throw new Exception("审批用户没有关注公众号");
} }
message.OpenID = openID; message.OpenID = openID;
ApproveMessageBL.Instance.Insert(message); ApproveMessageBL.Instance.Insert(message);
#if !DEBUG
var mainSystemConfig = new MainSystemConfig(); var mainSystemConfig = new MainSystemConfig();
var internetAccessAddress = mainSystemConfig.InternetAccessAddress.Value; var internetAccessAddress = mainSystemConfig.InternetAccessAddress.Value;
var originUrl = internetAccessAddress + "app/index.html?messageid=" + message.ID; var originUrl = internetAccessAddress + "app/index.html?messageid=" + message.ID;
var wechatmessage = string.Format("ERP系统给你的用户{0}发送了一个消息待您审批", message.Username); var wechatmessage = string.Format("ERP系统给你的用户{0}发送了一个消息待您审批", message.Username);
var timeStr = DateTime.Now.ToLongTimeString(); var timeStr = DateTime.Now.ToLongTimeString();
SendMessageUtil.SendInformInfo(message.OpenID, wechatmessage, timeStr, message.Title, message.Username, BLContext.ClientIP, timeStr, "", originUrl);
SendMessageUtil.SendInformInfo(message.OpenID, wechatmessage, timeStr, message.Title, message.Username, BLContext.ClientIP, timeStr, "", originUrl);
#endif
} }


+ 5
- 0
WebFolder/app/app.03d376cb.js
File diff suppressed because it is too large
View File


+ 0
- 5
WebFolder/app/app.a1509feb.js
File diff suppressed because it is too large
View File


+ 1
- 1
WebFolder/app/index.html View File

@ -22,7 +22,7 @@
<body ontouchstart> <body ontouchstart>
<div class="container" id="container"></div> <div class="container" id="container"></div>
<script src="app.a1509feb.js"></script>
<script src="app.03d376cb.js"></script>
</body> </body>
</html> </html>

Loading…
Cancel
Save