Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
api
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
e0ea5f18
authored
Nov 02, 2025
by
Jony.L
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
管理端首页,顶部导航栏统计数据bug修复
parent
3dde2664
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
240 additions
and
18 deletions
+240
-18
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/api/order/ApiHubOrderStatisticsApi.java
+23
-0
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/api/order/dto/ApiOrderStatisticsDTO.java
+28
-0
computility-module-apihub/computility-module-apihub-biz/src/main/java/com/luhu/computility/module/apihub/dal/mysql/apiorder/ApiOrderMapper.java
+8
-0
computility-module-apihub/computility-module-apihub-biz/src/main/java/com/luhu/computility/module/apihub/service/impl/ApiHubOrderStatisticsApiImpl.java
+49
-0
computility-module-biz/computility-module-biz-biz/pom.xml
+6
-0
computility-module-biz/computility-module-biz-biz/src/main/java/com/luhu/computility/module/biz/controller/admin/home/vo/HomeIndexTopBarRespVO.java
+2
-2
computility-module-biz/computility-module-biz-biz/src/main/java/com/luhu/computility/module/biz/service/home/HomeIndexServiceImpl.java
+16
-16
computility-module-compute/computility-module-compute-api/src/main/java/com/luhu/computility/module/compute/api/order/ComputeOrderStatisticsApi.java
+23
-0
computility-module-compute/computility-module-compute-api/src/main/java/com/luhu/computility/module/compute/api/order/dto/ComputeOrderStatisticsDTO.java
+28
-0
computility-module-compute/computility-module-compute-biz/src/main/java/com/luhu/computility/module/compute/dal/mysql/resourceorder/ResourceOrderMapper.java
+9
-0
computility-module-compute/computility-module-compute-biz/src/main/java/com/luhu/computility/module/compute/service/impl/ComputeOrderStatisticsApiImpl.java
+48
-0
No files found.
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/api/order/ApiHubOrderStatisticsApi.java
0 → 100644
View file @
e0ea5f18
package
com
.
luhu
.
computility
.
module
.
apihub
.
api
.
order
;
import
com.luhu.computility.module.apihub.api.order.dto.ApiOrderStatisticsDTO
;
import
java.time.LocalDateTime
;
/**
* API订单统计API接口
*
* @author jony
*/
public
interface
ApiHubOrderStatisticsApi
{
/**
* 获取今日已支付的API订单统计
*
* @param timeRange 时间范围 [开始时间, 结束时间]
* @return 订单统计信息(数量和总金额)
*/
ApiOrderStatisticsDTO
getTodayOrderStatistics
(
LocalDateTime
[]
timeRange
);
}
\ No newline at end of file
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/api/order/dto/ApiOrderStatisticsDTO.java
0 → 100644
View file @
e0ea5f18
package
com
.
luhu
.
computility
.
module
.
apihub
.
api
.
order
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* API订单统计DTO
*
* @author jony
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ApiOrderStatisticsDTO
{
/**
* 订单数量
*/
private
Integer
count
;
/**
* 订单总金额(分)
*/
private
Integer
totalAmount
;
}
\ No newline at end of file
computility-module-apihub/computility-module-apihub-biz/src/main/java/com/luhu/computility/module/apihub/dal/mysql/apiorder/ApiOrderMapper.java
View file @
e0ea5f18
...
@@ -101,4 +101,11 @@ public interface ApiOrderMapper extends BaseMapperX<ApiOrderDO> {
...
@@ -101,4 +101,11 @@ public interface ApiOrderMapper extends BaseMapperX<ApiOrderDO> {
.
eq
(
ApiOrderDO:
:
getId
,
id
).
eq
(
ApiOrderDO:
:
getStatus
,
status
));
.
eq
(
ApiOrderDO:
:
getId
,
id
).
eq
(
ApiOrderDO:
:
getStatus
,
status
));
}
}
default
List
<
ApiOrderDO
>
selectListByStatusAndCreateTime
(
Integer
status
,
LocalDateTime
[]
timeRange
)
{
return
selectList
(
new
LambdaQueryWrapperX
<
ApiOrderDO
>()
.
eq
(
ApiOrderDO:
:
getStatus
,
status
)
.
betweenIfPresent
(
ApiOrderDO:
:
getCreateTime
,
timeRange
)
.
orderByDesc
(
ApiOrderDO:
:
getId
));
}
}
}
\ No newline at end of file
computility-module-apihub/computility-module-apihub-biz/src/main/java/com/luhu/computility/module/apihub/service/impl/ApiHubOrderStatisticsApiImpl.java
0 → 100644
View file @
e0ea5f18
package
com
.
luhu
.
computility
.
module
.
apihub
.
service
.
impl
;
import
com.luhu.computility.module.apihub.api.order.ApiHubOrderStatisticsApi
;
import
com.luhu.computility.module.apihub.api.order.dto.ApiOrderStatisticsDTO
;
import
com.luhu.computility.module.apihub.dal.dataobject.apiorder.ApiOrderDO
;
import
com.luhu.computility.module.apihub.dal.mysql.apiorder.ApiOrderMapper
;
import
com.luhu.computility.module.apihub.enums.ApihubOrderStatusEnum
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* API订单统计API实现类
*
* @author jony
*/
@Service
@Slf4j
public
class
ApiHubOrderStatisticsApiImpl
implements
ApiHubOrderStatisticsApi
{
@Resource
private
ApiOrderMapper
apiOrderMapper
;
@Override
public
ApiOrderStatisticsDTO
getTodayOrderStatistics
(
LocalDateTime
[]
timeRange
)
{
try
{
List
<
ApiOrderDO
>
orders
=
apiOrderMapper
.
selectListByStatusAndCreateTime
(
ApihubOrderStatusEnum
.
PAID
.
getValue
(),
timeRange
);
int
count
=
orders
.
size
();
int
totalAmount
=
orders
.
stream
()
.
filter
(
order
->
order
.
getCostPrice
()
!=
null
)
.
mapToInt
(
ApiOrderDO:
:
getCostPrice
)
.
sum
();
return
new
ApiOrderStatisticsDTO
(
count
,
totalAmount
);
}
catch
(
Exception
e
)
{
log
.
error
(
"[getTodayOrderStatistics] 获取今日API订单统计失败"
,
e
);
throw
e
;
}
}
}
\ No newline at end of file
computility-module-biz/computility-module-biz-biz/pom.xml
View file @
e0ea5f18
...
@@ -42,6 +42,12 @@
...
@@ -42,6 +42,12 @@
<dependency>
<dependency>
<groupId>
com.luhu
</groupId>
<groupId>
com.luhu
</groupId>
<artifactId>
computility-module-compute-api
</artifactId>
<version>
${revision}
</version>
</dependency>
<dependency>
<groupId>
com.luhu
</groupId>
<artifactId>
computility-module-trade
</artifactId>
<artifactId>
computility-module-trade
</artifactId>
<version>
${revision}
</version>
<version>
${revision}
</version>
</dependency>
</dependency>
...
...
computility-module-biz/computility-module-biz-biz/src/main/java/com/luhu/computility/module/biz/controller/admin/home/vo/HomeIndexTopBarRespVO.java
View file @
e0ea5f18
...
@@ -20,7 +20,7 @@ public class HomeIndexTopBarRespVO {
...
@@ -20,7 +20,7 @@ public class HomeIndexTopBarRespVO {
private
Integer
newOrdersCount
;
private
Integer
newOrdersCount
;
/**
/**
* 今日新增订单金额
* 今日新增订单金额
(单位:元)
*/
*/
private
Integer
newOrdersAmount
;
private
Double
newOrdersAmount
;
}
}
computility-module-biz/computility-module-biz-biz/src/main/java/com/luhu/computility/module/biz/service/home/HomeIndexServiceImpl.java
View file @
e0ea5f18
...
@@ -9,10 +9,14 @@ import com.luhu.computility.module.apihub.api.apicalllog.dto.ApiCallLogRespDTO;
...
@@ -9,10 +9,14 @@ import com.luhu.computility.module.apihub.api.apicalllog.dto.ApiCallLogRespDTO;
import
com.luhu.computility.module.apihub.api.apiorder.ApiOrderApi
;
import
com.luhu.computility.module.apihub.api.apiorder.ApiOrderApi
;
import
com.luhu.computility.module.apihub.api.apiorder.dto.ApiOrderPageReqDTO
;
import
com.luhu.computility.module.apihub.api.apiorder.dto.ApiOrderPageReqDTO
;
import
com.luhu.computility.module.apihub.api.apiorder.dto.ApiOrderRespDTO
;
import
com.luhu.computility.module.apihub.api.apiorder.dto.ApiOrderRespDTO
;
import
com.luhu.computility.module.apihub.api.order.ApiHubOrderStatisticsApi
;
import
com.luhu.computility.module.apihub.api.order.dto.ApiOrderStatisticsDTO
;
import
com.luhu.computility.module.biz.controller.admin.home.vo.HomeIndexApiCallsRespVO
;
import
com.luhu.computility.module.biz.controller.admin.home.vo.HomeIndexApiCallsRespVO
;
import
com.luhu.computility.module.biz.controller.admin.home.vo.HomeIndexOrdersCountRespVO
;
import
com.luhu.computility.module.biz.controller.admin.home.vo.HomeIndexOrdersCountRespVO
;
import
com.luhu.computility.module.biz.controller.admin.home.vo.HomeIndexTopBarRespVO
;
import
com.luhu.computility.module.biz.controller.admin.home.vo.HomeIndexTopBarRespVO
;
import
com.luhu.computility.module.biz.controller.admin.home.vo.HomeIndexUsersCountRespVO
;
import
com.luhu.computility.module.biz.controller.admin.home.vo.HomeIndexUsersCountRespVO
;
import
com.luhu.computility.module.compute.api.order.ComputeOrderStatisticsApi
;
import
com.luhu.computility.module.compute.api.order.dto.ComputeOrderStatisticsDTO
;
import
com.luhu.computility.module.member.controller.admin.user.vo.MemberUserPageReqVO
;
import
com.luhu.computility.module.member.controller.admin.user.vo.MemberUserPageReqVO
;
import
com.luhu.computility.module.member.dal.dataobject.user.MemberUserDO
;
import
com.luhu.computility.module.member.dal.dataobject.user.MemberUserDO
;
import
com.luhu.computility.module.member.service.user.MemberUserService
;
import
com.luhu.computility.module.member.service.user.MemberUserService
;
...
@@ -45,6 +49,10 @@ public class HomeIndexServiceImpl implements HomeIndexService {
...
@@ -45,6 +49,10 @@ public class HomeIndexServiceImpl implements HomeIndexService {
@Resource
@Resource
TradeOrderQueryService
tradeOrderQueryService
;
TradeOrderQueryService
tradeOrderQueryService
;
@Resource
@Resource
ApiHubOrderStatisticsApi
apiHubOrderStatisticsApi
;
@Resource
ComputeOrderStatisticsApi
computeOrderStatisticsApi
;
@Resource
ApiOrderApi
apiOrderApi
;
ApiOrderApi
apiOrderApi
;
@Resource
@Resource
ApiCallLogApi
apiCallLogApi
;
ApiCallLogApi
apiCallLogApi
;
...
@@ -252,27 +260,19 @@ public class HomeIndexServiceImpl implements HomeIndexService {
...
@@ -252,27 +260,19 @@ public class HomeIndexServiceImpl implements HomeIndexService {
MemberUserPageReqVO
memberUserPageReqVO
=
queryVO
.
setCreateTime
(
todayLocalDateTime
);
MemberUserPageReqVO
memberUserPageReqVO
=
queryVO
.
setCreateTime
(
todayLocalDateTime
);
List
<
MemberUserDO
>
userList
=
memberUserService
.
getUserList
(
memberUserPageReqVO
);
List
<
MemberUserDO
>
userList
=
memberUserService
.
getUserList
(
memberUserPageReqVO
);
TradeOrderPageReqVO
computeOrderQueryVO
=
new
TradeOrderPageReqVO
();
// 获取今日已完成的算力资源订单统计
computeOrderQueryVO
.
setCreateTime
(
todayLocalDateTime
);
ComputeOrderStatisticsDTO
computeStatistics
=
computeOrderStatisticsApi
.
getTodayOrderStatistics
(
todayLocalDateTime
);
computeOrderQueryVO
.
setStatus
(
TradeOrderStatusEnum
.
COMPLETED
.
getStatus
());
List
<
TradeOrderDO
>
computeOrderList
=
tradeOrderQueryService
.
getOrderList
(
computeOrderQueryVO
);
ApiOrderPageReqDTO
apiOrderPageReqDTO
=
new
ApiOrderPageReqDTO
();
// 获取今日已支付的API订单统计
apiOrderPageReqDTO
.
setCreateTime
(
todayLocalDateTime
);
ApiOrderStatisticsDTO
apiStatistics
=
apiHubOrderStatisticsApi
.
getTodayOrderStatistics
(
todayLocalDateTime
);
List
<
ApiOrderRespDTO
>
apiOrderList
=
apiOrderApi
.
getPaidOrderList
(
todayLocalDateTime
);
HomeIndexTopBarRespVO
homeIndexTopBarRespVO
=
new
HomeIndexTopBarRespVO
();
HomeIndexTopBarRespVO
homeIndexTopBarRespVO
=
new
HomeIndexTopBarRespVO
();
int
newComputeOrdersAmount
=
computeOrderList
.
stream
()
.
mapToInt
(
TradeOrderDO:
:
getPayPrice
)
.
sum
();
int
newApiOrdersAmount
=
apiOrderList
.
stream
()
.
mapToInt
(
ApiOrderRespDTO:
:
getCostPrice
)
.
sum
();
homeIndexTopBarRespVO
.
setNewUsersCount
(
userList
.
size
());
homeIndexTopBarRespVO
.
setNewUsersCount
(
userList
.
size
());
homeIndexTopBarRespVO
.
setNewOrdersCount
(
computeOrderList
.
size
()
+
apiOrderList
.
size
());
homeIndexTopBarRespVO
.
setNewOrdersCount
(
computeStatistics
.
getCount
()
+
apiStatistics
.
getCount
());
homeIndexTopBarRespVO
.
setNewOrdersAmount
(
newComputeOrdersAmount
+
newApiOrdersAmount
);
// 金额从分转换为元(除以100)
int
totalAmountFen
=
computeStatistics
.
getTotalAmount
()
+
apiStatistics
.
getTotalAmount
();
homeIndexTopBarRespVO
.
setNewOrdersAmount
(
totalAmountFen
/
100.0
);
return
homeIndexTopBarRespVO
;
return
homeIndexTopBarRespVO
;
...
...
computility-module-compute/computility-module-compute-api/src/main/java/com/luhu/computility/module/compute/api/order/ComputeOrderStatisticsApi.java
0 → 100644
View file @
e0ea5f18
package
com
.
luhu
.
computility
.
module
.
compute
.
api
.
order
;
import
com.luhu.computility.module.compute.api.order.dto.ComputeOrderStatisticsDTO
;
import
java.time.LocalDateTime
;
/**
* 算力资源订单统计API接口
*
* @author jony
*/
public
interface
ComputeOrderStatisticsApi
{
/**
* 获取今日已完成的算力资源订单统计
*
* @param timeRange 时间范围 [开始时间, 结束时间]
* @return 订单统计信息(数量和总金额)
*/
ComputeOrderStatisticsDTO
getTodayOrderStatistics
(
LocalDateTime
[]
timeRange
);
}
\ No newline at end of file
computility-module-compute/computility-module-compute-api/src/main/java/com/luhu/computility/module/compute/api/order/dto/ComputeOrderStatisticsDTO.java
0 → 100644
View file @
e0ea5f18
package
com
.
luhu
.
computility
.
module
.
compute
.
api
.
order
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* 算力资源订单统计DTO
*
* @author jony
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ComputeOrderStatisticsDTO
{
/**
* 订单数量
*/
private
Integer
count
;
/**
* 订单总金额(分)
*/
private
Integer
totalAmount
;
}
\ No newline at end of file
computility-module-compute/computility-module-compute-biz/src/main/java/com/luhu/computility/module/compute/dal/mysql/resourceorder/ResourceOrderMapper.java
View file @
e0ea5f18
package
com
.
luhu
.
computility
.
module
.
compute
.
dal
.
mysql
.
resourceorder
;
package
com
.
luhu
.
computility
.
module
.
compute
.
dal
.
mysql
.
resourceorder
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.*
;
import
com.luhu.computility.framework.common.pojo.PageResult
;
import
com.luhu.computility.framework.common.pojo.PageResult
;
...
@@ -79,4 +80,11 @@ public interface ResourceOrderMapper extends BaseMapperX<ResourceOrderDO> {
...
@@ -79,4 +80,11 @@ public interface ResourceOrderMapper extends BaseMapperX<ResourceOrderDO> {
.
eq
(
ResourceOrderDO:
:
getDeleted
,
false
));
.
eq
(
ResourceOrderDO:
:
getDeleted
,
false
));
}
}
default
List
<
ResourceOrderDO
>
selectListByStatusAndCreateTime
(
Integer
status
,
LocalDateTime
[]
timeRange
)
{
return
selectList
(
new
LambdaQueryWrapperX
<
ResourceOrderDO
>()
.
eq
(
ResourceOrderDO:
:
getStatus
,
status
)
.
betweenIfPresent
(
ResourceOrderDO:
:
getCreateTime
,
timeRange
)
.
orderByDesc
(
ResourceOrderDO:
:
getId
));
}
}
}
\ No newline at end of file
computility-module-compute/computility-module-compute-biz/src/main/java/com/luhu/computility/module/compute/service/impl/ComputeOrderStatisticsApiImpl.java
0 → 100644
View file @
e0ea5f18
package
com
.
luhu
.
computility
.
module
.
compute
.
service
.
impl
;
import
com.luhu.computility.module.compute.api.order.ComputeOrderStatisticsApi
;
import
com.luhu.computility.module.compute.api.order.dto.ComputeOrderStatisticsDTO
;
import
com.luhu.computility.module.compute.dal.dataobject.resourceorder.ResourceOrderDO
;
import
com.luhu.computility.module.compute.dal.mysql.resourceorder.ResourceOrderMapper
;
import
com.luhu.computility.module.compute.enums.ResourceOrderStatus
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* 算力资源订单统计API实现类
*
* @author jony
*/
@Service
@Slf4j
public
class
ComputeOrderStatisticsApiImpl
implements
ComputeOrderStatisticsApi
{
@Resource
private
ResourceOrderMapper
resourceOrderMapper
;
@Override
public
ComputeOrderStatisticsDTO
getTodayOrderStatistics
(
LocalDateTime
[]
timeRange
)
{
try
{
List
<
ResourceOrderDO
>
orders
=
resourceOrderMapper
.
selectListByStatusAndCreateTime
(
ResourceOrderStatus
.
PAID
.
getValue
(),
timeRange
);
int
count
=
orders
.
size
();
int
totalAmount
=
(
int
)
orders
.
stream
()
.
mapToLong
(
order
->
order
.
getPaymentPrice
()
!=
null
?
order
.
getPaymentPrice
()
:
0L
)
.
sum
();
return
new
ComputeOrderStatisticsDTO
(
count
,
totalAmount
);
}
catch
(
Exception
e
)
{
log
.
error
(
"[getTodayOrderStatistics] 获取今日算力资源订单统计失败"
,
e
);
throw
e
;
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment