Files
Pine 8b43d3df52 feat: 培训子应用迁入(app/training,/api/*)
- 报名/测评/政策/调研,独立 data/opc.db
- 源自原培训后端,路径调整至 server-core
2026-08-23 22:36:00 +08:00

84 lines
7.2 KiB
Python
Raw Permalink 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.
"""政策匹配 + 启动流程生成(逻辑后移至后端,前端只提交答案拿结果)"""
from . import policy_data
def compute_policy(ans):
industry = ans.get("industry") or []
policies = []
subsidies = []
loans = []
# 基础政策(全员)
policies.append({
"name": "云南 AI·OPC 创业扶持政策",
"org": "云南省人社厅 · 2026-07 印发",
"note": "不强制高新技术背景,作家 / 短视频 / 民宿 / 咨询 / 设计 / 跨境等超级个体均可纳入;围绕创业生态、融资、人才评价、技能培训等 9 大方向。"
})
# 身份
if ans.get("status") == "student":
policies.append({"name": "高校毕业生创业扶持", "org": "省 / 市人社部门", "note": "毕业 5 年内高校毕业生创业,可享一次性创业补贴、社保补贴、创业担保贷款优先。"})
subsidies.append({"name": "一次性创业补贴(高校毕业生)", "amount": "参考 500010000 元", "note": "首次创办经营主体并正常经营,可申请;以当地最新标准为准。"})
subsidies.append({"name": "创业社保补贴(高校毕业生)", "amount": "按缴费比例补贴", "note": "毕业 5 年内创业缴纳社保,可申请补贴。"})
if ans.get("status") == "unemployed":
policies.append({"name": "就业创业扶持", "org": "人社部门", "note": "失业人员创业可申请一次性创业补贴与创业培训。"})
subsidies.append({"name": "一次性创业补贴", "amount": "参考 500010000 元", "note": "首次创业并注册主体可申请;以当地最新标准为准。"})
if ans.get("status") == "freelancer":
subsidies.append({"name": "灵活就业社保补贴", "amount": "按比例", "note": "灵活就业人员缴纳社保可申请补贴(部分地区政策)。"})
# 行业
if "tourism" in industry:
policies.append({"name": "云南文旅创业支持", "org": "文旅部门 / 地方", "note": "依托云南文旅流量,民宿 / 咖啡 / 农特产等轻资产创业有产业配套与专项支持。"})
if "content" in industry:
policies.append({"name": "内容创作 / IP 创业支持", "org": "人社 / 文旅", "note": "短视频创作者、内容 IP 属 OPC 重点扶持人群,AI 内容产出被明确鼓励。"})
if "crossborder" in industry:
policies.append({"name": "边贸 / 跨境创业支持", "org": "商务 / 边境县市", "note": "依托 25 个边境县市区位,跨境代运营 / 服务有政策倾斜。"})
# 地区
if ans.get("region") == "border":
policies.append({"name": "边境县市创业优惠", "org": "边境县市", "note": "边境县市创业可能有房租 / 场地与就业专项补贴。"})
if ans.get("region") == "dali":
policies.append({"name": "大理 / 丽江文旅创业配套", "org": "地方文旅", "note": "文旅产业聚集区,民宿 / 文创有地方配套与资源对接。"})
# 补贴通用
subsidies.append({"name": "场地 / 房租补贴(入驻园区)", "amount": "按园区政策", "note": "入驻创业园区 / 孵化器,通常有房租减免或补贴。"})
subsidies.append({"name": "创业培训补贴", "amount": "免费或补贴", "note": "参加人社部门创业培训,可免费或获补贴。"})
# 贷款
loans.append({"name": "创业担保贷款", "amount": "个人参考 1030 万元", "note": "财政贴息,个人创业可申请;高校毕业生、返乡创业等优先。"})
if ans.get("capital") in ("needloan", "lowcost"):
loans.append({"name": "普惠小微贷款", "amount": "按资质核定", "note": "个体户 / 小微企业可申请银行普惠贷,利率较低。"})
if ans.get("entity") == "company":
loans.append({"name": "企业经营贷 / 信用贷", "amount": "按经营流水", "note": "企业可申请经营贷 / 信用贷。"})
summary = f"综合你的身份、行业、地区与资金情况,为你匹配了 {len(policies)} 项适配政策、{len(subsidies)} 项补贴线索、{len(loans)} 项贷款参考。"
return {"policies": policies, "subsidies": subsidies, "loans": loans, "summary": summary}
# ---------- 启动流程 ----------
STEP = {
"park": {"title": "入驻创业园区", "desc": "联系园区运营方提交入驻申请,享房租减免、场地工位、政策对接与创业辅导。", "materials": ["创业计划 / 方向说明", "身份材料", "入驻申请表"], "time": "12 周", "cost": "多数园区免费或低租", "tips": "如昆明市大学生创业园(政府直属,人社局管理)等;入驻后优先对接园区内政策与资源。"},
"register": {"title": "核名与注册主体", "desc": "到市场监管局(或线上)核名并注册个体户 / 公司,确定经营范围与经营者。", "materials": ["身份证", "13 个备选名称", "注册地址证明"], "time": "13 个工作日", "cost": "注册免费(刻章另计)", "tips": "经营范围覆盖实际要做的业务;线上「一窗通」可全程网办。"},
"seal": {"title": "刻章与公安备案", "desc": "刻公章、财务章、法人章、发票章,并到公安机关备案。", "materials": ["营业执照", "法人身份证"], "time": "12 个工作日", "cost": "200600 元", "tips": "备案章才可对外使用与办理后续业务。"},
"tax": {"title": "税务登记", "desc": "税务报到、核定税种(增值税 / 个税);办理银行扣税三方协议,可申领电子发票。", "materials": ["营业执照", "银行账号", "法人身份"], "time": "13 个工作日", "cost": "免费", "tips": "小规模纳税人一般季度申报;「三方协议」= 税务 + 银行 + 你 三方绑定扣税。"},
"bank": {"title": "银行对公开户", "desc": "开对公账户(个体户可选),用于经营收款、贷款申请与扣税。", "materials": ["营业执照", "公章 / 财务章 / 法人章", "法人身份证"], "time": "12 周(银行预约制)", "cost": "0200 元 / 年", "tips": "经营流水建议走对公,利于后续贷款与合规。"},
"social": {"title": "社保 / 公积金开户(三方协议)", "desc": "为法人或雇员开社保、公积金账户,办理银行代扣三方协议。", "materials": ["营业执照", "身份证", "银行账号"], "time": "1 周内", "cost": "按缴费基数缴纳", "tips": "初创可先为法人参保;有雇工则必须参保。"},
"report": {"title": "记账报税与补贴申报", "desc": "记账、按期申报(个体户可核定征收);申报创业补贴 / 贷款 / 政策。", "materials": ["账务记录", "申报材料", "银行流水"], "time": "月度 / 季度", "cost": "代理记账约 100300 元 / 月", "tips": "政策申报以官方最新文件为准;保留好经营记录,为补贴与贷款做准备。"},
}
ORDER = ["park", "register", "seal", "tax", "bank", "social", "report"]
def build_plan(opt):
order = []
if opt.get("needPark"):
order.append("park")
if opt.get("needRegister"):
order.append("register")
order.append("seal")
order.append("tax")
order.append("bank")
if opt.get("hasStaff"):
order.append("social")
order.append("report")
return [{"no": i + 1, **STEP[k]} for i, k in enumerate(order)]