Files
gxwebsoft 5943f1536d chore(env): 更换后台管理系统 API 接口地址为 guilixu-api.websoft.top
- 修改开发环境与生产环境的 VITE_API_URL 为 https://guilixu-api.websoft.top/api
- 更新内存文件中关于商城接口实际调用后端域名为 guilixu-api.websoft.top 的描述
- 修正后端待部署地址及下单接口调用链接指向 guilixu-api.websoft.top
- 统一接口调用基地址,明确 guilixu-java 为生效的主后端服务
- 记录用户纠正信息,强调运行时 ApiUrl 配置优先级与实际生效后端一致
2026-08-18 01:00:25 +08:00

26 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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_MATCHtenant 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` 用户端小程序真实 appidproject.config.json),故 sub_appid 是对的、与买家 openid 一致。
- 结论:问题在 `sub_app_id↔sub_mchid` 绑定被破坏——最可能(1)商户平台子商户 `1744894035` 对 appid 的授权被移除/失效;(2)`sys_payment.sub_mch_id` 被误改。
- 修复:微信商户平台(服务商 `1720296183` 服务商平台→特约商户管理→开发配置)为子商户 `1744894035` 绑定 appid `wxcad054ee427aaca1`;并 `SELECT` 核对 `sys_payment` 的 sub_mch_id 仍为 `1744894035`。无需改代码,新订单号直接读最新配置。