获取店铺今日订单数
GET /storeManage/getTodayOrderCount
查询指定店铺今日的有效订单数量(排除待支付、已取消、已过期状态的订单)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| storeId | Integer | 是 | 店铺ID |
GET /storeManage/getTodayOrderCount?storeId=102
{
"code": 200,
"success": true,
"data": 15,
"msg": "查询成功"
}
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,200表示成功 |
| success | Boolean | 是否成功 |
| data | Integer | 今日有效订单数量 |
| msg | String | 响应消息 |
// 查询今日的订单
wrapper.eq(LifeUserOrder::getStoreId, storeId)
.notIn(LifeUserOrder::getStatus,
OrderStatusEnum.CANCEL.getStatus(), // 4-已取消
OrderStatusEnum.WAIT_PAY.getStatus(), // 0-待支付
OrderStatusEnum.EXPIRE.getStatus()) // 3-已过期
.between(LifeUserOrder::getBuyTime,
today + " 00:00:00",
today + " 23:59:59");
life_user_orderLifeUserOrderLifeUserOrderMapper文件路径:alien-store-platform/src/main/java/shop/alien/storeplatform/controller/StoreManageController.java
@ApiOperation("获取店铺今日订单数")
@ApiOperationSupport(order = 6)
@ApiImplicitParams({
@ApiImplicitParam(name = "storeId", value = "店铺ID",
dataType = "Integer", paramType = "query", required = true)
})
@GetMapping("/getTodayOrderCount")
public R<Integer> getTodayOrderCount(@RequestParam("storeId") Integer storeId) {
log.info("StoreManageController.getTodayOrderCount?storeId={}", storeId);
try {
Integer count = storeManageService.getTodayOrderCount(storeId);
return R.data(count, "查询成功");
} catch (Exception e) {
log.error("StoreManageController.getTodayOrderCount ERROR: {}",
e.getMessage(), e);
return R.fail(e.getMessage());
}
}
文件路径:alien-store-platform/src/main/java/shop/alien/storeplatform/service/StoreManageService.java
/**
* 获取店铺今日订单数
*
* @param storeId 店铺ID
* @return 今日订单数
*/
Integer getTodayOrderCount(Integer storeId);
文件路径:alien-store-platform/src/main/java/shop/alien/storeplatform/service/impl/StoreManageServiceImpl.java
@Override
public Integer getTodayOrderCount(Integer storeId) {
log.info("StoreManageServiceImpl.getTodayOrderCount - 查询店铺今日订单数: storeId={}",
storeId);
// 1. 构建查询条件
LambdaQueryWrapper<LifeUserOrder> wrapper = new LambdaQueryWrapper<>();
LocalDate today = LocalDate.now();
// 2. 查询今日的订单,排除待支付、已取消、已过期状态
wrapper.eq(LifeUserOrder::getStoreId, storeId)
.notIn(LifeUserOrder::getStatus,
OrderStatusEnum.CANCEL.getStatus(),
OrderStatusEnum.WAIT_PAY.getStatus(),
OrderStatusEnum.EXPIRE.getStatus())
.between(LifeUserOrder::getBuyTime,
today + " 00:00:00",
today + " 23:59:59");
// 3. 统计订单数量
Integer count = lifeUserOrderMapper.selectCount(wrapper);
log.info("StoreManageServiceImpl.getTodayOrderCount - 查询完成: storeId={}, 今日订单数={}",
storeId, count);
return count;
}
private final LifeUserOrderMapper lifeUserOrderMapper;
import shop.alien.entity.store.LifeUserOrder;
import shop.alien.util.common.constant.OrderStatusEnum;
/alienStore/storeIncomeDetailsRecord/todayOrderCountStoreIncomeDetailsRecordControllerStoreIncomeDetailsRecordService/storeManage/getTodayOrderCountStoreManageControllerStoreManageService| 原接口 | 新接口 | 说明 |
|---|---|---|
| todayOrderCount | getTodayOrderCount | 符合web端命名规范 |
| /storeIncomeDetailsRecord/ | /storeManage/ | 统一归类到店铺管理模块 |
{
"code": 500,
"success": false,
"data": null,
"msg": "查询失败:数据库连接异常"
}
-- 查询店铺今日订单(用于验证)
SELECT
COUNT(*) AS order_count
FROM life_user_order
WHERE store_id = 102
AND status NOT IN (0, 3, 4) -- 排除待支付、已过期、已取消
AND buy_time BETWEEN '2025-11-12 00:00:00' AND '2025-11-12 23:59:59'
AND delete_flag = 0;
GET /storeManage/getTodayIncomeGET /storeManage/getStoreDetailPOST /storeManage/applyStoreOrderStatusEnum 确保状态码一致性LocalDate.now() 获取当天日期,确保时区正确selectCount 而非查询全部数据delete_flag 字段getTodayOrderCount 接口getTodayOrderCount 方法定义LifeUserOrderMapper 和 OrderStatusEnum 导入