Exemple #1
0
def get_save_step_two(task_detail):
    #update
    user_no_max = get_tw_xnr_no()
    user_no_current = user_no_max + 1
    r.set(tw_xnr_max_no, user_no_current)

    task_detail['user_no'] = user_no_current
    task_id = user_no2tw_id(user_no_current)  #五位数 TXNR0001
    
    item_exist = dict()
    item_exist['submitter'] = task_detail['submitter']
    item_exist['user_no'] = task_detail['user_no']
    item_exist['domain_name'] = task_detail['domain_name']
    item_exist['role_name'] = task_detail['role_name']
    item_exist['psy_feature'] = '&'.join(task_detail['psy_feature'].encode('utf-8').split(','))
    item_exist['political_side'] = task_detail['political_side']
    item_exist['business_goal'] = '&'.join(task_detail['business_goal'].encode('utf-8').split(','))
    # item_exist['daily_interests'] = '&'.join(task_detail['daily_interests'].encode('utf-8').split(','))
    item_exist['monitor_keywords'] = ','.join(task_detail['monitor_keywords'].encode('utf-8').split(','))

    item_exist['active_time'] = '&'.join(task_detail['active_time'].split('-'))
    item_exist['day_post_average'] = json.dumps(task_detail['day_post_average'].split('-'))
    item_exist['create_status'] = 1 # 第二步完成
    item_exist['xnr_user_no'] = task_id # 虚拟人编号
    item_exist['create_time'] = int(time.time())
    print es.index(index=tw_xnr_index_name,doc_type=tw_xnr_index_type,id=task_id,body=item_exist)
    mark = True
    return mark,task_id
Exemple #2
0
def get_qq_xnr_no():

    if not r.exists(qq_xnr_max_no):  #如果当前redis没有记录,则去es数据库查找补上
        user_no_max = 1
        r.set(qq_xnr_max_no, user_no_max)
    else:  #如果当前redis有记录,则取用
        user_no_max = r.incr(qq_xnr_max_no)

    return user_no_max
Exemple #3
0
def create_wx_xnr(xnr_info):
    #create and login, xnr_info = [wx_id,remark,submitter,access_id]
    wx_id = xnr_info['wx_id']
    submitter = xnr_info['submitter']
    mail = xnr_info['mail']
    access_id = xnr_info['access_id']
    remark = xnr_info.get('remark')
    search_result = check_wx_xnr(wx_id)  #check if wxxnr exist
    if search_result:  #如果虚拟人已经存在,则进行登陆。并可考虑用于更新wxxnr的信息,先不管
        wxbot_id = search_result['wxbot_id']
        wxbot_port = search_result['wxbot_port']
        groups_list = search_result['groups_list']
        #可进一步做出判断,如果wxbot_port被占用了,则更改wxbot_port,并更新es表。也先不管。
        qr_path = start_bot(wx_id=wx_id,
                            wxbot_id=wxbot_id,
                            wxbot_port=wxbot_port,
                            init_groups_list=groups_list,
                            submitter=submitter,
                            mail=mail,
                            access_id=access_id,
                            remark=remark)
    else:  #如果虚拟人还没有存在,那么就创建此虚拟人
        wxbot_port = find_port(get_all_ports())

        # user_no_current = load_user_no_current()
        user_no_max = get_wx_xnr_no()
        user_no_current = user_no_max + 1
        global_utils_r.set(wx_xnr_max_no, user_no_current)

        wxbot_id = user_no2wxbot_id(user_no_current)
        qr_path = start_bot(wx_id=wx_id,
                            wxbot_id=wxbot_id,
                            wxbot_port=wxbot_port,
                            submitter=submitter,
                            mail=mail,
                            access_id=access_id,
                            remark=remark,
                            create_flag=1)
    return qr_path