customer_management/wwwroot/api/customers_create.dspy
yumoqing 469255afe7 sync: local modifications to customer_management
- Updated core.py
- Updated base.ui
- Added new API files: check_tables, customer_pool_list, customers CRUD, handover_list
- Added new UI/DSPY files: customer_edit, customer_list, customer_pool, handover_list
2026-04-28 18:51:23 +08:00

49 lines
2.5 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Customer create API"""
import json, uuid, time
result = {'widgettype': 'Message', 'options': {'title': 'Error', 'message': 'Invalid request', 'type': 'error'}}
try:
customer_name = params_kw.get('customer_name', '').strip()
customer_type = params_kw.get('customer_type', '').strip()
owner_id = params_kw.get('owner_id', '').strip()
if not customer_name:
result['options'] = {'title': 'Error', 'message': '客户名称不能为空', 'type': 'error'}
elif not customer_type:
result['options'] = {'title': 'Error', 'message': '客户类型不能为空', 'type': 'error'}
elif not owner_id:
result['options'] = {'title': 'Error', 'message': '负责人不能为空', 'type': 'error'}
else:
dbname = get_module_dbname('customer_management')
new_id = str(uuid.uuid4()).replace('-', '')
now = time.strftime('%Y-%m-%d %H:%M:%S')
phone = params_kw.get('phone', '').strip()
email = params_kw.get('email', '').strip()
tax_id = params_kw.get('tax_id', '').strip()
industry = params_kw.get('industry', '').strip()
customer_level = params_kw.get('customer_level', 'potential').strip()
address = params_kw.get('address', '').strip()
region = params_kw.get('region', '').strip()
status = params_kw.get('status', 'active').strip()
async with DBPools().sqlorContext(dbname) as sor:
await sor.sqlExe("""INSERT INTO customers (id, customer_name, customer_type, phone, email, tax_id, industry, customer_level, address, owner_id, region, status, created_at, updated_at)
VALUES (${id}$, ${customer_name}$, ${customer_type}$, ${phone}$, ${email}$, ${tax_id}$, ${industry}$, ${customer_level}$, ${address}$, ${owner_id}$, ${region}$, ${status}$, ${created_at}$, ${updated_at}$)""", {
'id': new_id, 'customer_name': customer_name, 'customer_type': customer_type,
'phone': phone, 'email': email, 'tax_id': tax_id, 'industry': industry,
'customer_level': customer_level, 'address': address, 'owner_id': owner_id,
'region': region, 'status': status,
'created_at': now, 'updated_at': now
})
result = {'widgettype': 'Message', 'options': {'title': 'Success', 'message': '客户创建成功', 'type': 'success'}}
except Exception as e:
result['options'] = {'title': 'Error', 'message': '创建失败: ' + str(e), 'type': 'error'}
return json.dumps(result, ensure_ascii=False)