Files
guilixu-admin/.workbuddy/memory/2026-08-12.md
T
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

3.8 KiB
Raw Blame History

2026-08-12 工作记录

偏远地区不发货 — 如何让远端用户无法下单(tenant 10606

  • 用户已 UPDATE shop_goods set express_template_id=11 WHERE express_template_id IS NULL and tenant_id=10606,以为这就禁了偏远地区下单。实际结论:这条只绑运费模板(算运费用),没有生成「不发货黑名单」数据,不会拦截下单
  • 后端拦截已端到端接通:OrderBusinessService.createOrdervalidateDeliveryRegionIfNeeded(第87行) → DeliveryRegionChecker(按 tenant_id 查 shop_express_template_detail 中 region_mode=2 且 status=0 的明细,收货地址行政区划码命中即抛"XX暂不配送,请更换收货地址")。
  • 链路确认:guilixu-taro BaseUrl=https://guilixu-api.websoft.top/apiTenantId=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,都生效、互不冲突)。
  • 已生成插偏远八省黑名单完整 SQLoffline-remote-areas-blacklist-10606.sqltemplate_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_appidsub_mchid 在微信侧不匹配(该子商户应用ID未绑定到该子商户号)。代码无 bug。
  • 4 个值来源:gxwebsoft_core.sys_paymenttenant 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。无需改代码,新订单号直接读最新配置。