Пример #1
0
        public WxMessageResult CoverMessage(string weixinId,
                                            string group,
                                            string libId,
                                            MessageItem item,
                                            string style,
                                            string parameters)
        {
            WxMessageResult result   = new WxMessageResult();
            string          strError = "";

            if (HttpContext.Current.Session[WeiXinConst.C_Session_sessioninfo] == null)
            {
                result.errorInfo = "session失效。";
                result.errorCode = -1;
                return(result);
            }
            SessionInfo sessionInfo = (SessionInfo)HttpContext.Current.Session[WeiXinConst.C_Session_sessioninfo];

            if (sessionInfo == null)
            {
                result.errorInfo = "session失效2。";
                result.errorCode = -1;
                return(result);
            }

            MessageItem returnItem = null;
            int         nRet       = dp2WeiXinService.Instance.CoverMessage(sessionInfo.Active,
                                                                            weixinId,
                                                                            group,
                                                                            libId,
                                                                            item,
                                                                            style,
                                                                            parameters,
                                                                            out returnItem,
                                                                            out strError);

            if (nRet == -1)
            {
                result.errorCode = -1;
                result.errorInfo = strError;
                return(result);
            }

            List <MessageItem> list = new List <MessageItem>();

            list.Add(returnItem);
            result.items = list;
            return(result);
        }
Пример #2
0
        public WxMessageResult Delete(string weixinId,
                                      string group, string libId, string msgId, string userName)
        {
            WxMessageResult result = null;

            string[] ids = msgId.Split(new char[] { ',' });
            foreach (string id in ids)
            {
                MessageItem item = new MessageItem();
                item.id      = id;
                item.creator = userName;
                //style == delete
                result = this.CoverMessage(weixinId, group, libId, item, "delete", "");
                if (result.errorCode == -1)
                {
                    return(result);
                }
            }
            return(result);
        }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="weixinId"></param>
        /// <param name="libId"></param>
        /// <param name="msgId"></param>
        /// <param name="style">browse/full</param>
        /// <returns></returns>
        public WxMessageResult GetMessage(string weixinId,
                                          string group,
                                          string libId,
                                          string msgId,
                                          string subject,
                                          string style)
        {
            WxMessageResult result   = new WxMessageResult();
            string          strError = "";

            strError = dp2WeiXinService.checkGroup(group);
            if (strError != "")
            {
                result.errorInfo = strError;
                result.errorCode = -1;
                return(result);
            }

            if (HttpContext.Current.Session[WeiXinConst.C_Session_sessioninfo] == null)
            {
                result.errorInfo = "session失效。";
                result.errorCode = -1;
                return(result);
            }
            SessionInfo sessionInfo = (SessionInfo)HttpContext.Current.Session[WeiXinConst.C_Session_sessioninfo];

            if (sessionInfo == null)
            {
                result.errorInfo = "session失效2。";
                result.errorCode = -1;
                return(result);
            }

            // 检查下有无绑定工作人员账号
            result.userName = "";
            string userName    = "";
            string libraryCode = "";

            if (string.IsNullOrEmpty(weixinId) == false)
            {
                // 查找当前微信用户绑定的工作人员账号

                WxUserItem user = sessionInfo.Active; //WxUserDatabase.Current.GetWorker(weixinId, libId);
                if (user != null)
                {
                    libraryCode = user.bindLibraryCode;
                    // 检索是否有权限 _wx_setbbj
                    string needRight = dp2WeiXinService.GetNeedRight(group);

                    LibEntity lib = dp2WeiXinService.Instance.GetLibById(libId);
                    if (lib == null)
                    {
                        result.errorInfo = "未找到id为[" + libId + "]的图书馆定义。";
                        result.errorCode = -1;
                        return(result);
                    }

                    int nHasRights = dp2WeiXinService.Instance.CheckRights(user,
                                                                           lib,
                                                                           needRight,
                                                                           out strError);
                    if (nHasRights == -1)
                    {
                        result.errorInfo = strError;
                        result.errorCode = -1;
                        return(result);
                    }
                    if (nHasRights == 1)
                    {
                        userName = user.userName;
                    }
                    else
                    {
                        userName = "";
                    }
                }
            }
            result.userName = userName;

            List <MessageItem> list = null;
            int nRet = dp2WeiXinService.Instance.GetMessage(group,
                                                            libId + "/" + libraryCode,
                                                            msgId,
                                                            subject,
                                                            style,
                                                            out list,
                                                            out strError);

            if (nRet == -1)
            {
                result.errorCode = -1;
                result.errorInfo = strError;
            }
            result.items = list;

            result.errorCode = nRet;
            result.errorInfo = strError;

            return(result);
        }