예제 #1
0
파일: man_user.c 프로젝트: ECYBTech/chanos
int sync_delete_user(char *name,char *err_msg)
{
    int ret = -1;	
	if(!is_user_exsit(name))		
	{
		sprintf(err_msg,"the user %s is not exist",name);
		return -1;
	}
	ret = is_user_self(name);
	if(ret == 1)
	{
		sprintf(err_msg,"Can't del user %s self",name);
		return -1;
	}
	else if(ret == -1)
	{
		sprintf(err_msg,"the user %s is not exist",name);
		return -1;
	}
	
	if(get_user_role(name) == 1)
	{
		sprintf(err_msg,"Can't del user %s which belong admin group",name);
		return -1;
	}
	ret = db_entry_delete_via_para(DEL_USER, 1, name, NULL);
	return ret;
    
}
예제 #2
0
파일: friend.cpp 프로젝트: Zhanyin/taomee
uint32_t get_friend_info(i_mysql_iface *p_mysql_conn, c_memcached *p_memcached, uint32_t user_id, uint32_t msg_type, char *p_request_body, uint32_t request_len)
{
    if (check_val_len(msg_type, request_len, 0) != 0)
    {
        return ERR_MSG_LEN;
    }


    role_t role = {{0}};
    int ret = get_user_role(user_id, &role, p_mysql_conn, p_memcached);
    if (ret < 0)
    {
        KCRIT_LOG(user_id, "[msg:%u]sql exec failed(%s).", msg_type, p_mysql_conn->get_last_errstr());
        return ERR_SQL_ERR;
    }
    else if (0 == ret)
    {
        KCRIT_LOG(user_id, "user is not in role table.");
        return ERR_ROLE_NOT_EXISTS;
    }

    g_pack.pack(role.name, sizeof(role.name));
    g_pack.pack(role.gender);
    g_pack.pack(role.country_id);
    g_pack.pack(role.user_type);
    g_pack.pack(role.birthday);
    g_pack.pack(role.last_login_time);
    g_pack.pack(role.monster_id);
    g_pack.pack(role.monster_main_color);
    g_pack.pack(role.monster_ex_color);
    g_pack.pack(role.monster_eye_color);
    g_pack.pack(role.monster_level);
   // KINFO_LOG(user_id, "[get friend info finished]");

    return 0;
}