初始化天卡开放平台后端项目

包含完整功能模块:
- 设备激活(直销激活码模式 + 代销免激活码模式)
- 微信支付 + 天卡订单
- 天卡池管理 + 异步橘视厅SDK激活
- 第三方合作伙伴接口(代销模式)
  - 签名鉴权(appKey/appSecret + nonce防重放)
  - 天卡消耗(事务 + 幂等 + 并发控制)
  - 媒资接口(三级授权过滤)
  - 审计日志
- 定价策略(3层:门店 > 渠道 > 平台)
- 分账(微信分账 + 分润规则)
- Docker部署(含Redis容器)
This commit is contained in:
zhaogd
2026-07-26 12:34:13 +08:00
commit 30198c7191
349 changed files with 28837 additions and 0 deletions

52
start.sh Executable file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env bash
# ===========================================================
# start.sh — daycard-openapi 后端一键启动脚本
# 项目: Spring Boot 2.6.6 / Java 17 / 端口 8084
#
# 用法:
# ./start.sh # clean 后启动(推荐)
# ./start.sh --no-clean # 跳过 clean,加速重复启动
# ./start.sh -Dspring-boot.run.jvmArguments="-Dserver.port=8090"
# # 透传任意 maven / spring-boot 参数
# ===========================================================
set -euo pipefail
cd "$(dirname "$0")"
# ---- 1. 选定 Java 17(找不到则回退 Java 8)----
JDK17_PREF="/Users/zhaoguodong/Library/Java/JavaVirtualMachines/jbr-17.0.14/Contents/Home"
if [[ -d "$JDK17_PREF" ]]; then
export JAVA_HOME="$JDK17_PREF"
elif JDK17_AUTO="$(/usr/libexec/java_home -v 17 2>/dev/null)"; then
export JAVA_HOME="$JDK17_AUTO"
elif JDK8_AUTO="$(/usr/libexec/java_home -v 1.8 2>/dev/null)"; then
export JAVA_HOME="$JDK8_AUTO"
echo "⚠️ 未找到 Java 17,回退到 Java 8" >&2
else
echo "❌ 找不到 Java 17 或 Java 8,请安装 JDK 或修改本脚本里的 JAVA_HOME" >&2
exit 1
fi
echo "==> JAVA_HOME=$JAVA_HOME"
"$JAVA_HOME/bin/java" -version
# ---- 2. 解析参数 ----
DO_CLEAN=1
PASSTHRU=()
for arg in "$@"; do
case "$arg" in
--no-clean) DO_CLEAN=0 ;;
--clean) DO_CLEAN=1 ;;
*) PASSTHRU+=("$arg") ;;
esac
done
# ---- 3. 启动 ----
# clean 可清掉 target 中残留的 stale class(曾出现 AsApplication 2.class
# 导致“找到两个 main class”无法启动的问题)。
GOAL="spring-boot:run"
if [[ "$DO_CLEAN" -eq 1 ]]; then
GOAL="clean spring-boot:run"
echo "==> mvn clean spring-boot:run"
else
echo "==> mvn spring-boot:run"
fi
mvn $GOAL "${PASSTHRU[@]+"${PASSTHRU[@]}"}"