全部
常见问题
产品动态
精选推荐
功能建议

已处理 待处理 {{opt.name}}
已处理 待处理
分析中 已回复 待规划 {{opt.name}}
分析中 已回复 待规划
最新版外部接口的问题

管理 管理 编辑 删除

最近给客户部署了一套标准版,因为需要对接他们已有系统实现订单查询,发线一个问题,当给商品添加了自定义字段,然后通过/outapi/order/list这个接口,将自定义字段作为查询条件的时候会出现随便输入一个字符串就会显示订单的情况,通过咨询AI得出以下结论:

根因

/outapi/order/list 的链路是:route.phpStoreOrder/lst()OutStoreOrderServices::getOrderList() → DAO 的 withSearch($where)。ThinkPHP 的 withSearch 只会应用模型上存在 searchXXXAttr 搜索器的字段,而 app/model/order/StoreOrder.php 里没有 searchCustomFormAttr,所以 custom_form 参数被静默忽略——不管你传什么,接口都在返回全量订单列表。


已做的两处修改

1. app/outapi/controller/StoreOrder.php — lst() 方法

  • 参数表里加了 ['custom_form', '']
  • 强制校验:不传或为空 → 直接返回“请传入 custom_form 参数”,不再吐全量数据;超过 100 字符也拒绝。

2. app/model/order/StoreOrder.php — 新增 searchCustomFormAttr 搜索器

  • 数据库里 custom_form 是 JSON 串([{"title":"通知书号","value":"TZS001"},...]),用带双引号的完整值做 LIKE 匹配(如 %"TZS001"%),引号就是边界,所以:
  • 同时兼容中文原样存储和 \uXXXX 转义存储两种 JSON 格式,并转义了 %/_ 防止 LIKE 通配符绕过完全匹配。

count 统计走同一个搜索器,分页数量也是过滤后的,无需改 Service 层。


crmeb\app\outapi\controller\StoreOrder.php

38dee202608231743108101.png



crmeb\app\model\order\StoreOrder.php

c563d202608231744026857.png

{{voteData.voteSum}} 人已参与
支持
反对
请登录后查看

木木 最后编辑于2026-08-23 17:48:44

快捷回复
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}} 【已收集】
{{item.floor}}# 沙发 板凳 地板 {{item.floor}}# 【已收集】
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
分享
{{item.showReply ? '取消回复' : '回复'}}
删除
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
收起 展开更多
查看更多
打赏
已打赏¥{{reward_price}}
34
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

{{ wechatLoginError }}
切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服
CRMEB咨询热线 400-8888-794

扫码领取产品资料

功能清单
思维导图
安装教程
CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服