You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 4.0KB

1 kuukausi sitten
1 kuukausi sitten
1 kuukausi sitten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. # 福泉WebAPI - 智能物流管理系统
  2. ## 📋 项目简介
  3. 基于SpringBoot的智能物流管理系统后端API,提供车辆管理、称重记录、供应商管理等核心功能,支持AK/SK签名认证。
  4. ## ✨ 核心功能
  5. - 🚛 **物流管理**: 车辆信息、转运记录、称重记录
  6. - 👥 **用户管理**: 供应商、运输公司管理
  7. - 📊 **数据管理**: 品种信息、供应关系、图片管理
  8. - 🔐 **安全认证**: AK/SK签名验证、时间戳防重放
  9. ## 🛠 技术栈
  10. - **Spring Boot** 2.7.18
  11. - **Spring Data JPA**
  12. - **SQL Server**
  13. - **Maven**
  14. - **Java 8+**
  15. ## 🚀 快速开始
  16. ### 1. 环境要求
  17. - JDK 1.8+
  18. - Maven 3.6+
  19. - SQL Server 2012+
  20. ### 2. 配置数据库
  21. ```yaml
  22. spring:
  23. datasource:
  24. url: jdbc:sqlserver://localhost:1433;databaseName=fuquan_db;encrypt=false;trustServerCertificate=true
  25. username: your_username
  26. password: your_password
  27. ```
  28. ### 3. 配置API密钥
  29. ```yaml
  30. api:
  31. client:
  32. ak: your_access_key_here
  33. sk: your_secret_key_here
  34. ```
  35. ### 4. 启动应用
  36. #### 方式一:Maven启动(开发环境)
  37. ```bash
  38. mvn spring-boot:run
  39. ```
  40. #### 方式二:JAR包启动(生产环境)
  41. ```bash
  42. # 编译打包
  43. mvn clean package
  44. # 快速启动
  45. chmod +x run.sh
  46. ./run.sh
  47. # 或直接运行JAR
  48. java -jar target/webapi-0.0.1-SNAPSHOT.jar
  49. ```
  50. #### 方式三:Linux服务部署
  51. ```bash
  52. # 安装脚本
  53. chmod +x install.sh
  54. ./install.sh
  55. # 启动服务
  56. sudo systemctl start fuquan-webapi
  57. sudo systemctl enable fuquan-webapi
  58. # 查看状态
  59. sudo systemctl status fuquan-webapi
  60. ```
  61. 访问地址: `http://localhost:8806/fuquanapi`
  62. API文档: `http://localhost:8806/fuquanapi/swagger-ui.html`
  63. ## 🔐 安全认证
  64. ### 请求头要求
  65. ```http
  66. ak: your_access_key
  67. timestamp: 1640995200000
  68. signature: calculated_signature
  69. ```
  70. ### 签名计算
  71. ```java
  72. // 签名 = MD5(ak + sk + timestamp)
  73. String signature = MD5(accessKey + secretKey + timestamp);
  74. ```
  75. **注意**: 时间戳与服务器时间差不能超过10分钟
  76. ## 📚 主要API
  77. ### 供应商管理
  78. ```http
  79. POST /api/supplier/page/conditions
  80. ```
  81. ### 运输公司管理
  82. ```http
  83. POST /api/transport-company/page/conditions
  84. ```
  85. ### 转运记录管理
  86. ```http
  87. POST /api/transfer-record/page/conditions
  88. ```
  89. ### 称重记录管理
  90. ```http
  91. POST /api/weighing-record/page/conditions
  92. ```
  93. ## 📁 项目结构
  94. ```
  95. src/main/java/com/example/webapi/
  96. ├── controller/ # 控制器层
  97. ├── service/ # 服务层
  98. ├── repository/ # 数据访问层
  99. ├── entity/ # 实体类
  100. ├── dto/ # 数据传输对象
  101. ├── interceptor/ # 拦截器
  102. └── util/ # 工具类
  103. ```
  104. ## 🐧 Linux部署脚本
  105. ### 脚本说明
  106. | 脚本 | 用途 | 适用场景 |
  107. |------|------|----------|
  108. | `run.sh` | 快速启动 | 开发测试 |
  109. | `start.sh` | 完整管理 | 生产环境 |
  110. | `install.sh` | 自动安装 | 首次部署 |
  111. ### 使用示例
  112. ```bash
  113. # 快速启动(开发环境)
  114. ./run.sh
  115. # 生产环境管理
  116. ./start.sh start # 启动应用
  117. ./start.sh stop # 停止应用
  118. ./start.sh restart # 重启应用
  119. ./start.sh status # 查看状态
  120. ./start.sh logs # 查看日志
  121. # 自动安装部署
  122. ./install.sh
  123. ```
  124. ### 系统服务管理
  125. ```bash
  126. # 启动服务
  127. sudo systemctl start fuquan-webapi
  128. # 停止服务
  129. sudo systemctl stop fuquan-webapi
  130. # 重启服务
  131. sudo systemctl restart fuquan-webapi
  132. # 查看状态
  133. sudo systemctl status fuquan-webapi
  134. # 开机自启
  135. sudo systemctl enable fuquan-webapi
  136. # 查看日志
  137. sudo journalctl -u fuquan-webapi -f
  138. ```
  139. ## 🐛 常见问题
  140. 1. **数据库连接失败**: 检查数据库服务和连接配置
  141. 2. **签名验证失败**: 确认AK/SK配置和时间戳格式
  142. 3. **分页查询异常**: 验证分页参数和查询条件
  143. 4. **端口被占用**: 修改配置文件中的端口号
  144. 5. **权限不足**: 确保脚本有执行权限 `chmod +x *.sh`
  145. ## 📞 联系方式
  146. - **项目地址**: [GitHub Repository]
  147. - **邮箱**: [your.email@example.com]
  148. ---
  149. **福泉WebAPI** - 让物流管理更智能! 🚀