5943f1536d
- 修改开发环境与生产环境的 VITE_API_URL 为 https://guilixu-api.websoft.top/api - 更新内存文件中关于商城接口实际调用后端域名为 guilixu-api.websoft.top 的描述 - 修正后端待部署地址及下单接口调用链接指向 guilixu-api.websoft.top - 统一接口调用基地址,明确 guilixu-java 为生效的主后端服务 - 记录用户纠正信息,强调运行时 ApiUrl 配置优先级与实际生效后端一致
3.8 KiB
3.8 KiB
2026-08-12 工作记录
偏远地区不发货 — 如何让远端用户无法下单(tenant 10606)
- 用户已
UPDATE shop_goods set express_template_id=11 WHERE express_template_id IS NULL and tenant_id=10606,以为这就禁了偏远地区下单。实际结论:这条只绑运费模板(算运费用),没有生成「不发货黑名单」数据,不会拦截下单。 - 后端拦截已端到端接通:
OrderBusinessService.createOrder→validateDeliveryRegionIfNeeded(第87行) →DeliveryRegionChecker(按 tenant_id 查shop_express_template_detail中 region_mode=2 且 status=0 的明细,收货地址行政区划码命中即抛"XX暂不配送,请更换收货地址")。 - 链路确认:guilixu-taro
BaseUrl=https://guilixu-api.websoft.top/api、TenantId=10606,下单走 guilixu-java(db_guilixu);单租户下买家 tenantId=10606,校验能命中黑名单。✅ - admin 前端明细编辑表单未暴露 regionMode=2(只 0/1),故黑名单只能 SQL 直插
shop_express_template_detail(region_mode=2, region_ids=偏远省6位码逗号串, status=0, tenant_id=10606, template_id=11)。已给 INSERT 模板与省码清单。 - 注意:黑名单是租户级、全店生效(不区分绑定哪个模板);自提(deliveryType=1)/selfTakeMerchantId 下单跳过校验。
补上后台「不发货黑名单」UI 模式(已交付)
- 改
src/views/shop/shopExpressTemplateDetail/components/shopExpressTemplateDetailEdit.vue:新增「配送模式」三态 radio(0全国/1指定配送/2指定不发货);mode=2 复用RegionMultiSelect选地区,保存写 region_mode=2 + region_ids(城市码逗号串);回显按 region_mode 初始化。 - 改
src/views/shop/shopExpressTemplateDetail/index.vue:「配送地区」列按 region_mode 显示「不发货:xxx / 配送:xxx / 默认全国」,城市码聚合为省名显示。 - 类型检查(vue-tsc)确认本次改动无新错误(唯一相关报错是预存的
$router用法,原文件即有,未引入)。 - 结论:黑名单现可经后台 UI 配置;SQL 直插仍作为备选(二者后台存城市码、SQL 存省份码,后端比对为编码集合 contains,都生效、互不冲突)。
- 已生成插偏远八省黑名单完整 SQL:
offline-remote-areas-blacklist-10606.sql(template_id=11, region_mode=2, region_ids=新疆650000/西藏540000/青海630000/宁夏640000/内蒙古150000/海南460000/黑龙江230000/甘肃620000, status=0, tenant_id=10606),含前置查重 + 后置验证语句。
微信支付报错 APPID_MCHID_NOT_MATCH(tenant 10606 下单失败)
- 现象:用户下单报
创建微信支付订单失败:Wrong HttpStatusCode[400] ... APPID_MCHID_NOT_MATCH。服务商模式 JSAPI,请求体 sp_appid=wx541db955e7a62709/sp_mchid=1720296183、sub_appid=wxcad054ee427aaca1/sub_mchid=1744894035。 - 根因:传给微信的
sub_appid与sub_mchid在微信侧不匹配(该子商户应用ID未绑定到该子商户号)。代码无 bug。 - 4 个值来源:
gxwebsoft_core.sys_payment(tenant 10606 微信JSAPI记录)字段app_id/mch_id/sub_app_id/sub_mch_id;拼装在ShopOrderServiceImpl.java:809-912(服务商模式)。 - 已验证
sub_app_id=wxcad054ee427aaca1就是guilixu-taro用户端小程序真实 appid(project.config.json),故 sub_appid 是对的、与买家 openid 一致。 - 结论:问题在
sub_app_id↔sub_mchid绑定被破坏——最可能(1)商户平台子商户1744894035对 appid 的授权被移除/失效;(2)sys_payment.sub_mch_id被误改。 - 修复:微信商户平台(服务商
1720296183服务商平台→特约商户管理→开发配置)为子商户1744894035绑定 appidwxcad054ee427aaca1;并SELECT核对sys_payment的 sub_mch_id 仍为1744894035。无需改代码,新订单号直接读最新配置。