fix: 参数名改用mkt_id避免与行数据marketing_id字段冲突,照抄产品明细params_mapping模式

This commit is contained in:
yumoqing 2026-08-05 18:14:31 +08:00
parent e311a42e99
commit 0144129ec1
2 changed files with 20 additions and 5 deletions

View File

@ -77,8 +77,22 @@
{
"wid": "self",
"event": "gen_promo",
"actiontype": "script",
"script": "(function(){var id='${id}$';if(!id||id==='${id}$'){alert('未获取到方案ID请先选中一行。');return;}var x=new XMLHttpRequest();x.open('POST','{{entire_url('../api/gen_promo_from_mkt.dspy')}}',true);x.setRequestHeader('Content-Type','application/x-www-form-urlencoded');x.onload=function(){try{var d=JSON.parse(x.responseText);if(d.widgettype==='Message'){var m=new bricks.Message(d.options);m.show();}else{alert(d.options.message||x.responseText);}}catch(e){alert(x.responseText);}};x.send('marketing_id='+encodeURIComponent(id));})();"
"actiontype": "urlwidget",
"target": "PopupWindow",
"popup_options": {
"title": "生成促销码",
"cwidth": 16,
"cheight": 10
},
"params_mapping": {
"mapping": {
"id": "mkt_id"
},
"need_other": false
},
"options": {
"url": "{{entire_url('../api/gen_promo_from_mkt.dspy')}}"
}
}
],
"new_data_url": "{{entire_url('/discount/api/marketing_create.dspy')}}",

View File

@ -1,9 +1,10 @@
# 从营销方案直接生成促销码toolbar 工具按钮调用)
marketing_id = params_kw.get('marketing_id', '')
if not marketing_id:
# 参数 mkt_id = 选中行的 id 字段params_mapping: id → mkt_id
mkt_id = params_kw.get('mkt_id', '')
if not mkt_id:
return {"widgettype": "Error", "options": {"title": "操作失败", "message": "缺少方案ID", "cwidth": 16, "cheight": 9, "timeout": 3}}
result = await generate_promo_code(request, {"marketing_id": marketing_id})
result = await generate_promo_code(request, {"marketing_id": mkt_id})
if result.get("status") == "success":
return {
"widgettype": "Message",