Example #1
0
def web_register(user_name):
    print(user_name)
    username = request.form.get('userName')
    pwd = request.form.get('pwd')
    userphone = request.form.get("userPhone")
    usermail = request.form.get("userMail")
    mailcode = request.form.get('mailCode')
    codeKey = "" + usermail + ":code"
    code = r.get(codeKey)
    user = wx_user.query.filter(wx_user.name == username
                                or wx_user.phone == userphone).first()
    #找到
    if user:
        return ("2")
    else:
        # 判断邮箱验证码是否正确
        if mailcode == '%s' % code:
            for k in r.scan_iter('wx_user*'):
                r.delete(k)
            webuser = wx_user(name=username,
                              email=usermail,
                              phone=userphone,
                              password=pwd,
                              wx_id=1,
                              info_number=0)
            db.session.add(webuser)
            db.session.commit()
            for k in r.scan_iter('wx_user*'):
                r.delete(k)
            return ("1")
        else:
            return ("0")
Example #2
0
def register():
    openid = request.values.get('openid')
    username = request.values.get('name')

    id = wx_user.query.filter(wx_user.wx_id == openid).first()
    if id:
        return '该用户已注册'
    else:
        for k in r.scan_iter('wx_user*'):
            r.delete(k)
        user = wx_user(name=username,
                       wx_id=openid,
                       phone='无',
                       email='无',
                       password='******',
                       info_number=0,
                       control_power=0)
        db.session.add(user)
        db.session.commit()

        for k in r.scan_iter('wx_user*'):
            r.delete(k)
        wxuser = wx_user.query.filter(wx_user.wx_id == openid).first()
        id = wxuser.id
        sql = 'select * from upload_img'
        cursor.execute(sql)
        image_id = cursor.fetchall()
        for i in image_id:
            unread = "insert into information(user_id,image_id,equip_id) VALUE (%s,%s,%s)" % (
                id, i[0], i[4])
            # unread = information(user_id=id,image_id=i[0],equip_id=i[4])
            cursor.execute(unread)
        database.commit()
        return ''
Example #3
0
def get_imagedata():
    if len(r.keys('upload_img*')) == 0:
        sql='select distinct * from v_userImgs'
        cursor.execute(sql)
        user_data=cursor.fetchall()
        fields = cursor.description
        column_list = []
        json_list = []
        for i in fields:
            column_list.append(i[0])
        for row in user_data:
            data = {}
            for i in range(len(column_list)):
                data[column_list[i]] = row[i]
            json_list.append(data)
            imgsData = json.dumps(json_list,ensure_ascii=False,cls=CJsonEncoder)
        for i in range(len(user_data)):
            imgs_infor = {'name':user_data[i][0],'id':user_data[i][1],'user_id':user_data[i][2],'number':user_data[i][3],
                'date':user_data[i][4].strftime("%Y-%m-%d %H:%M:%S"),'equip_id':user_data[i][5],'image_desc':user_data[i][7],'image_title':user_data[i][6]}
            r.hmset('upload_img:%d'%(user_data[i][1]),imgs_infor)
            r.expire('upload_img:%d'%(user_data[i][1]),432000)
        return imgsData
    else:
        imgsdata = []
        for k in r.scan_iter('upload_img*'):
            data = r.hgetall(k)
            imgsdata.append(data)
        imgsdata = tuple(imgsdata)
        imgsdata = json.dumps(imgsdata,ensure_ascii=False,cls=CJsonEncoder)
        return imgsdata
Example #4
0
def change_phones():
    userid = request.form.get('userID')
    # oldPhone = request.form.get('oldPhone')
    newPhone = request.form.get('newPhone')
    mailcode = request.form.get('mailcode')
    usermail = request.form.get('userMail')  #用户接收验证码的邮箱
    codeKey = "" + usermail + ":code"
    code = r.get(codeKey)
    if mailcode == '%s' % code:

        if len(r.keys('wx_user*')) != 0:
            for k in r.scan_iter('wx_user*'):
                r_username = r.hget(k, 'name')
                if r.get(userid) == r_username:
                    user_infor = {'phone': newPhone}
                    r.hmset(k, user_infor)
                    break
        sql = 'update wx_user set phone="' + newPhone + '" where name="' + r.get(
            userid) + '"'
        cursor.execute(sql)
        database.commit()

        return ("0")
    else:
        return ("1")
Example #5
0
def change_passwords():
    userid = request.form.get('userID')
    oldpwd = request.form.get('oldpwd')
    newpwd = request.form.get('newpwd')
    # mailcode = request.form.get('mailcode')
    # usermail = request.form.get('userMail') #用户接收验证码的邮箱
    # codeKey = ""+ usermail +":code"
    # code = r.get(codeKey)
    # if mailcode =='%s' % code:
    user_name = r.get(userid)
    user = wx_user.query.filter(wx_user.password == oldpwd
                                and wx_user.name == user_name).first()
    if user:
        if len(r.keys('wx_user*')) != 0:
            for k in r.scan_iter('wx_user*'):
                r_username = r.hget(k, 'name')
                if user_name == r_username:
                    user_infor = {'password': newpwd}
                    r.hmset(k, user_infor)
                    break
        user_update = wx_user.query.filter(
            wx_user.password == oldpwd
            and wx_user.name == user_name).update({'password': newpwd})
        db.session.commit()

        return ("0")
    else:
        return ("1")
    def ctreate_ThreadPool(self):
        recived = self.ws.receive()
        if not recived is None:
            # 接收传过来的用户名,设备id,时间戳,,图片数量,主题,描述
            rec = str(recived, encoding="utf8")
            # 此处为你需要传过来用户id,设备id,时间戳,图片数量,实验主题和实验描述
            username, pwd, equip_code, t, number, theme, description, resume = rec.split(
                SEPARATOR)

            u_name = '\'%s\'' % username
            u_pwd = '\'%s\'' % pwd
            sql = 'select id from wx_user where name=%s and password=%s' % (
                u_name, u_pwd)
            cursor.execute(sql)
            user_id = cursor.fetchall()
            data = json.dumps(user_id)
            if len(data) < 5:
                self.ws.send("登录失败")
            else:
                self.ws.send("核对成功")

                equip = equipment.query.filter(
                    equipment.equip_code ==
                    equip_code).first()  # 获取刚刚上传图片数据的id
                equip_id = equip.id
                number = int(number)  # 将number转为int型

                ###############此处直接调用信息处理类来处理信息############################
                if resume == 'False':
                    d = Data_deal(user_id, number, equip_id, description,
                                  theme)
                    d.update_info()
                    for j in r.scan_iter('imgs*'):
                        r.delete(j)
                    for k in r.scan_iter('upload_img*'):
                        r.delete(k)
                    for i in r.scan_iter("eqimfo*"):
                        r.delete(i)
                threadPool = ThreadPoolExecutor(
                    max_workers=number, thread_name_prefix="pro")  # 根据用户上传的文件
                # 一个用户来访问就会开一个线程,然后根据他传过来的图片数量,开启线程池读取文件
                for i in range(number):
                    future = threadPool.submit(self.re(username, user_id,
                                                       t))  # j将线程提交到线程池
                time.sleep(3)
                threadPool.shutdown()
                print('接收完!')
Example #7
0
 def ctreate_ThreadPool(self):
     recived = self.ws.receive()
     if not recived is None:
         rec = str(recived, encoding="utf8")
         equip_code, t, number, resume = rec.split(SEPARATOR)
         # 接收传过来的用户名,设备id,时间戳,,图片数量,主题,描述
         equip = equipment.query.filter(
             equipment.equip_code == equip_code).first()  # 获取刚刚上传图片数据的id
         equip_id = str(equip.id)
         sql = 'select user_id from upload_img where equip_id=%s and number<%s' % (
             equip_id, 30)
         cursor.execute(sql)
         data = cursor.fetchall()
         print(data, type(data))
         user_id = data[0][0]
         user = wx_user.query.filter(
             wx_user.id == user_id).first()  # 获取刚刚上传图片数据的id
         username = user.name
         self.ws.send("核对成功")
         ###############此处直接调用信息处理类来处理信息############################
         if resume == 'False':
             d = Data_deal(number, equip_id)
             d.update_info()
             for j in r.scan_iter('imgs*'):
                 r.delete(j)
             for k in r.scan_iter('upload_img*'):
                 r.delete(k)
             for i in r.scan_iter("eqimfo*"):
                 r.delete(i)
         number = int(number)  # 将number转为int型
         threadPool = ThreadPoolExecutor(
             max_workers=number, thread_name_prefix="pro")  # 根据用户上传的文件
         # 一个用户来访问就会开一个线程,然后根据他传过来的图片数量,开启线程池读取文件
         for i in range(number):
             future = threadPool.submit(self.re(username, user_id,
                                                t))  # j将线程提交到线程池
         time.sleep(3)
         threadPool.shutdown()
         print('接收完!')
Example #8
0
def changedata():
    userid = request.args.get('id')
    name = request.args.get('name')
    phone = request.args.get('phone')
    email = request.args.get('email')
    u_name = '\'%s\'' % name
    u_phone = '\'%s\'' % phone
    u_mail = '\'%s\'' % email
    if len(r.keys('wx_user*')) != 0:
        for k in r.scan_iter('wx_user*'):
            r_userid = r.hget(k, 'id')
            if userid == r_userid:
                print("更新缓存")
                user_infor = {'name': name, 'phone': phone, 'email': email}
                r.hmset(k, user_infor)
    sql = 'update wx_user set name=%s,phone=%s,email=%s where id=%s' % (
        u_name, u_phone, u_mail, userid)
    cursor.execute(sql)
    database.commit()
    json_data = srch_hash_data('wx_user', 'init', 'None')
    return json_data
Example #9
0
def get_userdata():
    if len(r.keys('wx_user*')) == 0:
        sql = 'select * from wx_user'
        cursor.execute(sql)
        user_data = cursor.fetchall()
        fields = cursor.description
        column_list = []
        json_list = []
        for i in fields:
            column_list.append(i[0])
        for row in user_data:
            data = {}
            for i in range(len(column_list)):
                data[column_list[i]] = row[i]
            json_list.append(data)
            userData = json.dumps(json_list,
                                  ensure_ascii=False,
                                  cls=CJsonEncoder)
        for i in range(len(user_data)):
            user_infor = {
                'id': user_data[i][0],
                'name': user_data[i][1],
                'phone': user_data[i][2],
                'email': user_data[i][3],
                'password': user_data[i][4],
                'wx_id': user_data[i][5]
            }
            r.hmset('wx_user:%d' % (user_data[i][0]), user_infor)
            r.expire('wx_user:%d' % (user_data[i][0]), 86400)
        return userData
    else:
        userdata = []
        for k in r.scan_iter('wx_user*'):
            data = r.hgetall(k)
            userdata.append(data)
        userdata = tuple(userdata)
        userdata = json.dumps(userdata, ensure_ascii=False, cls=CJsonEncoder)
        return userdata
Example #10
0
def change_emails():
    user_id = request.form.get('userID')
    new_mail = request.form.get('newMail')
    mail_code = request.form.get('mailcode')  #用户输入的验证码
    user_mail = request.form.get('oldMail')  #用户接收验证码的邮箱
    codeKey = "" + user_mail + ":code"
    code = r.get(codeKey)
    if mail_code == '%s' % code:

        if len(r.keys('wx_user*')) != 0:
            for k in r.scan_iter('wx_user*'):
                r_username = r.hget(k, 'name')
                if r.get(user_id) == r_username:
                    user_infor = {'email': new_mail}
                    r.hmset(k, user_infor)
                    break
        user = wx_user.query.filter(wx_user.email == user_mail).update(
            {'email': new_mail})
        db.session.commit()

        return ("0")
    else:
        return ("1")