示例#1
0
        /// <summary>
        /// 同步一个用户信息,如果库里存在,则修改,不存在,则新增
        /// </summary>
        /// <param name="userDetail"></param>
        private int InsertUserInfo(string wxid, string accessToken, List <string> openidStr, DateTime updateTime)
        {
            int totCount = 0;
            //   将数据插入到数据库里
            UsersEntity uEntity = new UsersEntity();

            try
            {
                UserInfoJson userDetail = new UserInfoJson();
                for (int i = 0; i < openidStr.Count; i++)
                {
                    userDetail = UserApi.Info(accessToken, openidStr[i]);
                    uEntity    = app.GetForm(openidStr[i]);
                    bool isAdd = true;
                    if (uEntity == null)
                    {
                        isAdd   = true;
                        uEntity = new UsersEntity();
                    }
                    else
                    {
                        isAdd = false;
                    }
                    uEntity.OpenId        = openidStr[i];
                    uEntity.Nickname      = userDetail.nickname;
                    uEntity.Sex           = userDetail.sex.ToString();
                    uEntity.City          = userDetail.city;
                    uEntity.Country       = userDetail.country;
                    uEntity.Province      = userDetail.province;
                    uEntity.Language      = userDetail.language;
                    uEntity.HeadImgUrl    = userDetail.headimgurl;
                    uEntity.SubscribeTime = userDetail.subscribe_time.ToString();
                    uEntity.WeixinId      = wxid;
                    uEntity.UpdateDate    = updateTime;
                    uEntity.Status        = 1;

                    //查询分组号
                    GetGroupIdResult gid = GroupsApi.GetId(accessToken, openidStr[i]);
                    uEntity.GroupId = gid.groupid;

                    if (isAdd)
                    {
                        //新增
                        uEntity.CreateDate = DateTime.Now;
                        app.SubmitForm(uEntity, string.Empty);
                        totCount++;
                    }
                    else
                    {
                        //修改
                        app.SubmitForm(uEntity, uEntity.OpenId);
                        totCount++;
                    }
                }
                return(totCount);
            }
            catch (Exception ex)
            {
                throw new Exception("用户信息同步失败!" + ex.Message);
            }
        }
示例#2
0
        /// <summary>
        /// 同步一个用户信息,如果库里存在,则修改,不存在,则新增
        /// </summary>
        /// <param name="userDetail"></param>
        private int InsertUserInfo(int wid, string accessToken, List <string> openidStr, DateTime updateTime)
        {
            int totCount = 0;

            //   将数据插入到数据库里
            BLL.wx_crm_users   uBll    = new BLL.wx_crm_users();
            Model.wx_crm_users uEntity = new Model.wx_crm_users();
            try
            {
                UserInfoJson userDetail = new UserInfoJson();
                for (int i = 0; i < openidStr.Count; i++)
                {
                    userDetail = Senparc.Weixin.MP.AdvancedAPIs.User.Info(accessToken, openidStr[i]);
                    uEntity    = uBll.GetModel(wid, openidStr[i]);
                    bool isAdd = true;
                    if (uEntity == null)
                    {
                        isAdd   = true;
                        uEntity = new Model.wx_crm_users();
                    }
                    else
                    {
                        isAdd = false;
                    }
                    uEntity.wid            = wid;
                    uEntity.openid         = openidStr[i];
                    uEntity.nickname       = userDetail.nickname;
                    uEntity.sex            = userDetail.sex.ToString();
                    uEntity.city           = userDetail.city;
                    uEntity.country        = userDetail.country;
                    uEntity.province       = userDetail.province;
                    uEntity.language       = userDetail.language;
                    uEntity.headimgurl     = userDetail.headimgurl;
                    uEntity.subscribe_time = userDetail.subscribe_time.ToString();

                    uEntity.updateDate = updateTime;
                    uEntity.uStatus    = 1;

                    //查询分组号
                    GetGroupIdResult gid = Groups.GetId(accessToken, openidStr[i]);
                    uEntity.groupId = gid.groupid;

                    if (isAdd)
                    {
                        //新增
                        uEntity.createDate = DateTime.Now;
                        int succ = uBll.Add(uEntity);
                        if (succ > 0)
                        {
                            totCount++;
                        }
                    }
                    else
                    {
                        //修改
                        bool succ = uBll.Update(uEntity);
                        if (succ)
                        {
                            totCount++;
                        }
                    }
                }
                return(totCount);
            }
            catch (Exception ex)
            {
                throw new Exception("用户信息同步失败!" + ex.Message);
            }
        }