本文档覆盖当前仓库内已经落地的两个业务模块:
business-hotelbusiness-scenic适用场景:
当前结论:
jeesharp-business 聚合工程。business-mobile-gateway 挂出。目录:
jeesharp-business/business-hotel推荐 SQL 顺序:
01_schema.sql02_seed.sql03_menu_permission.sql04_cleanup.sql 可选回滚当前后台已具备以下对象管理能力:
菜单路径:
/business/hotel/stay/business/hotel/room-type/business/hotel/booking对应后台接口子路径:
GET /manager/business/hotel/stay/v1/infoPOST /manager/business/hotel/stay/v1/listPOST /manager/business/hotel/stay/v1/saveGET /manager/business/hotel/stay/v1/deleteGET /manager/business/hotel/roomType/v1/infoPOST /manager/business/hotel/roomType/v1/listPOST /manager/business/hotel/roomType/v1/saveGET /manager/business/hotel/roomType/v1/deleteGET /manager/business/hotel/booking/v1/infoPOST /manager/business/hotel/booking/v1/listPOST /manager/business/hotel/booking/v1/saveGET /manager/business/hotel/booking/v1/delete说明:
/business/hotel/room-type,但后台 controller 路径是 roomType/v1,这是当前代码中的实际实现。当前移动端接口挂载在:
${jeesharp.web.mobilePath}/hotel主要接口:
GET /mobile/hotel/staysGET /mobile/hotel/stay/{id}POST /mobile/hotel/booking/createPOST /mobile/hotel/booking/pay/prepareGET /mobile/hotel/booking/pay/status/{orderId}POST /mobile/hotel/booking/pay/mock-successPOST /mobile/hotel/booking/cancelGET /mobile/hotel/booking/result/{orderId}当前已经实现的业务行为:
tradeOrderId / payOrderId / attach / amountFenorderId 回查结果当前不是纯占位状态,已经具备以下能力:
HotelBookingOrderServiceImpl#preparePay(...) 会生成完整业务支付参数HotelMobileController#payPrepare(...) 通过 WechatJsapiPayOrderPrepayService 创建财务支付单(biz_finance_pay_order)、调用 WechatMiniPayService.createPrepay(...) 并回填调起参数memberId + appId + openid 绑定,会把 payer.openid 一起带上TravelWechatPayNotifyMobileController(/mobile/pay/notify/wechat,attach 路由)WechatPayNotifyAdapterServiceHotelWechatPayCallbackAdapter目录:
jeesharp-business/business-scenic推荐 SQL 顺序:
01_schema.sql02_seed.sql03_menu_permission.sql04_cleanup.sql 可选回滚当前后台已具备以下对象管理能力:
菜单路径:
/business/scenic/venue/business/scenic/booking对应后台接口子路径:
GET /manager/business/scenic/venue/v1/infoPOST /manager/business/scenic/venue/v1/listPOST /manager/business/scenic/venue/v1/saveGET /manager/business/scenic/venue/v1/deleteGET /manager/business/scenic/booking/v1/infoPOST /manager/business/scenic/booking/v1/listPOST /manager/business/scenic/booking/v1/saveGET /manager/business/scenic/booking/v1/delete当前移动端接口挂载在:
${jeesharp.web.mobilePath}/ticket/booking主要接口:
GET /mobile/ticket/booking/venuesGET /mobile/ticket/booking/venue/{id}POST /mobile/ticket/booking/createPOST /mobile/ticket/booking/pay/prepareGET /mobile/ticket/booking/pay/status/{orderId}POST /mobile/ticket/booking/pay/mock-successPOST /mobile/ticket/booking/cancelGET /mobile/ticket/booking/result/{orderId}当前已经实现的业务行为:
pending_usepending_paytradeOrderId / payOrderId / attach / amountFenorderId 回查结果当前景区支付链路也已经超出“仅占位”阶段:
ScenicBookingOrderServiceImpl#preparePay(...) 已生成支付业务参数ScenicMobileController#preparePay(...) 通过 WechatJsapiPayOrderPrepayService 创建财务支付单、调用 WechatMiniPayService.createPrepay(...) 并回填调起参数TravelWechatPayNotifyMobileController(/mobile/pay/notify/wechat,attach 路由)WechatPayNotifyAdapterServiceScenicWechatPayCallbackAdapter两个模块当前已经挂入以下工程:
jeesharp-business/pom.xmljeesharp-business/business-mobile-gateway/pom.xmlweb-starter/pom.xml因此正常启动 web-starter 后,会同时暴露:
支付相关公共组件当前在 business-mobile-gateway 内统一维护:
WechatJsapiPayOrderPrepayService(支付单 + 统一下单 + 回填 VO)WechatPayNotifyAdapterServiceHotelWechatPayCallbackAdapterScenicWechatPayCallbackAdapterMallWechatPayCallbackAdapterWECHAT_PAY_NOTIFY_SAMPLE.yml财务侧支付单与支付流水在 business-finance:PayOrderApplicationService、PayRecordApplicationService(回调先更新支付单再落支付记录)。
当前“我的订单”聚合已经不是待办,已接入移动端订单接口:
GET /mobile/order/listGET /mobile/order/{id}当前会聚合三类订单:
说明:
WechatJsapiPayOrderPrepayService(财务支付单 + 微信统一下单);酒店与景区仍各自维护业务单状态;商城订单支付状态见 mall_order.status。两个模块的菜单 SQL 默认依赖:
sys_menu.parent_id = biz_root如果现网父菜单不是 biz_root,执行前需要先修改:
03_menu_permission.sql当前菜单 SQL 只负责:
不会自动给真实角色写入授权。
仍需:
sys_role_menu 授权演示数据默认引用部分静态图片,如:
/static/images/home-hero-default.png(原 home-hero-banner.png / home-hero-ref.png 已合并)如果现网不提供这些资源,需要改成真实 URL。
要跑通真实 createPrepay(...),至少要满足:
wx.pay.jsapi.enabled=truenotify-base-url 配置正确api-v3-key 配置完整app_member_oauth 中可查到 memberId + appId + openid配置样例:
jeesharp-business/business-mobile-gateway/WECHAT_PAY_NOTIFY_SAMPLE.yml本地联调时,如果没有完整微信支付配置,可使用:
pay/mock-successwx.pay.jsapi.mock-fallback=truewx.pay.notify.skip-signature-verify=true但测试/生产环境不能依赖这些开发态设置。
GET /mobile/hotel/stays 与 GET /mobile/hotel/stay/{id} 校验数据POST /mobile/hotel/booking/create 创建业务单POST /mobile/hotel/booking/pay/prepare 验证预支付参数POST /mobile/hotel/booking/pay/mock-success 验证支付成功流转biz_finance_pay_order.notify_url 为 .../mobile/pay/notify/wechat 并完成真实支付回调联调GET /mobile/hotel/booking/result/{orderId} 与 GET /mobile/order/{id} 校验结果GET /mobile/ticket/booking/venues 与 GET /mobile/ticket/booking/venue/{id} 校验数据pending_usepending_payPOST /mobile/ticket/booking/pay/prepare 验证预支付参数POST /mobile/ticket/booking/pay/mock-success 验证支付成功流转biz_finance_pay_order.notify_url 为 .../mobile/pay/notify/wechat 并完成真实支付回调联调GET /mobile/ticket/booking/result/{orderId} 与 GET /mobile/order/{id} 校验结果已完成:
未完成或仍需加强:
已完成:
未完成或仍需加强:
当前仓库内已经明确了后端接口契约,但没有在本仓库直接检索到 pages/hotel/* 或 pages/ticket/* 页面源码。
因此这里把以下路径视为小程序端联调约定,而不是当前仓库内现成资源:
pages/hotel/indexpages/hotel/detailpages/hotel/bookpages/hotel/successpages/ticket/indexpages/ticket/bookpages/ticket/success如果联调使用的是外部小程序仓库,请以该仓库中的页面与 API 封装为准。
按当前进度,优先建议:
如果只是做业务演示或后台联调,当前版本已经可以支撑酒店与景区的主流程联调。