Files
boss_dp/scripts/init_recruit_test_data.py
2026-03-05 10:27:28 +08:00

141 lines
4.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
"""
数据库初始化脚本:创建测试数据
用于测试新增的筛选和复聊功能
"""
import os
import sys
import django
# 设置 Django 环境
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server.settings')
django.setup()
from server.models import FilterConfig, ChatScript
def create_filter_config():
"""创建筛选配置示例"""
print("创建筛选配置...")
# 删除旧的测试配置
FilterConfig.objects.filter(name__contains="测试").delete()
# 创建新配置
config = FilterConfig.objects.create(
name="Python开发筛选配置",
age_min=22,
age_max=35,
gender="不限",
education="本科",
activity="3天内活跃",
positions=["Python开发", "后端开发", "全栈开发", "Django开发"],
greeting_min=5,
greeting_max=20,
rest_minutes=30,
collection_min=10,
collection_max=50,
message_interval=30,
is_active=True
)
print(f"✓ 创建筛选配置: {config.name} (ID: {config.id})")
return config
def create_chat_scripts():
"""创建话术示例"""
print("\n创建话术配置...")
# 删除旧的测试话术
ChatScript.objects.filter(position__in=["Python开发", "通用", "测试"]).delete()
scripts = [
{
"position": "Python开发",
"script_type": "first",
"content": "您好看到您的简历Python技术栈很符合我们的要求我们这边是做XXX项目的期待与您进一步沟通。",
"keywords": "",
},
{
"position": "Python开发",
"script_type": "followup",
"content": "您好,不知道您是否方便留个联系方式?后续沟通会更及时一些。",
"keywords": "",
},
{
"position": "Python开发",
"script_type": "wechat",
"content": "后续沟通会更及时,您方便留一下您的微信号吗?我这边加您。",
"keywords": "微信,联系方式",
},
{
"position": "通用",
"script_type": "first",
"content": "您好!看到您的简历很符合我们的要求,期待与您进一步沟通。",
"keywords": "",
},
{
"position": "通用",
"script_type": "followup",
"content": "您好,期待与您进一步沟通,方便留个联系方式吗?",
"keywords": "",
},
{
"position": "通用",
"script_type": "wechat",
"content": "后续沟通会更及时,您方便留一下您的微信号吗?我这边加您。",
"keywords": "微信,联系方式",
},
]
created_scripts = []
for script_data in scripts:
script = ChatScript.objects.create(**script_data, is_active=True)
created_scripts.append(script)
print(f"✓ 创建话术: {script.position} - {script.get_script_type_display()}")
return created_scripts
def main():
print("=" * 60)
print("BOSS招聘自动化 - 初始化测试数据")
print("=" * 60)
try:
# 创建筛选配置
config = create_filter_config()
# 创建话术
scripts = create_chat_scripts()
print("\n" + "=" * 60)
print("初始化完成!")
print("=" * 60)
print(f"\n筛选配置: {config.name}")
print(f" - 年龄: {config.age_min}-{config.age_max}")
print(f" - 学历: {config.education}及以上")
print(f" - 活跃度: {config.activity}")
print(f" - 期望职位: {', '.join(config.positions)}")
print(f"\n话术配置: 共 {len(scripts)}")
for script in scripts:
print(f" - {script.position} / {script.get_script_type_display()}")
print("\n现在可以运行招聘任务测试新功能了!")
except Exception as e:
print(f"\n✗ 错误: {e}")
import traceback
traceback.print_exc()
return 1
return 0
if __name__ == "__main__":
sys.exit(main())