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
977fa279
authored
Sep 12, 2025
by
lijinqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.api调用前置校验完成
2.接口返回成功后扣除次数
parent
4cabaec9
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
235 additions
and
21 deletions
+235
-21
computility-framework/computility-spring-boot-starter-protection/src/main/java/com/luhu/computility/framework/signature/core/aop/ApiSignatureAspect.java
+0
-0
computility-framework/computility-spring-boot-starter-protection/src/main/java/com/luhu/computility/framework/signature/core/redis/ApiSignatureRedisDAO.java
+56
-0
computility-framework/computility-spring-boot-starter-protection/src/test/java/com/luhu/computility/framework/signature/core/ApiSignatureTest.java
+3
-2
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/controller/admin/userapiusage/vo/JoinUserApiUsageResult.java
+64
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/dal/mysql/apiendpoint/ApiEndpointMapper.java
+9
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/dal/mysql/appcredential/AppCredentialMapper.java
+6
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/dal/mysql/userapiusage/UserApiUsageMapper.java
+26
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/enums/ErrorCodeConstants.java
+8
-1
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/apiendpoint/ApiEndpointService.java
+9
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/apiendpoint/ApiEndpointServiceImpl.java
+6
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/appcredential/AppCredentialService.java
+10
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/appcredential/AppCredentialServiceImpl.java
+9
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/userapiusage/UserApiUsageService.java
+5
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/userapiusage/UserApiUsageServiceImpl.java
+19
-0
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/utils/AppKeyGenerator.java
+1
-1
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/utils/AppSecretEncrypt.java
+1
-2
computility-module-external/src/main/java/com/luhu/computility/module/external/controller/openapi/AigcNewApiController.java
+3
-2
computility-module-external/src/main/java/com/luhu/computility/module/external/controller/openapi/OpenApiController.java
+0
-13
No files found.
computility-framework/computility-spring-boot-starter-protection/src/main/java/com/luhu/computility/framework/signature/core/aop/ApiSignatureAspect.java
View file @
977fa279
This diff is collapsed.
Click to expand it.
computility-framework/computility-spring-boot-starter-protection/src/main/java/com/luhu/computility/framework/signature/core/redis/ApiSignatureRedisDAO.java
View file @
977fa279
package
com
.
luhu
.
computility
.
framework
.
signature
.
core
.
redis
;
import
cn.hutool.core.util.BooleanUtil
;
import
lombok.AllArgsConstructor
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
...
...
@@ -25,6 +26,11 @@ public class ApiSignatureRedisDAO {
private
static
final
String
SIGNATURE_NONCE
=
"api_signature_nonce:%s:%s"
;
/**
* 用户套餐使用次数 Key 前缀
*/
public
static
final
String
USAGE_KEY
=
"api_usage:"
;
/**
* 签名密钥
* <p>
* HASH 结构
...
...
@@ -54,4 +60,54 @@ public class ApiSignatureRedisDAO {
return
(
String
)
stringRedisTemplate
.
opsForHash
().
get
(
SIGNATURE_APPID
,
appId
);
}
// ========== 用户套餐使用次数 ==========
/**
* 原子自增用户套餐使用次数
*
* @param key Redis key(USAGE_KEY + apiEndpointId + userId)
* @return 当前使用次数
*/
public
Long
incrementUsage
(
String
key
)
{
return
stringRedisTemplate
.
opsForValue
().
increment
(
key
,
1
);
}
/**
* 获取用户套餐已使用次数
*
* @param key Redis key
* @return 使用次数
*/
public
Long
getUsage
(
String
key
)
{
String
value
=
stringRedisTemplate
.
opsForValue
().
get
(
key
);
if
(
value
==
null
)
{
return
0L
;
}
try
{
return
Long
.
parseLong
(
value
);
}
catch
(
NumberFormatException
e
)
{
return
0L
;
}
}
/**
* 重置用户套餐使用次数(可选,用于测试或套餐刷新)
*/
public
void
resetUsage
(
String
key
)
{
stringRedisTemplate
.
opsForValue
().
set
(
key
,
"0"
);
}
/**
* 原子自增用户套餐使用次数,并设置过期时间
*
* @param key Redis key
* @return 当前使用次数
*/
public
Integer
incrementUsageWithExpire
(
String
key
)
{
Integer
used
=
stringRedisTemplate
.
opsForValue
().
increment
(
key
,
1
).
intValue
();
return
used
;
}
}
computility-framework/computility-spring-boot-starter-protection/src/test/java/com/luhu/computility/framework/signature/core/ApiSignatureTest.java
View file @
977fa279
...
...
@@ -66,9 +66,9 @@ public class ApiSignatureTest {
when
(
signatureRedisDAO
.
setNonce
(
eq
(
appId
),
eq
(
nonce
),
eq
(
120
),
eq
(
TimeUnit
.
SECONDS
))).
thenReturn
(
true
);
// 调用
boolean
result
=
apiSignatureAspect
.
verifySignature
(
apiSignature
,
request
);
//
boolean result = apiSignatureAspect.verifySignature(apiSignature, request);
// 断言结果
assertTrue
(
result
);
//
assertTrue(result);
}
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/controller/admin/userapiusage/vo/JoinUserApiUsageResult.java
0 → 100644
View file @
977fa279
package
com
.
luhu
.
computility
.
module
.
apihub
.
controller
.
admin
.
userapiusage
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Schema
(
description
=
"用户对应接口 "
)
@Data
@ExcelIgnoreUnannotated
public
class
JoinUserApiUsageResult
{
@Schema
(
description
=
"记录ID"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"2826"
)
@ExcelProperty
(
"记录ID"
)
private
Long
id
;
@Schema
(
description
=
"用户ID"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"2826"
)
@ExcelProperty
(
"用户ID"
)
private
Long
userId
;
@Schema
(
description
=
"接口ID"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"2826"
)
@ExcelProperty
(
"接口ID"
)
private
Long
apiEndPointId
;
@Schema
(
description
=
"接口名"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"26592"
)
@ExcelProperty
(
"接口名"
)
private
String
apiEndPintName
;
@Schema
(
description
=
"购买的API应用名称"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"10347"
)
private
String
apiName
;
@Schema
(
description
=
"购买的套餐名称"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"8957"
)
private
String
packageName
;
@Schema
(
description
=
"套餐最大可用次数"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"8957"
)
private
Integer
packageTimes
;
@Schema
(
description
=
"套餐价格"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"8957"
)
private
Integer
packagePrice
;
@Schema
(
description
=
"套餐有效期"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"8957"
)
private
Integer
packageValidDays
;
@Schema
(
description
=
"已使用次数"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@ExcelProperty
(
"已使用次数"
)
private
Integer
usedTimes
;
@Schema
(
description
=
"过期时间"
)
@ExcelProperty
(
"过期时间"
)
private
LocalDateTime
expireTime
;
@Schema
(
description
=
"备注"
,
example
=
"随便"
)
@ExcelProperty
(
"备注"
)
private
String
remark
;
@Schema
(
description
=
"创建时间"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@ExcelProperty
(
"创建时间"
)
private
LocalDateTime
createTime
;
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/dal/mysql/apiendpoint/ApiEndpointMapper.java
View file @
977fa279
...
...
@@ -37,6 +37,14 @@ public interface ApiEndpointMapper extends BaseMapperX<ApiEndpointDO> {
return
selectList
();
}
default
ApiEndpointDO
getApiEndpointByPathAndMethod
(
String
path
,
String
method
)
{
return
selectOne
(
new
LambdaQueryWrapperX
<
ApiEndpointDO
>()
.
eqIfPresent
(
ApiEndpointDO:
:
getMethod
,
method
)
.
eqIfPresent
(
ApiEndpointDO:
:
getPath
,
path
));
}
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/dal/mysql/appcredential/AppCredentialMapper.java
View file @
977fa279
...
...
@@ -26,4 +26,9 @@ public interface AppCredentialMapper extends BaseMapperX<AppCredentialDO> {
.
orderByDesc
(
AppCredentialDO:
:
getId
));
}
default
AppCredentialDO
selectOneByAppId
(
String
appId
)
{
return
selectOne
(
new
LambdaQueryWrapperX
<
AppCredentialDO
>()
.
eqIfPresent
(
AppCredentialDO:
:
getAppId
,
appId
));
}
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/dal/mysql/userapiusage/UserApiUsageMapper.java
View file @
977fa279
...
...
@@ -3,6 +3,7 @@ package com.luhu.computility.module.apihub.dal.mysql.userapiusage;
import
java.util.*
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.github.yulichang.wrapper.MPJLambdaWrapper
;
import
com.luhu.computility.framework.common.pojo.PageResult
;
import
com.luhu.computility.framework.mybatis.core.query.LambdaQueryWrapperX
;
import
com.luhu.computility.framework.mybatis.core.mapper.BaseMapperX
;
...
...
@@ -10,7 +11,10 @@ import com.luhu.computility.framework.mybatis.core.query.MPJLambdaWrapperX;
import
com.luhu.computility.module.apihub.controller.app.userapiusage.vo.AppUserApiUsageRespVO
;
import
com.luhu.computility.module.apihub.dal.dataobject.api.ApiDO
;
import
com.luhu.computility.module.apihub.dal.dataobject.apicategory.ApiCategoryDO
;
import
com.luhu.computility.module.apihub.dal.dataobject.apiendpoint.ApiEndpointDO
;
import
com.luhu.computility.module.apihub.dal.dataobject.apiendpointrel.ApiEndpointRelDO
;
import
com.luhu.computility.module.apihub.dal.dataobject.userapiusage.UserApiUsageDO
;
import
com.luhu.computility.module.apihub.service.apiendpointrel.ApiEndpointRelService
;
import
com.luhu.computility.module.member.dal.dataobject.user.MemberUserDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.luhu.computility.module.apihub.controller.admin.userapiusage.vo.*
;
...
...
@@ -46,4 +50,25 @@ public interface UserApiUsageMapper extends BaseMapperX<UserApiUsageDO> {
.
orderByDesc
(
UserApiUsageDO:
:
getCreateTime
));
}
default
List
<
JoinUserApiUsageResult
>
selectJoinUserApiUsageResult
(
Long
userId
,
Long
apiIdEndpoint
)
{
return
selectJoinList
(
JoinUserApiUsageResult
.
class
,
new
MPJLambdaWrapper
<
UserApiUsageDO
>()
.
select
(
UserApiUsageDO:
:
getApiName
)
.
selectAs
(
UserApiUsageDO:
:
getId
,
JoinUserApiUsageResult:
:
getId
)
.
selectAs
(
ApiEndpointDO:
:
getId
,
JoinUserApiUsageResult:
:
getApiEndPointId
)
.
selectAs
(
UserApiUsageDO:
:
getUserId
,
JoinUserApiUsageResult:
:
getUserId
)
.
selectAs
(
ApiEndpointDO:
:
getId
,
JoinUserApiUsageResult:
:
getApiEndPointId
)
.
selectAs
(
UserApiUsageDO:
:
getExpireTime
,
JoinUserApiUsageResult:
:
getExpireTime
)
.
selectAs
(
UserApiUsageDO:
:
getUsedTimes
,
JoinUserApiUsageResult:
:
getUsedTimes
)
.
selectAs
(
UserApiUsageDO:
:
getPackageTimes
,
JoinUserApiUsageResult:
:
getPackageTimes
)
.
select
(
ApiEndpointDO:
:
getName
,
ApiEndpointDO:
:
getPath
,
ApiEndpointDO:
:
getMethod
)
// 额外查接口信息
.
innerJoin
(
ApiEndpointRelDO
.
class
,
ApiEndpointRelDO:
:
getApiId
,
UserApiUsageDO:
:
getApiId
)
.
innerJoin
(
ApiEndpointDO
.
class
,
ApiEndpointDO:
:
getId
,
ApiEndpointRelDO:
:
getApiEndpointId
)
.
eq
(
UserApiUsageDO:
:
getUserId
,
userId
)
.
eqIfExists
(
ApiEndpointDO:
:
getId
,
apiIdEndpoint
)
/*.gt(UserApiUsageDO::getExpireTime, new Date()) // 没过期
.apply("(package_times - used_times) > 0") */
// 还有剩余额度
);
}
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/enums/ErrorCodeConstants.java
View file @
977fa279
...
...
@@ -19,8 +19,15 @@ public interface ErrorCodeConstants {
ErrorCode
API_ORDER_UPDATE_PAID_FAIL_PAY_ORDER_ID_ERROR
=
new
ErrorCode
(
1_010_001_014
,
"API订单更新支付状态失败,支付单编号不匹配"
);
ErrorCode
API_ORDER_UPDATE_PAID_FAIL_PAY_ORDER_STATUS_NOT_SUCCESS
=
new
ErrorCode
(
1_010_001_015
,
"API订单更新支付状态失败,支付单状态不是【支付成功】状态"
);
ErrorCode
API_ORDER_UPDATE_PAID_FAIL_PAY_PRICE_NOT_MATCH
=
new
ErrorCode
(
1_010_001_016
,
"API订单更新支付状态失败,支付单金额不匹配"
);
ErrorCode
API_ENDPOINT_NOT_EXISTS
=
new
ErrorCode
(
1_010_001_017
,
"
API
接口不存在"
);
ErrorCode
API_ENDPOINT_NOT_EXISTS
=
new
ErrorCode
(
1_010_001_017
,
"接口不存在"
);
ErrorCode
API_ENDPOINT_REL_NOT_EXISTS
=
new
ErrorCode
(
1_010_001_018
,
"API 应用与接口关系不存在"
);
ErrorCode
APP_CREDENTIAL_NOT_EXISTS
=
new
ErrorCode
(
1_010_001_019
,
"用户密钥信息不存在"
);
ErrorCode
API_ENDPOINT_APPLICATION_REL_NOT_EXISTS
=
new
ErrorCode
(
1_010_001_020
,
"行业应用与接口关联不存在"
);
ErrorCode
HEAD_EXCEPTION
=
new
ErrorCode
(
1_010_001_021
,
"Header异常,缺少必须的参数"
);
ErrorCode
API_ENDPOINT_NOT_AVAILABLE
=
new
ErrorCode
(
1_010_001_022
,
"未订阅该接口"
);
ErrorCode
API_ENDPOINT_EXPIRED
=
new
ErrorCode
(
1_010_001_023
,
"接口调用额度不足或已过期"
);
ErrorCode
TIMESTAMP_EXCEPTION
=
new
ErrorCode
(
1_010_001_024
,
"参数timestamp异常"
);
ErrorCode
INVALID_APPID
=
new
ErrorCode
(
1_010_001_025
,
"无效的Appid"
);
}
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/apiendpoint/ApiEndpointService.java
View file @
977fa279
...
...
@@ -68,6 +68,14 @@ public interface ApiEndpointService {
List
<
ApiEndpointDO
>
getApiEndpointList
();
/**
* 根据path和方法 获得API 接口
*
* @param path、method 编号
* @return API 接口
*/
ApiEndpointDO
getApiEndpointByPathAndMethod
(
String
path
,
String
method
);
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/apiendpoint/ApiEndpointServiceImpl.java
View file @
977fa279
...
...
@@ -88,6 +88,11 @@ public class ApiEndpointServiceImpl implements ApiEndpointService {
}
@Override
public
ApiEndpointDO
getApiEndpointByPathAndMethod
(
String
path
,
String
method
)
{
return
apiEndpointMapper
.
getApiEndpointByPathAndMethod
(
path
,
method
);
}
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/appcredential/AppCredentialService.java
View file @
977fa279
...
...
@@ -59,4 +59,13 @@ public interface AppCredentialService {
*/
PageResult
<
AppCredentialDO
>
getAppCredentialPage
(
AppCredentialPageReqVO
pageReqVO
);
/**
* 获得用户密钥信息
*
* @param appId 编号
* @return 用户密钥信息
*/
AppCredentialDO
getAppSecretByAppid
(
String
appId
);
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/appcredential/AppCredentialServiceImpl.java
View file @
977fa279
...
...
@@ -82,4 +82,12 @@ public class AppCredentialServiceImpl implements AppCredentialService {
return
appCredentialMapper
.
selectPage
(
pageReqVO
);
}
@Override
public
AppCredentialDO
getAppSecretByAppid
(
String
appId
)
{
return
appCredentialMapper
.
selectOneByAppId
(
appId
);
}
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/userapiusage/UserApiUsageService.java
View file @
977fa279
...
...
@@ -69,4 +69,8 @@ public interface UserApiUsageService {
*/
PageResult
<
AppUserApiUsageRespVO
>
getAppUserApiUsagePage
(
UserApiUsagePageReqVO
pageReqVO
);
List
<
JoinUserApiUsageResult
>
selectJoinUserApiUsageResult
(
Long
userId
,
Long
apiIdEndpoint
);
void
asyncUpdateUsage
(
Long
id
,
Integer
used
);
}
\ No newline at end of file
computility-module-apihub/src/main/java/com/luhu/computility/module/apihub/service/userapiusage/UserApiUsageServiceImpl.java
View file @
977fa279
...
...
@@ -2,6 +2,7 @@ package com.luhu.computility.module.apihub.service.userapiusage;
import
cn.hutool.core.collection.CollUtil
;
import
com.luhu.computility.module.apihub.controller.app.userapiusage.vo.AppUserApiUsageRespVO
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -88,4 +89,21 @@ public class UserApiUsageServiceImpl implements UserApiUsageService {
return
userApiUsageMapper
.
selectAppPage
(
pageReqVO
);
}
@Override
public
List
<
JoinUserApiUsageResult
>
selectJoinUserApiUsageResult
(
Long
userId
,
Long
apiIdEndpoint
)
{
return
userApiUsageMapper
.
selectJoinUserApiUsageResult
(
userId
,
apiIdEndpoint
);
}
@Override
@Async
public
void
asyncUpdateUsage
(
Long
id
,
Integer
used
)
{
// 校验存在
validateUserApiUsageExists
(
id
);
UserApiUsageDO
userApiUsage
=
getUserApiUsage
(
id
);
userApiUsage
.
setUsedTimes
(
userApiUsage
.
getUsedTimes
()
-
used
);
userApiUsageMapper
.
updateById
(
userApiUsage
);
}
}
\ No newline at end of file
computility-module-
external/src/main/java/com/luhu/computility/module/external
/utils/AppKeyGenerator.java
→
computility-module-
apihub/src/main/java/com/luhu/computility/module/apihub
/utils/AppKeyGenerator.java
View file @
977fa279
package
com
.
luhu
.
computility
.
module
.
external
.
utils
;
package
com
.
luhu
.
computility
.
module
.
apihub
.
utils
;
import
cn.hutool.crypto.digest.DigestUtil
;
...
...
computility-module-
external/src/main/java/com/luhu/computility/module/external
/utils/AppSecretEncrypt.java
→
computility-module-
apihub/src/main/java/com/luhu/computility/module/apihub
/utils/AppSecretEncrypt.java
View file @
977fa279
package
com
.
luhu
.
computility
.
module
.
external
.
utils
;
package
com
.
luhu
.
computility
.
module
.
apihub
.
utils
;
import
cn.hutool.crypto.Mode
;
import
cn.hutool.crypto.Padding
;
import
cn.hutool.crypto.symmetric.AES
;
import
cn.hutool.crypto.symmetric.SymmetricAlgorithm
;
/**
* @version 1.0
...
...
computility-module-external/src/main/java/com/luhu/computility/module/external/controller/openapi/AigcNewApiController.java
View file @
977fa279
...
...
@@ -7,6 +7,7 @@ import com.luhu.computility.framework.common.exception.ServiceException;
import
com.luhu.computility.framework.common.exception.enums.GlobalResponseCodeConstants
;
import
com.luhu.computility.framework.common.pojo.CommonResult
;
import
com.luhu.computility.framework.common.util.http.HttpUtils
;
import
com.luhu.computility.framework.signature.core.annotation.ApiSignature
;
import
com.luhu.computility.module.external.controller.openapi.dto.ImageRespDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.PoetryImageReqDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.TextToImageReqDTO
;
...
...
@@ -47,7 +48,7 @@ public class AigcNewApiController {
@ApiAccessLog
@PostMapping
(
value
=
"/text-to-image/season"
)
@Operation
(
summary
=
"四季和景点id生成图"
,
description
=
"接收简单生图参数,将生成图片保存在本地服务器,并返回生成图片的url"
)
//
@ApiSignature
@ApiSignature
public
CommonResult
<
ImageRespDTO
>
textToImageV2
(
@RequestBody
TextToImageReqDTO
textToImageReqDTO
){
try
{
String
requestBody
=
JSONUtil
.
toJsonStr
(
textToImageReqDTO
);
...
...
@@ -71,7 +72,7 @@ public class AigcNewApiController {
@ApiAccessLog
@PostMapping
(
"/text-to-image/poetry"
)
@Operation
(
summary
=
"获取藏头诗图片"
,
description
=
"接收关键词、景点id、省份id这些参数,返回藏头诗图片url"
)
//
@ApiSignature
@ApiSignature
public
CommonResult
<
ImageRespDTO
>
textToImageByPoetry
(
@RequestBody
PoetryImageReqDTO
poetryImageReqDTO
){
try
{
String
requestBody
=
JSONUtil
.
toJsonStr
(
poetryImageReqDTO
);
...
...
computility-module-external/src/main/java/com/luhu/computility/module/external/controller/openapi/OpenApiController.java
View file @
977fa279
...
...
@@ -16,19 +16,6 @@ import com.luhu.computility.module.external.controller.openapi.dto.ViewImageReqD
import
com.luhu.computility.module.external.controller.openapi.dto.ViewSourceRespDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.ViewVideoReqDTO
;
import
com.luhu.computility.module.external.controller.openapi.service.OpenApiService
;
import
com.luhu.computility.module.external.controller.openapi.dto.AIQAReqDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.AIQARespDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.CeateVideoStreamReqDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.CeateVideoStreamRespDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.ConversationReqDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.ConversationRespDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.GenerateFaceSwapRespDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.MatchImageRespDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.UploadImageRespDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.ViewImageReqDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.ViewSourceRespDTO
;
import
com.luhu.computility.module.external.controller.openapi.dto.ViewVideoReqDTO
;
import
com.luhu.computility.module.external.controller.openapi.service.OpenApiService
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Parameter
;
import
io.swagger.v3.oas.annotations.Parameters
;
...
...
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