コード例 #1
0
        /// <summary>
        /// 数据转换组装 入库数据
        /// </summary>
        /// <returns></returns>
        private UsersModel UserDataChange(WeChatUserData user, WeChatPhoneData phone, string session_key)
        {
            UsersModel resu = new UsersModel()
            {
                mobilephone  = phone.purePhoneNumber,
                nickname     = user.nickName,
                country      = user.country,
                city         = user.city,
                province     = user.province,
                appletopenid = user.openId,
                unionid      = user.unionId,
                session_key  = session_key,
                headimgurl   = user.avatarUrl,
                language     = user.language,
                sex          = Convert.ToInt32(!string.IsNullOrEmpty(user.gender) ? user.gender : "0"),
            };

            return(resu);
        }
コード例 #2
0
        /// <summary>
        /// 小程序用户信息
        /// </summary>
        /// <returns></returns>
        public string GetAppletUserInfo(string reqdata)
        {
            ResponseUserInfo res = new ResponseUserInfo();

            try
            {
                //RequestUserInfo reqstr = new RequestUserInfo();
                RequestUserInfo reqstr = JsonConvert.DeserializeObject <RequestUserInfo>(reqdata);                      //请求参数反序列化
                LogHelper.InfoLog("GetAppletUserInfo请求参数:" + reqdata);
                string          userdata  = AES_decrypt(reqstr.userEncryptedData, reqstr.session_key, reqstr.userIv);   //微信用户信息解密
                WeChatUserData  user      = JsonConvert.DeserializeObject <WeChatUserData>(userdata);
                string          phonedata = AES_decrypt(reqstr.phoneEncryptedData, reqstr.session_key, reqstr.phoneIv); //联系方式数据解密
                WeChatPhoneData phone     = JsonConvert.DeserializeObject <WeChatPhoneData>(phonedata);
                LogHelper.InfoLog("用户信息解密:" + userdata + ",联系方式数据解密:" + phonedata);

                UsersModel        userinfo = new UsersModel();
                List <UsersModel> users    = userdal.GetUserInfo(new UsersModel()
                {
                    unionid = reqstr.unionid
                });
                if (users.Count > 0)
                {
                    if (string.IsNullOrEmpty(users[0].mobilephone) || string.IsNullOrEmpty(users[0].appletopenid))//手机号或者小程序openid为空则需要修改数据库的用户信息
                    {
                        userdal.UpdateUserInfo(userinfo);
                    }
                    userinfo          = UserDataChange(user, phone, reqstr.session_key); //入库数据转换组装
                    res               = UserDataChange(userinfo);                        //输出数据转换组装
                    res.code          = 0;
                    res.msg           = "查询成功";
                    res.mobilephone   = users[0].mobilephone;
                    res.companyname   = users[0].companyname;
                    res.emcompany     = users[0].emcompany;
                    res.stockcompany  = users[0].stockcompany;
                    res.empowerStatus = (string.IsNullOrEmpty(users[0].emcompany) && string.IsNullOrEmpty(users[0].emcompany) ? 0 : 1);
                    res.oastatus      = users[0].status;
                }
                else//数据库没有当前用户去入库
                {
                    userinfo = UserDataChange(user, phone, reqstr.session_key);//入库数据转换组装
                    if (userdal.AddUser(userinfo))
                    {
                        res.code = 0;
                        res.msg  = "操作成功";
                    }
                    else
                    {
                        res.code = 10002;
                        res.msg  = "开小差了...";
                    }
                    res               = UserDataChange(userinfo);//输出数据转换组装
                    res.mobilephone   = "";
                    res.companyname   = "";
                    res.emcompany     = "";
                    res.stockcompany  = "";
                    res.empowerStatus = 0;
                    res.oastatus      = 0;
                }
            }
            catch (Exception ex)
            {
                res.code = 10003;
                res.msg  = "开小差了...";
                LogHelper.ErrorLog("错误信息:" + ex.StackTrace + "\r\n" + ex.Message + "\r\n请求参数:" + reqdata);
            }
            return(JsonConvert.SerializeObject(res));
        }