Ejemplo n.º 1
0
 def post(self):
     ualais = self.get_argument('username')
     upaw = self.get_argument('password')
     usex = self.get_argument('sex')
     ucardnum = self.get_argument('cardnum')
     utel = self.get_argument('phone')
     ucollege = self.get_argument('college')
     try:
         exist = self.db.query(User).filter(User.Utel == utel).one()
         self.retjson['code'] = '10000'
         self.retjson['contents'] = '用户电话已注册'
     except Exception, e:
         try:
             exist = self.db.query(User).filter(
                 User.Ucardnum == ucardnum).one()
             self.retjson['code'] = '10002'
             self.retjson['contents'] = '用户一卡通已注册'
         except Exception, e:
             try:
                 exist = self.db.query(User).filter(
                     User.Ualais == ualais).one()
                 self.retjson['code'] = '10003'
                 self.retjson['contents'] = '用户昵称已注册'
             except Exception, e:
                 print 'ccc'
                 upaw = md5(upaw)
                 user = User(
                     Upassword=upaw,
                     Utel=utel,
                     Ualais=ualais,
                     Usex=usex,
                     Ucollege=ucollege,
                     Ucardnum=ucardnum,
                     Ustunum='123',
                 )
                 try:
                     self.db.merge(user)
                     self.db.commit()
                     m_id = self.db.query(
                         User.Uid).filter(User.Utel == utel).one()
                     userimage = UserImage(
                         UIuid=m_id[0],
                         UIurl="user-default-image.jpg",
                     )
                     self.db.merge(userimage)
                     self.db.commit()
                     self.retjson['code'] = '10001'
                     self.retjson['contents'] = '注册成功'
                 except Exception, e:
                     print e
                     self.retjson['code'] = '10009'
                     self.retjson['contents'] = '服务器错误'
Ejemplo n.º 2
0
    def insert_user_image(self, list, utel):
        '''

        Args:
            list:图片名字的数组
            uid: 用户的手机

        Returns:

        '''
        imids = self.insert(list)
        for i in range(len(imids)):
            image = UserImage(Uimagetel=utel, UIimid=imids[i], Uimgurl=list[i])
            db = get_db()
            db.merge(image)
            db.commit()
Ejemplo n.º 3
0
    def insert_user_image(self, list, uid):
        # type: (object, object) -> object
        '''

        Args:
            list:图片名字的数组
            uid: 用户的ID

        Returns:

        '''

        imids = self.insert(list)
        for i in range(len(imids)):
            image = UserImage(UIuid=uid, UIimid=imids[i], UIurl=list[i])
            db = get_db()
            db.merge(image)
            db.commit()
Ejemplo n.º 4
0
    def get(self):
        callback = self.get_argument("jsoncallback")
        type = self.get_argument('type', default='unsolved')
        if type == '10001':  # 验证手机号
            m_phone=self.get_argument('phone')
            try:
                utel = base64.encodestring(m_phone)
                utel = utel.replace('\n','')
                user = self.db.query(User).filter(User.Utel == utel).one()
                if user:
                    self.retjson['contents'] = u"该手机号已经被注册,请更换手机号或直接登录"
                    self.retjson['code'] = 10005
            except:
                code=generate_verification_code()
                veri=Verification(
                    Vphone=m_phone,
                    Vcode=code,
                )
                self.db.merge(veri)
                try:
                    self.db.commit()
                    self.retjson['code'] = 10004 # success
                    self.retjson['contents'] = u'手机号验证成功,发送验证码'
                except:
                    self.db.rollback()
                    self.retjson['code'] = 10009  # Request Timeout
                    self.retjson['contents'] = u'服务器错误'
                message(code, m_phone)
        elif type=='10002': #验证验证码
            m_phone=self.get_argument('phone')
            code=self.get_argument('code')
            try:
               item=self.db.query(Verification).filter(Verification.Vphone==m_phone).one()
               #exist = self.db.query(Verification).filter(Verification.Vphone == m_phone).one()
               #delta = datetime.datetime.now() - exist.VT
               if item.Vcode==code:
                   #if delta<datetime.timedelta(minutes=10):
                    self.retjson['code']=10004
                    self.retjson['contents']=u'验证码验证成功'
                   #else :
                       #self.retjson['code'] = 10006
                       #self.retjson['contents'] = u'验证码验证失败'
               else:
                   self.retjson['code']=10006
                   self.retjson['contents']=u'验证码验证失败'
            except:
                self.retjson['code']=10007
                self.retjson['contents']=u'该手机号码未发送验证码'

        elif type=='10003': #注册详细信息
            m_password=self.get_argument('password')
            m_nick_name=self.get_argument('nickName')  # 昵称
            m_phone=self.get_argument('phone')
            m_sex = self.get_argument('sex')    #性别
            try:
                m_phone = base64.encodestring(m_phone)
                m_phone = m_phone.replace("\n","")
                m_password = md5(m_password)
                same_nickname_user = self.db.query(User).filter(User.Uname == m_nick_name).one()#临时判断
                if same_nickname_user:  # 该昵称已被使用
                    self.retjson['code'] = '10008'  # Request Timeout
                    self.retjson['contents'] ="该昵称已被使用"
            except: # 手机号和昵称皆没有被注册过
                    new_user = User(
                        Upassword=m_password,
                        Ualais=m_nick_name,
                        Utel=m_phone,
                        Usex=m_sex,
                    )
                    self.db.merge(new_user)
                    try:
                        self.db.commit()
                        image = Image(
                            IMvalid=True,
                            IMT=time.strftime('%Y-%m-%d %H:%M:%S'),
                            IMname=m_nick_name
                        )

                        self.db.merge(image)
                        self.db.commit()
                        m_id = self.db.query(User.Uid).filter(User.Utel == m_phone).one()
                        new_img = self.db.query(Image).filter(Image.IMname == m_nick_name).one()
                        imid = new_img.IMid
                        userImage = UserImage(
                            UIuid = m_id[0],
                            UIimid = imid,
                            UIurl = "user-default-image.jpg"
                        )
                        self.db.merge(userImage)
                        self.db.commit()
                        # self.retjson['contents'] = retdata
                        new_choosed_entry = NewChoosed(
                            uid=user.Uid,
                            choosed=0
                        )
                        self.db.merge(new_choosed_entry)
                        try:
                            self.db.commit()
                        except Exception, e:
                            self.retjson['code'] = '500'
                            self.retjson['contents'] = u'数据库提交失败'

                        self.retjson['contents'] = m_phone
                        self.retjson['code'] = 10004  # success

                    except Exception, e:
                        print e
                        self.db.rollback()
                        self.retjson['code'] = 10009  # Request Timeout
                        self.retjson['contents'] = u'Some errors when commit to database, please try again'
Ejemplo n.º 5
0
    def post(self):
        type = self.get_argument('type', default='unsolved')
        if type == '10001':  # 验证手机号
            m_phone = self.get_argument('phone')
            try:
                user = self.db.query(User).filter(User.Utel == m_phone).one()
                if user:
                    self.retjson['contents'] = u"该手机号已经被注册,请更换手机号或直接登录"
                    self.retjson['code'] = 10005
            except:
                code = generate_verification_code()
                veri = Verification(
                    Vphone=m_phone,
                    Vcode=code,
                )
                self.db.merge(veri)
                try:
                    self.db.commit()
                    self.retjson['code'] = 10004  # success
                    self.retjson['contents'] = u'手机号验证成功,发送验证码'
                except:
                    self.db.rollback()
                    self.retjson['code'] = 10009  # Request Timeout
                    self.retjson['contents'] = u'服务器错误'
                message(code, m_phone)
        elif type == '10002':  #验证验证码
            m_phone = self.get_argument('phone')
            code = self.get_argument('code')
            try:
                item = self.db.query(Verification).filter(
                    Verification.Vphone == m_phone).one()
                #exist = self.db.query(Verification).filter(Verification.Vphone == m_phone).one()
                #delta = datetime.datetime.now() - exist.VT
                if item.Vcode == code:
                    #if delta>datetime.timedelta(minutes=10):
                    self.retjson['code'] = 10004
                    self.retjson['contents'] = u'验证码验证成功'
                else:
                    self.retjson['code'] = 10006
                    self.retjson['contents'] = u'验证码验证失败'
            except:
                self.retjson['code'] = 10007
                self.retjson['contents'] = u'该手机号码未发送验证码'

        elif type == '10003':  #注册详细信息
            m_password = self.get_argument('password')
            m_nick_name = self.get_argument('nickName')  # 昵称
            m_phone = self.get_argument('phone')
            m_auth_key = generate_auth_key()
            retdata = []
            retdata_body = {}
            new_user = User(
                Upassword=m_password,
                Ualais=m_nick_name,
                Uname='',
                Ulocation='',  #  新用户注册默认level为1
                Umailbox='',
                Ubirthday='2000-01-01 00:00:00',
                Utel=m_phone,
                Uscore=0,
                Usex=1,
                Usign='',
                Uauthkey=m_auth_key,
                Uchattoken='')
            try:
                same_nickname_user = self.db.query(User).filter(
                    User.Ualais == m_nick_name).one()
                if same_nickname_user:  # 该昵称已被使用
                    data = user_login_fail_model()
                    retdata_body['userModel'] = data
                    retdata.append(retdata_body)
                    self.retjson['code'] = '10008'  # Request Timeout
                    self.retjson['contents'] = retdata
            except:  # 手机号和昵称皆没有被注册过
                self.db.merge(new_user)
                try:
                    self.db.commit()
                    m_time = self.db.query(User.UregistT).filter(
                        User.Uauthkey == m_auth_key).one()
                    m_id = self.db.query(
                        User.Uid).filter(User.Uauthkey == m_auth_key).one()
                    user = self.db.query(User).filter(
                        User.Uauthkey == m_auth_key).one()
                    m_token = get_token(user.Uid, user.Ualais)
                    user.Uchattoken = m_token
                    image = Image(IMvalid=True,
                                  IMT=time.strftime('%Y-%m-%d %H:%M:%S'),
                                  IMname=m_nick_name)

                    self.db.merge(image)
                    self.db.commit()
                    new_img = self.db.query(Image).filter(
                        Image.IMname == m_nick_name).one()
                    imid = new_img.IMid
                    userImage = UserImage(UIuid=m_id[0],
                                          UIimid=imid,
                                          UIurl="user-default-image.jpg")
                    self.db.merge(userImage)
                    self.db.commit()
                    rank_list_handler = RanklistHandler()
                    rank_list_handler.insert_new_rank(m_id[0])

                    #auth = AuthKeyHandler()

                    # data=dict(
                    #     phone = m_phone,
                    #     authkey  = m_auth_key,
                    #     nickName = m_nick_name,
                    #     headImage =auth.download_url("user-default-image.jpg"),
                    #     realName ='',
                    #     birthday ='',
                    #     sign ='',
                    #     score ='',
                    #     location ='',
                    #     registTime ='',
                    #     mailbaox = '',
                    #     id = m_id[0],
                    #     chattoken = m_token
                    # )
                    # retdata_body['userModel'] =data
                    # login = LoginHandler()
                    # retdata_body['daohanglan']=login.bannerinit()
                    # retdata.append(retdata_body)
                    try:
                        u_info = UCinfo(UCuid=m_id[0],
                                        UClikeN=0,
                                        UClikedN=0,
                                        UCapN=0,
                                        UCphotoN=0,
                                        UCcourseN=0,
                                        UCmomentN=0)
                        self.db.merge(u_info)
                        self.db.commit()
                    except Exception, e:
                        print e
                        self.retjson['contents'] = r'初始化用户信息时出错'  # ucinfo插入失败
                    # self.retjson['contents'] = retdata
                    self.get_new_login_model(user)
                    self.retjson['code'] = 10004  # success

                except Exception, e:
                    print e
                    self.db.rollback()
                    self.retjson['code'] = 10009  # Request Timeout
                    self.retjson[
                        'contents'] = 'Some errors when commit to database, please try again :{}'.format(
                            e)