diff --git a/B3WeChat/Rpcs/WeChatUserRpc.cs b/B3WeChat/Rpcs/WeChatUserRpc.cs index 1df885d..4734505 100644 --- a/B3WeChat/Rpcs/WeChatUserRpc.cs +++ b/B3WeChat/Rpcs/WeChatUserRpc.cs @@ -100,7 +100,7 @@ namespace BWP.B3WeChat.Rpcs } [Rpc] - public static string QueryScanLoginInfo(long requestID) + public static string[] QueryScanLoginInfo(long requestID) { var request = WebBLUtil.GetSingleDmo(new Tuple("ID", requestID)); if (request == null) @@ -116,20 +116,13 @@ namespace BWP.B3WeChat.Rpcs var queryUser = new DQueryDom(new JoinAlias(typeof(CustomerUser))); queryUser.Where.Conditions.Add(DQCondition.EQ("CustomerCode", request.CustomerCode)); queryUser.Where.Conditions.Add(DQCondition.EQ("OpenID", WeChatUserContext.Current.OpenID)); - queryUser.Range = SelectRange.Top(1); queryUser.Columns.Add(DQSelectColumn.Field("CustomerUsername")); - var username = queryUser.EExecuteScalar(); - if (string.IsNullOrEmpty(username)) - { - throw new Exception("未能发现关联的用户"); - } - - return username; + return queryUser.EExecuteList().ToArray(); } [Rpc] - public static void ScanLoginConfirm(long requestID) + public static void ScanLoginConfirm(long requestID,string username) { var request = WebBLUtil.GetSingleDmo(new Tuple("ID", requestID)); if (request == null) @@ -141,7 +134,11 @@ namespace BWP.B3WeChat.Rpcs throw new Exception("已经确认过了"); } - var username = QueryScanLoginInfo(requestID); + var userlist = QueryScanLoginInfo(requestID); + if (!userlist.Contains(username)) + { + throw new Exception("用户不在微信号绑定的用户中"); + } request.Confirmed = true; request.CustomerUsername = username;