Beispiel #1
0
 def upload_case(data,user_base,uploader_type=case_constant.uploader_type_admin):
     content = common.get_base64(data['content'].encode('utf-8'))
     content_md5 = common.get_md5(content)
     user_id = user_base['id']
     ctime = int(time.time())
     event_time = common.str_to_time(data['event_time'] + ' 00:00:00')
     title = common.get_base64(data['title'].encode('utf-8'))
     if Data.find('case_info', [('title', '=', title)]) != None:
         return
     params = {
         'user_id': user_id,
         'c_time': ctime,
         # 'content': content,
         'content_md5': content_md5,
         'event_time': event_time,
         'title': title,
         'uploader_type':uploader_type
     }
     Data.insert('case_info', params)
     # 插入主体内容
     cond = [
         ('user_id', '=', user_id),
         ('c_time', '=', ctime),
         ('content_md5', '=', content_md5)
     ]
     res = Data.find('case_info', cond)
     params = {
         'case_id': res['id'],
         'content': content
     }
     Data.insert('case_content',params)
     # 取得id,插入内容到表中
     res['content'] = content
     http_tools.split_case_info(res)
     return res
    def post(self):
        print('get_adv_info')
        admin_base = self.get_admin_base()
        if admin_base is None:
            return self.send_faild(error.ERROR_NO_LOGIN)
        if not self.is_god():
            return self.send_faild(error.ERROR_AUTH_PERMISSION)

        try:
            data = self.get_post_data()
            adv_id = data['adv_id']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)
        adv = Data.find('adv', [('id', '=', adv_id)])
        adv_info = {}
        if adv:
            adv_info['adv_name'] = adv['adv_name']
            adv_info['postion'] = adv['postion']
            adv_info['url'] = adv['url']
            adv_info['ctime'] = adv['ctime']
            adv_info['comment'] = adv['comment']
            adv_info['status'] = adv['status']
            img = Data.find('adv_photo', [('adv_id', '=', adv_id)])
            adv_info['img'] = img['photo_url']

        result = {'adv_info': adv_info}
        self.send_ok(result)
        write_admin_record(operate_id=admin_base['id'],
                           operate_desc='广告详细信息',
                           adv_id=adv_id)

        return
    def post(self):
        player_base = self.get_player_base()
        if player_base is None:
            return self.send_faild(error.ERROR_NO_USER)

        try:
            data = self.get_post_data()
            phone = data['phone']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        report_list = []

        # 要查的使用记录的id列表
        player_id_list = []

        # 通过关联手机号查id
        player_by_phone = Data.select('player_member', [('phone', '=', phone)])
        if player_by_phone != None:
            for player in player_by_phone:
                player_id_list.append(player['id'])

        if len(player_id_list) > 0:
            # 遍历所有id
            for id in player_id_list:
                # 一个人可能多条记录
                test_report_list = Data.select('user_test_result',
                                               [('user_id', '=', id)])
                if test_report_list == None:
                    continue
                player_info = Data.find('player_member', [('id', '=', id)])
                if player_info == None:
                    continue

                group = Data.find('player_group',
                                  [('id', '=', player_info['group_id'])])
                if group == None:
                    continue

                for test_report in test_report_list:
                    params = {}
                    params['name'] = player_info['name']
                    params['group'] = group['name']
                    params['group_id'] = group['group_id']
                    params['imei'] = test_report['imei']
                    params['test_time'] = test_report['test_time']
                    params['left_eye'] = test_report['left_eye']
                    params['astigmatism_left'] = test_report[
                        'astigmatism_left']
                    params['right_eye'] = test_report['right_eye']
                    params['astigmatism_right'] = test_report[
                        'astigmatism_right']
                    params['comment'] = test_report['comment']
                    report_list.append(params)

        reply = {'report_list': report_list}
        self.send_ok(reply)
        return
Beispiel #4
0
    def check_user(self,player_base):
        player_info = Data.find(Relay.player,[('open_id','=',player_base['open_id'])])
        if player_info != None:
            Data.update(Relay.player,[('id','=',player_info['id'])],player_base)
        else:
            Data.insert(Relay.player,player_base)

        player_info = Data.find(Relay.player,[('open_id','=',player_base['open_id'])])
        return player_info['id']
Beispiel #5
0
def get_dev_user(imei):
    res = Data.find('devices_using_rec',
                    [('imei', '=', imei),
                     ('playing_time', '>', int(time.time()) - (30 * 60))],
                    order=['playing_time', 'desc'])

    if res == None:
        return '无'

    player_id = res['player_id']
    return Data.find('player', [('id', '=', player_id)])['phone']
    def post(self):
        print('update_admin_detail')

        admin_base = self.get_admin_base()
        if admin_base is None:
            return self.send_faild(error.ERROR_NO_LOGIN)
        if self.is_god() is False:
            return self.send_faild(error.ERROR_AUTH_PERMISSION)

        try:
            data = self.get_post_data()
            admin_id = data['admin_id']
            status = data['status']
            auth_temp = data['admin_temp_id']
            comment = data['comment']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        if admin_id == 1:
            print('初始账号不能改信息')
            return self.send_faild(error.ERROR_AUTH_PERMISSION)

        admin_info = Data.find('admin_auth', [('admin_id', '=', admin_id)])
        if admin_info is None:
            return self.send_faild(error.ERROR_NO_USER)

        god_info = Data.find('admin', [('id', '=', admin_id)])
        if god_info is None:
            return self.send_faild(error.ERROR_NO_USER)

        # 更新模板
        Data.update('admin_auth', [('id', '=', admin_id)], {'auth_id': auth_temp})

        god_info = {
            'utime': common.time_to_str(int(time.time())),
            'status': status,
            'comment': comment
        }

        try:
            Data.update('admin', [('id', '=', admin_id)], god_info)
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_TIMEOUT)

        result = {
            'commit': 1
        }
        self.send_ok(result)

        write_admin_record(operate_id=admin_base['id'], operate_desc='更新管理员详情', admin_id=admin_id)
        return
    def post(self):
        player_base = self.get_player_base()
        if player_base is None:
            return self.send_faild(error.ERROR_NO_USER)

        try:
            data = self.get_post_data()
            imei = data['imei']
            member_id = data['member_id']
            type = data['type']  # 0视力检测 1 散光检测 65536 视力和散光

        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        commit = 0
        devinfo = dev_v3.get_dev_info(imei)
        if devinfo == None:
            return self.send_faild(error.ERROR_DEV_NOY_CONNECT_YET)

        # 用户信息
        bind_user = Data.find('devices', [('imei', '=', imei)])
        if bind_user == None:
            return self.send_faild(error.ERROR_DATA_NOT_FOUND)
        bind_user_id = bind_user['id']
        use_user = Data.find('player_member', [('id', '=', member_id)])
        if use_user == None:
            return self.send_faild(error.ERROR_DATA_NOT_FOUND)
        member_name = use_user['name']
        member_phone = use_user['phone']
        group_id = use_user['group_id']

        group_info = Data.find('player_group', [('id', '=', group_id)])
        if group_info == None:
            return self.send_faild(error.ERROR_DATA_NOT_FOUND)
        member_group = group_info['comment']
        user_info = {
            'bind_user_id': bind_user_id,  # 设备绑定者id
            'member_id': member_id,  # 使用者id
            'member_name': member_name,  # 使用者姓名
            'member_group': member_group,  # 使用者分组的comment
            'member_phone': member_phone,  # 使用者手机号
        }
        dev_start = dev.dev_v3.get_dev_start(imei, type, user_info)
        if dev_start != None:
            commit = 1

        reply = {
            'commit': commit  # 1为成功 0为失败
        }
        self.send_ok(reply)
        return
    def post(self):
        print('send_advphoto')
        admin_base = self.get_admin_base()
        if admin_base is None:
            self.send_faild(error.ERROR_NO_LOGIN)
        if not self.is_god():
            return self.send_faild(error.ERROR_AUTH_PERMISSION)

        try:
            data = self.get_post_data()
            adv_id = data['adv_id']
            pic_body = data['title']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        adv_info = Data.find('adv', [('id', '=', adv_id)])
        if adv_info is None:
            return self.send_faild(error.ERROR_NO_USER)

        adv_id = adv_info['id']

        img_data = pic_body.split(',')[1]

        img_data = base64.b64decode(img_data)
        path = 'pics/' + common.get_file_md5(img_data) + '_title' + '.jpg'

        open(path, 'wb').write(img_data)

        title_line = Data.find('adv_photo', [('adv_id', '=', adv_id),
                                             ('is_title', '=', 1)])

        if title_line is None:
            params = {
                'adv_id': adv_id,
                'photo_url': config.logical_url + '/' + path.split('/')[-1],
            }
            Data.insert('adv_photo', params)
        else:
            params = {
                'photo_url': config.logical_url + '/' + path.split('/')[-1],
            }
            Data.update('adv_photo', [('adv_id', '=', adv_id)], params)
            # 记录进数据库

        reply = {'pic_done': 0}
        self.send_ok(reply)
        write_admin_record(operate_id=admin_base['id'],
                           operate_desc='上传广告图片',
                           adv_id=adv_id)

        return
Beispiel #9
0
    def is_god(token):
        if token not in Relay.admin_token_dict:
            return False

        res = Data.find('openluat_user', [('token', '=', token)])
        if res == None:
            return False

        res = Data.find('god', [('openluat_user_id', '=', res['id'])])
        if res == None:
            return False

        return True
Beispiel #10
0
 def get_user_base(token, character):
     token_dict = Relay.token_dict_collection[character]
     for user_id in token_dict:
         if token_dict[user_id] == token:
             res = Data.find(character, [('id', '=', user_id)])
             return res
     # =============优先查找内存=============
     res = Data.find(character, [('token', '=', token)])
     if res != None:
         return res
     # 之后查找token
     # Relay.update_admin_token_timeout(token)
     return
Beispiel #11
0
 def get_player_base(token):
     # if config.update_token == True:
     #     if token not in Relay.player_token_dict:
     #         return None
     res = Data.find('player', [('token', '=', token)])
     if res != None:
         return res
     for player_id in Relay.player_token_dict:
         if Relay.player_token_dict[player_id] == token:
             res = Data.find('player', [('id', '=', player_id)])
             return res
     # Relay.update_player_token_timeout(token)
     return
    def post(self):
        print('add_admin')
        admin_base = self.get_admin_base()
        if admin_base is None:
            return self.send_faild(error.ERROR_NO_LOGIN)
        if self.is_god() is False:
            return self.send_faild(error.ERROR_AUTH_PERMISSION)

        try:
            data = self.get_post_data()
            username = data['username']
            pw = data['pswd']
            status = data['status']
            auth_temp = data['admin_temp_id']
            comment = data['comment']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        if_user = Data.find('admin', [('username', '=', username)])
        if if_user is not None:
            return self.send_faild(error.ERROR_INSERT_USER)

        admin_params = {
            'username': username,
            'password_hash': generate_password_hash(pw),
            'status': status,
            'comment': comment,
            'ctime': common.time_to_str(int(time.time())),
            'auth_id': auth_temp,
        }

        Data.insert('admin', admin_params)
        new_admin_info = Data.find('admin', [('username', '=', username)])
        if new_admin_info is None:
            return self.send_faild(error.ERROR_DATA_NOT_FOUND)
        admin_id = new_admin_info['id']

        admin_auth_info = {
            'auth_id': auth_temp,
            'god_id': admin_id
        }
        Data.insert('admin_auth', admin_auth_info)
        result = {
            'commit': 1
        }
        self.send_ok(result)

        write_admin_record(operate_id=admin_base['id'], operate_desc='添加管理员', admin_id=admin_id)
        return
Beispiel #13
0
 def get_admin_base(token):
     # if config.update_token == True:
     #     if token not in Relay.admin_token_dict:
     #         print('admindict中没有这个token')
     #         return None
     res = Data.find('admin', [('token', '=', token)])
     if res != None:
         return res
     for admin_id in Relay.admin_token_dict:
         if Relay.admin_token_dict[admin_id] == token:
             res = Data.find('admin', [('id', '=', admin_id)])
             return res
     # Relay.update_admin_token_timeout(token)
     return
Beispiel #14
0
def write_my_share(service_pac_rec, share_line):
    shop_info = Data.find('openluat_user',
                          [('id', '=', service_pac_rec['buy_shop_id'])])

    shop_share_info = Data.find(
        'shop_distr', [('user_id', '=', service_pac_rec['buy_shop_id'])])

    if service_pac_rec['can_upgrade'] == 1:
        params = {'upgrade_times': shop_share_info['upgrade_times'] + 1}
        Data.update('shop_distr',
                    [('user_id', '=', service_pac_rec['buy_shop_id'])], params)

    # shop_share_info = Data.find('shop_distr', [('user_id', '=', service_pac_rec['buy_shop_id'])])

    if shop_share_info['upgrade_times'] >= shop_share_info['max_upgrade_times']:
        shop_share = shop_share_info['shop_share_max'] - share_line[
            'arrival_share']
    else:
        shop_share = shop_share_info['shop_share_min'] - share_line[
            'arrival_share']

    #
    # arrival_share = (10000 - share_line['arrival_share']) / 10000

    arrival_share = (share_line['arrival_share'] *
                     service_pac_rec['cost']) / 10000
    # 保存到店消费

    print('arrival_share', arrival_share)
    shop_share_raw = (shop_share * service_pac_rec['cost']) / 10000
    print('shop_share_raw', shop_share_raw)

    distr_agent_params = {
        'user_id': service_pac_rec['buy_shop_id'],
        'share': int(shop_share_raw),
        # 到店分润要处理
        'withdraw_status': config.withdraw_status_no,
        'withdraw_type': config.shop_share,
        # 分润类型,业务员还是店铺
        'buy_time': service_pac_rec['buy_time'],
        # 分润时间
        'withdraw_id': service_pac_rec['id'],
        # 对应的那条用户消费的id
    }

    Data.insert('withdraw_record', distr_agent_params)
    print('门店自己的分润', distr_agent_params['share'])
    write_arrival_share(service_pac_rec, shop_share_raw, arrival_share)
Beispiel #15
0
    def post(self):
        print('get_auth_template')
        admin_base = self.get_admin_base()
        if admin_base is None:
            return self.send_faild(error.ERROR_NO_LOGIN)

        if self.is_god() is False:
            return self.send_faild(error.ERROR_AUTH_PERMISSION)

        try:
            data = self.get_post_data()
            temp_id = data['temp_id']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        res = Data.find('admin_temp', [('id', '=', temp_id)])
        if res is None:
            return self.send_faild(error.ERROR_DATA_NOT_FOUND)

        temp = {
            'temp_name': res['name'],
            'temp_auth': res['auth'],
            'comment': res['comment']
        }

        result = {'temp_info': temp}

        self.send_ok(result)
        return
    def post(self):
        player_base = self.get_player_base()
        if player_base is None:
            return self.send_faild(error.ERROR_NO_USER)

        try:
            data = self.get_post_data()
            name = data['member_name']
            group = data['group_id']
            comment = data['comment']
            phone = data['phone']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        group_info = Data.find('player_group', [('id', '=', group)])
        if group_info == None:
            return self.send_faild(error.ERROR_DATA_NOT_FOUND)
        params = {
            'name': name,
            'comment': comment,
            'add_time': int(time.time()),
            'status': 1,
            'phone': phone,
            'group_id': group
        }

        Data.insert('player_member', params)

        reply = {'add_success': 1}
        self.send_ok(reply)
        return
Beispiel #17
0
    def post(self):
        print('delete_auth_template')
        admin_base = self.get_admin_base()
        if admin_base is None:
            return self.send_faild(error.ERROR_NO_LOGIN)
        if self.is_god() is False:
            return self.send_faild(error.ERROR_AUTH_PERMISSION)

        try:
            data = self.get_post_data()
            temp_id = data['temp_id']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        res = Data.find('admin_temp', [('id', '=', temp_id)])
        if res is None:
            return self.send_faild(error.ERROR_DATA_NOT_FOUND)

        Data.update('admin_temp', [('id', '=', temp_id)], {'status': 1})

        result = {'commit': 1}

        self.send_ok(result)

        write_admin_record(operate_id=admin_base['id'],
                           operate_desc='删除权限模板',
                           temp_id=data['temp_id'])
        return
Beispiel #18
0
def add_agent_reward(shop_id, service_id):
    distr_info = Data.find('distr_relation', [('user_id', '=', shop_id)])
    if distr_info is not None:
        distr_id = distr_info['upper_id']
        if distr_id != 0:
            shop_machines = Data.select('shop_machines',
                                        [('shop_id', '=', shop_id),
                                         ('distr_reward', '=', 0),
                                         ('status', '=', 0)],
                                        order=('add_time', ''))
            print(shop_machines)
            print(shop_machines[0])
            if shop_machines[0]:
                if shop_machines[0]['paid_pg'] != 0:
                    params = {
                        'user_id': distr_id,
                        'share': 50000,
                        'withdraw_status': config.withdraw_status_no,
                        'withdraw_type': config.distr_reward,
                        'buy_time': int(time.time()),
                        'withdraw_id': service_id,
                    }
                    Data.insert('withdraw_record', params)
                Data.update('shop_machines',
                            [('id', '=', shop_machines[0]['id'])], {
                                'status': 1,
                                'distr_reward': 1
                            })
    def post(self):
        player_base = self.get_player_base()
        if player_base is None:
            return self.send_faild(error.ERROR_NO_USER)

        try:
            data = self.get_post_data()
            imei = data['imei']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        devinfo = dev_v3.get_dev_info(imei)
        if devinfo == None:
            return self.send_faild(error.ERROR_DEV_NOY_CONNECT_YET)

        device = Data.find('devices', [('imei', '=', imei)])
        if device:
            if device['user_id'] == '':
                Data.update('devices', [('imei', '=', imei)],
                            {'user_id': player_base['id']})
            else:
                return self.send_faild(error.ERROR_DEVICE_EXISTS)

        dev_v3.send_bind_status(imei)
        reply = {'commit': 1}
        self.send_ok(reply)
        return
    def post(self):
        print('del_adv')
        admin_base = self.get_admin_base()
        if admin_base is None:
            return self.send_faild(error.ERROR_NO_LOGIN)
        if not self.is_god():
            return self.send_faild(error.ERROR_AUTH_PERMISSION)

        try:
            data = self.get_post_data()
            adv_id = data['adv_id']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)
        info = Data.find('adv', [('id', '=', adv_id)])
        if info is None:
            return self.send_faild(error.ERROR_DATA_NOT_FOUND)

        if info['status'] == 0:
            status = 1
        else:
            status = 0

        Data.update('adv', [('id', '=', adv_id)], {'status': status})
        result = {'commit': 1}
        self.send_ok(result)
        write_admin_record(operate_id=admin_base['id'],
                           operate_desc='启用/禁用广告',
                           adv_id=adv_id)

        return
Beispiel #21
0
 def get_uploader_info(user_id):
     # 获取上传者信息
     res = Data.find('admin', [('id', '=', user_id)])
     result = {
         'nickname': res['username'],
     }
     return result
Beispiel #22
0
def get_device_status(imei):
    using_status = is_dev_using(imei)
    if using_status == True:
        return 65536
    # 使用中
    if using_status == 65536:
        return
    # 无法获取状态

    device = Data.find('CWS_APP.devices', [('imei', '=', imei)])
    if device is None:
        return None

    status = dbapi.get_cws_device_status(imei)
    online = -1
    if status:
        online = status.get('online', -1)

    latest_report = dbapi.get_device_latestreport(imei)
    if not latest_report:
        return None
    # dbg((datetime.now().timestamp(), latest_report['time'].timestamp()))
    if datetime.now().timestamp() - latest_report['time'].timestamp() > 150:
        if online == 1:
            online = 0

    return online
    def post(self):
        player_base = self.get_player_base()
        if player_base is None:
            return self.send_faild(error.ERROR_NO_USER)

        try:
            data = self.get_post_data()
            imei = data['imei']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        devinfo = dev_v3.get_dev_info(imei)
        if devinfo == None:
            return self.send_faild(error.ERROR_DEV_NOY_CONNECT_YET)

        dev = Data.find('devices', [('imei', '=', imei)])
        if dev == None:
            return self.send_faild(error.ERROR_DEVICE_EXISTS)

        params = {
            'imei': imei,
            'ctime': int(time.time()),
            'user_id': '',
            'times': 0,
            'status': 0
        }

        Data.update('devices', [('imei', '=', imei)], params)

        dev_v3.send_bind_status(imei)
        reply = {'commit': 1}
        self.send_ok(reply)
        return
Beispiel #24
0
    def post(self):
        print('get_player_info')
        admin_base = self.get_admin_base()
        if admin_base is None:
            return self.send_faild(error.ERROR_NO_LOGIN)
        if not self.is_god():
            return self.send_faild(error.ERROR_AUTH_PERMISSION)

        try:
            data = self.get_post_data()
            player_id = data['player_id']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)
        player = Data.find('player', [('id', '=', player_id)])
        player_info = {}
        if player:
            player_info['nickname'] = player['nickname']
            player_info['phone'] = player['phone']
            player_info['sex'] = player['sex']
            player_info['add_time'] = player['add_time']
            player_info['open_id'] = player['open_id']
            player_info['union_id'] = player['union_id']

        result = {'player_info': player_info}
        self.send_ok(result)
        write_admin_record(operate_id=admin_base['id'],
                           operate_desc='会员详细信息',
                           player_id=player_id)

        return
Beispiel #25
0
    def is_god(token):
        if token in Relay.admin_token_dict:
            return True
        res = Data.find(Relay.admin, [('token', '=', token)])
        if res is None:
            return False

        return True
Beispiel #26
0
    def machine_start(imei, pulse=12, high=100, low=100):
        # res = dev_v2.get_dev_status(imei)
        # if res != None:
        rep = Data.find('CWS_APP.latestreport', [('imei', '=', imei)])
        if int(time.time()) - common.str_to_time(str(
                rep['time'])) < config.dev_heart_beat:
            v2 = dev_v2.get_dev_start(imei)
            if v2 != None:
                if v2 == 0:
                    print(v2)
                    return True
                if v2 == -1:
                    print(v2)
                    return False
            # 先走v2信号
        if rep['status'] == 'heart':
            return False

        print('V2信号没有走通')
        imei = imei
        pulse = 12
        money = pulse
        device_type = 1
        duration = 5
        high = high
        low = low
        topic = 'deveventreq'

        data = bytearray([0x54, device_type])
        data += money.to_bytes(4, 'big')
        data += duration.to_bytes(4, 'big')
        data += high.to_bytes(4, 'big')
        data += low.to_bytes(4, 'big')
        data += pulse.to_bytes(4, 'big')
        dbg('发送的信号', data)

        mongodata = {
            'imei': imei,
            'datagram_type': 1,
            'device_type': device_type,
            'duration': duration,
            'high': high,
            'low': low,
            'pulse': pulse
        }

        result = MQ.send_data(imei, topic, data)
        if result and result['result']:
            mongodata['result'] = 0  # 成功
            dbapi.insert_datagram(mongodata)
            # device = dbapi.get_device(imei=imei)
            return True
        else:
            mongodata['result'] = 1  # 设备正在运行
            dbapi.insert_datagram(mongodata)
            return False
Beispiel #27
0
def is_dev_using(imei):
    latest_rep = Data.find('CWS_APP.latestreport', [('imei', '=', imei)])
    if latest_rep['status'] == 'heart':
        res = dev_v2.get_dev_status(imei)
        if res == None:
            return 65536
        if res['dev_status'] == 4:
            return False
        return True

    res = Data.find('devices_using_rec', [('imei', '=', imei)],
                    order=['playing_time', 'desc'])
    if res is None:
        return False

    if int(time.time()) - res['playing_time'] < 30 * 60:
        return True

    return False
    def get(self):
        player_base = self.get_player_base()
        if player_base is None:
            return self.send_faild(error.ERROR_NO_USER)
        devices_list = []
        devices = Data.select('devices', [('user_id', '=', player_base['id'])])
        if devices != None:
            for device in devices:
                params = {}
                params['imei'] = device['imei']
                params['bind_time'] = device['ctime']
                devices_list.append(params)

        # 返回最后一条测试记录
        test_params = {}
        test_info = Data.find_last('user_test_result',
                                   [('player_id', '=', player_base['id'])],
                                   info='test_time',
                                   limit=1)
        if test_info != None:
            player_id = test_info['user_id']
            player_info = Data.find('player_member', [('id', '=', player_id)])
            if player_info == None:
                return self.send_faild(error.ERROR_NO_USER)
            group_id = player_info['group_id']
            group_info = Data.find('player_group', [('id', '=', group_id)])
            if group_info == None:
                return self.send_faild(error.ERROR_DATA_NOT_FOUND)
            imei_info = Data.find('dev_main',
                                  [('imei', '=', test_info['imei'])])
            if imei_info == None:
                return self.send_faild(error.ERROR_INVALIDATE_IMEI)
            test_params['imei'] = test_info['imei']
            test_params['player_name'] = player_info['name']
            test_params['group_name'] = group_info['name']
            test_params['left_eye'] = test_info['left_eye']
            test_params['astigmatism_left'] = test_info['astigmatism_left']
            test_params['right_eye'] = test_info['right_eye']
            test_params['astigmatism_right'] = test_info['astigmatism_right']

        reply = {'devices_list': devices_list, 'test_info': test_params}
        self.send_ok(reply)
        return
Beispiel #29
0
def check_db(client_id, data):
    imei = data['imei']
    res = Data.find('CWS_APP.devices', [('imei', '=', imei)])
    if res == None:
        result = {'client_in_base': 0}

    else:
        result = {'client_in_base': 1}
    Relay.send_ok(client_id, result)
    return
 def upload(self, data):
     url = 'http://127.0.0.1:' + str(
         config.http_config['port']) + '/player/upload'
     header = {'token': Data.find(Relay.player, [('id', '=', 1)])['token']}
     res = common_tools.post(url,
                             payload=data,
                             headers=header,
                             show_data=False,
                             show_headers=False)
     return res