- wwwroot/api/v1/available.dspy: Bearer 认证,支持 product_type/product_name/request_amount 过滤 - init.py: get_available_vouchers_api 返回含 template_name 的完整数据 - README: 完善 API 文档,移除 dapi 依赖说明 - load_path.py: 注册 v1 端点权限
40 lines
1.2 KiB
Plaintext
40 lines
1.2 KiB
Plaintext
import json
|
|
|
|
# 获取当前登录用户的组织ID作为客户ID
|
|
customer_id = await get_userorgid()
|
|
|
|
# 构建查询上下文(可选过滤条件)
|
|
context = {}
|
|
if params_kw.get('product_type'):
|
|
context['product_type'] = params_kw.get('product_type')
|
|
if params_kw.get('product_name'):
|
|
context['product_name'] = params_kw.get('product_name')
|
|
if params_kw.get('request_amount'):
|
|
try:
|
|
context['request_amount'] = float(params_kw.get('request_amount'))
|
|
except (ValueError, TypeError):
|
|
pass
|
|
|
|
# 查询可用代金券
|
|
result = await get_available_vouchers_api(customer_id, context if context else None)
|
|
|
|
# 格式化输出
|
|
if result.get('status') == 'success':
|
|
vouchers = []
|
|
for v in result.get('data', []):
|
|
vouchers.append({
|
|
'id': v.get('id'),
|
|
'code': v.get('code'),
|
|
'face_value': float(v.get('face_value', 0)),
|
|
'valid_from': str(v.get('valid_from', '')),
|
|
'valid_to': str(v.get('valid_to', '')),
|
|
'template_name': v.get('template_name', ''),
|
|
})
|
|
return json.dumps({
|
|
'status': 'success',
|
|
'data': vouchers,
|
|
'total': len(vouchers)
|
|
})
|
|
else:
|
|
return json.dumps(result)
|