积分管理系统后端,基于Spring Boot 2.6.10 + MyBatis Plus + PostgreSQL开发,支持积分规则设置、个人积分看板、单位积分看板等功能。
克隆项目bash git clone <project-url> cd WEB-MANAGE-BACK
配置数据库
```bash
psql -U postgres -c "CREATE DATABASE web_manage;"
psql -U postgres -d web_manage -f src/main/resources/sql/init.sql
```
修改配置
编辑 src/main/resources/application.yml
,修改数据库、Redis、MinIO配置
启动项目bash mvn spring-boot:run
访问API文档 http://localhost:8080/admin/doc.html
POST /api/pricing/page
- 分页查询产品定价POST /api/pricing/add
- 新增产品定价POST /api/pricing/update
- 修改产品定价DELETE /api/pricing/{id}
- 删除产品定价GET /api/pricing/product/{productId}
- 根据产品ID查询定价POST /api/order/buyer/page
- 分页查询买家订单列表POST /api/order/seller/page
- 分页查询卖家订单列表POST /api/order/approval/page
- 分页查询待审批订单列表GET /api/order/detail/{orderId}
- 获取订单详情POST /api/order/attachment/upload
- 上传订单附件POST /api/order/evaluation/add
- 添加订单评价POST /api/order/transaction/confirm
- 确认交易POST /api/order/evaluation/reply
- 回复评价POST /api/approval/page
- 分页查询审批记录POST /api/approval/pending/page
- 分页查询待审批订单GET /api/approval/order/{orderId}
- 根据订单ID查询审批记录POST /api/approval/approve
- 审批订单POST /api/approval/authorize/{approvalId}
- 授权审批GET /api/approval/status/{orderId}
- 获取订单当前审批状态POST /api/points/rule/page
- 分页查询积分规则POST /api/points/rule/add
- 新增积分规则POST /api/points/rule/update
- 修改积分规则DELETE /api/points/rule/{id}
- 删除积分规则POST /api/points/rule/toggle/{id}
- 启用/禁用积分规则GET /api/points/rule/type/{ruleType}
- 根据规则类型查询启用的规则POST /api/points/flow/personal/page
- 分页查询个人积分流水POST /api/points/flow/unit/page
- 分页查询单位积分流水GET /api/points/flow/user/{userId}
- 根据用户ID查询积分流水GET /api/points/flow/unit/{unitId}
- 根据单位ID查询积分流水POST /api/points/flow/add
- 新增积分流水(根据规则自动计算)POST /api/points/flow/add/personal
- 新增个人积分流水POST /api/points/flow/add/unit
- 新增单位积分流水GET /api/points/total/user/{userId}
- 获取用户积分统计GET /api/points/total/unit/{unitId}
- 获取单位积分统计POST /api/file/upload
- 文件上传GET /api/file/download/{fileName}
- 文件下载GET /api/file/preview/{fileName}
- 文件预览DELETE /api/file/{fileName}
- 文件删除POST /api/cart/add
- 添加商品到购物车DELETE /api/cart/remove
- 从购物车移除商品PUT /api/cart/update
- 更新购物车商品数量DELETE /api/cart/clear
- 清空购物车GET /api/cart/info
- 获取购物车信息GET /api/cart/items
- 获取购物车商品列表DELETE /api/cart/batch-remove
- 批量删除购物车商品GET /api/cart/count
- 获取购物车商品数量POST /api/cart/sync-to-db
- 同步Redis数据到数据库POST /api/cart/load-from-db
- 从数据库加载数据到RedisGET /api/cart/consistency
- 检查数据一致性GET /api/order/no/new
- 生成唯一订单号(调试/前置占号可用)snowflake:
worker-id: 1 # 0-31
datacenter-id: 1 # 0-31
twepoch-ms: 1577808000000 # 2020-01-01 00:00:00,勿随意变更
如不配置,默认使用上述值。
src/main/java/com/webmanage/
├── WebManageApplication.java # 主启动类
├── common/ # 公共组件
│ ├── Result.java # 统一响应结果
│ ├── PageResult.java # 分页响应结果
│ ├── BusinessException.java # 业务异常
│ ├── FileUploadException.java # 文件上传异常
│ └── GlobalExceptionHandler.java # 全局异常处理器
├── config/ # 配置类
│ ├── MinioConfig.java # MinIO配置
│ └── MybatisPlusConfig.java # MyBatis Plus配置
├── entity/ # 实体类
│ ├── ProductPricing.java # 产品定价实体
│ ├── OrderInfo.java # 订单信息实体
│ ├── OrderDetail.java # 订单详情实体
│ ├── OrderAttachment.java # 订单附件实体
│ ├── OrderEvaluation.java # 订单评价实体
│ ├── ApprovalRecord.java # 审批记录实体
│ ├── PointsRule.java # 积分规则实体
│ ├── PointsFlow.java # 积分流水实体
│ └── UserPoints.java # 用户积分实体
├── dto/ # 数据传输对象
│ ├── OrderQueryDTO.java # 订单查询条件
│ ├── ApprovalQueryDTO.java # 审批查询条件
│ ├── ApprovalActionDTO.java # 审批操作
│ ├── PointsRuleDTO.java # 积分规则
│ ├── PointsFlowQueryDTO.java # 积分流水查询条件
│ ├── AddPointsFlowDTO.java # 新增积分流水
│ ├── CartItemDTO.java # 购物车商品项
│ └── CartQueryDTO.java # 购物车查询条件
├── vo/ # 视图对象
│ ├── OrderDetailVO.java # 订单详情视图
│ ├── OrderDetailItemVO.java # 订单详情项视图
│ ├── OrderAttachmentVO.java # 订单附件视图
│ ├── OrderEvaluationVO.java # 订单评价视图
│ ├── CartVO.java # 购物车视图
│ └── CartItemVO.java # 购物车商品项视图
├── mapper/ # 数据访问层
│ ├── ProductPricingMapper.java # 产品定价Mapper
│ ├── OrderInfoMapper.java # 订单信息Mapper
│ ├── OrderDetailMapper.java # 订单详情Mapper
│ ├── OrderAttachmentMapper.java # 订单附件Mapper
│ ├── OrderEvaluationMapper.java # 订单评价Mapper
│ ├── ApprovalRecordMapper.java # 审批记录Mapper
│ ├── PointsRuleMapper.java # 积分规则Mapper
│ ├── PointsFlowMapper.java # 积分流水Mapper
│ └── UserPointsMapper.java # 用户积分Mapper
├── service/ # 业务逻辑层
│ ├── MinioService.java # MinIO服务
│ ├── ProductPricingService.java # 产品定价服务
│ ├── OrderInfoService.java # 订单信息服务
│ ├── ApprovalRecordService.java # 审批记录服务
│ ├── PointsRuleService.java # 积分规则服务
│ ├── PointsFlowService.java # 积分流水服务
│ └── CartService.java # 购物车服务
├── service/impl/ # 业务逻辑实现
│ ├── ProductPricingServiceImpl.java # 产品定价服务实现
│ ├── OrderInfoServiceImpl.java # 订单信息服务实现
│ ├── ApprovalRecordServiceImpl.java # 审批记录服务实现
│ ├── PointsRuleServiceImpl.java # 积分规则服务实现
│ ├── PointsFlowServiceImpl.java # 积分流水服务实现
│ └── CartServiceImpl.java # 购物车服务实现
└── controller/ # 控制器层
├── ProductPricingController.java # 产品定价控制器
├── OrderController.java # 订单管理控制器
├── ApprovalController.java # 审批管理控制器
├── PointsController.java # 积分管理控制器
├── CartController.java # 购物车管理控制器
└── FileController.java # 文件管理控制器
product_pricing
- 产品定价表order_info
- 订单信息表order_detail
- 订单详情表order_attachment
- 订单附件表order_evaluation
- 订单评价表approval_record
- 审批记录表points_rule
- 积分规则表points_flow
- 积分流水表user_points
- 用户积分表points_rule
- 积分规则配置表spring:
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/web_manage
username: postgres
password: 123456
spring:
redis:
host: localhost
port: 6379
password:
database: 0
spring:
minio:
endpoint: http://localhost:9000
access-key: minioadmin
secret-key: minioadmin
bucket-name: web-manage
mvn spring-boot:run
mvn clean package
java -jar target/web-manage-back-1.0.0.jar
如有问题,请联系开发团队。