Beispiel #1
0
 public JsonResult Create(WC_UserModel model)
 {
     model.Id = ResultHelper.NewId;
     if (model != null && ModelState.IsValid)
     {
         if (m_BLL.Create(ref errors, model))
         {
             LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",OpenId" + model.OpenId, "成功", "创建", "WC_User");
             return(Json(JsonHandler.CreateMessage(1, Resource.InsertSucceed)));
         }
         else
         {
             string ErrorCol = errors.Error;
             LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",OpenId" + model.OpenId + "," + ErrorCol, "失败", "创建", "WC_User");
             return(Json(JsonHandler.CreateMessage(0, Resource.InsertFail + ErrorCol)));
         }
     }
     else
     {
         return(Json(JsonHandler.CreateMessage(0, Resource.InsertFail)));
     }
 }
Beispiel #2
0
        public ActionResult MoveUser(string userids, string groupid)
        {
            WC_OfficalAccountsModel wcmodel = account_BLL.GetCurrentAccount();
            List <string>           itemstr = userids.Split(',').ToList();

            foreach (var item in itemstr)
            {
                ViewBag.Perm = GetPermission();
                WC_UserModel model = m_BLL.GetById(item);
                model.GroupId = groupid;
                if (m_BLL.Edit(ref errors, model))
                {
                    LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",OpenId" + model.OpenId, "成功", "修改", "WC_User");
                }
                else
                {
                    string ErrorCol = errors.Error;
                    LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",OpenId" + model.OpenId + "," + ErrorCol, "失败", "修改", "WC_User");
                    return(Json(JsonHandler.CreateMessage(0, Resource.EditFail + ErrorCol)));
                }
            }
            return(Json(JsonHandler.CreateMessage(1, Resource.EditSucceed)));
        }
Beispiel #3
0
        /// <summary>
        /// 校验Excel数据,这个方法一般用于重写校验逻辑
        /// </summary>
        public virtual bool CheckImportData(string fileName, List <WC_UserModel> list, ref ValidationErrors errors)
        {
            var targetFile = new FileInfo(fileName);

            if (!targetFile.Exists)
            {
                errors.Add("导入的数据文件不存在");
                return(false);
            }

            var excelFile = new ExcelQueryFactory(fileName);

            //对应列头
            excelFile.AddMapping <WC_UserModel>(x => x.OpenId, "OpenId");
            excelFile.AddMapping <WC_UserModel>(x => x.NickName, "NickName");
            excelFile.AddMapping <WC_UserModel>(x => x.Sex, "Sex");
            excelFile.AddMapping <WC_UserModel>(x => x.Language, "Language");
            excelFile.AddMapping <WC_UserModel>(x => x.City, "City");
            excelFile.AddMapping <WC_UserModel>(x => x.Province, "Province");
            excelFile.AddMapping <WC_UserModel>(x => x.Country, "Country");
            excelFile.AddMapping <WC_UserModel>(x => x.HeadImgUrl, "HeadImgUrl");
            excelFile.AddMapping <WC_UserModel>(x => x.SubscribeTime, "SubscribeTime");
            excelFile.AddMapping <WC_UserModel>(x => x.UnionId, "UnionId");
            excelFile.AddMapping <WC_UserModel>(x => x.Remark, "Remark");
            excelFile.AddMapping <WC_UserModel>(x => x.GroupId, "GroupId");
            excelFile.AddMapping <WC_UserModel>(x => x.TagidList, "TagidList");
            excelFile.AddMapping <WC_UserModel>(x => x.Subscribe, "Subscribe");
            excelFile.AddMapping <WC_UserModel>(x => x.OfficalAccountId, "OfficalAccountId");

            //SheetName
            var excelContent = excelFile.Worksheet <WC_UserModel>(0);
            int rowIndex     = 1;

            //检查数据正确性
            foreach (var row in excelContent)
            {
                var errorMessage = new StringBuilder();
                var entity       = new WC_UserModel();
                entity.Id               = row.Id;
                entity.OpenId           = row.OpenId;
                entity.NickName         = row.NickName;
                entity.Sex              = row.Sex;
                entity.Language         = row.Language;
                entity.City             = row.City;
                entity.Province         = row.Province;
                entity.Country          = row.Country;
                entity.HeadImgUrl       = row.HeadImgUrl;
                entity.SubscribeTime    = row.SubscribeTime;
                entity.UnionId          = row.UnionId;
                entity.Remark           = row.Remark;
                entity.GroupId          = row.GroupId;
                entity.TagidList        = row.TagidList;
                entity.Subscribe        = row.Subscribe;
                entity.OfficalAccountId = row.OfficalAccountId;

                //=============================================================================
                if (errorMessage.Length > 0)
                {
                    errors.Add(string.Format(
                                   "第 {0} 列发现错误:{1}{2}",
                                   rowIndex,
                                   errorMessage,
                                   "<br/>"));
                }
                list.Add(entity);
                rowIndex += 1;
            }
            if (errors.Count > 0)
            {
                return(false);
            }
            return(true);
        }
Beispiel #4
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            ValidationErrors errors = new ValidationErrors();

            using (DBContainer db = new DBContainer())
            {
                IWC_OfficalAccountsBLL account_BLL = new WC_OfficalAccountsBLL()
                {
                    m_Rep = new WC_OfficalAccountsRepository(db)
                };

                //获得当前公众号
                WC_OfficalAccountsModel account = account_BLL.GetById(Id);

                //将用户提取到本地数据库
                WC_UserModel userModel = new WC_UserModel();
                IWC_UserBLL  user_BLL  = new WC_UserBLL()
                {
                    m_Rep = new WC_UserRepository(db)
                };

                UserInfoJson userJson = UserApi.Info(account.AccessToken, requestMessage.FromUserName);
                userModel.Id               = ResultHelper.NewId;
                userModel.OpenId           = userJson.openid;
                userModel.NickName         = userJson.nickname;
                userModel.Sex              = userJson.sex;
                userModel.Language         = userJson.language;
                userModel.City             = userJson.city;
                userModel.Province         = userJson.province;
                userModel.Country          = userJson.country;
                userModel.HeadImgUrl       = userJson.headimgurl;
                userModel.SubscribeTime    = ResultHelper.GetTimeByLong(userJson.subscribe_time);
                userModel.UnionId          = userJson.unionid;
                userModel.Remark           = userJson.remark;
                userModel.GroupId          = userJson.groupid.ToString();
                userModel.TagidList        = string.Join(",", userJson.tagid_list.ToArray());
                userModel.Subscribe        = userJson.subscribe;
                userModel.OfficalAccountId = account.Id;
                user_BLL.Create(ref errors, userModel);
                IWC_MessageResponseRepository m_Rep = new WC_MessageResponseRepository(db);
                //订阅回复
                List <WC_MessageResponse> messageList = m_Rep.GetSubscribeResponseContent(account.Id);
                if (messageList.Count() > 0)
                {
                    if (messageList[0].Category == (int)WeChatReplyCategory.Text)
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageText>();
                        responseMessage.CreateTime   = ResultHelper.NowTime;
                        responseMessage.ToUserName   = requestMessage.FromUserName;
                        responseMessage.FromUserName = account.OfficalId;
                        responseMessage.Content      = messageList[0].TextContent;
                        return(responseMessage);
                    }
                    //图文方式
                    else if (messageList[0].Category == (int)WeChatReplyCategory.Image)
                    {
                        var responseMessage = CreateResponseMessage <ResponseMessageNews>();
                        foreach (var model in messageList)
                        {
                            responseMessage.Articles.Add(new Article()
                            {
                                Title       = model.TextContent,
                                Description = model.ImgTextContext,
                                PicUrl      = WebChatPara.SiteUrl + model.ImgTextUrl,
                                Url         = model.ImgTextLink
                            });
                        }
                        return(responseMessage);
                    }    //一般很少用到
                    else if (messageList[0].Category == (int)WeChatReplyCategory.Voice)
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageMusic>();
                        responseMessage.Music.MusicUrl    = WebChatPara.SiteUrl + messageList[0].MeidaUrl;
                        responseMessage.Music.Title       = messageList[0].TextContent;
                        responseMessage.Music.Description = messageList[0].Remark;
                        return(responseMessage);
                    }
                }



                var errorResponseMessage = requestMessage.CreateResponseMessage <ResponseMessageText>();
                return(errorResponseMessage);
            }
        }