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['group_name']
            comment = data['group_desc']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        params = {
            'name': name,
            'comment': comment,
            'add_time': int(time.time()),
            'user_id': player_base['id'],
            'status': 1
        }

        Data.insert('player_group', params)

        reply = {'commit': 1}
        self.send_ok(reply)
        return
Beispiel #2
0
def split_case_info(case):
    title = case['title']
    content = json.loads(case['content'])
    title_list = list(jieba.cut_for_search(title))
    content_list = list(jieba.cut_for_search(content))

    case_list = title_list + content_list
    case_word_list = list(set(case_list))

    # print(case_list)
    for word in case_word_list:
        if word not in strip_word_list:
            word_md5 = common.get_md5(word)
            res = Data.find('case_search_index',
                            [('case_id', '=', case['id']),
                             ('keyword_md5', '=', word_md5)])
            if res != None:
                print('已经存在')
                continue
            params = {
                'case_id': case['id'],
                'keyword': json.dumps(word),
                'keyword_md5': word_md5
            }
            Data.insert('case_search_index', params)
            continue
        else:
            continue
    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
    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()
            group_id = data['group_id']
            name = data['group_name']
            comment = data['group_desc']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        group = Data.select('player_group', [('id', '=', group_id)])
        if group == None:
            return self.send_faild(error.ERROR_DATA_NOT_FOUND)
        Data.update('player_group', [('id', '=', group_id)], {
            'name': name,
            'comment': comment
        })

        reply = {'commit': 1}
        self.send_ok(reply)
        return
    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()
            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
Beispiel #7
0
def user_test_result():
    Data.query('drop table user_test_result')
    colums = [
        ('id', 'int', 'AUTO_INCREMENT', 'primary key'),
        # 主键
        ('test_number', 'varchar(128)', 'default ""'),
        ('imei', 'varchar(64)', 'default ""'),
        # 设备号
        ('test_time', 'int', 'default "0"'),
        # 创建时间
        ('test_finish_time', 'int', 'default "0"'),
        # 创建时间
        ('member_id', 'int', 'default "0"'),
        # 测试用户id
        ('user_id', 'int', 'default "0"'),
        # 绑定机器的账号id
        ('test_type', 'int', 'default "0"'),
        # 0自动 1近视测试 2散光测试
        ('left_eye', 'varchar(64)', 'default "0"'),
        ('astigmatism_left', 'int', 'default "0"'),
        ('right_eye', 'varchar(64)', 'default "0"'),
        ('astigmatism_right', 'int', 'default "0"'),
        # 测试结果
        ('comment', 'varchar(512)', 'default ""'),
        # 使用备注
        ('status', 'int', 'default "0"'),
        # 状态  0-正常结束  1-异常结束
    ]
    Data.create('user_test_result', colums)
    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 #9
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 #10
0
def create_table():
    colums = [
        ('id', 'int', 'NOT NULL', 'AUTO_INCREMENT', 'primary key'),
        ('bank', 'varchar(512)', 'NOT NULL', 'default ""'),
        ('bank_id', 'int', 'NOT NULL'),
    ]
    Data.create('bank_number', colums)
Beispiel #11
0
    def post(self):
        print('update_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']
            name = data['name']
            auth = data['auth']
            comment = data['comment']
        except Exception as e:
            print(e)
            return self.send_faild(error.ERROR_PARAM)

        params = {}
        params['name'] = name
        params['auth'] = auth
        params['comment'] = comment
        params['utime'] = int(time.time())

        Data.update('admin_temp', [('id', '=', temp_id)], params)

        result = {'commit': 1}

        self.send_ok(result)

        write_admin_record(operate_id=admin_base['id'],
                           operate_desc='修改权限模板',
                           temp_id=data['temp_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()
            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 #13
0
def player():
    Data.query('drop table player')
    colums = [
        ('id', 'int', 'AUTO_INCREMENT', 'primary key'),
        ('open_id', 'varchar(128)', 'default ""'),
        # openid
        ('union_id', 'varchar(128)', 'default ""'),
        # unionid
        ('phone', 'varchar(128)', 'default ""'),
        # 电话
        ('birth_day', 'varchar(128)', 'default ""'),
        # 出生日期
        ('nickname', 'varchar(128)', 'default ""'),
        # 昵称
        ('sex', 'int', 'default "0"'),
        # 性别
        ('add_time', 'int', 'default "0"'),
        # 创建时间
        ('avatar', 'varchar(512)', 'default ""'),
        # 头像
        ('status', 'int', 'default "0"'),
        # 状态
        ('token', 'varchar(128)', 'default ""'),
        ('username', 'varchar(512)', 'default ""'),
        ('pwhash', 'varchar(512)', 'default ""'),
        # =========用户支持用户名密码登录
    ]
    Data.create('player', colums)
Beispiel #14
0
    def split_case_info(case):
        strip_word_list = ['\n', ' ']
        title = common_tools.decode_base64(case['title'])
        content = common_tools.decode_base64(case['content'])
        title_list = list(jieba.cut_for_search(title))
        content_list = list(jieba.cut_for_search(content))
        case_list = title_list + content_list
        case_word_list = list(set(case_list))

        # print(case_list)
        for word in case_word_list:
            if word not in strip_word_list:
                word_md5 = common_tools.get_md5(word)
                res = Data.find('case_search_index',
                                [('case_id', '=', case['id']),
                                 ('keyword_md5', '=', word_md5)])
                if res != None:
                    # print('已经存在')
                    continue
                params = {
                    'case_id': case['id'],
                    'keyword': common_tools.get_base64(word.encode('utf-8')),
                    'keyword_md5': word_md5
                }
                Data.insert('case_search_index', params)
                continue
            else:
                continue
    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 #16
0
    def insert(self, table, content):
        Data.insert(table, content)
        if table in self.data_all:
            self.append_lines(table)
        else:
            self.refresh_one_table(table)

        return
Beispiel #17
0
def write_arrival_share(service_pac_rec, shop_share_raw, arrival_share):
    params = {
        'ctime': int(time.time()),
        'max_use_time': service_pac_rec['can_use_quantity'],
        'money': arrival_share,
        'service_rec_id': service_pac_rec['id'],
    }
    Data.insert('arrival_share', params)
Beispiel #18
0
def case_search_index():
    Data.query('drop table case_search_index')
    colums = [
        ('id', 'int', 'AUTO_INCREMENT', 'primary key'),
        ('case_id', 'int', 'default "0"'),
        ('keyword', 'varchar(4096)', 'default ""'),
        ('keyword_md5', 'varchar(512)', 'default ""'),
    ]
    Data.create('case_search_index', colums)
Beispiel #19
0
def case_info():
    Data.query('drop table case_info')
    colums = [('id', 'int', 'AUTO_INCREMENT', 'primary key'),
              ('user_id', 'int', 'default "0"'),
              ('c_time', 'int', 'default "0"'), ('title', 'text'),
              ('content', 'text'), ('is_show', 'int', 'default "1"'),
              ('content_md5', 'varchar(128)', 'default ""'),
              ('event_time', 'int', 'default "0"')]
    Data.create('case_info', colums)
Beispiel #20
0
def invite_info():
    Data.query('drop table invite_info')
    colums = [
        ('id', 'int', 'AUTO_INCREMENT', 'primary key'),
        ('invite_code', 'int', 'default "0"'),
        ('user_id', 'int', 'default "0"'),
        ('inviter_id', 'int', 'default "0"'),
    ]
    Data.create('invite_info', colums)
Beispiel #21
0
    def truncate(self, table):
        if table in self.data_all:
            self.data_all[table] = []

        else:
            self.data_all[table] = []

        Data.truncate(table)

        return
Beispiel #22
0
def case_content():
    Data.query('drop table case_content')
    colums = [
        ('id', 'int', 'AUTO_INCREMENT', 'primary key'),
        # id
        ('case_id', 'int', 'default "0"'),
        # 内容id
        ('content', 'text'),
        # 内容
    ]
    Data.create('case_content', colums)
Beispiel #23
0
 def add_init_inviters_info(invite_dict):
     all_player = Data.select(Relay.player, [], fields=('id', 'username'))
     for user in all_player:
         if user['id'] not in invite_dict:
             invite_code = Relay.create_invite_code()
             params = {
                 'user_id': user['id'],
                 'invite_code': invite_code,
                 'inviter_id': 0
             }
             Data.insert(Relay.player, params)
Beispiel #24
0
    def remove_time_out_token(user_dict, connect_table):
        now_time = int(time.time())
        pop_list = []
        for token in user_dict:
            if now_time - user_dict[token] > config.token_time_out:
                pop_list.append(token)

        for token in pop_list:
            user_dict.pop(token)
            Data.update(connect_table, [('token', '=', token)], {'token': ''})
        return
    def get(self):
        admin_base = self.get_admin_base()
        if admin_base == None:
            self.send_faild(error.ERROR_NO_LOGIN)
            return

        admin_id = admin_base['id']
        if admin_id in Relay.admin_token_dict:
            Relay.admin_token_dict[admin_id] = ''
        Data.update('admin', [('id', '=', admin_id)], {'token', '=', ''})
        return
Beispiel #26
0
    def post(self):
        data = self.get_post_data()
        user_base = self.get_user_base(Relay.admin)
        if user_base == None:
            self.send_faild(error.ERROR_ADMIN_NO_LOGIN)
            return

        Data.update('case_info', [('id', '=', data['case_id'])],
                    {'is_show': status_can_show})
        self.send_ok({})
        return
Beispiel #27
0
 def write_event_post_item(data, res):
     for item in data['post_items']:
         item_url = http_tools.get_post_item(item)
         params = {
             'case_id': res['id'],
             'post_item': item_url,
             'c_time': int(time.time()),
             'raw_url': item,
             'is_download': 1,
         }
         Data.insert('case_post_item', params)
Beispiel #28
0
def case_post_item():
    Data.query('drop table case_post_item')
    colums = [
        ('id', 'int', 'AUTO_INCREMENT', 'primary key'),
        ('case_id', 'int', 'default "0"'),
        ('post_item', 'varchar(4096)', 'default ""'),
        ('c_time', 'int', 'default "0"'),
        ('is_download', 'int', 'default "0"'),
        ('raw_url', 'varchar(4096)', 'default ""'),
    ]
    Data.create('case_post_item', colums)
Beispiel #29
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']
Beispiel #30
0
def insert_return_pg_rec(shop_id, pg_once, service_id):
    params = {
        'user_id': shop_id,
        'share': pg_once,
        'withdraw_status': config.withdraw_status_no,
        'withdraw_type': config.pg_return,
        'buy_time': int(time.time()),
        'withdraw_id': service_id,
    }

    Data.insert('withdraw_record', params)