public UserIdentity(RequestUserInfo info)
 {
     this.UserId      = info.UserId;
     this.CreatedDate = info.CreatedDate;
     this.Login       = info.Login;
     this.DVRName     = info.DVRName;
 }
Beispiel #2
0
        public void ExecuteCommand(GameSession session, ProtobufRequestInfo requestInfo)
        {
            log4net.ILog log = log4net.LogManager.GetLogger("ColoredConsoleAppender");


            var info = RequestUserInfo.ParseFrom(requestInfo.Body);

            DAL.DAL.Business business = new DAL.DAL.Business();
            //获取用户积分消费卷信息
            IntegralInfo integralInfo = business.GetIntegralInfo(info.UserID);

            byte[] data = null;
            if (integralInfo == null)
            {
                log.Error("用户不存在");
                business.InsertIntegralInfo(info.UserID);
                data = ResponseUserInfo.CreateBuilder().SetUserID(info.UserID).SetRoomCard(0).SetIntegral(0).SetCoupons(0).Build().ToByteArray();
                session.Send(new ArraySegment <byte>(CreateHead.CreateMessage(10041, data.Length, requestInfo.MessageNum, data)));
                session.Close();
                return;
            }
            data = ResponseUserInfo.CreateBuilder().SetUserID(integralInfo.userID).SetRoomCard((int)integralInfo.roomCard).SetIntegral((double)integralInfo.integral).SetCoupons((double)integralInfo.coupons).Build().ToByteArray();
            session.Send(new ArraySegment <byte>(CreateHead.CreateMessage(10041, data.Length, requestInfo.MessageNum, data)));
            session.Close();
            return;
        }
Beispiel #3
0
        public static TransactionInfo CrearTransactionInfo(RequestUserInfo userInfoDTO)
        {
            ValidarArgumentosUserInfo(userInfoDTO);

            return(new TransactionInfo(userInfoDTO.UserId, userInfoDTO.ApplicationId,
                                       userInfoDTO.ComputerName, userInfoDTO.Form));
        }
Beispiel #4
0
 public static void ValidarArgumentosUserInfo(RequestUserInfo userInfoDTO)
 {
     if (userInfoDTO == null)
     {
         throw new ArgumentNullException("userInfoDTO");
     }
     // if (string.IsNullOrWhiteSpace(userInfoDTO.FacilityId)) throw new ArgumentException("userInfoDTO.PlantId");
     if (string.IsNullOrWhiteSpace(userInfoDTO.UserId))
     {
         throw new ArgumentException("userInfoDTO.UserId");
     }
     if (string.IsNullOrWhiteSpace(userInfoDTO.LanguageId))
     {
         throw new ArgumentException("userInfoDTO.LanguageId");
     }
     if (string.IsNullOrWhiteSpace(userInfoDTO.ApplicationId))
     {
         throw new ArgumentException("userInfoDTO.ApplicationId");
     }
     // if (string.IsNullOrWhiteSpace(userInfoDTO.ComputerName)) throw new ArgumentException("userInfoDTO.ComputerName");
     // if (string.IsNullOrWhiteSpace(userInfoDTO.Form)) throw new ArgumentException("userInfoDTO.Form");
 }
Beispiel #5
0
        public async Task <ApiResult <bool> > UpdateUserInfo(RequestUserInfo userInfo)
        {
            if (userInfo.ID < 1)
            {
                throw ApiException.Common(RequestLocalizer["Incorrect ID"]);
            }

            var u = AppUser;

            if (IsSupperAdmin || u.ID == userInfo.ID)
            {
                userInfo.ID   = u.ID;
                userInfo.Name = u.Name;
                await _userService.UpdateAsync(userInfo.ToDictionary());
            }
            else
            {
                throw ApiException.Common(RequestLocalizer["No permission"]);
            }

            return(ApiResult.Ok(true));
        }
Beispiel #6
0
        /// <summary>
        /// 获取房卡
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public static long GetRoomCard(long userID)
        {
            var data = RequestUserInfo.CreateBuilder().SetUserID(userID.ToString()).Build().ToByteArray();

            try
            {
                var resData = new MySocket(host, port).SendReceive(CreateHead.CreateMessage(10040, data.Length, 0, data));
                if (resData.FirstOrDefault() != null)
                {
                    var roomcard = ResponseUserInfo.ParseFrom(resData.FirstOrDefault().Data).RoomCard;
                    // MyLogger.Logger.Info("请求房卡:" + roomcard);
                    return(roomcard);
                }
            }
            catch (Exception ex)
            {
                MyLogger.Logger.Error("请求扣除房卡异常:" + ex);
            }
            return(0);

            //测试
            // return 5000;
        }
Beispiel #7
0
 public void SetUser(RequestUserInfo userInfo)
 {
     this.CurrentUser = new UserIdentity(userInfo);
 }
Beispiel #8
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));
        }